稳态热传导问题
关键词: 稳态 线性 热传导
稳态热传导问题因其形式简单,常常用作有限元学习的入门范例。本节以二维稳态热传导问题为例,讲解如何使用 FEtch 系统求解线性椭圆型偏微分方程。
操作视频
控制方程
微分形式
对于二维直角坐标系,稳态热传导过程服从如下偏微分方程 \(\frac{\partial}{\partial x}\left(k \frac{\partial u}{\partial x}\right)+\frac{\partial}{\partial y}\left(k \frac{\partial u}{\partial y}\right)+Q=0\ \left(\text{in } \Omega\right) \tag{1}\label{eq1}\) 其中,$u$ 表示温度,$k$ 是热传导系数,$Q$ 为热源密度,$x$ 和 $y$ 为二维直角坐标系下的坐标变量。
这里考虑两类边界条件:
第一类边界条件,给定温度 \(u=\bar{u}\ \left(\text{on } \Gamma_1\right)\)
第二类边界条件,给定热流 \(k\frac{\partial u}{\partial \mathbf{n}} \cdot \mathbf{n}=q \ \left(\text{on } \Gamma_2\right)\)
其中,$\bar{u}$ 和 $q$ 为边界上的温度和热流值。$\mathbf{n}$ 为边界上的单位外法向量,热流以进入区域为正。
弱形式
运用变分原理,由微分方程 $\eqref{eq1}$ 两端乘以温度的变分,并在全域上积分,得 \(\int_{\Omega}\left(\frac{\partial}{\partial x}\left(k \frac{\partial u}{\partial x}\right)+\frac{\partial}{\partial y}\left(k \frac{\partial u}{\partial y}\right)+\ Q\right) \delta u d \Omega=0\) 对于二阶导数的部分,利用分部积分将其中的一阶导数转化到温度的变分上,得 \(\int_{\Omega}\left(k \frac{\partial u}{\partial x} \frac{\partial \delta u}{\partial x}+k \frac{\partial u}{\partial y} \frac{\partial \delta u}{\partial y}\right) d \Omega=\int_{\Omega} Q \delta u d \Omega+\int_{\Gamma} k \frac{\partial u}{\partial \mathbf{n}}\cdot \mathbf{n} \delta u d \Gamma\) 对于分部积分得到的边界积分项,代入边界条件,得 \(\int_{\Omega}\left(k \frac{\partial u}{\partial x} \frac{\partial \delta u}{\partial x}+k \frac{\partial u}{\partial y} \frac{\partial \delta u}{\partial y}\right) d \Omega=\int_{\Omega} Q \delta u d \Omega+\int_{\Gamma_2} q \delta u d \Gamma \tag{2}\label{eq2}\) 这就是温度场的最终的弱解形式。对式 $\eqref{eq2}$ 进行空间离散化后,可进一步写成矩阵形式 \(SU=F\tag{3}\label{eq3}\) 其中,$S$ 为刚度矩阵,$U$ 为温度向量,$F$ 为载荷向量。该式即为最终需要求解的线性方程组。
脚本编写
一个具体问题的有限元语言表述,通常需要包含 5 种类型的文件:PDE、FBC、MDI、GCN 和 NFE。下面依次给出详细介绍。
PDE 和 FBC 文件
在这个例子中,只有一个物理场,需要给出温度场对应的 PDE 文件和 FBC 文件。根据有限元语言的语法规则,将方程 $\eqref{eq2}$ 的体积分项写入 PDE 文件如下。
heat.pde | 说明 |
---|---|
defi disp u coor x y shap %1 %2 gaus %3 mate ek eq 10; 0.0 stif dist = +[u/x;u/x]*ek+[u/y;u/y]*ek load = +[u]*eq end |
系统关键字(信息定义) 定义未知量 定义坐标分量 定义采用的形函数 定义采用的积分方式 定义用到的材料参数和默认参数值 (空行) 系统关键字(单元刚度矩阵表达式定义) 刚度矩阵项,对应式 $\eqref{eq2}$ 左侧 (空行) 荷载向量项,对应式 $\eqref{eq2}$ 右侧第 1 项 (空行) 系统关键字(文件结束) |
这里将 shap 行和 gaus 行的参数设为待定,参数值 %1、%2 和 %3 将从 MDI 文件中取得。
同样地,将方程 $\eqref{eq2}$ 的边界积分项写入 FBC 文件如下。
heat.fbc | 说明 |
---|---|
defi disp u coor x shap %1 %2 gaus %3 mate eq 10.0 stif dist = +[u;u]*0 load = +[u]*eq end |
系统关键字(信息定义) 定义未知量 定义坐标分量 定义采用的形函数 定义采用的积分方式 定义用到的材料参数和默认参数值 (空行) 系统关键字(单元刚度矩阵表达式定义) 刚度矩阵项,取零矩阵 (空行) 荷载向量项,对应式 $\eqref{eq2}$ 右侧第 2 项 (空行) 系统关键字(文件结束) |
MDI 文件
MDI 文件负责组织 PDE 和 FBC 文件,声明程序具体使用的坐标系统、单元类型和积分方法。这里文件命名为 le.mdi,具体内容如下。
le.mdi | 说明 |
---|---|
2dxy #a 0 1 u pde heat t3g2 fbc heat l2g2 # |
在二维直角坐标系下求解 a场,无初值,1 个自由度,自由度名称为 u 调用 heat.pde,采用 3 节点三角形单元,2 点高斯积分 调用 heat.fbc,采用 2 节点线单元,2 点高斯积分 (文件结束符,可留空) |
注意,同一个场的 PDE 和 FBC 的单元类型和积分方法需要保证匹配,否则会导致计算精度降低,甚至计算失败的情况发生。MDI 文件声明的单元类型和积分方式将以参数的形式传递给 PDE 和 FBC 文件中的的 %1、%2 和 %3。如果后续想要使用其他的单元类型或者积分方法,只需修改 MDI 文件即可。
GCN 文件
GCN 文件给出计算流程信息,系统规定其文件名字要与 MDI 文件一致。作为线性椭圆方程,稳态热传导问题的计算流程非常简单,只需填写少量代码,具体内容如下。
le.gcn | 说明 |
---|---|
defi a ell #startsin a #solvsin a |
算法引入段 a 场,采用的算法模板文件为 ell.nfe (空行) 开始命令流段 初始化 a 场 求解 a 场,使用直接法,对称矩阵求解器 |
NFE 文件
GCN 文件使用了 ell 算法,系统会基于模板文件自动生成以下的 lea.nfe 文件。如果用户有其他需要,可以在此基础上进一步地修改。
lea.nfe | 说明 |
---|---|
defi stif s load f equation matrix = [s] forc = [f] solution u gidpost('u',1.0) u(1) end |
DEFI段 定义单元刚度矩阵 s 定义荷载向量 f (空行) EQUATION段 总刚矩阵公式,对应式 $\eqref{eq3}$ 左侧 荷载向量公式,对应式 $\eqref{eq3}$ 右侧 (空行) SOLUTION段 定义求解的场向量 将计算结果写入 GiD 后处理文件 (空行) 结束标记 |
算例1
问题描述
矩形金属薄板,尺寸为 $1.0\ \mathrm{m}\times0.1\ \mathrm{m}$,热传导系数为 $80\ \mathrm{~W}/\mathrm{m}/{ }^{\circ}\mathrm{C}$,内热源密度为 $0$。左侧温度固定为 $0\ { }^{\circ}\mathrm{C}$,右侧固定为 $10\ { }^{\circ}\mathrm{C}$,上下两边绝热。求温度的分布。
前处理
填写材料参数文件
系统自动生成了 le.mat 文件,用于设置材料参数。参数初始值全部为 PDE 和 FBC 文件给出的默认值。可根据具体问题进行修改。对于本算例,修改完成后的文件内容如下。
le.mat | 说明 |
---|---|
1 3 aet3g2 num ek eq 1 80 0.0 # 1 2 all2g2 num eq 1 0.0 # |
3 节点三角形面单元 材料参数 参数值 分隔符 2 节点线形边界单元 材料参数 参数值 分隔符 |
赋单元材料号
施加边界条件
其中:
u-I 为边界类型,-1 表示约束,1 表示自由
u-D 为相应的约束值或施加节点热流
网格剖分
根据所开发程序的计算要求,采用三角形线性单元进行网格剖分。共78个单元,62个节点。
计算结果
可以看到,温度场左低右高,呈线性分布。这与理论解完全一致,充分证明了算法和程序的有效性。
算例2
问题描述
矩形金属薄板,尺寸为 $0.6\ \mathrm{m}\times1.0\ \mathrm{m}$,热传导系数和内热源密度同算例 1。右侧和上方温度固定为 $0\ { }^{\circ}\mathrm{C}$,左侧绝热。底部施加恒定的热流,热流密度为 $1000\ \mathrm{~W}/\mathrm{m}^{-2}$。求稳定后温度场的分布。
前处理
填写材料参数文件
本算例与算例 1 的材料相同,差别仅在于包含了第二类边界条件。因此,只需要修改与边界单元相关的参数值。修改完成后的 mat 文件内容如下。
le.mat | 说明 |
---|---|
1 3 aet3g2 num ek eq 1 80 0.0 # 1 2 all2g2 num eq 1 1.0e3 # |
3 节点三角形面单元 材料参数 参数值 分隔符 2 节点线形边界单元 材料参数 参数值(对应热流值) 分隔符 |
赋单元材料号
施加第一类边界条件
其中:
u-I 为边界类型,-1 表示约束,1 表示自由
u-D 为相应的约束值或施加节点热流
施加第二类边界条件
第二类边界条件以线单元的形式施加
网格剖分
采用三角形线性单元进行网格剖分,共 524 个单元,295 个节点。
计算结果
可以看出,计算结果与理论解是一致的,进一步证明了算法和程序的有效性。