thermal conductivity, pde toolbox
29 views (last 30 days)
I have a question concerning the pde tool box. Indeed, I would like to model the thermal behaviour of a cyclindrical battery. For said purpose, I would like to specify the thermal conductivities in the x and y directions. How can I specify said parameters using the following code?
specifyCoefficients(Thermal, 'm',0,...% 'd',(para.rho)/para.cp,...%rho*cp 'c',???,...%k 'a',0,...%0 'f',Heat)%source
Thanks in advance.
Ravi Kumar on 15 Oct 2018
I recommend using the new ThermalModel workflow.
In the ThermalModel based workflow you can use the function thermalProperties to define thermal conductivity, mass density, and specific heat, all of which can also be function spatial coordinates (x,y) and the temperature itself (nonlinear).
For example if your thermal conductivity is linear function of x & y, then you can define the thermal conductivity as a function:
function k = kFunc(region,state)
k = 1 + 0.1*region.x + 0.01*region.y;
You can then specify kFunc in thermalProperties function as in the example below:
model = createpde('thermal','transient');
R = solve(model,[0,0.01])
More Answers (1)
Ravi Kumar on 16 Oct 2018
Looks like you have orthotropic thermal conductivity, not spatially varying conductivity. in that case, you can just use the matrix form of thermal conductivity, k = [0.15, 0 ; 0, 30].
Note if the problem is in 3-D space, then you need to specify a 3x3 matrix of conductivity. You don't need a function for the case you describe now.
You can specify heat source as a function of time using the function fFunc. Note that you can specify such heat source as internalHeatSource, if it is a domain heat source. If it is a boundary heat input, then you need to use 'HeatFlux' option of thermalBC function.