性质与温度有关的传热问题
这个例子说明了如何求解热导率随温度变化的热方程。算例给出了中心有矩形空腔的矩形块体的理想热分析。
瞬态传导传热偏微分方程为:
在哪里 是温度, 是材料密度, 比热容,和 是热导率。 是体内产生的热量在这个例子中是零。
稳态解:恒定热导率
创建一个稳态热模型。
thermalmodelS = createpde (“热”,“稳态”);
创建一个二维几何图形,通过绘制一个矩形的大小块和第二个矩形的大小槽。
R1 = [3 4 -.]5 .5 .5 -。5 -。8 -。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
格式化为一个几何对象。在模型中包含几何图形。
geometryFromEdges (thermalmodelS g);
绘制显示边缘标签的几何图形。下面的函数将使用边缘标签来定义边界条件。
图pdegplot (thermalmodelS,“EdgeLabels”,“上”);轴([-。9。9 -。9。9]);标题(显示边缘标签的块几何图形)
将左侧边缘的温度设置为100度。在右边边缘,有一个规定的热流流出块。顶部和底部的边缘以及腔内的边缘都是绝缘的,也就是说,没有热量通过这些边缘传递。
thermalBC (thermalmodelS“边缘”6“温度”, 100);thermalBC (thermalmodelS“边缘”, 1“HeatFlux”, -10);
指定材料的热导率。首先,考虑恒定的热导率,例如等于1。之后,考虑热导率是温度的函数的情况。
thermalProperties (thermalmodelS“ThermalConductivity”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。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“ThermalConductivity”, 1...“MassDensity”, 1...“SpecificHeat”1);
定义边界条件。在瞬态情况下,左边缘的温度在时间=0时为零,在0.5秒内上升到100度。你可以找到助手函数transientBCHeatedBlock
下matlab / R20XXx / / pde的主要例子
.
thermalBC (thermalmodelT“边缘”6“温度”, @transientBCHeatedBlock);
在右边边缘,有一个规定的热流流出块。
thermalBC (thermalmodelT“边缘”, 1“HeatFlux”, -10);
顶部和底部的边缘以及腔内的边缘都是绝缘的,即没有热量通过这些边缘传递。
创建一个元素不大于0.2的网格。
msh = generateMesh (thermalmodelT,“Hmax”, 0.2);图pdeplot (thermalmodelT);轴平等的标题(显示有限元网格的块体)
计算瞬态解。执行从0到5秒的暂态分析。工具箱每0.1秒保存一次解决方案,以便可以创建作为时间函数的结果图。
tlist = 0: .1:5;thermalIC (thermalmodelT 0);R =解决(thermalmodelT tlist);T = R.Temperature;
两个图对于理解这种暂态分析的结果是有用的。第一个是最后时刻的温度图。第二个是块中特定点的温度随时间变化的曲线,在本例中是靠近右边缘中心的位置。为了确定靠近右边缘中心的节点,可以方便地定义这个简短的效用函数。
getClosestNode = @ (p, x, y)最小值((p (1:) - x)。^ 2 + (p (2:) - y)。^ 2);
调用此函数获得靠近右边缘中心的节点。
[~,nid] = getClosestNode(msh. txt)节点,.5,0);
这两个图在下图中并排显示。此时的温度分布与从上述稳态解得到的温度分布非常相似。在右侧边缘,在不到半秒的时间内,温度小于零。这是因为热量离开块的速度比从左边缘到达的速度快。在超过三秒的时间里,温度基本上达到了稳定状态。
h =图;h.Position = [1 1 2 1].*h.Position;次要情节(1、2、1);轴平等的pdeplot (thermalmodelT“XYData”T(:,结束),“轮廓”,“上”,...“ColorMap”,“热”);轴平等的标题(温度,最终时间,瞬态解)次要情节(1、2、2);轴平等的,情节(tlist T(国家免疫日:));网格在标题(右缘温度随时间的函数)包含(“时间,秒”) ylabel (“温度摄氏度”)
稳态解:温度依赖性热导率
材料的性质是因变量的函数是很常见的。例如,假设热导率是温度的简单线性函数:
K = @(~,state) 0.3+0.003*state.u;
在这种情况下,变量u是温度。对于这个例子,假设密度和比热不是温度的函数。
thermalProperties (thermalmodelS“ThermalConductivity”、k);
计算稳态解。与恒定导电性的情况相比,右侧边缘的温度较低。这是因为在温度较低的地区,电导率较低。
R =解决(thermalmodelS);T = R.Temperature;图pdeplot (thermalmodelS,“XYData”T“轮廓”,“上”,“ColorMap”,“热”);轴平等的标题(“温度,稳态解”)
瞬态解:温度依赖性热导率
现在用与温度相关的电导率进行瞬态分析。
thermalProperties (thermalmodelT“ThermalConductivity”、钾、...“MassDensity”, 1...“SpecificHeat”1);
使用相同的时间跨度tlist = 0: .1:5
至于线性的情况。
thermalIC (thermalmodelT 0);R =解决(thermalmodelT tlist);T = R.Temperature;
画出最后一个时间步的温度和右边缘的温度作为时间的函数。最后时间步的温度曲线与线性分析的比较曲线只有轻微的不同:右边缘的温度略低于线性情况。温度随时间变化的曲线与线性曲线有很大的不同。因为在较低的温度下导电性较低,热量需要较长时间才能到达块的右边缘。在线性情况下,温度在3秒左右是恒定的但在非线性情况下,温度曲线在5秒左右开始变平。
h =图;h.Position = [1 1 2 1].*h.Position;次要情节(1、2、1);轴平等的pdeplot (thermalmodelT“XYData”T(:,结束),“轮廓”,“上”,...“ColorMap”,“热”);轴平等的标题(温度,最终时间,瞬态解)次要情节(1、2、2);轴平等的情节(tlist(1:尺寸(T, 2))、T (nid:));网格在标题(右边温度随时间的函数(非线性))包含(“时间,秒”) ylabel (“温度摄氏度”)