3D conduction in cylinder
Show older comments
How can I access T=1200 C° at a Point on the face (not all the Face, just a Point in the middle)?
I have used this codes, but i can only access the temperature for whole face.
type = 'thermal';
model = createpde(type);
R=5;
H=15;
geom = multicylinder(R,H);
model.Geometry = geom;
pdegplot(model);
grid on
generateMesh(model);
pdemesh(model);
T1 =700;
T2 = 1200;
%Specify the thermal conductivity as a linear function of temperature, k=25.8+0.003T
%k = @(location,state)25.8 + 0.003*state.u;
%
thermalProperties(model,'ThermalConductivity',25.8,'MassDensity',1.1614,'SpecificHeat',1.007);
thermalBC(model,'Face',1,'Temperature',T1);
%thermalBC(model,'Face',2,'Temperature',T2);
%Apply a heat flux boundary condition to the bottom of the block.
thermalBC(model,'Face',2,'HeatFlux',T1);
results = solve(model);
pdeplot3D(model,'ColorMapData',results.Temperature)
caxis([700 1200])
%
nrows = 4;
ncols = 6;
A = ones(nrows,ncols);
for c = 1:ncols
for r = 1:nrows
if r == c
A(r,c) = 2;
elseif abs(r-c) == 1
A(r,c) = -1;
else
A(r,c) = 0;
end
end
end
A

1 Comment
darova
on 12 Jun 2020
Can you export your results and model variables? I have older MATLAB version and can't run your code
Answers (1)
Steven Hopkins
on 26 Mar 2021
0 votes
I'm a beginner in Matlab, but from my experience the best way is to define another cylinder of the same height with the radius size you'd want. Then you'd select that the face created by the added cylinder.
I've been spending some time trying to specifically define a heat flux across a whole face or a temperature at a specific point. This seems to be the closest solution that would work in your case.
Categories
Find more on Heat Transfer in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!