交错耦合方法
理论:交替求解产生的时间滞后
概述
我们交替运行热分析和结构分析来实现耦合,这样能得到正确答案吗?
耦合弱时基本正确。交替求解时,一个时间步内先求解的一方使用另一方前一步的值。这种时间滞后会造成误差,耦合弱时小,耦合强时大。更重要的是稳定性,即使各求解器都是无条件稳定的隐式方法,交替传值部分的行为像显式方法,时间步长大时耦合整体可能发散。用两个变量耦合的简单方程确认一下。
耦合的二变量模型
u和v代表两种物理量,b和c为耦合强度。比较弱耦合(b = c = 0.5)与振荡性强耦合(b = 5、c = −5)。初值u = 1、v = 0,把到时刻2的解与精确解比较。
交替求解方法(高斯-赛德尔型)
各方程式用后向欧拉法(隐式)求解。雅可比型在v的方程中也用u^n(旧值)。G为一步的放大矩阵,谱半径ρ小于1即稳定。
连接求解器的时代
流体、结构、热、电磁场求解器在各自领域中经过几十年分别发展起来。1990年代以后,组合它们求解耦合问题的需求增加,能直接使用现有求解器的交错(分离式)耦合得到广泛应用。另一方面,法哈特等人在飞机气动弹性研究中详细分析了交替求解的精度和稳定性,提出了补偿时间滞后的预测子以及在步内迭代的强耦合方法。
算例
例1:弱耦合(b = c = 0.5)时的误差(时刻2)
| 方法 | Δt = 0.2 | Δt = 0.1 | Δt = 0.05 | Δt = 0.025 | 观测阶 |
|---|---|---|---|---|---|
| 整体式 | 2.34×10⁻² | 1.19×10⁻² | 6.00×10⁻³ | 3.01×10⁻³ | 0.99 |
| 高斯-赛德尔型 | 2.34×10⁻² | 1.21×10⁻² | 6.16×10⁻³ | 3.11×10⁻³ | 0.99 |
| 雅可比型 | 3.47×10⁻² | 1.79×10⁻² | 9.12×10⁻³ | 4.60×10⁻³ | 0.99 |
例2:振荡性强耦合(b = 5、c = −5)时的稳定性
| 时间步长 | 整体式 | 高斯-赛德尔型 | 雅可比型 |
|---|---|---|---|
| 0.5 | 0.329 | 0.577 | 1.555(发散) |
| 1.0 | 0.180 | 3.283(发散) | 2.082(发散) |
| 2.0 | 0.093 | 6.122(发散) | 2.595(发散) |
表中为放大矩阵谱半径。稳定极限时间步长,高斯-赛德尔型为0.567,雅可比型为0.130。系统特征值为−1.5 ± 4.98i,物理上是衰减振荡。
各自都用隐式求解,交替求解却发散了。
各求解器内部是隐式,但对方的值取自前一步,所以耦合部分与显式方法同样处理。显式方法有时间步长上限,耦合越强上限越小。所以耦合弱的问题交替求解完全没问题,耦合强的问题则要减小时间步长,或在一步内反复交替计算直到收敛(强耦合)。迭代收敛后结果与整体式相同,稳定性也恢复。耦合有多强取决于各物理的时间尺度和相互影响程度,所以最好先用一次求解两者的小问题确认稳定的时间步长。
耦合计算流程
- 估算各物理的时间尺度和相互影响大小。
- 耦合弱时用单向或交错耦合,强时用强耦合或整体式。
- 确认改变时间步长结果不变、不发散。
- 强耦合时设定步内迭代的收敛判据和松弛。
- 确认交换的量(温度、热流、位移、力)守恒。
“时间步长加大后开始振荡”
某电磁-热耦合分析中,为缩短计算时间把时间步长加倍,温度开始每步上下摆动,最终发散。各求解器都是隐式,单独使用时大步长也稳定。原因是材料电阻随温度变化很大,温度与发热耦合很强。改为在一步内把电磁场和热反复计算约三次直到收敛后,两倍步长也能稳定求解,总计算时间也缩短了。
常见错误
错误与对策
| 错误 | 后果 | 对策 |
|---|---|---|
| 认为隐式就稳定 | 耦合发散 | 确认耦合整体稳定性 |
| 雅可比型交换 | 稳定范围窄 | 高斯-赛德尔型 |
| 强耦合只交换一次 | 误差与发散 | 步内迭代 |
| 不确认时间步长 | 漏掉滞后误差 | 改变步长比较 |
| 交换不守恒 | 能量增减 | 守恒型映射 |
我想了解相关内容。