How to plot temperature along a defined line within a 2D temperature field
15 views (last 30 days)
Show older comments
I can obtain 2D temperature field solutions such as the steady state example below. I would like to be able to plot the temperature along a defined line within this domain. For example, how can I produce a plot of T as a function of x for Y= 0 from X= -15 to X= 0 or for X= -12 from Y= -15 to Y= +15? I would also like to be able to do this at a defined time for a transient problem. I am aware of the slice command but I just want a simple T vs X or Y plot. Thanks
thermalmodel = createpde("thermal","steadystate");
R2= [3,4,-15,15,15,-15,-15,-15,15,15]';
geom=[R2]
g=decsg(geom)
model= createpde
geometryFromEdges(thermalmodel,g);
pdegplot(thermalmodel,"EdgeLabels","on")
xlim([-20 20])
axis equal
thermalProperties(thermalmodel,"ThermalConductivity",1);
thermalBC(thermalmodel,"Edge",1,"Temperature",100);
thermalBC(thermalmodel,"Edge",2,"Temperature",100);
thermalBC(thermalmodel,"Edge",3,"Temperature",100);
thermalBC(thermalmodel,"Edge",4,"Temperature",400);
generateMesh(thermalmodel);
figure
pdemesh(thermalmodel)
title("Mesh with Quadratic Triangular Elements")
thermalresults = solve(thermalmodel)
title("Temperature In The Plate, Steady State Solution")
xlabel("X-coordinate, meters")
ylabel("Y-coordinate, meters")
axis equal
0 Comments
Accepted Answer
Torsten
on 2 Sep 2024
4 Comments
Torsten
on 2 Sep 2024
Edited: Torsten
on 2 Sep 2024
Define x, y and uxy as output arguments of the function "plotAlongLine" and write them to file.
Usually, "fprintf" is used for this:
If you don't know how to proceed, I recommend MATLAB Onramp, an introductory course free-of-costs to learn the basics of the language:
More Answers (1)
Image Analyst
on 2 Sep 2024
I know you already got an answer that you've accepted but I just thought I'd mention improfile. It can give you a profile of values in a matrix from any point to any other point.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!