主要内容

ModalThermalResults

模态热解

自从R2022a

描述

一个ModalThermalResults对象包含热模型的特征值和特征向量矩阵,以及用于适当正交分解(POD)的快照的平均值。

创建

方法求解一个模态热问题解决函数。这个函数返回一个模态热解ModalThermalResults对象。

属性

全部展开

此属性是只读的。

热模型的特征值,作为列向量返回。

数据类型:

此属性是只读的。

特征向量矩阵,作为一个矩阵返回。

数据类型:

此属性是只读的。

用于POD的快照的平均值,作为列向量返回。

数据类型:

此属性是只读的。

模式类型,返回为“固有模式”“PODModes”

数据类型:字符串

此属性是只读的。

有限元网格,返回作为一个FEMesh对象。详细信息请参见FEMesh属性

例子

全部折叠

首先得到特定衰减范围的模态振型,然后使用模态叠加方法求解瞬态热问题。

模态分解

首先,创建一个模态热模型。

Thermalmodel = createpde(“热”“模态”);

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

Sq1 = [3;4;0;3;3;0;0;0;3;3); D1 = [2; 4; 0.5; 1.5; 2.5; 1.5; 1.5; 0.5; 1.5; 2.5]; gd = [SQ1 D1]; sf =“于SQ1 + D1”;Ns = char(“于SQ1”“D1”);Ns = Ns ';Dl = decsg(gd,sf,ns);geometryFromEdges (thermalmodel dl);pdegplot (thermalmodel“EdgeLabels”“上”“FaceLabels”“上”) xlim([-1.5 4.5]) ylim([-0.5 3.5]平等的

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

对于正方形区域,分配这些热特性:

  • 导热系数为 10 W / C )

  • 质量密度为 2 公斤 / 3.

  • 比热为 0 1 J / 公斤 C )

thermalProperties (thermalmodel“ThermalConductivity”10“MassDensity”2,“SpecificHeat”, 0.1,“面子”1);

对于金刚石区域,分配这些热特性:

  • 导热系数为 2 W / C )

  • 质量密度为 1 公斤 / 3.

  • 比热为 0 1 J / 公斤 C )

thermalProperties (thermalmodel“ThermalConductivity”2,“MassDensity”, 1“SpecificHeat”, 0.1,“面子”2);

假设菱形区域是一个密度为的热源 4 W / 2

internalHeatSource (thermalmodel 4“面子”2);

将温度恒定为0°C到方板的两侧。

thermalBC (thermalmodel“温度”0,“边缘”,[1 2 7 8]);

设置初始温度为0°C。

thermalIC (thermalmodel 0);

生成网格。

generateMesh (thermalmodel);

计算衰减范围[100,10000]内热模型的本征模 年代 - 1

RModal = solve(热模型,“DecayRange”(100、10000))
RModal = ModalThermalResults with properties: DecayRates: [164x1 double] ModeShapes: [1481x164 double] ModeType: "EigenModes" Mesh: [1x1 FEMesh]

瞬态分析

知道了模态振型,现在就可以用模态叠加法来解决瞬态热问题。首先,将热模型分析类型切换为瞬态分析。

thermalmodel。一个nalysisType =“瞬态”

这个问题的动力学非常快。温度在0.1秒左右达到稳定状态。要捕获动态中最活跃的部分,请将解决方案时间设置为logspace (-1100).该命令返回100个在0.01到0.1之间的对数间隔解时间。

Tlist = logspace(-2,-1,10);

解这个方程。

Rtransient = solve(热模型,tlist,“ModalResults”, RModal);

用等高线画出解的等温线。

T =瞬变温度;pdeplot (thermalmodel“XYData”T(:,结束),“轮廓”“上”“ColorMap”“热”)

图中包含一个轴对象。axis对象包含12个patch、line类型的对象。

利用瞬态解的几个实例(快照)获得线性热模型的POD模式。

创建瞬态热模型。

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

创建一个单位正方形几何图形,并将其包含在模型中。

geometryFromEdges (thermalmodel @squareg);

绘制几何图形,显示边缘标签。

pdegplot (thermalmodel“EdgeLabels”“上”xlim([-1.1 1.1])

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

指定材料的热导率、质量密度和比热。

thermalProperties (thermalmodel“ThermalConductivity”, 400,“MassDensity”, 1300,“SpecificHeat”, 600);

设置右边边缘的温度为One hundred.

thermalBC (thermalmodel“边缘”2,“温度”, 100);

设置初始值为0对于温度。

thermalIC (thermalmodel 0);

生成一个网格。

generateMesh (thermalmodel);

求解三种不同热源值的模型并采集快照。

Tlist = 0:10:600;snapShotIDs = [1:10 59 60 61];Tmatrix = [];heatVariation = [10000 15000 20000];q =热变量internalHeatSource(热模型,q);结果= solve(thermalmodel,tlist);Tmatrix = [Tmatrix,results.Temperature(:,snapShotIDs)];结束

将热模型分析类型切换为模态。

thermalmodel。一个nalysisType =“模态”

计算POD模式。

RModal = solve(热模型,“快照”Tmatrix)
RModal = ModalThermalResults with properties: DecayRates: [6x1 double] ModeShapes: [1541x6 double] SnapshotsAverage: [1541x1 double] ModeType: "PODModes" Mesh: [1x1 FEMesh]

版本历史

R2022a中引入