这个例子说明了如何解决热方程与温度有关的导热系数。算例给出了一个中心为矩形腔体的矩形块体的理想热分析。
瞬态传热的部分微分方程是:
在哪里 温度是温度, 为材料密度, 是特定的热量,和 是导热率。 是物体内部产生的热量,在这个例子中是零。
创建一个稳态热模型。
ThermalModels = Createpde('热的'那“稳态”);
通过绘制一个矩形块的大小和第二矩形的刻度来创建2-D几何。
R1 = [3 4 -.5 .5 .5 -.5 -.8 -.8 .8];R2 = [3 4 -.05 .05 .05 -.05 -.4 -.4 .4 .4];gdm = [r1;R2]'
从第一个矩形中减去第二个矩形以创建带槽的块。
g = decsg(gdm,“R1-R2”, ('r1';'r2']“);
将decsg格式转换为一个几何对象。在模型中包含几何图形。
几何模型(热模型,g);
将显示边缘标签的几何图形绘制。边缘标签将在下面使用用于定义边界条件的功能。
图pdegplot (thermalmodelS,“EdgeLabels”那'在');轴([-。9。9 -。9。9]);标题'块几何与边缘标签显示'
将左边边缘的温度设置为100度。在右边的边缘,有一个规定的热通量出块。顶部和底部的边缘和腔内的边缘都是绝缘的,也就是说,没有热量通过这些边缘传递。
ThermalBC(ThermalModels,'边缘'6.'温度',100);ThermalBC(ThermalModels,'边缘',1,“HeatFlux”, -10);
注明材料的导热系数。首先,考虑恒定的导热系数,例如,等于1。之后,考虑一个热导率是温度函数的情况。
热属性(热模型,'导热系数'1);
创建一个具有大于0.2的元素的网格。
Generatemesh(ThermalModels,“Hmax”, 0.2);图pdeplot (thermalmodelS);轴平等的标题“显示有限元网格的块体”
计算稳态解。
r =解决(Thermalmodels);t = r.temperature;图pdeplot(ThermalModels,“XYData”T“轮廓”那'在'那“ColorMap”那'热的');轴平等的标题“温度,稳态溶液”
创建瞬态热模型并包含几何图形。
ThermalModelt = Createpde('热的'那'短暂的');R1 = [3 4 -.5 .5 .5 -.5 -.8 -.8 .8];R2 = [3 4 -.05 .05 .05 -.05 -.4 -.4 .4 .4];gdm = [r1;r2) ';g = decsg(gdm,“R1-R2”, ('r1';'r2']“);geometryFromEdges (thermalmodelT g);
指定材料的导热性,质量密度和比热的热量。
thermalProperties (thermalmodelT'导热系数',1,......'massdention',1,......“SpecificHeat”1);
定义边界条件。在瞬时情况下,在时间=0时,左边缘的温度为零,并在0.5秒内上升到100度。您可以找到helper函数transientBCHeatedBlock
在下面MATLAB / R20XXX /示例/ PDE / MAIN
。
thermalBC (thermalmodelT'边缘'6.'温度', @transientBCHeatedBlock);
在右边缘,块中有一个规定的热量通量。
thermalBC (thermalmodelT'边缘',1,“HeatFlux”, -10);
顶部和底部边缘以及空腔内部的边缘都是绝缘的,即没有热量通过这些边缘传递。
创建一个具有大于0.2的元素的网格。
msh = generatemesh(thermalmodelt,“Hmax”, 0.2);图pdeplot(ThermalModelt);轴平等的标题“显示有限元网格的块体”
计算瞬态解决方案。从零到五秒执行瞬态分析。工具箱每一个.1秒保存解决方案,以便可以创建作为时间函数的结果的绘图。
tlist = 0: .1:5;thermalIC (thermalmodelT 0);R =解决(thermalmodelT tlist);t = r.temperature;
两张图有助于理解这种瞬态分析的结果。第一个是最后时刻的温度图。第二张图显示的是街区中某一点的温度,在这个例子中是靠近右边缘的中心,它是时间的函数。为了识别靠近右边缘中心的节点,可以方便地定义这个简短的实用函数。
getClosestNode=@(p,x,y)min((p(1,:)-x)。^2+(p(2,:)-y)。^2);
调用此函数以获取右边缘中心附近的节点。
[~,nid] = getClosestNode(msh. exe, msh. exe);节点,.5,0);
两个图在下图并排显示。此时的温度分布与上述稳态解决方案中获得的温度分布非常相似。在右边缘,耗时小于大约一半,温度小于零。这是因为热量将块从左边缘到达速度快。在大约三秒钟内,温度基本上达到稳态。
h =图;H.Position = [1 1 2 1]。* H.Position;子图(1,2,1);轴平等的pdeplot (thermalmodelT“XYData”,趋向),“轮廓”那'在'那“ColorMap”那'热的');轴平等的标题'温度,最后一次,瞬态解决方案'子批次(1,2,2);轴平等的图(T列表,T(nid,:);网格在…上标题'右边缘温度作为时间的函数';包含'时间,秒'ylabel.'温度,度-Celsius'
物质属性是因变量的函数是很常见的。例如,假设导热系数是温度的简单线性函数:
k = @(〜,状态)0.3 + 0.003 * state.u;
在这种情况下,变量u是温度。对于这个例子,假设密度和比热不是温度的函数。
热属性(热模型,'导热系数'、k);
计算稳态解。与电导率恒定的情况相比,右边边缘的温度较低。这是由于温度较低的区域的电导率较低。
r =解决(Thermalmodels);t = r.temperature;图pdeplot(ThermalModels,“XYData”T“轮廓”那'在'那“ColorMap”那'热的');轴平等的标题“温度,稳态溶液”
现在以温度依赖的电导率进行瞬态分析。
thermalProperties (thermalmodelT'导热系数',k,......'massdention',1,......“SpecificHeat”1);
使用相同的时间表tlist = 0: .1:5
对于线性情况。
thermalIC (thermalmodelT 0);R =解决(thermalmodelT tlist);t = r.temperature;
根据时间的函数绘制最终时间步骤的温度和右边缘的温度。最终时间步骤的温度曲线图仅与来自线性分析的可比图略微不同:右边缘处的温度略低于线性情况。随时间函数的温度曲线与线性情况不同。由于较低温度下的导电率下降,因此热量需要更长时间才能到达块的右边缘。在线性情况下,温度在三秒钟内基本恒定,但对于该非线性情况,温度曲线刚刚在五秒钟内达到平坦。
h =图;H.Position = [1 1 2 1]。* H.Position;子图(1,2,1);轴平等的pdeplot (thermalmodelT“XYData”,趋向),“轮廓”那'在'那“ColorMap”那'热的');轴平等的标题'温度,最后一次,瞬态解决方案'子批次(1,2,2);轴平等的情节(tlist(1:尺寸(T, 2))、T (nid:));网格在…上标题“右边缘温度与时间的函数(非线性)”;包含'时间,秒'ylabel.'温度,度-Celsius'