在 Fluent计算中,稳态和瞬态是两种完全不同的数值思维。稳态计算追求方程的平衡解;瞬态计算则追踪随时间演化的解。
理解它们的收敛差异,是正确设置、判断和分析仿真的关键。我们从几个方面讲清楚瞬态计算过程的几个显著性特点及其与稳态的不同之处。
1.瞬态计算对初始值非常敏感
稳态计算像是在找一个平衡点。无论你从哪里出发,只要算法稳定,都会最终收敛到那个平衡解。
瞬态计算就不一样了,它是一步一步沿着时间推进的:
这里 ϕn是第 n 步的结果,它直接决定下一步的起点。
如果初始场设置不合理,比如压力场突变、速度场不连续,就会在前几个时间步出现剧烈震荡,甚至发散。
瞬态计算对初始条件的依赖程度,可以用"蝴蝶效应"来形容。初始场的微小差异,可能导致完全不同的计算结果。
所以对于瞬态计算,必须设置成和你的工况相符的初始值。至于这个初始值怎么获得,一方面可以根据你的实验,另一方面可以参考文献。
2.每一个时间步都需要达到收敛
瞬态计算有个独特的"双重迭代"结构:
外层循环:时间推进,也就是时间步的迭代
内层循环:每个时间步内的迭代
这就像是俄罗斯套娃,大娃娃里套着小娃娃。
在稳态计算中,残差不断下降,直到所有方程都平衡;
在瞬态计算中,每个时间步其实都是一个“小稳态问题”。在推进到下一步前,必须确保当前时间步的方程组在数值上收敛。如果当前步未收敛,误差就会被“传递”到下一步,逐步放大。
很多人会问:“瞬态是不是不需要完全收敛?”
的确,相较于稳态计算,瞬态计算的残差要求可以宽松,但起码要稳定在1e-3或以下。否则,时间推进的是“误差”,不是“物理变化”。
为什么可以宽松?
因为瞬态计算的误差主要来自时间离散,不是空间迭代。只要时间步内的迭代基本收敛(残差下降2-3个数量级),时间推进的精度就能保证。
3.监测的物理量往往不稳定
稳态计算中,监测点的速度、压力、温度达到平稳值,说明系统已经平衡,类似下面的图。

有些同学第一次做瞬态,看到监测量上蹿下跳,很多人会怀疑人生。这恰恰是瞬态流动的真实写照!
为什么会瞬态监测量会变化?这才是瞬态计算的精髓!我们进行瞬态计算,往往就是为了捕捉这些非定常的物理现象。比如下面的图

比如涡的周期性脱落、燃烧不稳定、活塞的往复运动等。物理量本身就在随时间变化,监测曲线当然不会是一条直线,波动才是它的“真实特征”。
所以瞬态计算中,不能用“监测量是否稳定”来判断收敛,而是要看是否呈现周期稳定或统计收敛,也就是波动幅度是否趋于稳定。
比如在涡街计算中,监测点的速度会周期性上下波动,只要周期和幅值合理,就说明模拟是成功的。
如何判断是"正常波动"还是"计算发散"?
正常波动:
✓ 振幅有界(不会发散)
✓ 频率合理(符合物理预期)
✓ 可能有周期性
✓ 统计量(时均值)趋于稳定
计算有问题:
✗ 振幅越来越大(发散)
✗ 频率异常(与物理不符)
✗ 出现NaN或极值
✗ 统计量也在漂移
比如上面的图,监测的物理量虽然在波动,但明显是呈周期性的有界波动,这种情况就是正常的物理现象,而不是计算有问题。
4.瞬态计算残差曲线是波动的
稳态计算的残差一般单调下降:开始高,逐步下降,到某个阈值以下就算收敛,然后计算停止。

瞬态计算的残差曲线则往往像海浪:瞬态计算的残差曲线在每个时间步内可能会下降,但当切换到下一个时间步时,由于流场发生了物理上的真实变化,残差经常会突然跳到一个较高的值,然后在这个新时间步内再次开始下降。
因此,整条残差曲线看起来像锯齿一样波动。

为什么会这样?
根本原因是每个新时间步开始时,流场发生了变化,相当于给了一个"新的初场"。
数学上:
时间步n:求解 φⁿ,以 φⁿ⁻¹ 为初值
时间步n+1:求解 φⁿ⁺¹,以 φⁿ 为初值(φⁿ ≠ φⁿ⁺¹)
稳态计算:攀登一座山,一直向上;瞬态计算:攀登一连串山峰,每座山峰从山脚开始
5.时间步长决定收敛性质
稳态计算没有时间步长这一说。
但时间步长Δt是瞬态计算中最关键的参数,没有之一。
Δt 太大:计算会“跳过”物理变化,出现非物理震荡;
Δt 太小:每个时间步要反复迭代,计算量大得惊人。
为什么时间步长如此关键?因为时间离散误差与Δt直接相关:
一阶格式:误差 ~ O(Δt)
二阶格式:误差 ~ O(Δt²)
一个常用的衡量标准是库朗数:
显式格式:要求CFL < 1(非常严格)
隐式格式:理论上无限制,但实际上CFL < 5-20为宜
如果超过这个值,信息在一个时间步内传播得太快,算法就可能失稳。
关于时间步长的设置,我们出了很多文章介绍,同时还提高了一些计算小程序。大家需要的可以参考下面的文章和小程序:
6.物理不稳定 ≠ 数值不稳定
这是很多初学者容易混淆的。
瞬态计算中,流场出现波动,可能是物理现象,比如涡脱落、声波传播、燃烧脉动;
也可能是数值问题,比如时间步太大、离散格式不稳定。
判断方法很简单:
如果你缩小时间步或网格仍然出现相同周期波动,那是物理的;
如果波动周期随数值参数变化,那是数值的。
7.稳态是极限情况的瞬态
从数学上讲,稳态其实是瞬态方程在 ∂ϕ∂t=0时的特解。
也就是说:
瞬态计算推进足够久,若系统逐渐趋于平衡,那么最后的结果与稳态计算是一致的。
所以,很多工程师会先做稳态计算,得到近似场,再切换为瞬态,作为初始条件,这是一种兼顾效率与稳定性的好策略。
瞬态与稳态的差异,其实反映了“你是在研究一个状态,还是一个过程”。前者求平衡,后者求变化。