主要内容gydF4y2Ba

evaluateTemperatureGradientgydF4y2Ba

评估热溶液在任意空间位置的温度梯度gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

[gydF4y2BagradTxgydF4y2Ba,gydF4y2BagradTygydF4y2Ba= evaluateTemperatureGradient(gydF4y2BathermalresultsgydF4y2Ba,gydF4y2BaxqgydF4y2Ba,gydF4y2BayqgydF4y2Ba)gydF4y2Ba返回热模型解的温度梯度的插值值gydF4y2BathermalresultsgydF4y2Ba中指定的二维点gydF4y2BaxqgydF4y2Ba而且gydF4y2BayqgydF4y2Ba.这种语法对稳态和瞬态热模型都是有效的。gydF4y2Ba

例子gydF4y2Ba

[gydF4y2BagradTxgydF4y2Ba,gydF4y2BagradTygydF4y2Ba,gydF4y2BagradTzgydF4y2Ba= evaluateTemperatureGradient(gydF4y2BathermalresultsgydF4y2Ba,gydF4y2BaxqgydF4y2Ba,gydF4y2BayqgydF4y2Ba,gydF4y2Ba的zqgydF4y2Ba)gydF4y2Ba中指定的3-D点的内插温度梯度gydF4y2BaxqgydF4y2Ba,gydF4y2BayqgydF4y2Ba,gydF4y2Ba的zqgydF4y2Ba.这种语法对稳态和瞬态热模型都是有效的。gydF4y2Ba

例子gydF4y2Ba

[gydF4y2Ba___gydF4y2Ba= evaluateTemperatureGradient(gydF4y2BathermalresultsgydF4y2Ba,gydF4y2BaquerypointsgydF4y2Ba)gydF4y2Ba中指定的点的温度梯度的插值值gydF4y2BaquerypointsgydF4y2Ba.这种语法对稳态和瞬态热模型都是有效的。gydF4y2Ba

例子gydF4y2Ba

[gydF4y2Ba___gydF4y2Ba= evaluateTemperatureGradient(gydF4y2Ba___gydF4y2Ba,gydF4y2Ba它gydF4y2Ba)gydF4y2Ba返回随时间变化的方程的温度梯度的插值值gydF4y2Ba它gydF4y2Ba.指定gydF4y2Ba它gydF4y2Ba在前面任何语法的输入参数之后。gydF4y2Ba

第一个维度gydF4y2BagradTxgydF4y2Ba,gydF4y2BagradTygydF4y2Ba,在三维情况下,gydF4y2BagradTzgydF4y2Ba对应于查询点。第二个维度对应于时间步长gydF4y2Ba它gydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

对于2-D稳态热模型,计算节点位置和指定点的温度梯度gydF4y2BaxgydF4y2Ba而且gydF4y2BaygydF4y2Ba坐标。gydF4y2Ba

创建稳态分析的热模型。gydF4y2Ba

Thermalmodel = createpde(gydF4y2Ba“热”gydF4y2Ba);gydF4y2Ba

创建几何图形并将其包含在模型中。gydF4y2Ba

R1 = [3,4,-1,1,1,-1,1,1, 1,1,-1]';g = decsg(R1,gydF4y2BaR1的gydF4y2Ba,(gydF4y2BaR1的gydF4y2Ba) ');geometryFromEdges (thermalmodel g);pdegplot (thermalmodelgydF4y2Ba“EdgeLabels”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba) xlim([-1.5 1.5]gydF4y2Ba平等的gydF4y2Ba

图中包含一个轴对象。axis对象包含5个类型为line, text的对象。gydF4y2Ba

假设这个几何图形代表一个铁板,热导率为gydF4y2Ba 7gydF4y2Ba 9gydF4y2Ba .gydF4y2Ba 5gydF4y2Ba WgydF4y2Ba /gydF4y2Ba (gydF4y2Ba 米gydF4y2Ba KgydF4y2Ba )gydF4y2Ba .gydF4y2Ba

thermalProperties (thermalmodelgydF4y2Ba“ThermalConductivity”gydF4y2Ba, 79.5,gydF4y2Ba“面子”gydF4y2Ba1);gydF4y2Ba

在板的底部(边缘3)施加恒定温度300k。同时,假设板的顶部(边缘1)是绝缘的,并在板的两侧(边缘2和边缘4)施加对流。gydF4y2Ba

thermalBC (thermalmodelgydF4y2Ba“边缘”gydF4y2Ba3,gydF4y2Ba“温度”gydF4y2Ba, 300);thermalBC (thermalmodelgydF4y2Ba“边缘”gydF4y2Ba, 1gydF4y2Ba“HeatFlux”gydF4y2Ba, 0);thermalBC (thermalmodelgydF4y2Ba“边缘”gydF4y2Ba(2 - 4),gydF4y2Ba...gydF4y2Ba“ConvectionCoefficient”gydF4y2Ba25岁的gydF4y2Ba...gydF4y2Ba“AmbientTemperature”gydF4y2Ba, 50);gydF4y2Ba

网格的几何和解决问题。gydF4y2Ba

generateMesh (thermalmodel);结果= solve(热模型)gydF4y2Ba
results = SteadyStateThermalResults with properties: Temperature: [1541x1 double] XGradients: [1541x1 double] YGradients: [1541x1 double] ZGradients: [] Mesh: [1x1 FEMesh]gydF4y2Ba

求解器在节点位置找到温度和温度梯度。要访问这些值,请使用gydF4y2Ba结果。温度gydF4y2Ba,gydF4y2Ba结果。XGradientsgydF4y2Ba等等。例如,绘制节点位置的温度梯度。gydF4y2Ba

图;pdeplot (thermalmodelgydF4y2Ba...gydF4y2Ba“FlowData”gydF4y2Ba,结果。XGradients results.YGradients]);gydF4y2Ba

图中包含一个轴对象。axis对象包含一个quiver类型的对象。gydF4y2Ba

创建指定的网格gydF4y2BaxgydF4y2Ba而且gydF4y2BaygydF4y2Ba坐标,并评估网格的温度梯度。gydF4y2Ba

V = linspace(-0.5,0.5,11);[X,Y] = meshgrid(v);[gradTx, gradTy] =gydF4y2Ba...gydF4y2BaevaluateTemperatureGradient(结果,X, Y);gydF4y2Ba

重塑gydF4y2BagradTxgydF4y2Ba而且gydF4y2BagradTygydF4y2Ba向量,并绘制出结果的温度梯度。gydF4y2Ba

gradTx =重塑(gradTx,大小(X));gradTy =重塑(gradTy,大小(Y));图颤抖(X, Y, gradTx gradTy)gydF4y2Ba

图中包含一个轴对象。axis对象包含一个quiver类型的对象。gydF4y2Ba

或者,您可以使用查询点矩阵来指定网格。gydF4y2Ba

querypoints = [X(:) Y(:)]';[gradTx, gradTy] =gydF4y2Ba...gydF4y2BaevaluateTemperatureGradient(结果,querypoints);gradTx =重塑(gradTx,大小(X));gradTy =重塑(gradTy,大小(Y));图颤抖(X, Y, gradTx gradTy)gydF4y2Ba

图中包含一个轴对象。axis对象包含一个quiver类型的对象。gydF4y2Ba

对于三维稳态热模型,计算节点位置和指定点的温度梯度gydF4y2BaxgydF4y2Ba,gydF4y2BaygydF4y2Ba,gydF4y2BazgydF4y2Ba坐标。gydF4y2Ba

创建稳态分析的热模型。gydF4y2Ba

Thermalmodel = createpde(gydF4y2Ba“热”gydF4y2Ba);gydF4y2Ba

创建以下3-D几何图形,并将其包含在模型中。gydF4y2Ba

importGeometry (thermalmodelgydF4y2Ba“Block.stl”gydF4y2Ba);pdegplot (thermalmodelgydF4y2Ba“FaceLabels”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba,gydF4y2Ba“FaceAlpha”gydF4y2Ba, 0.5)标题(gydF4y2Ba“铜块,厘米”gydF4y2Ba)轴gydF4y2Ba平等的gydF4y2Ba

图中包含一个轴对象。轴对象的标题铜块,厘米包含类型箭筒,补丁,线3个对象。gydF4y2Ba

假设这是一个铜块,块的热导率约为gydF4y2Ba 4gydF4y2Ba WgydF4y2Ba /gydF4y2Ba (gydF4y2Ba cgydF4y2Ba 米gydF4y2Ba KgydF4y2Ba )gydF4y2Ba .gydF4y2Ba

thermalProperties (thermalmodelgydF4y2Ba“ThermalConductivity”gydF4y2Ba4);gydF4y2Ba

在块的左边(边1)施加373 K的恒温,在块的右边施加573 K的恒温。gydF4y2Ba

thermalBC (thermalmodelgydF4y2Ba“面子”gydF4y2Ba, 1gydF4y2Ba“温度”gydF4y2Ba, 373);thermalBC (thermalmodelgydF4y2Ba“面子”gydF4y2Ba3,gydF4y2Ba“温度”gydF4y2Ba, 573);gydF4y2Ba

在块的底部应用热流边界条件。gydF4y2Ba

thermalBC (thermalmodelgydF4y2Ba“面子”gydF4y2Ba4gydF4y2Ba“HeatFlux”gydF4y2Ba, -20);gydF4y2Ba

网格的几何和解决问题。gydF4y2Ba

generateMesh (thermalmodel);热结果=解决(热模型)gydF4y2Ba
thermalresults = SteadyStateThermalResults with properties: Temperature: [12691x1 double] XGradients: [12691x1 double] YGradients: [12691x1 double] ZGradients: [12691x1 double] Mesh: [1x1 FEMesh]gydF4y2Ba

求解器在节点位置找到温度和温度梯度的值。要访问这些值,请使用gydF4y2Ba结果。温度gydF4y2Ba,gydF4y2Ba结果。XGradientsgydF4y2Ba等等。gydF4y2Ba

创建指定的网格gydF4y2BaxgydF4y2Ba,gydF4y2BaygydF4y2Ba,gydF4y2BazgydF4y2Ba坐标,并评估网格的温度梯度。gydF4y2Ba

[X,Y,Z] =网格(1:26:100,1:6:20,1:11:50);[gradTx, gradTy gradTz] =gydF4y2Ba...gydF4y2BaevaluateTemperatureGradient (thermalresults, X, Y, Z);gydF4y2Ba

重塑gydF4y2BagradTxgydF4y2Ba,gydF4y2BagradTygydF4y2Ba,gydF4y2BagradTzgydF4y2Ba向量,并绘制出结果的温度梯度。gydF4y2Ba

gradTx =重塑(gradTx,大小(X));gradTy =重塑(gradTy,大小(Y));gradTz =重塑(gradTz,大小(Z));图抖动3(X,Y,Z,gradTx,gradTy,gradTz)轴gydF4y2Ba平等的gydF4y2Ba包含(gydF4y2Ba“x”gydF4y2Ba) ylabel (gydF4y2Ba“y”gydF4y2Ba) zlabel (gydF4y2Ba“z”gydF4y2Ba)gydF4y2Ba

图中包含一个轴对象。axis对象包含一个quiver类型的对象。gydF4y2Ba

或者,您可以使用查询点矩阵来指定网格。gydF4y2Ba

querypoints = [X(:) Y(:) Z(:)]';[gradTx, gradTy gradTz] =gydF4y2Ba...gydF4y2BaevaluateTemperatureGradient (thermalresults querypoints);gradTx =重塑(gradTx,大小(X));gradTy =重塑(gradTy,大小(Y));gradTz =重塑(gradTz,大小(Z));图抖动3(X,Y,Z,gradTx,gradTy,gradTz)轴gydF4y2Ba平等的gydF4y2Ba包含(gydF4y2Ba“x”gydF4y2Ba) ylabel (gydF4y2Ba“y”gydF4y2Ba) zlabel (gydF4y2Ba“z”gydF4y2Ba)gydF4y2Ba

图中包含一个轴对象。axis对象包含一个quiver类型的对象。gydF4y2Ba

求解二维正方形区域的瞬态换热问题,计算对流边界的温度梯度。gydF4y2Ba

为这个问题创建一个瞬态热模型。gydF4y2Ba

Thermalmodel = createpde(gydF4y2Ba“热”gydF4y2Ba,gydF4y2Ba“瞬态”gydF4y2Ba);gydF4y2Ba

创建几何图形并将其包含在模型中。gydF4y2Ba

G = @squareg;geometryFromEdges (thermalmodel g);pdegplot (thermalmodelgydF4y2Ba“EdgeLabels”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Baxlim([-1.2 1.2]) ylim([-1.2 1.2]gydF4y2Ba平等的gydF4y2Ba

图中包含一个轴对象。axis对象包含5个类型为line, text的对象。gydF4y2Ba

指定以下热特性:热导率为gydF4y2Ba 1gydF4y2Ba 0gydF4y2Ba 0gydF4y2Ba WgydF4y2Ba /gydF4y2Ba (gydF4y2Ba 米gydF4y2Ba ∘gydF4y2Ba CgydF4y2Ba )gydF4y2Ba ,质量密度为gydF4y2Ba 7gydF4y2Ba 8gydF4y2Ba 0gydF4y2Ba 0gydF4y2Ba kgydF4y2Ba ggydF4y2Ba /gydF4y2Ba 米gydF4y2Ba 3.gydF4y2Ba ,比热为gydF4y2Ba 5gydF4y2Ba 0gydF4y2Ba 0gydF4y2Ba JgydF4y2Ba /gydF4y2Ba (gydF4y2Ba kgydF4y2Ba ggydF4y2Ba ∘gydF4y2Ba CgydF4y2Ba )gydF4y2Ba .gydF4y2Ba

thermalProperties (thermalmodelgydF4y2Ba“ThermalConductivity”gydF4y2Ba, 100,gydF4y2Ba...gydF4y2Ba“MassDensity”gydF4y2Ba, 7800,gydF4y2Ba...gydF4y2Ba“SpecificHeat”gydF4y2Ba, 500);gydF4y2Ba

在三棱处应用绝缘边界条件,在右棱处应用自由对流边界条件。gydF4y2Ba

thermalBC (thermalmodelgydF4y2Ba“边缘”gydF4y2Ba,[1 3 4],gydF4y2Ba“HeatFlux”gydF4y2Ba, 0);thermalBC (thermalmodelgydF4y2Ba“边缘”gydF4y2Ba2,gydF4y2Ba...gydF4y2Ba“ConvectionCoefficient”gydF4y2Ba, 5000,gydF4y2Ba...gydF4y2Ba“AmbientTemperature”gydF4y2Ba25);gydF4y2Ba

设置初始条件:均匀的室温跨域和较高的温度在左侧边缘。gydF4y2Ba

thermalIC (thermalmodel 25);thermalIC (thermalmodel, 100,gydF4y2Ba“边缘”gydF4y2Ba4);gydF4y2Ba

生成一个网格并解决问题gydF4y2Ba0:1000:200000gydF4y2Ba作为时间的向量。gydF4y2Ba

generateMesh (thermalmodel);Tlist = 0:1000:200000;Thermalresults = solve(thermalmodel,tlist);gydF4y2Ba

在对流边界处定义一条线,并计算该线上的温度梯度。gydF4y2Ba

X = -1:0.1:1;Y = ones(size(X));[gradTx,gradTy] = evaluateTemperatureGradient(热力结果,gydF4y2Ba...gydF4y2BaX, Y, 1:长度(tlist));gydF4y2Ba

绘制插值梯度分量gydF4y2BagradTxgydF4y2Ba沿着gydF4y2BaxgydF4y2Ba轴表示时间间隔中的以下值gydF4y2BatlistgydF4y2Ba.gydF4y2Ba

图t = [51:50:201];gydF4y2Ba为gydF4y2Bai = t p(i) = plot(X,gradTx(:,i),gydF4y2Ba“DisplayName”gydF4y2Ba,gydF4y2Ba...gydF4y2Bastrcat (gydF4y2Ba“t =”gydF4y2Banum2str (tlist (i))));持有gydF4y2Ba在gydF4y2Ba结束gydF4y2Ba传奇(p (t))包含(gydF4y2Ba“x”gydF4y2Ba) ylabel (gydF4y2Ba“gradTx”gydF4y2Ba)gydF4y2Ba

图中包含一个轴对象。axis对象包含4个line类型的对象。这些对象分别表示t=50000、t=100000、t=150000、t=200000。gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

热问题的解决,指定为gydF4y2BaSteadyStateThermalResultsgydF4y2Ba对象或gydF4y2BaTransientThermalResultsgydF4y2Ba对象。创建gydF4y2BathermalresultsgydF4y2Ba使用gydF4y2Ba解决gydF4y2Ba函数。gydF4y2Ba

例子:gydF4y2Ba热结果=解决(热模型)gydF4y2Ba

xgydF4y2Ba-coordinate查询点,指定为实数组。gydF4y2BaevaluateTemperatureGradientgydF4y2Ba计算二维坐标点上的温度梯度gydF4y2Ba[xq(我)yq (i))gydF4y2Ba或者在三维坐标点上gydF4y2Ba[xq(i) yq(i) zq(i)]gydF4y2Ba.所以gydF4y2BaxqgydF4y2Ba,gydF4y2BayqgydF4y2Ba,及(如有)gydF4y2Ba的zqgydF4y2Ba必须有相同数量的条目。gydF4y2Ba

evaluateTemperatureGradientgydF4y2Ba将查询点转换为列向量gydF4y2Baxq (:)gydF4y2Ba,gydF4y2Bayq (:)gydF4y2Ba,及(如有)gydF4y2Bazq (:)gydF4y2Ba.它以相同大小的列向量的形式返回温度梯度。为确保返回的解决方案的尺寸与原始查询点的尺寸一致,请使用gydF4y2Ba重塑gydF4y2Ba.例如,使用gydF4y2Ba(gradTx,size(xq))gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

ygydF4y2Ba-coordinate查询点,指定为实数组。gydF4y2BaevaluateTemperatureGradientgydF4y2Ba计算二维坐标点上的温度梯度gydF4y2Ba[xq(我)yq (i))gydF4y2Ba或者在三维坐标点上gydF4y2Ba[xq(i) yq(i) zq(i)]gydF4y2Ba.所以gydF4y2BaxqgydF4y2Ba,gydF4y2BayqgydF4y2Ba,及(如有)gydF4y2Ba的zqgydF4y2Ba必须有相同数量的条目。gydF4y2Ba

evaluateTemperatureGradientgydF4y2Ba将查询点转换为列向量gydF4y2Baxq (:)gydF4y2Ba,gydF4y2Bayq (:)gydF4y2Ba,及(如有)gydF4y2Bazq (:)gydF4y2Ba.它以相同大小的列向量的形式返回温度梯度。为确保返回的解决方案的尺寸与原始查询点的尺寸一致,请使用gydF4y2Ba重塑gydF4y2Ba.例如,使用gydF4y2BagradTy =重塑(gradTy,大小(yq))gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

zgydF4y2Ba-coordinate查询点,指定为实数组。gydF4y2BaevaluateTemperatureGradientgydF4y2Ba计算三维坐标点的温度梯度gydF4y2Ba[xq(i) yq(i) zq(i)]gydF4y2Ba.所以gydF4y2BaxqgydF4y2Ba,gydF4y2BayqgydF4y2Ba,gydF4y2Ba的zqgydF4y2Ba必须有相同数量的条目。gydF4y2Ba

evaluateTemperatureGradientgydF4y2Ba将查询点转换为列向量gydF4y2Baxq (:)gydF4y2Ba,gydF4y2Bayq (:)gydF4y2Ba,及(如有)gydF4y2Bazq (:)gydF4y2Ba.它以相同大小的列向量的形式返回温度梯度。为确保返回的解决方案的尺寸与原始查询点的尺寸一致,请使用gydF4y2Ba重塑gydF4y2Ba.例如,使用gydF4y2BagradTz =重塑(gradTz,大小(zq))gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

查询点,指定为实矩阵,对于2-D几何有两行,对于3-D几何有三行。gydF4y2BaevaluateTemperatureGradientgydF4y2Ba计算坐标点上的温度梯度gydF4y2Baquerypoints(:,我)gydF4y2Ba的每一列gydF4y2BaquerypointsgydF4y2Ba只包含一个2-D或3-D查询点。gydF4y2Ba

例子:gydF4y2Ba对于二维几何,gydF4y2Ba查询点= [0.5 0.5 0.75 0.75;1 2 0 0.5]gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

时间指数,指定为正整数向量。每一项gydF4y2Ba它gydF4y2Ba指定时间索引。gydF4y2Ba

例子:gydF4y2BaiT = 1:5:21gydF4y2Ba指定每隔5个时间步长到21。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

xgydF4y2Ba-温度梯度的分量,以矩阵形式返回。对于几何体外部的查询点,gydF4y2BagradTxgydF4y2Ba=gydF4y2Ba南gydF4y2Ba.gydF4y2Ba

ygydF4y2Ba-温度梯度的分量,以矩阵形式返回。对于几何体外部的查询点,gydF4y2BagradTygydF4y2Ba=gydF4y2Ba南gydF4y2Ba.gydF4y2Ba

zgydF4y2Ba-温度梯度的分量,以矩阵形式返回。对于几何体外部的查询点,gydF4y2BagradTzgydF4y2Ba=gydF4y2Ba南gydF4y2Ba.gydF4y2Ba

版本历史gydF4y2Ba

在R2017a中引入gydF4y2Ba