Abaqus 热-力耦合单元中的混合阶次插值:为什么位移二次、温度一次?
笔者在开发热固耦合单元时发现,与 DC3D4T、DC3D8T 这类位移场和温度场均采用低阶插值的单元不同,Abaqus 的 20 节点热-力耦合实体单元采用了一种看起来有些“不对称”的设计:
位移场采用二次插值,而温度场只采用一次插值。
我们可以将其称作 mixed-order interpolation(混合阶次插值)。对于一个 20 节点六面体单元,20 个节点都参与位移场插值,但温度自由度只定义在 8 个角节点上。12 个边中点节点只有位移自由度,没有独立的温度自由度。
为什么要采用这种设计?这背后不仅涉及计算成本,还与力学场和温度场本身的近似特点有关。
一个直接好处:减少热学自由度
这种设计最直观的好处是减少自由度,对于大规模三维热-力耦合分析,这种差别可能非常可观。
但计算成本并不是唯一原因,另一个更值得讨论的问题是:
力学场和温度场是否真的需要相同阶次的插值?
力学问题为什么更需要高阶位移插值?
对于固体力学平衡方程,
应变由位移梯度决定:
如果位移场只采用一次插值,那么单元内部位移场的表达能力有限,相应的应变场表达能力也会受到限制。
特别是在存在以下问题时:
- 弯曲;
- 较强的应变梯度;
- 应力集中;
- 几何曲率;
- 复杂变形模式;
二次位移插值通常能够比一次位移插值更有效地描述真实的变形模式。
这也是为什么 C3D20 一类二次实体单元在弯曲问题中通常比 C3D8 一类一次实体单元具有更好的表现。
从最简单的一维情况就可以看到这一点。
假设位移采用二次多项式:
那么应变为
因此二次位移场可以自然地产生线性变化的应变场。
也就是说,从多项式阶次的直观角度可以写成
这对于描述弯曲以及线性变化的应变分布非常重要。
为什么温度场可以使用一次插值?
热传导控制方程可以写成
其中:
- \(\rho\) 为密度;
- \(c\) 为比热;
- \(k\) 为热导率;
- \(r\) 为体热源。
这是典型的标量扩散问题。对于很多工程热传导问题,使用一次温度插值已经能够以较低的计算成本有效描述温度场和温度梯度。位移场和温度场没有必须采用相同插值阶次的数学要求。对于很多热-力耦合问题,二次位移配合一次温度是在力学精度、热学精度和计算成本之间的一种合理折中。
从热应变理解为什么这种组合很自然
热-力耦合中,一个重要的耦合机制来自热应变。
对于小变形问题,总应变通常可以分解为
对于各向同性材料,最简单的热应变可以写成
其中:
- \(\alpha\) 为热膨胀系数;
- \(T_0\) 为参考温度;
- \(\mathbf I\) 为二阶单位张量。
考虑一个一维杆,或者把下面的 \(y\) 理解为梁或板的厚度方向。
假设温度沿 \(y\) 方向线性变化:
其中 \(\beta\) 为温度梯度。
那么热应变为
因此:
结构的热应变为
对 \(y\) 积分得到
可以看到,线性变化的温度最终对应一个包含二次项的位移场:
这给出了一个非常直观的解释:
即使温度场只采用一次插值,由温度梯度引起的热变形也可能天然需要二次位移场来准确表示。
这在 thermal bending、warpage 等问题中尤其容易理解。例如板厚方向存在温度梯度时,上、下表面的热膨胀系数不同,从而产生热弯曲。此时提高位移场的插值能力往往比简单地同步提高温度场阶次更加重要。

浙公网安备 33010602011771号