When solving a PDE, how to assign different conductivity values to different volume regions?
4 views (last 30 days)
Show older comments
Hi,
I am trying to solve an electrostatic PDE, where the electrical conductivity changes within the volume of the solution.
For example, I have a cylinder, with two electrodes at the top and bottom of the cylinder. The conductivity however changes radially within the cylinder.
My current pseudocode:
%Create PDE model
model = createpde();
sensor = importGeometry(model,modelName(ii));
figure
pdegplot(model,'FaceLabels','on');
%Apply PDE coefficients
k = 1; %k is the conductivity in S/mm, but only relevent if using neumann boundary conditions
specifyCoefficients(model,'m',0,'d',0,'c',k,'a',0,'f',0);
%Apply boundary conditions
%Positive Ring
applyBoundaryCondition(model,'dirichlet','face',[posRing1(ii)],'u',0);
%Negative Ring
%applyBoundaryCondition(model,'dirichlet','face',negRing(ii),'u',1);
Is it possible to have the k value vary for different regions? I've found a solution online for thermal diffusion problems, but instead of rewriting my whole program using the thermal analogy, I assumed there is a method for generic PDE problems.
What would be nice is if I could apply the conductivity values like how is done for the boundary conditions.
Any help is greatly appreciated.
0 Comments
Accepted Answer
Ravi Kumar
on 13 Apr 2018
Hi Mark,
You sure can!
Use 'Cell' parameter in specifyCoefficients, like:
specifyCoefficients(model,'Cell',1,'m',0,'d',0,'c',k1,'a',0,'f',0);
specifyCoefficients(model,'Cell',2,'m',0,'d',0,'c',k2,'a',0,'f',0);
You can plot the geometry with Cell labels on using:
pdegplot(model,'CellLabels','on')
-Ravi
3 Comments
Paul Safier
on 2 May 2025
@Ravi Kumar can you place different conductivity values for different faces of a 2D problem with the syntax: model.MaterialProperties?
Ravi Kumar
on 5 May 2025
Hi Paul,
Yes, you can assign different conductivities to different regions using the syntax show in this example:
Note the example is for 3-D, you can do a similar assignment on faces of a 2-D model.
Regards,
Ravi
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!