MATLAB Answers

Howextract results From pdeplot3D to plotthe temperature variation in XY Plan

5 ビュー (過去 30 日間)
mary alxandre
mary alxandre 2021 年 9 月 8 日
回答済み: darova 2021 年 9 月 11 日
Hello,
I crated a stationnary thermal model for thermal problem. I ploted the temperature variation in 3D by using pdeplot3D(see figure 4).
Now, I would like plot the temperature variation as a function of X and Y for a fixed value of Z. For that, I used firstly the function interpolatetemperature to calculate the corresponding values of the temperature (figure 5).
Could you help me?
The script is here:
close all;
clear all;
% modèle géométrique
modelthermalst = createpde('thermal','steadystate');
Lc=0.02;Ep=0.003;
gm=multicuboid(Ep,Ep,Lc);
modelthermalst.Geometry=gm;
figure (1);
pdegplot(modelthermalst,'FaceLabels','on')
axis equal
title 'Block Geometry With Edge Labels Displayed'
% maillage
msh=generateMesh(modelthermalst,'Hmax',0.0005);
figure (2);
pdeplot3D(modelthermalst);
axis equal
title 'Block Geometry With Edge Labels Displayed'
% paramètres du cristal laser
rho = 4220; % mass density, kg/m^3
cp = 590; % specific heat, W-s/(kg-degree C)
% thermal conductivity constante, W/(m-Kelv) % K//c=5.23; kIc=5.1; //axe z
kxx=5.1;kyy=5.1;kzz=5.23;
k0=[kxx;kyy;kzz]; %anisothrop (orthotropic material)
k = @(region,state) k0.*(T0./state.u);% en fonction de Temperature
% thermalProperties(modelthermalst,'ThermalConductivity');
thermalProperties(modelthermalst,'ThermalConductivity',k0)
% conditions aux limites: scalaire
thermalBC(modelthermalst,'Face',[3,4,5,6],'Temperature',15+273);% la tepmpérature de l'eau de refroidissemet
thermalBC(modelthermalst,'Face',[1,2],'ConvectionCoefficient',10,'AmbientTemperature',27+273);
% Conditions initiales
% T0=27+273;
% thermalIC(modelthermalst,T0)
%Plaser=10;
rL=0.00045; % rayon mm
alpha=780; % coefficient d'absorption m-1
Plaser=10;% puissance laser (W)
mu=0.24;% charge thermique frationnelle sans unité (1-(808/1064))
z0=0;
x0=0;y0=0;
% ----------charge thermique
Q0 = alpha.*mu.*2.*Plaser./(3.14.*rL.^2);
Q= @(region,state)Q0*exp(-2*((x0- region.x).^2+(y0- region.y).^2)/rL.^2).*exp(-alpha*(region.z-z0));
internalHeatSource(modelthermalst,Q);
%--------- Résolution du système;
resultst = solve(modelthermalst);
T = resultst.Temperature;
figure (4)
pdeplot3D(modelthermalst,'ColorMapData',T);
%---------------
[X,Y] = meshgrid(linspace(-Ep/2,Ep/2,500));
Z = z0.*ones(size(X));
Tintrp11st = interpolateTemperature(resultst,X,Y,Z);
figure (5)
pdeplot(modelthermalst,'XYData',Tintrp11st,'ZData',Tintrp11st,'ColorMap','jet');

回答 (1 件)

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by