在 CFD 后处理中,压力看起来和速度、温度一样普通。但在不可压 Navier-Stokes 方程里,压力并没有一条可以直接求解的输运方程。
SIMPLE 算法首先要回答的就是:压力到底从哪里来?
以不可压、稳态流动为例,核心方程可以概括为连续性方程和动量方程:
动量方程可以用来求速度,但连续性方程更像一道约束:速度场必须满足质量守恒。它不是一条直接求压力的方程。
不可压流动中,连续性方程是速度场约束,而不是压力方程。
如果先猜压力,再由动量方程求速度,得到的速度场不一定守恒。
如果再强行修正速度满足守恒,又可能破坏动量方程。SIMPLE 做的事,就是在这两者之间反复协调。
SIMPLE 可以理解成压力修正算法,关键动作只有两个:
构造压力方程时,先把离散后的动量方程写成矩阵形式:
是系数矩阵, 是速度向量。把 拆成对角部分 和非对角部分 :
是对角矩阵,容易求逆,因此速度可以写成:
图 2 通过矩阵拆分,把速度表达式代入连续性方程,可以得到压力方程。
把速度表达式代入连续性方程 ,即可得到压力方程的基本形式:
这就是“压力从哪里来”的答案:压力方程不是凭空假设的,而是由动量方程和连续性约束共同推出来的。