MATLAB: When solving a PDE, how to assign different conductivity values to different volume regions

pdevarying conductivity

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.

Best Answer

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