Fluent 瞬态计算设置Time Step Size的基本原则

1.瞬态计算的特点

瞬态计算和稳态计算最大的区别,就是时间项被保留下来了。也就是说,不再是直接去解最终的平衡解,而是要一步一步推进系统的动态演化。

瞬态计算和稳态计算最明显的区别就是,瞬态计算需要设置时间步长time step size。

2.瞬态计算的时间步长time step size

瞬态计算是在每个时间步上进行迭代计算的,以前一个时间步的计算结果作为下一个时间步的初始值,逐时间步推进

比如从0s计算到1s,我们将这1s的时间拆分成0~0.001s、0.001~0.002s…等,那么第一个时间步的计算就是由0s计算到0.001s,然后以0.001s的计算结果作为初始值,再进行0.001s~0.002s的计算。

由于0s到0.001s的时间间隔很小,物理量变化也很小,所以只需要很少的迭代步就能收敛。这里的这个时间间隔(0~0.001s、0.001~0.002s…)就是时间步长Time Step Size。

而每个时间步最大的迭代步数(Fluent瞬态计算默认的20个迭代步)就是Max Iterations/Time Step。

显然,如果把时间步长变得更小,比如变成0.0001s,那么由0s变化到0.0001s这个过程,物理量的变化会更小,所需的能够收敛的迭代步数就会更少,Max Iterations/Time Step就可以设置成更小的值。

3. 时间步长设置的基础原理

当空间上的物理量变化剧烈时,比如速度梯度突然增大,就需要对该区域进行网格加密,以捕捉更精细的流动细节。

类似地,在时间维度上也存在“变化剧烈”的情形。如果在某一时间段内,系统的温度、速度等物理量变化非常快,那么此时就应当“加密时间”,也就是减小时间步长,以便更准确地追踪瞬态变化的过程。

从这个角度看,调小时间步长实际上就是在时间方向上加密网格。时间被划分得越细密,就能越清楚地看到流动或热传递在短时间内的演化细节,就像慢动作镜头能揭示肉眼看不见的瞬间变化一样。

那么,哪些时刻往往会出现物理量剧烈变化?通常是在系统状态发生突变或外界条件突然改变的阶段。例如:

  • 流体刚开始流动的瞬间,速度场从静止状态迅速建立;
  • 加热或冷却刚启动时,温度梯度陡然增大;
  • 阀门开启、喷嘴启动、风机加速等导致流场边界条件突变的过程;
  • 蒸发、凝结刚开始时,潜热释放引起局部温度和压力的急剧波动;
  • 涡脱落、燃烧瞬变等非定常现象的发生阶段。

在这些时刻,物理量的时间变化率非常高,就需要时间较小的时间步长。因此,在初始阶段或突变阶段,应使用较小的时间步长“加密时间”;而在系统趋于平稳、变化缓慢的阶段,可以逐步放大时间步长,提高计算效率。

4.Fluent每个时间步计算结束的条件

Fluent瞬态计算判定每个时间步计算结束有两个条件:

  • 计算达到设定的残差值:

当所有方程的残差都低于设定的收敛标准(例如 1×10⁻³ 或 1×10⁻⁶)时,说明该时间步的数值解已基本稳定,不再发生显著变化。此时,Fluent 认为该时间步已收敛,自动停止迭代并进入下一时间步。

  • 时间步内的迭代步数达到Max Iterations/Time Step:

当流动问题较复杂或时间步长设置较大时,在有限的迭代次数内无法达到收敛标准。为避免无限循环,Fluent 设置了最大迭代次数。一旦达到这个上限,即使残差没有达到收敛标准,Fluent 也会强制结束该时间步的计算,并将当前的解作为下一时间步的初值。

这两个条件只要满足其中任意一个条件,Fluent 就会认为当前时间步的计算已完成,随后进入下一个时间步的计算。

但是一般来说,需要满足的是第一个条件,即每个时间步内达到设定的残差值。这样才说明每个时间步的计算都是收敛的。如果计算总是达到最大迭代步才结束,说明当前的设置存在不合理的地方。

5.每个时间步的迭代步数

Fluent帮助文档建议每个时间步,迭代步数在5~10次之间。

如果每步迭代远大于10,说明单步变化太大,需要把 dt 减小(例如除以 2)。

如果每步迭代很少(例如 1–3 次),说明 dt 可能过小,计算过于保守且低效,可适当增大dt(例如乘以 1.2–2),以提高效率。

所以,时间步长就是时间上的网格。空间加密是为了“看清形状”,时间加密则是为了“看清变化”。

1 个赞