伪时间推进法加速CFD的稳态求解
在计算流体动力学(CFD)中,伪时间(Pseudo-time)方法是一种用来求解偏微分方程(尤其是非线性方程组)的技术,它主要用于改善数值模拟的收敛性和稳定性。这种方法并非真实的物理时间概念,而是在原有时间域上引入一个虚拟的“时间”变量,将非线性问题转化为一系列的“瞬态”问题进行求解。
在CFD中,纳维-斯托克斯(Navier-Stokes)方程是一组非线性偏微分方程,直接求解十分困难。伪时间步进法的基本思想是将非线性方程转换为一系列半线性或线性问题来处理,类似于进行一系列的瞬态模拟,每次迭代都在这个伪时间维度上向前推进,直到达到某一收敛标准。伪时间方法并不对应任何实际的物理时间进程,而是在数学建模时引入的一种虚拟时间维度,其目的是将原本棘手的非线性问题转化为一系列相对易于处理的“瞬态”问题。这种方式不仅保留了原始问题的本质,而且极大地增强了数值求解的可操作性和稳定性
选择一个初始状态,包括速度场和压力场等。
在运用伪时间方法的过程中,首先将非线性CFD方程改写为包含伪时间导数的形式,这就相当于在原有的真实时间维度之外创造了一个虚拟的演化环境。在这个环境中,模型可以在每一次的伪时间步长迭代中逐渐趋近于真实的物理状态。
迭代求解的过程是伪时间方法的关键所在。首先,经过空间离散化处理(如有限体积法、有限元法等),模型在每个伪时间步长上开始它的演变之旅。每一次迭代,先是对动量方程进行求解,进而更新速度场信息。紧接着,利用更新后的速度场,通过多次子循环迭代求解压力场,直至压力场满足预设的收敛标准。
每次迭代后,检查速度和压力场的残差是否低于预设的收敛阈值。如果未达到收敛,则继续在下一个伪时间步长上进行迭代。当所有变量均达到收敛标准时,退出伪时间迭代。
当伪时间步进过程结束并且解已经收敛,此时得到的是在真实时间域上对应的稳态解或近似稳态解,即可进行下一步的真实时间步进(对于非稳态问题)。
伪时间步进法的好处在于它可以通过增量的方式来减小非线性问题的复杂性,有助于加快收敛速度和提高求解稳定性,尤其适用于求解流动问题的稳态解。在许多CFD软件包中,如FLUENT、OpenFOAM等,都有采用类似伪时间迭代的策略来处理复杂的流动模拟问题。