跳转至

第12章 高分辨率格式(High Resolution Schemes)

作者

本章由 F. Moukalled、L. Mangani 和 M. Darwish 合著。本章是 Ch 11 对流项离散的"姊妹章" —— 解决 Ch 11 末尾遗留的"色散误差"问题,提出高分辨率 (HR) 格式的设计方法。HR 格式 = 高阶 (HO) 格式 + Convection Boundedness Criterion (CBC) 限制器,是现代 FVM / FDM 对流项离散化的"工业标准"。

内容概述

本章 80+ 页篇幅是全书对流项离散的"收篇章",处理"高阶 + 鲁棒"这对矛盾。Ch 11 给出 CDS / UDS / QUICK / Fromm 等高阶格式,但 CDS 在 \(Pe > 2\) 时产生振荡、UDS 总满足有界但数值扩散大。本章提出HR 格式通过限制器(limiter)在高阶与有界性之间取得平衡。

§12.1 Normalized Variable Formulation (NVF) —— 由 Leonard 提出、Gaskell-Lau 简化的"归一化变量格式"。其核心是引入归一化变量

\[\tilde{\phi} = \frac{\phi - \phi_U}{\phi_D - \phi_U}\]

其中 \(\phi_U, \phi_C, \phi_D\) 分别是上游、当前、下游节点的值。归一化后 \(\tilde{\phi}_U = 0\)\(\tilde{\phi}_D = 1\),因此所有 HO 格式的"面值 \(\phi_f\)"都简化为 \(\tilde{\phi}_f\)\(\tilde{\phi}_C\)线性关系

格式 归一化关系
UDS \(\tilde{\phi}_f = \tilde{\phi}_C\)
CDS \(\tilde{\phi}_f = \frac{1}{2}(1 + \tilde{\phi}_C)\)
二阶迎风 \(\tilde{\phi}_f = \frac{3}{2}\tilde{\phi}_C\)
Fromm \(\tilde{\phi}_f = \tilde{\phi}_C + \frac{1}{4}\)
QUICK \(\tilde{\phi}_f = \frac{3}{8} + \frac{3}{4}\tilde{\phi}_C\)
Downwind \(\tilde{\phi}_f = 1\)

把这些"线性关系"画在 \((\tilde{\phi}_C, \tilde{\phi}_f)\) 平面上,就得到 Normalized Variable Diagram (NVD)。NVD 是分析 HR 格式的"统一语言"。

§12.2 Convection Boundedness Criterion (CBC) —— Gaskell-Lau 提出的"有界性条件"。HR 格式必须满足两个 CBC 条件:

  1. CBC 1(单调性):当 \(\tilde{\phi}_C \in [0, 1]\) 时(即 \(\phi\)\(\phi_U, \phi_D\) 之间单调),\(\tilde{\phi}_f\) 也必须在 \([0, 1]\) 之间。
  2. CBC 2(极值抑制):当 \(\tilde{\phi}_C < 0\)\(\tilde{\phi}_C > 1\) 时(即 \(\phi\)\(C\) 处有极值),\(\tilde{\phi}_f\) 必须等于 \(\tilde{\phi}_C\)(限制为一阶 UDS)。

在 NVD 图上,CBC 1 把 \(\tilde{\phi}_f\) 限制在 \(\tilde{\phi}_f \in [0, 1]\) 的"单调带"内;CBC 2 把极值区域限制在 \(\tilde{\phi}_f = \tilde{\phi}_C\) 线上。

§12.3 高分辨率格式(HR Schemes) —— 设计 HR 格式 = "高阶线 + 限制器"。在 NVD 上表现为"高阶直线(CDS、Fromm、QUICK) + CBC 区域的分段函数"。

主流 HR 格式在 NVD 上的行为:

HR 格式 限制器类型 NVD 形状
MINMOD minmod 限制器 上凸曲线
SUPERBEE superbee 限制器 双折线
MUSCL van Leer 限制器 平滑曲线
SMART Gaskell-Lau 限制器 多段折线
OSHER Osher 限制器 平滑曲线
UMIST UMIST 限制器 折线
KOREN Koren 限制器 平滑曲线
VANLEER van Leer 限制器 平滑曲线
HQUICK QUICK + 限制器 多段折线

§12.4 TVD (Total Variation Diminishing) 框架 —— Harten 1983 提出的另一等价框架。TVD 格式 = "凸组合 + 无新极值"。

TVD 条件 (Sweby 图) —— 在 \((r, \phi(r))\) 平面上,限制器 \(\phi(r)\) 必须落在 Sweby 图的"允许区域"内:

\[\phi(r) \in [\max(0, \min(2r, 1)), \min(2, \max(r, 1))]\]

其中 \(r = (\phi_D - \phi_C) / (\phi_C - \phi_U)\) 是相邻梯度的比值。

§12.5 NVF 与 TVD 的等价性 —— 证明 NVF 框架与 TVD 框架的归一化变量与梯度比之间存在线性映射

\[\tilde{\phi}_C = \frac{r}{1 + r}\]

其中 \(r = (\phi_D - \phi_C) / (\phi_C - \phi_U)\)。在这种映射下,NVD 与 Sweby 图可以相互转换。

§12.6 HR 格式的实现 —— 三种实现方法:

  1. Deferred Correction (DC) —— Ch 11.6 引入。把 HR 格式表示为"低阶 + 修正":

$\(\phi_f^{HR} = \phi_f^{UDS} + (\phi_f^{HO} - \phi_f^{UDS})\)$

其中 \(\phi_f^{HO} - \phi_f^{UDS}\) 是"高阶修正项",作为显式源项加入。

  1. Downwind Weighting Factor (DWF) —— 把 \(\phi_f^{HR}\) 视为 HO 与 UDS 的加权

$\(\phi_f^{HR} = (1 - \alpha) \phi_f^{UDS} + \alpha \phi_f^{HO}\)$

其中 \(\alpha\) 是限制器(依 \(\tilde{\phi}_C\)\(r\) 调整)。

  1. Normalized Weighting Factor (NWF) —— 把 \(\phi_f^{HR}\) 视为 \(\phi_f^{HO}\)\(\phi_f^{CDS}\) 的加权

$\(\phi_f^{HR} = \beta \phi_f^{HO} + (1 - \beta) \phi_f^{CDS}\)$

§12.7 非结构网格上的 HR 格式 —— 1D 情形下 NVF / TVD 用 3 节点(\(U, C, D\));多维非结构网格需要"虚拟上游节点 \(U\)"(Fig. 12.1b),通常通过几何外推得到。本节给出 NWF 方法在非结构网格上的具体实现。

§12.8 计算指针 —— uFVM 与 OpenFOAM 的具体实现: - OpenFOAM 通过 system/fvSchemes 配置:divSchemes { div(phi,U) Gauss SFCD / linearUpwind <grad(U)> SFCD; } - 限制器选项:SFCD (Self-Filtered Central Difference)、LUST (Linear-Upwind Stabilised Transport)、MUSCL

§12.9 闭包 —— 总结 HR 格式的设计方法与 trade-off。

核心方程与概念

  • 归一化变量 (Eq. 12.1)

$\(\tilde{\phi} = \frac{\phi - \phi_U}{\phi_D - \phi_U} \tag{12.1}\)$

其中 \(\phi_U, \phi_D\) 是上游 / 下游节点值。

  • 归一化 HO 格式的"线性关系" (Eq. 12.5-12.10)
格式 \(\tilde{\phi}_f\) 表达式
UDS \(\tilde{\phi}_f = \tilde{\phi}_C\)
CDS \(\tilde{\phi}_f = \frac{1}{2}(1 + \tilde{\phi}_C)\)
二阶迎风 \(\tilde{\phi}_f = \frac{3}{2}\tilde{\phi}_C\)
Fromm \(\tilde{\phi}_f = \tilde{\phi}_C + \frac{1}{4}\)
QUICK \(\tilde{\phi}_f = \frac{3}{8} + \frac{3}{4}\tilde{\phi}_C\)
  • CBC 条件 (Eq. 12.13-12.18)

  • CBC 1:\(\tilde{\phi}_f \in [0, 1]\)\(\tilde{\phi}_C \in [0, 1]\)

  • CBC 2:\(\tilde{\phi}_f = \tilde{\phi}_C\)\(\tilde{\phi}_C \notin [0, 1]\)

  • TVD 条件 (Sweby 图)

$\(\phi(r) \in [\max(0, \min(2r, 1)), \min(2, \max(r, 1))]\)$

其中 \(r = (\phi_D - \phi_C) / (\phi_C - \phi_U)\) 是相邻梯度比。

  • NVF-TVD 映射 (Eq. 12.45)

$\(\tilde{\phi}_C = \frac{r}{1 + r}\)$

  • MINMOD 限制器

$\(\phi(r) = \max(0, \min(r, 1))\)$

  • SUPERBEE 限制器

$\(\phi(r) = \max(0, \min(2r, 1), \min(r, 2))\)$

  • van Leer 限制器

$\(\phi(r) = \frac{r + |r|}{1 + |r|}\)$

  • Deferred Correction 实现

$\(\phi_f^{HR} = \phi_f^{UDS} + \psi(\tilde{\phi}_C) \cdot (\phi_f^{HO} - \phi_f^{UDS})\)$

其中 \(\psi\) 是限制器函数(0 = 退化为 UDS,1 = 满 HO)。

关键结论

  1. HR 格式 = HO 格式 + 限制器:在平滑区域保持高阶精度,在高梯度 / 间断区域退化为 UDS 防止振荡。这是现代 FVM 对流项离散的"工业标准"。
  2. NVD 与 Sweby 图是 HR 格式的"统一分析语言":NVF 框架(Gaskell-Lau)与 TVD 框架(Harten)虽然看起来不同,但在数学上等价(通过 \(\tilde{\phi}_C = r / (1+r)\) 映射)。这一等价性使得分析 HR 格式时可以在两种框架间自由切换。
  3. CBC 条件是"有界高阶"的精确判据:在 NVD 图上表现为"高阶直线 + 分段函数",作者给出了完整的几何解释。
  4. OpenFOAM 的 divScheme + 限制器配置是工业 CFD 用户最常调整的参数之一。SFCDLUSTMUSCL 等都是工业上常用的 HR 格式。
  5. HR 格式在 NVD 与 Sweby 图上的可视化是教学 FVM 对流项离散的最佳方式 —— 读者可以"看见"每种格式在何处退化为 UDS、在何处恢复 HO 精度。

挑战和开放性问题

  1. 非结构网格上的"虚拟上游节点" —— 在 1D 情形 \(U\) 节点是清晰的;在多维非结构网格上,"上游"概念模糊,需要通过几何外推或 cell 邻接表确定 \(U\)。OpenFOAM 通过 faceCells + cellStencil 实现。
  2. 3D 几何的非正交性 —— NVD 在 1D 上是"线性的";在 3D 非正交网格上,"\(\phi_f\)\(\phi_C, \phi_F\) 的加权"不再是简单的线性,需要几何处理。
  3. 多维限制器 —— 在多维情形下,HR 格式的"多维限制器"(如 Barth-Jespersen)需要分别沿各方向施加,可能产生"过度限制"导致精度损失。
  4. 激波附近的格式选择 —— 激波附近(高梯度间断)的格式选择仍是研究热点(HLL、HLLC、Roe 等 Riemann 求解器),本书未深入。
  5. 机器学习辅助的限制器 —— 现代研究用 NN 学习最优限制器,本书未涉及。

个人反思与批判性分析

本章是 FVM 对流项离散的"收篇章",把"如何设计有界高阶格式"这一核心问题讲得透彻。从写作特点看:

  • NVF 与 TVD 的"统一视角" —— 作者明确指出两种框架在数学上等价,并通过 \(\tilde{\phi}_C = r/(1+r)\) 的映射使读者能够在两种框架间自由切换。这种"统一语言"的设计对教学非常有效。NVF 框架的优势是"几何直观"(NVD 图上限制器表现为分段函数),TVD 框架的优势是"理论严格"(基于总变差 TV 的数学保证)。两者结合使读者既能直观理解,又能严格证明。
  • NVD 图 + Sweby 图的可视化 —— 把抽象的"格式"映射到"几何图形"上,使读者能够"看见"每种 HR 格式的形状。例如 SUPERBEE 在 NVD 上是双折线(最激进),MINMOD 是上凸曲线(最保守),van Leer 是平滑曲线(中间)。这种"格式 = 几何对象"的视角对教学和实际选型都非常有价值。
  • 限制器的"显式公式" —— MINMOD、SUPERBEE、van Leer、Koren、SMART 等限制器都给出显式公式,读者可以直接实现。例如 MINMOD 的实现:
    def minmod(r):
        return max(0, min(r, 1))
    
    相比之下,van Leer 用绝对值更紧凑:
    def vanLeer(r):
        return (r + abs(r)) / (1 + abs(r))
    
    SUPERBEE 的实现最复杂但捕捉最激进的特征:
    def superbee(r):
        return max(0, min(2*r, 1), min(r, 2))
    
  • DC / DWF / NWF 三种实现方法 —— 给出工程实现的多种选择,OpenFOAM 的 SFCDLUST 等都是这些方法的工业实现。Deferred Correction 是最常用的"显式修正"实现,对线性系统保持隐式低阶 + 显式修正的混合特性。

但本章也存在不足:

  • 3D 非正交网格上的"虚拟上游节点"几何外推 —— 实际工业实现中,这是 OpenFOAM 自定义 divScheme 开发的关键技术。本书未深入。读者需要参考 OpenFOAM 源码 src/finiteVolume/finiteVolume/convectionSchemes/ 了解具体实现。
  • "多维限制器"的设计 —— Barth-Jespersen、Venkatakrishnan 等多维限制器是工程 CFD 实际使用的工具,本书未深入。多维限制器的核心是"对每个 face 沿其法向施加 1D 限制器",但需要避免"过度限制"导致精度损失。
  • 激波捕捉的 Riemann 求解器 —— 对 Mach 数 > 1 的可压缩流,HR 格式与 Riemann 求解器的结合是 Ch 16 的核心,但本章未深入。HLL、HLLC、Roe、AUSM 等都是工业上常用的 Riemann 求解器。
  • 自适应限制器 —— 现代研究开始探索"在流场不同区域使用不同限制器"的自适应方法(如在边界层用 MINMOD、在分离区用 SUPERBEE),本书未涉及。
  • 2D / 3D 多维模板上的限制器扩展 —— 1D 情形下限制器用 3 节点;多维情形下需要"邻接扩展模板",限制器的"梯度比"定义变复杂。

总体而言,本章是 FVM 对流项离散的"权威教材式"参考章节,与 Sweby 1984、Toro Riemann Solvers and Numerical Methods 的对应章节形成对标。Moukalled 的优势在于"理论(NVF/TVD 等价性) + 工程(3 种实现方法) + OpenFOAM divScheme 对应"三位一体。本章是 FVM 对流项离散领域的"集大成者"。

从更宏观视角看,本章是全书 Ch 8-12 数值方法部分的"理论顶峰"。Ch 8 扩散、Ch 9 梯度、Ch 10 求解、Ch 11 对流、Ch 12 高分辨率格式共同构成 FVM 离散化的"完整工具集"。后续 Ch 13 时间、Ch 14 源项、Ch 15-16 算法、Ch 17 湍流都在此基础上展开。

重要参考文献

  • [X1] Leonard B.P. (1988) Simple high-accuracy resolution program for convective modelling of discontinuities. International Journal for Numerical Methods in Fluids, 8(10): 1291-1318. (NVF 原始文献)
  • [X2] Leonard B.P. (1991) The ULTIMATE conservative difference scheme applied to unsteady one-dimensional advection. Computer Methods in Applied Mechanics and Engineering, 88(1): 17-74.
  • [X3] Gaskell P.H., Lau A.K.C. (1988) Curvature-compensated convective transport: SMART, A new boundedness-preserving transport algorithm. International Journal for Numerical Methods in Fluids, 8(6): 617-641. (CBC 与 SMART 限制器)
  • [X4] Sweby P.K. (1984) High resolution schemes using flux limiters for hyperbolic conservation laws. SIAM Journal on Numerical Analysis, 21(5): 995-1011. (TVD 框架与 Sweby 图)
  • [X5] Harten A. (1983) High resolution schemes for hyperbolic conservation laws. Journal of Computational Physics, 49(3): 357-393. (TVD 理论原始文献)
  • [X6] van Leer B. (1979) Towards the ultimate conservative difference scheme. V. A second-order sequel to Godunov's method. Journal of Computational Physics, 32(1): 101-136. (MUSCL 格式与 van Leer 限制器)
  • [X7] Roe P.L. (1981) Approximate Riemann solvers, parameter vectors, and difference schemes. Journal of Computational Physics, 43(2): 357-372. (Roe 格式)
  • [X8] Koren B. (1993) A robust upwind discretization method for advection, diffusion and source terms. Notes on Numerical Fluid Mechanics, 45: 117-138. (Koren 限制器)
  • [X9] Hirsch C. (2007) Numerical Computation of Internal and External Flows, 2nd Edition. Butterworth-Heinemann. (对流格式的经典参考)
  • [X10] Toro E.F. (2009) Riemann Solvers and Numerical Methods for Fluid Dynamics, 3rd Edition. Springer. (Riemann 求解器圣经)
  • [X11] Barth T.J., Jespersen D.C. (1989) The design and application of upwind schemes on unstructured meshes. AIAA Paper, 89-0366. (Barth-Jespersen 多维限制器)
  • [X12] Venkatakrishnan V. (1993) On the accuracy of limiters and convergence to steady state solutions. AIAA Paper, 93-0880. (Venkatakrishnan 多维限制器)