# When solving a PDE, how to assign different conductivity values to different volume regions?

7 views (last 30 days)
Mark Lepage on 13 Apr 2018
Commented: Mark Lepage on 13 Apr 2018
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.

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
Mark Lepage on 13 Apr 2018
Thank you so much Ravi,
This is exactly what I was looking for.
Regards,
Mark