主要内容

多域几何中的热传导,具有非均匀热通量

这个例子演示了如何对由三层不同材料制成的空心球进行三维瞬态热传导分析。

球体受到不均匀的外部热流的影响。

这个问题的物理性质和几何形状在Singh,Jain和Rizwan-Uddin(参见参考)中描述了该问题的分析解决方案。球体的内表面始终具有零的温度。外半球有积极的 y 值具有非均匀热流,定义为

o u t e r θ. 2 π - θ. 2 φ. 2 π - φ. 2

0 θ. π 0 φ. π

θ. φ. 为球面上各点的方位角和仰角。一开始,球面上所有点的温度都是零。

为瞬态热分析创建热模型。

ThermalModel = Createpde(“热”瞬态的);

创建一个多层球体使用multisphere函数。将结果几何图形赋给热模型。这个球体有三层材料,内芯是空心的。

通用= multisphere(1、2、4、6,“空白”,真的,假的,假的,假的);thermalmodel。几何=通用;

绘制几何形状并显示细胞标签和面部标签。用一个FaceAlpha0.25,这样内层的标签是可见的。

图('位置'[10800400]);次要情节(1、2、1)pdegplot (thermalmodel,“FaceAlpha”,0.25,'Celllabel'“上”) 标题('具有细胞标签的几何形状')子图(1,2,2)pdegplot(ThermalModel,“FaceAlpha”,0.25,“FaceLabel”“上”) 标题(“带有面部标签的几何图形”

图包含2个轴对象。轴对象1具有带有单元格标签的标题几何图形包含2型对象QUIVIVE,补丁。轴对象2带有面部标签的标题几何图形包含2型Quiver,Patch的对象。

为几何体生成一个网格。选择一个足够粗的网格尺寸来加速求解,但又足够细的网格尺寸来合理准确地表示几何图形。

generatemesh(ThermalModel,'hmax'1);

为球体的每一层指定导热系数、质量密度和比热。材料属性是无量纲值,不是由真实的材料属性给出的。

thermalProperties (thermalmodel'细胞',1,“ThermalConductivity”,1,...“MassDensity”,1,...'细分'1);thermalProperties (thermalmodel'细胞'2,“ThermalConductivity”2,...“MassDensity”,1,...'细分',0.5);thermalProperties (thermalmodel'细胞',3,“ThermalConductivity”,4,...“MassDensity”,1,...'细分', 4/9);

指定边界条件。最内面始终具有零的温度。

thermalBC (thermalmodel'脸',1,“温度”,0);

球体的外表面有一个外部热流。用热边界条件的函数形式来定义热流。

功能qflux = ExternalHeatFlux(区域,〜)

[PHI,THETA,〜] = CART2SPH(Region.x,Region.y,Region.z);

Theta = Pi / 2 - θ;%变换为0 <= theta <= pi

id = phi > 0;

qflux = zeros(大小(区域.x));

Qflux (ids) =θ(ids) ^ 2。*(π-θ(ids)) ^ 2 ^ 2 *φ(ids)。*(π-φ(ids)) ^ 2;

结束

在表面画出通量。

[PHI,THETA,R] = MeshGrid(Linspace(0,2 * Pi),Linspace(-PI / 2,PI / 2),6);[x,y,z] = sph2cart(phi,theta,r);Region.x = x;区域.Y = y;Region.z = z;Flux = ExternalHeatFlux(区域,[]);图SURF(X,Y,Z,助焊剂,'linestyle'“没有”)轴平等的视图(130年,10)colorbar包含'X'ylabel'是'zlabel'z'标题('外部磁通量'

图包含轴对象。具有标题外部通量的轴对象包含类型表面的对象。

将这个边界条件包含到模型中。

thermalBC (thermalmodel'脸',4,...'eachflux'@externalHeatFlux,...矢量化的“上”);

在所有点定义初始温度为零为零。

Thermalic(ThermalModel,0);

定义时间步向量,求解瞬态热问题。

tlist = [0,2,5:5:50];r =解决(ThermalModel,Tlist);

绘制轮廓几次,对于所有图的轮廓水平相同,确定解决方案中的温度范围。最小温度为零,因为它是球体内表面上的边界条件。

tmin = 0;

从最终时间步骤解决方案中找到最高温度。

tmax = max(r.temperature(:,结束));

绘制范围内的等高线Tmin.达峰时间当时TLIST.

h =图;i = 1:numel(tlist)'colormapdata',R.Temperature(:,i)) caxis([Tmin,Tmax]) view(130,10) title(['时的温度'num2str(tlist(i))]);m(i)= getFrame;结束

要在计算机上运行此示例时查看轮廓的影片,请执行以下行:

电影(M,2)

可视化横截面上的温度轮廓。首先,定义一个点的矩形网格 y - z 飞机在哪里 x 0

[YG, ZG] = meshgrid (linspace (6100), linspace (6100);XG = 0(大小(YG));

插值网格点的温度。对几个时间步长进行插值,观察温度轮廓的变化。

tindex = [2,3,5,7,9,11];varnames = {'time_index''time_step'};index_step = table(tindex。',tlist(tindex)。',“VariableNames”, varNames);disp (index_step);
Time_index Time_step  __________ _________ 2 2 3 5 5 15 7 25 9 35 11 45
TG = interpolateTemperature (R, XG, YG、ZG tIndex);

在横截面上定义几何球形层。

t = linspace(0, 2 *π);ylayer1 = cos (t);zlayer1 =罪(t);ylayer2 = 2 * cos (t);zlayer2 = 2 * sin (t);ylayer3 = 4 * cos (t);zlayer3 = 4 * sin (t);ylayer4 = 6 * cos (t);zlayer4 = 6 * sin (t);

绘制范围内的等高线Tmin.达峰时间对应于时间指标的时间步长tIndex

图('位置',[10,10,1000,550]);i = 1:numel(tIndex) subplot(2,3,i) contour(YG,ZG,重塑(TG(:,i),size(YG)),'showtext'“上”)彩色杆标题(['时的温度'num2str(tlist(tindex(i)))]);抓住caxis ([Tmin,达峰时间])轴平等的用于参考的球形层的%绘制边界。绘图(Ylayer1,Zlayer1,'K'“线宽”,1.5)绘图(Ylayer2,Zlayer2,'K'“线宽”1.5)情节(ylayer3 zlayer3,'K'“线宽”,1.5)绘图(Ylayer4,Zlayer4,'K'“线宽”,1.5)结束

图中包含6个轴对象。标题为Temperature at Time 2的轴对象1包含5个类型为等高线、直线的对象。标题为“时间温度5”的轴对象2包含5个类型为等高线、直线的对象。标题为“时间15时温度”的轴对象3包含5个类型为等高线、直线的对象。标题为Temperature at Time 25的轴对象4包含5个类型为等高线、直线的对象。标题为Temperature at Time 35的轴对象5包含5个类型为等高线、直线的对象。标题为Temperature at Time 45的轴对象6包含5个类型为等高线、直线的对象。

参考

[1] Singh,Suneet,P. K. Jain和Rizwan-Uddin。“多层球体中的三维,不稳定导热的分析解决方案。”asme。J.传热。138(10),2016,PP。101301-101301-11。