分离解法与整体解法
理论:两种解法
概述
做流固耦合分析,不知道该选分离解法还是整体解法。
分离解法用各自的求解器分别求解流体和结构,在界面交换力和位移并反复迭代,最大优点是能直接组合熟悉的求解器。整体解法把两者的方程组装成一个方程组同时求解,即使强耦合也稳定,但需要专用求解器。如何选择通常取决于耦合强度,衡量这种强度的典型指标是流体“附加质量”与结构质量之比。
附加质量模型
质量 $m_s$ 由弹簧 $k$ 支撑在不可压缩流体中运动时,流体以 $-m_a \ddot x$ 的力反推。若分离解法用上一个加速度计算流体力,误差每交换一次乘以 $-m_a/m_s$。比值超过1时误差不断增大。
用松弛系数 $\omega$ 折减更新量后,误差倍率变为 $1 - \omega(1 + m_a/m_s)$,即使比值很大,用足够小的 $\omega$ 也能收敛。Aitken松弛根据最近两次残差自动确定 $\omega$。
因血管计算而出名的不稳定性
附加质量不稳定性在21世纪初血流与血管壁耦合分析兴起后广为人知。像飞机机翼与空气这样结构远重于流体的组合,分离解法运行得毫无问题。但血管壁与血液密度几乎相同,而且很薄。附加质量超过结构质量,甚至有报告称时间步长越小反而越不稳定。以此为契机,松弛、拟牛顿法、改进界面条件的Robin型耦合等稳定分离解法的方法得到了很大发展。
算例:改变附加质量比
用质量1 kg、弹簧100 N/m的模型,比较每步只交换一次力的弱耦合与整体解法的时间响应(初始位移0.01 m,400步):
| 附加质量比 | 弱耦合 Δt = 0.01 s | 弱耦合 Δt = 0.001 s | 整体解法 |
|---|---|---|---|
| 0.5 | 稳定 | 稳定 | 稳定 |
| 0.9 | 稳定 | 稳定 | 稳定 |
| 1.1 | 发散 | 发散 | 稳定 |
| 1.5 | 发散 | 发散 | 稳定 |
时间步长缩小到1/10还会发散?
对,这正是它与普通数值不稳定的不同之处。误差倍率只由 $m_a/m_s$ 决定,不含时间步长,所以缩小步长也治不好。不可压缩流体在结构加速的瞬间整体响应,力延迟传递本身就是问题。如果附加质量比可能超过1,就认为弱耦合根本不能用,选择子迭代或整体解法。
例2:子迭代次数
在一个时间步内反复交换时,误差降到10⁻⁸所需的迭代次数:
| 附加质量比 | 无松弛 | 松弛系数0.5 | Aitken松弛 |
|---|---|---|---|
| 0.1 | 8 | 24 | 2 |
| 0.5 | 27 | 14 | 2 |
| 0.9 | 175 | 7 | 2 |
| 1.5 | 发散 | 14 | 2 |
| 10 | 发散 | 发散 | 2 |
该模型只有一个未知数,Aitken松弛2次就找到精确的松弛系数。实际耦合分析中界面未知数很多,附加质量也不是单一值,迭代次数会更多,但通常仍比固定松弛少。而比值很小如0.1时,固定松弛0.5反而会变慢。
选择参考
- 由流体与结构的密度比和厚度估算附加质量比的量级(重结构与气体时小,薄结构与液体时大)。
- 比值足够小时弱耦合即可;接近或超过1时用子迭代加松弛(Aitken、拟牛顿法)。
- 若子迭代次数太多导致计算时间成为问题,考虑整体解法。
- 确认界面数据传递(网格不匹配时)是否保持总力守恒。
- 记录收敛判据以及每步迭代次数的历史。
“在空气中能算,在水中就崩”
薄金属板的振动在空气中用弱耦合流固耦合分析顺利求解,用同样设置算水中时几步就发散了,时间步长缩小到1/10结果也一样。空气的附加质量只有板质量的百分之几,但水的密度约为空气的800倍,对薄板来说附加质量远大于板自身质量。在子迭代中加入Aitken松弛后稳定求解。更换介质时要重新估算附加质量比。
常见错误
错误与对策
| 错误 | 后果 | 对策 |
|---|---|---|
| 试图缩小时间步长来解决 | 附加质量不稳定依旧 | 子迭代与松弛 |
| 液体中用弱耦合 | 几步就发散 | 估算附加质量比 |
| 大比值用固定松弛 | 发散 | Aitken或拟牛顿法 |
| 收敛判据太松 | 能量不断增加 | 检查残差历史 |
| 界面力传递不守恒 | 总力偏差 | 守恒型映射 |
我想了解相关内容。