4. 有限元热分析入门:FEM基础、网格划分与边界条件
各位好,我是老张。做热分析这些年,我最大的感触就是:有限元方法(FEM)就像一把手术刀,用好了能精准定位热问题,用不好反而会割伤自己。今天咱们就聊聊这把刀该怎么握。
4.1 有限元方法(FEM)到底在干什么?
说白了,有限元方法就是把一个连续的大问题,拆成无数个小问题来求解。你想想看,一个光学镜头的温度场是连续的,但我们没法用一个方程直接描述整个镜头的温度分布——太复杂了。
FEM的做法是:把镜头切成很多小块(单元),每个小块内部假设温度变化很简单(比如线性变化),然后把这些小块拼回去,通过节点上的温度连续性条件,求解整个系统的温度场。
核心思想:离散化 + 近似 + 组装求解
- 离散化:将连续体分割成有限个单元
- 近似:每个单元内用简单函数(形函数)近似温度分布
- 组装:通过节点自由度组装全局刚度矩阵 [K]{T} = {Q}
我记得刚入行时,带我的老师傅说了一句话,我一直记到现在:“有限元不是精确解,而是工程上足够好的近似解。” 所以别迷信软件算出来的数字,你得知道它为什么是这个数。
4.2 网格划分原则——成败在此一举
网格划分是有限元分析中最耗时间、也最考验经验的环节。我见过太多人,模型建得漂亮,结果网格一塌糊涂,算出来的温度场根本没法用。
4.2.1 网格类型怎么选?
| 网格类型 | 适用场景 | 优缺点 |
|---|---|---|
| 四面体(Tet) | 复杂几何、自由网格 | 自动划分方便,但精度偏低 |
| 六面体(Hex) | 规则几何、扫掠网格 | 精度高、计算快,但手动分块费时 |
| 棱柱(Wedge) | 过渡区域、薄壁结构 | 介于Tet和Hex之间 |
我个人习惯是:能画六面体就画六面体。尤其是光学镜头这种回转体结构,用扫掠网格(Sweep Mesh)生成六面体,既快又准。但遇到复杂的镜筒内腔,四面体也是没办法的选择。
4.2.2 网格密度怎么控制?
这里有个避坑指南:我曾经在一个激光窗口的热分析中,用了均匀的粗网格,结果温度梯度最大的地方正好在网格稀疏区,算出来的热应力差了30%。从那以后,我总结了一套网格密度控制原则:
- 温度梯度大的区域加密:热源附近、散热边界、材料界面
- 几何曲率大的地方加密:圆角、倒角、螺纹根部
- 关注区域加密:比如镜片的光学有效口径区域
- 远离关注区可以粗:比如镜筒外壁、非承力结构
经验值参考:
- 稳态热分析:全局网格尺寸取模型最小特征尺寸的1/5 ~ 1/10
- 瞬态热分析:时间步长与网格尺寸要匹配,避免CFL条件不满足
- 热-结构耦合:网格密度以热分析为准,结构分析通常可以更粗
4.2.3 网格质量怎么看?
别光看网格画出来了,还得看质量。我常用的几个指标:
| 指标 | 理想值 | 警告值 | 说明 |
|---|---|---|---|
| 偏斜度(Skewness) | < 0.5 | > 0.9 | 越接近0越好 |
| 正交质量(Orthogonal Quality) | > 0.7 | < 0.1 | 越接近1越好 |
| 长宽比(Aspect Ratio) | < 5 | > 20 | 热分析可适当放宽 |
注意:热分析对网格质量的容忍度比结构分析高一些,但偏斜度超过0.95的单元一定要处理。我曾经吃过这个亏——一个畸变单元导致局部温度场出现“假震荡”,排查了整整两天。
4.3 边界条件与载荷施加
网格画好了,接下来就是施加边界条件。这一步最考验对物理问题的理解。说白了,边界条件就是告诉软件:热量从哪里来,到哪里去。
4.3.1 热载荷类型
- 热流密度(Heat Flux):单位面积上的热功率,W/m²。适用于激光辐照、加热片等
- 体热源(Heat Generation Rate):单位体积的热功率,W/m³。适用于LED芯片、电阻发热等
- 集中热源(Point Heat Source):适用于小面积热源简化建模
嗯,这里要注意:热流密度和体热源不要搞混。我见过有人把LED芯片的发热功率直接当热流密度加在芯片表面,结果温度高得离谱——因为体热源才是正确的加载方式。
4.3.2 热边界条件
| 边界类型 | 数学表达 | 物理含义 | 典型应用 |
|---|---|---|---|
| 第一类(Dirichlet) | T = T₀ | 给定温度 | 恒温边界、水冷板 |
| 第二类(Neumann) | q = q₀ | 给定热流 | 绝热边界(q=0)、加热膜 |
| 第三类(Robin) | q = h(T-T∞) | 对流换热 | 自然对流、强迫风冷 |
| 辐射边界 | q = εσ(T⁴-T∞⁴) | 热辐射 | 真空环境、高温部件 |
我的经验:对流换热系数h是最难取的参数。别信手册上的经验值,那都是理想条件。我一般会先做一次仿真,然后跟实测数据对标,反推h值。这样反复几次,积累自己的数据库。
4.3.3 接触热阻的处理
这是热分析中最容易被忽略、但影响最大的因素。两个固体表面接触,实际接触面积只有名义面积的1%~10%,其余是空气间隙。所以接触面存在热阻。
处理方式有两种:
- 理想接触:假设接触面温度连续,适用于焊接、钎焊等
- 接触热阻:定义接触导热系数或热阻值,适用于螺栓连接、压接等
我曾经处理过一个红外镜头项目,镜片和镜筒之间用压圈固定。第一次仿真没考虑接触热阻,结果镜片温度比实测低了8°C。后来加了接触热阻,误差缩小到1°C以内。
4.4 有限元热分析流程总览
说了这么多,咱们用一张图把整个流程串起来:
4.5 一个简单的实战案例
咱们拿一个最简单的例子练练手:一块10mm×10mm×2mm的铝板,中心有一个5W的发热芯片,四周自然对流冷却。
! ANSYS APDL 命令流示例
/PREP7
ET,1,SOLID90 ! 20节点六面体热单元
MP,KXX,1,237 ! 铝的导热系数 W/(m·K)
MP,DENS,1,2700 ! 密度 kg/m³
MP,C,1,900 ! 比热容 J/(kg·K)
! 创建几何
BLOCK,0,0.01,0,0.01,0,0.002
! 网格划分
ESIZE,0.0005 ! 网格尺寸0.5mm
VMESH,ALL
! 边界条件
/SOLU
ANTYPE,STATIC ! 稳态分析
SFA,ALL,CONV,10,25 ! 所有面施加对流,h=10,环境温度25°C
BFV,ALL,HGEN,2.5e7 ! 体热源 5W / (0.005*0.005*0.002) = 2.5e7 W/m³
SOLVE
/POST1
PLNSOL,TEMP ! 显示温度云图
小提示:实际项目中,我很少用APDL写命令流了,都是用Workbench的图形界面。但理解底层命令流有助于你理解软件到底在算什么。尤其是当你遇到收敛问题时,知道怎么调整求解器参数。