三维稳态热传导问题

关键词: 稳态 线性 热传导

前面介绍的算例基本都是二维的,那么三维的问题应该如何处理呢?对 FEtch 来说,将一个已测试成功的有限元程序从二维扩展到三维,通常是非常直接、非常简单的。这里将给出详细介绍。本节以入门级别的稳态热传导问题为例,讲解如何使用 FEtch 系统求解三维的线性椭圆型偏微分方程。

控制方程

微分形式

对于三维直角坐标系,稳态热传导过程服从如下偏微分方程 x(kux)+y(kuy)+z(kuz)+Q=0 (in Ω) 其中,u 表示温度,k 是热传导系数,Q 为热源密度,xyz 为三维直角坐标系下的坐标变量。

这里考虑两类边界条件:

第一类边界条件,给定温度 u=ˉu (on Γ1)

第二类边界条件,给定热流 kunn=q (on Γ2)

其中,ˉuq 为边界上的温度和热流值。n 为边界上的单位外法向量,热流以进入区域为正。

对比二维问题,三维情况主要有以下两点变化

弱形式

运用虚位移原理求温度,由微分方程 (1) 两端乘以温度的变分,并在全域上积分,得 Ω(x(kux)+y(kuy)+z(kuz)+ Q)δudΩ=0 对于二阶导数的部分,利用分部积分将其中的一阶导数转化到温度的变分上,得 Ω(kuxδux+kuyδuy+kuzδuz)dΩ=ΩQδudΩ+ΓkunnδudΓ 对于分部积分得到的边界积分项,代入边界条件,得 Ω(kuxδux+kuyδuy+kuzδuz)dΩ=ΩQδudΩ+Γ2qδudΓ 这就是温度场的最终的弱解形式。对式 (2) 进行空间离散化后,可进一步写成矩阵形式 SU=F 其中,S 为刚度矩阵,U 为温度向量,F 为载荷向量。该式即为最终需要求解的线性方程组。

脚本编写

一个具体问题的有限元语言表述,通常需要包含 5 种类型的文件:PDE、FBC、MDI、GCN 和 NFE。下面依次给出详细介绍。

PDE 和 FBC 文件

在这个例子中,只有一个物理场,需要给出温度场对应的 PDE 文件和 FBC 文件。根据有限元语言的语法规则,将方程 (2) 的体积分项写入 PDE 文件如下。

heat.pde 说明
defi
disp u
coor x y z
shap %1 %2
gaus %3
mate ek eq 10; 0.0

stif
dist = +[u/x;u/x]*ek+[u/y;u/y]*ek+[u/z;u/z]*ek

load = +[u]*eq

end
系统关键字(信息定义)
定义未知量
定义坐标分量
定义采用的形函数
定义采用的积分方式
定义用到的材料参数和默认参数值
(空行)
系统关键字(单元刚度矩阵表达式定义)
刚度矩阵项,对应式 (2) 左侧
(空行)
荷载向量项,对应式 (2) 右侧第 1 项
(空行)
系统关键字(文件结束)

同样地,将方程 (2) 的边界积分项写入 FBC 文件如下。

heat.fbc 说明
defi
disp u
coor x y
shap %1 %2
gaus %3
mate eq 10.0

stif
dist = +[u;u]*0

load = +[u]*eq

end
系统关键字(信息定义)
定义未知量
定义坐标分量
定义采用的形函数
定义采用的积分方式
定义用到的材料参数和默认参数值
(空行)
系统关键字(单元刚度矩阵表达式定义)
刚度矩阵项,取零矩阵
(空行)
荷载向量项,对应式 (2) 右侧第 2 项
(空行)
系统关键字(文件结束)

对比二维算例可以发现,对应于控制方程弱形式 (2) 的体积分项的变化,PDE 文件仅在 coor 语句和 stif 段添加了部分内容,改动不大。由于边界积分项的表达式未发生变化,所以 FBC 文件内容完全无需修改。

MDI 文件

MDI 文件负责组织 PDE 和 FBC 文件,声明程序具体使用的坐标系统、单元类型和积分方法。这里文件命名为 le3d.mdi,具体内容如下。

le3d.mdi 说明
3dxyz
#a 0 1 u
pde heat w4g2
fbc heat t3g2
#
在三维直角坐标系下求解
a场,无初值,1 个自由度,自由度名称为 u
调用 heat.pde,采用 4 节点四面体单元,2 点高斯积分
调用 heat.fbc,采用 3 节点三角形单元,2 点高斯积分
(文件结束符,可留空)

对比二维算例,MDI 文件仅做了少量更改:更新了坐标系语句,并选择了与之匹配的体单元和边界单元类型。仍然需要注意的是,同一个场的 PDE 和 FBC 的单元类型和积分方法需要保证匹配,否则会导致计算精度降低,甚至计算失败的情况发生。

GCN 文件

GCN 文件给出计算流程信息,系统规定其文件名字要与 MDI 文件一致。作为线性椭圆方程,三维稳态热传导问题的计算流程和二维问题相比是完全一样的,具体内容如下。

le3d.gcn 说明
defi
a ell

#startsin a
#solvsin a
算法引入段
a 场,采用的算法模板文件为 ell.nfe
(空行) 开始命令流段
初始化 a 场
求解 a 场,使用直接法,对称矩阵求解器

NFE 文件

GCN 文件使用了 ell 算法,系统会基于模板文件自动生成以下的 le3da.nfe 文件。

le3da.nfe 说明
defi
stif s
load f

equation
matrix = [s]
forc = [f]

solution u
gidpost('u',1.0) u(1)

end
DEFI段
定义单元刚度矩阵s
定义荷载向量f
(空行)
EQUATION段
总刚矩阵公式
荷载向量公式
(空行)
SOLUTION段 定义求解的场向量
将计算结果写入 GiD 后处理文件
(空行)
结束标记

算例

问题描述

考虑尺寸为 1.0 m×1.0 m×1.0 m 的正方体,热传导系数为 1 W/m/C,内热源密度为 0。以三维直角坐标系建模,正方体位于区域 [0,1]×[0,1]×[0,1] 内。它的六个面分别满足以下边界条件 u(0,y,z)=y+z ( on x=0)u(x,0,z)=x+z ( on y=0)u(x,y,0)=x+y ( on z=0)u(1,y,z)=1+y+z ( on x=1)u(x,1,z)=1+x+z ( on y=1)u(x,y,1)=1+x+y ( on z=1) 求温度场的分布。

前处理

填写材料参数文件

系统自动生成了 le3d.mat 文件,用于设置材料参数。参数初始值全部为 PDE 和 FBC 文件给出的默认值。可根据具体问题进行修改。对于本算例,修改完成后的文件内容如下。

le3d.mat 说明
1 3 aew4g2
num ek eq
1 1.0 0.0
#
1 2 alt3g2
num eq
1 1.0
#
4 节点四面体体单元
材料参数
参数值
分隔符
3 节点三角形边界单元
材料参数
参数值
分隔符

赋单元材料号

施加边界条件

网格剖分

根据所开发程序的计算要求,采用四面体线性单元进行网格剖分。共 16122 个单元,3227 个节点。

计算结果

本算例是有解析解的,具体形式为 u(x,y,z)=x+y+z 观察计算结果可以看到,温度场的值从点 (0,0,0)0 C 到点 (1,1,1)3 C 的逐渐增大,呈线性分布。这与理论解完全一致,充分证明了算法和程序的有效性。




打赏一个
取消

感谢您的支持,我们会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝或微信扫一扫,即可进行扫码打赏哦