一、背景与问题来源

Rhie–Chow 插值提出于 1983 年,出自 Rhie 和 Chow 在求解不可压缩流(incompressible flow)时的研究。
它要解决的核心问题是:

如何在共位网格(collocated grid)中消除压力—速度解之间的“奇异振荡”(checkerboard pressure oscillations)?

背景:

在不可压缩流体中,控制方程包括:

  • 动量方程(求速度)
  • 连续性方程(保证质量守恒,约束速度场散度为零)

若采用简单的有限体积方法(FVM),并把所有变量($p, u, v, w$)都存储在单一的网格节点(如单元中心) 上,这就是所谓的 共位(collocated)布置
但这样布置时,会出现一个严重问题:

连续性方程在压力修正阶段对速度插值非常敏感;如果速度不是恰当地从单元中心插值到面中心,系统的压力解会发散或出现非物理的棋盘格振荡。


二、“棋盘格压力(checkerboard pressure)” 问题的来源

对于不可压缩流,连续性方程形式是:

$$ \nabla \cdot \mathbf{u} = 0 $$

在有限体积离散中需要计算面通量: $$ F_f = (\mathbf{u} \cdot \mathbf{n})_f A_f $$ 若直接用中心差分线性插值来求面速度(例如直接取两边单元中心速度的平均), 则压力梯度项在动量方程修正阶段对面速度的影响可能被完全抵消。

结果是:
不同单元的压力场之间可以互相“漂浮”而不引起通量变化,导致虚假的自由度,表现为棋盘格状的压力分布($p_{i,j}$ 在网格上像黑白格子交替一样振荡),但连续性误差却几乎为零。


三、Rhie–Chow 插值的核心思想

Rhie–Chow 的关键思想是:

在计算面通量(或面上速度)时,不直接线性插值动量方程解出的单元中心速度,而是通过动量方程构造一个带有压力差校正项的“中间速度”。

简单来说,

  • 面上的速度不是简单平均两边单元的速度;
  • 要额外加上一个由面两侧压力差与动量方程系数计算得到的修正项。

数学表达式

以一维为例,动量方程离散可近似写为:

$$ a_P u_P = \sum_N a_N u_N + (p_N - p_P) A / \Delta x + b_P $$

则面上的速度 $u_f$ 不是简单的 $(u_P + u_N)/2$,而是:

$$ u_f = \left(\frac{a_P u_P + a_N u_N}{a_P + a_N}\right)

  • \frac{A}{a_P + a_N}(p_N - p_P) $$

右边最后一项便是 Rhie–Chow 修正项, 其中 $A$ 是面面积法向,$a_P$, $a_N$ 是动量方程离散后的对角系数。

这项修正确保了:

  • 面上的速度通量会对压力梯度“正确”地敏感;
  • 避免了中心差分引起的离散退化;
  • 保证压力与速度场之间的耦合合理。

四、从物理上理解

从物理角度看,Rhie–Chow 插值使得:

  • 面速度不仅取决于单元中心速度的平均,还考虑了两侧压力驱动对流体运动的真实影响
  • 即使在不可压缩流中,压力梯度不再“失效”,它能正确地反映在面通量的变化中。

因此,压力修正方程(例如 SIMPLE 或 PISO 中的压力校正步骤)能稳定地收敛,防止压力振荡。


五、在算法实现中的位置

Rhie-Chow 插值通常出现在:

  • SIMPLE / SIMPLER / PISO 等基于压力校正的算法
  • 采用**共位网格(collocated grids)**的有限体积法 (FVM);
  • 应用于不可压缩流体求解器中(如稳态流动、LES、RANS)。

对应位置通常是:

  • 在组装质量方程(连续性方程)时;
  • 在计算面通量($u_f$)时调用 Rhie–Chow 插值。

六、实际作用总结

项目 问题 Rhie–Chow 插值的作用
网格布置 共位网格中压力与速度共点 提供压力与速度正确耦合
压力场 出现棋盘格“振荡” 消除棋盘格振荡
连续性方程 离散质量方程可能退化 保证通量对压力敏感,方程稳定
收敛性 非物理解、发散 改善收敛与物理一致性
实现 各CFD软件(Fluent, OpenFOAM, 自编代码) 采用Rhie-Chow修正计算面通量

七、扩展与改进

之后的研究中,Rhie–Chow 插值也有进一步改进:

  • 改进的Rhie–Chow方案(Modified RC):处理高雷诺数流动时的过度数值扩散问题;
  • 压力平滑插值(Pressure-weighted interpolation):在非结构网格中推广;
  • 基于面中心压力修正:用于高阶有限体积法。

这些扩展仍保留其核心思想:“通过压力梯度修正面速度插值,避免奇异压力振荡”。


简而言之总结

Rhie–Chow 插值是一种在共位网格上防止压力–速度解发散的关键算法手段。
它通过在面速度的插值公式中引入以动量方程为基础的压力修正项,保证压力方程的正确耦合和数值稳定性。
若没有它,共位网格中解出的压力场会产生非物理的棋盘波动。


如果你想,我可以用一张示意图帮你直观展示:

  • 棋盘格压力是怎么形成的;
  • Rhie–Chow 修正项在面速度计算中是如何起作用的。

是否希望我画一张这样的示意图?