4. 热-结构耦合分析:顺序耦合与直接耦合、热应变与热应力计算、耦合场单元选择
热-结构耦合分析,说白了就是算两件事:温度变化让零件胀了多少,胀不动的地方产生了多大的力。我刚开始做光机仿真时,总觉得把温度场算准了就行,结果结构变形算出来跟实测差一大截。后来才明白——耦合方式没选对,单元类型没用好,算出来的东西根本没法信。
这一章咱们就把耦合分析的门道捋清楚。我会结合自己踩过的坑,把顺序耦合、直接耦合、热应变计算和单元选择这几个关键点讲透。
4.1 顺序耦合 vs 直接耦合:什么时候该用哪个?
耦合分析有两种主流方法:顺序耦合和直接耦合。很多新手上来就问“哪个更准”,其实不存在绝对的优劣,关键看你的问题场景。
| 对比项 | 顺序耦合 | 直接耦合 |
|---|---|---|
| 计算流程 | 先算温度场,再把温度结果作为载荷加载到结构场 | 同时求解温度场和结构场,耦合矩阵一次性组装 |
| 计算效率 | 高,可分别优化网格和时间步 | 低,自由度翻倍,求解规模大 |
| 适用场景 | 温度场对结构变形影响大,但结构变形对温度场反馈可忽略 | 温度场与结构变形存在强双向耦合(如摩擦生热、接触热阻变化) |
| 软件实现 | ANSYS Workbench 中拖拽数据流即可 | 需使用耦合场单元(如 SOLID226、SOLID227) |
| 我的建议 | 光机结构分析中,90% 的情况用这个就够了 | 除非你算的是高速滑动摩擦或大变形接触传热,否则别碰 |
我的经验: 做空间相机镜筒热变形时,我一开始用了直接耦合,算了一个通宵没收敛。后来换成顺序耦合,半天出结果,跟实测偏差不到 5%。说白了,光机结构里热变形对温度场的反馈微乎其微,没必要杀鸡用牛刀。
4.2 热应变与热应力计算:公式背后的物理直觉
热应变的核心公式很简单:
ε_thermal = α × (T - T_ref)
其中 α 是线膨胀系数,T 是当前温度,T_ref 是参考温度(通常是应力释放温度)。但实际工程中,坑全藏在细节里。
4.2.1 各向异性热膨胀:光机结构的噩梦
我遇到过最头疼的情况是碳纤维镜筒的热变形。碳纤维铺层方向不同,α 值可以差 10 倍以上。如果你用各向同性材料模型去算,结果完全不对。
正确的做法是定义正交各向异性热膨胀系数:
! ANSYS APDL 示例
MP, ALPX, 1, -0.5e-6 ! 纤维方向
MP, ALPY, 1, 12e-6 ! 垂直纤维方向
MP, ALPZ, 1, 30e-6 ! 厚度方向
注意: 各向异性材料的参考温度 T_ref 必须与应力释放温度一致。我曾经因为 T_ref 设成了室温(20°C),而实际固化温度是 120°C,算出来的热应力方向都是反的。这个坑,我替你们踩过了。
4.2.2 热应力计算的本质
热应力不是直接由温度产生的,而是由“约束”产生的。你想想看:如果一根杆子自由膨胀,它不会有任何应力。只有当它被固定住,或者相邻材料膨胀量不一致时,才会产生应力。
所以热应力计算的本质是:
σ_thermal = E × (ε_total - ε_thermal)
其中 ε_total 是结构实际发生的应变(由位移场决定),ε_thermal 是自由热应变。两者的差值才是弹性应变,乘以弹性模量 E 就得到热应力。
4.3 耦合场单元选择:选错了,算出来就是废的
单元选择是热-结构耦合分析中最容易被忽视的环节。我见过太多人直接用结构单元加载温度体载荷,结果忽略了热-结构耦合单元的特殊要求。
4.3.1 常用耦合场单元一览
| 单元类型 | 维度 | 节点自由度 | 适用场景 |
|---|---|---|---|
| SOLID226 | 3D | T + UX/UY/UZ | 通用热-结构耦合,支持塑性、蠕变 |
| SOLID227 | 3D | T + UX/UY/UZ | 大变形、大应变、接触耦合 |
| PLANE223 | 2D | T + UX/UY | 平面应力/应变热耦合 |
| BEAM188/189 | 1D | T + UX/UY/UZ/ROTX/ROTY/ROTZ | 梁结构热变形(需开启 KEYOPT(1)=1) |
核心原则: 直接耦合必须使用具有温度和位移自由度的耦合场单元。顺序耦合则可以在热分析中用热单元(如 SOLID90),在结构分析中用结构单元(如 SOLID186),通过体载荷传递温度。
4.3.2 我的单元选择决策流程
我一般按这个逻辑来选:
- 先判断耦合方式: 顺序耦合还是直接耦合?
- 顺序耦合: 热分析用 SOLID90(20节点六面体热单元),结构分析用 SOLID186(20节点六面体结构单元)。网格可以共用,但单元类型不同。
- 直接耦合: 首选 SOLID226(20节点六面体耦合单元)。如果涉及大变形接触,换 SOLID227。
- 检查单元形状: 六面体优先,四面体慎用。耦合场四面体单元容易产生剪切闭锁,热应力结果偏硬。
避坑指南: 我曾经用 SOLID227 算一个简单的镜座热变形,结果应力集中处数值振荡。排查了两天才发现——SOLID227 的积分点设置对扭曲网格敏感。后来换成 SOLID226 + 纯六面体网格,问题解决。记住:耦合场单元对网格质量的要求比纯结构单元高一个等级。
4.4 本章知识体系:一张图看懂
下面这张图总结了热-结构耦合分析的核心逻辑,我建议你把它存下来,做项目时对照着看。
4.5 实战要点总结
最后,我把这一章的核心要点浓缩成几条,你写报告或做仿真时可以直接参考:
- 耦合方式: 光机结构分析优先选顺序耦合。除非你遇到摩擦生热或接触热阻随变形剧烈变化的情况,否则别碰直接耦合。
- 参考温度: 这是最容易出错的地方。T_ref 必须等于应力释放温度(如固化温度、装配温度),不是环境温度。
- 各向异性: 复合材料结构必须定义方向相关的热膨胀系数。用各向同性近似算碳纤维,结果会差一个数量级。
- 单元选择: 顺序耦合用 SOLID90 + SOLID186;直接耦合用 SOLID226。网格质量是命门,六面体 + 密实网格是唯一出路。
- 验证: 算完后用简单手算验证趋势。比如铝板均匀升温,自由膨胀量应该是 α × L × ΔT,如果仿真结果差太多,先查 T_ref 和材料参数。
我的习惯: 每次做热-结构耦合分析前,我都会先跑一个“单单元测试”——用一个六面体单元,施加均匀温度,看热应变和热应力是否跟手算一致。这一步只要 5 分钟,但能帮你省下后面 5 小时的排查时间。