不可压缩Navier-Stokes方程式 — 故障排除指南
本文已迁移至综合版本
更全面的内容请访问 navier-stokes-incompressible.html。
更全面的内容请访问 navier-stokes-incompressible.html。
不可压缩Navier-Stokes方程式 — 故障排除指南
故障排除
在求解NS方程时经常遇到什么故障?
发散(divergence)和非物理结果是两大主要问题。
常见问题与对策
1. 计算发散
症状: 残差急剧增加,速度和压力呈现$10^{20}$等异常值。
| 原因 | 诊断 | 对策 |
|---|---|---|
| CFL数过大 | 检查时间步长 | $\Delta t$ 改为一半 |
| 网格质量不良 | 确认最小正交质量 | 修复0.1以下的单元 |
| 边界条件矛盾 | 检查入出口流量平衡 | 重新检查BC |
| 初始条件不适当 | 初始速度场非物理的 | 用势流进行初始化 |
| 松弛系数过高 | 确认SIMPLE设置 | 用压力0.3、动量0.5试行 |
2. 残差停滞
残差停留在大约$10^{-3}$左右不动…
对策的优先顺序:
1. 确认并改善网格质量
2. 用2阶精度开始计算,用1阶初始化后再切换
3. 调整松弛系数(过高导致发散,过低导致停滞)
4. 切换到Coupled求解器(Fluent的情况下)
5. 改善初始条件(补间粗网格解)
3. 非物理逆流
症状: 出口边界出现逆流(Reversed Flow)警告大量出现。
原因: 出口过于靠近流动分离和再循环区域。
对策:
- 将出口延伸至下游(管径的10~20倍)
- Fluent的情况下启用Prevent Backflow选项
- 逆流时适当设置温度和湍流量值
4. 压力振荡(棋盘模式)
症状: 压力场出现棋盘式振荡模式。
原因: 共位网格中的Rhie-Chow补间不足,或网格非正交性过高。
对策:
- 将压力离散化改为PRESTO!(Fluent)
- OpenFOAM中增加nNonOrthogonalCorrectors
- 改善网格的正交性
5. 定常计算不收敛(物理原因)
无论如何改进网格,定常计算都不收敛…
流动本身可能是非定常的。对于卡门涡街(Re > 47发生)这样物理上非定常的流动,试图用定常计算求解时,残差会持续振荡。此时应切换到非定常计算。检查监控量的时间变化,若发现周期性振荡,则应用非定常方法求解。
如果不理解物理现象,就无法区分数值问题和物理现象。
完全同意。CFD调试需要掌握流体力学的基础知识。
咖啡休息杂谈
发散的元凶,九成是边界条件
"计算发散了!"——CFD初学者首次遭遇的难题就是这个。虽然人们往往怀疑网格质量或时间步长,但现场经验法则说"发散原因九成是边界条件设置错误"。比如,将入口设为速度边界但出口也不固定压力,方程组在数学上就会变成不定的而发散。不可压缩流特别是压力边界设置很敏感,记住"至少要在一个位置用绝对值固定压力"这个规则,就能防止大部分神秘的发散问题。
相关主题
本文的评价
感谢您的反馈!
有帮助
需要
更详细
更详细
反馈
错误
错误