有限元中的 Locking:为什么单元会变得异常刚硬
在有限元计算中,有时会遇到一种非常反直觉的现象:网格看起来没有问题,材料参数也没有问题,但计算得到的结构却异常“硬”。
典型表现包括:
- 计算位移明显小于理论解;
- 某些极限情况下,位移甚至趋近于零;
- 应力或反力异常;
- 换成另一种单元以后,结果突然恢复正常。
这种现象通常被称为 Locking(锁死)。
常见的 locking 包括:
- Shear locking(剪切锁死)
- Volumetric locking(体积锁死)
- Membrane locking(膜锁死)
它们发生在不同的问题中,但背后存在一个非常统一的数学机制。
理解 locking,也是理解为什么有限元中需要 reduced integration、mixed formulation、hybrid element、B-bar 等各种特殊单元技术的基础。
1. 什么是 Locking?
先给出一个直观定义:
Locking 是有限元离散在逼近受约束问题时,由于近似空间不能正确表示约束允许的变形模式,从而产生非物理额外刚度的现象。
最终表现为:
怎么理解这个定义呢?我们假设能量中存在一个约束项,“罚函数型” 势能模型可以写成以下形式:
当 \(\lambda\rightarrow\infty\),为了保持有限能量,连续解必须满足 \(g(\mathbf u)=0\),问题就变成了一个受约束问题。
关键在离散以后。如果有限元空间 \(V_h\) 中找不到足够丰富的 \(\mathbf u^h\),使得 \(g(\mathbf u^h)=0\)同时还能描述真实变形,那么有限元就陷入两难:
最终数值解选择“少变形”,于是表现为异常刚硬。
2. 三种常见 Locking 的数值来源
下面,我们选取三个常见 Locking shear locking、volumetric locking、membrane locking,顺着这样的思路: 物理极限是什么 → 哪个应变应该趋于零 → 离散后为什么做不到,分别解释它们的数值来源。
2.1 Shear locking:零剪切约束与弯曲模式不兼容
我们用 Timoshenko 梁受弯的情形来解释 shear locking 现象。Timoshenko 梁的剪切应变为 \(\gamma_{xz} = \frac{dw}{dx}-\theta\)。当梁越来越细长,\(\frac{h}{L}\rightarrow0\),Timoshenko 梁趋近 Euler-Bernoulli 梁,此时 \(\gamma_{xz}\rightarrow0\)。但梁仍然应该能够发生弯曲:\(\kappa = \frac{d\theta}{dx} \neq0\)。因此连续问题允许
问题出现在低阶离散。如果 \(w\) 和 \(\theta\) 都采用一次插值:\(w^h=a_0+a_1x\) 和 \(\theta^h=b_0+b_1x\),那么
如果要求整个单元中 \(\gamma_{xz}^h=0\),则必须有
但是这和 \(\kappa^h = \frac{d\theta^h}{dx} = b_1\neq0\) 相悖。也就是说,离散空间无法同时表示“零剪切 + 非零弯曲”。于是实际计算只能允许一点寄生剪切应变:\(\gamma_{xz}^h\neq0\) ,它产生额外剪切能 \(U_s^h = \frac12 \int_\Omega G(\gamma_{xz}^h)^2\,d\Omega\)。对于越来越薄的结构,这部分本不应该主导响应,却在离散模型中形成了额外刚度,这就是 shear locking 的数值来源。
2.2 Volumetric locking:不可压缩约束与位移空间不兼容
这个适合用近不可压缩弹性解释。
体积应变为 \(\varepsilon_v = \nabla\cdot\mathbf u\),体积应变能为
其中 \(K = \frac{E}{3(1-2\nu)}\)
当 \(\nu\rightarrow0.5\),有\(K\rightarrow\infty\),因此有限能量要求
但注意:不可压缩并不等于不能变形。真实材料仍然可以发生大量等体积变形:
问题在于某些低阶位移空间中,满足\(\nabla\cdot\mathbf u^h=0\) 的非平凡变形模式太少。
例如规则 Q4 单元:
于是 \(\nabla\cdot\mathbf u^h = (a_1+b_2)+b_3x+a_3y\)。如果要求整个单元严格不可压缩:\(\nabla\cdot\mathbf u^h=0\),就必须满足
因此不可压缩约束消掉了部分本来可以用于描述非均匀变形的模式。
最终有限元面临保持丰富变形 vs. 满足不可压缩约束的冲突,于是表现为 volumetric locking。
2.3 Membrane locking:零膜应变约束与弯曲模式不兼容
这一部分我暂时没接触过,埋个坑,以后填。
最直观的物理状态是:
一个很薄的曲壳发生近似纯弯曲时,可以具有明显的曲率变化,但理想情况下中面膜应变应该很小。
也就是说,弯曲主导极限下希望:\(\boldsymbol{\varepsilon}_m\rightarrow0\) 同时 \(\boldsymbol{\kappa}\neq0\),但是离散曲面几何和低阶位移插值之间可能不兼容。于是薄壳表现得异常刚硬,这就是 membrane locking。
3. 总结
\(\boxed{ \text{Locking 的数值本质不是“应变太大”,而是本应趋于零的约束应变在离散后无法正确趋于零。} }\)
因此会产生 \(\text{parasitic strain} \rightarrow \text{parasitic energy} \rightarrow \text{artificial stiffness} \rightarrow \text{locking}\)。

浙公网安备 33010602011771号