第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 简化的"归一化变量格式"。其核心是引入归一化变量
其中 \(\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 条件:
- CBC 1(单调性):当 \(\tilde{\phi}_C \in [0, 1]\) 时(即 \(\phi\) 在 \(\phi_U, \phi_D\) 之间单调),\(\tilde{\phi}_f\) 也必须在 \([0, 1]\) 之间。
- 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 图的"允许区域"内:
其中 \(r = (\phi_D - \phi_C) / (\phi_C - \phi_U)\) 是相邻梯度的比值。
§12.5 NVF 与 TVD 的等价性 —— 证明 NVF 框架与 TVD 框架的归一化变量与梯度比之间存在线性映射
其中 \(r = (\phi_D - \phi_C) / (\phi_C - \phi_U)\)。在这种映射下,NVD 与 Sweby 图可以相互转换。
§12.6 HR 格式的实现 —— 三种实现方法:
- 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}\) 是"高阶修正项",作为显式源项加入。
- 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\) 调整)。
- 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)。
关键结论
- HR 格式 = HO 格式 + 限制器:在平滑区域保持高阶精度,在高梯度 / 间断区域退化为 UDS 防止振荡。这是现代 FVM 对流项离散的"工业标准"。
- NVD 与 Sweby 图是 HR 格式的"统一分析语言":NVF 框架(Gaskell-Lau)与 TVD 框架(Harten)虽然看起来不同,但在数学上等价(通过 \(\tilde{\phi}_C = r / (1+r)\) 映射)。这一等价性使得分析 HR 格式时可以在两种框架间自由切换。
- CBC 条件是"有界高阶"的精确判据:在 NVD 图上表现为"高阶直线 + 分段函数",作者给出了完整的几何解释。
- OpenFOAM 的
divScheme+ 限制器配置是工业 CFD 用户最常调整的参数之一。SFCD、LUST、MUSCL等都是工业上常用的 HR 格式。 - HR 格式在 NVD 与 Sweby 图上的可视化是教学 FVM 对流项离散的最佳方式 —— 读者可以"看见"每种格式在何处退化为 UDS、在何处恢复 HO 精度。
挑战和开放性问题
- 非结构网格上的"虚拟上游节点" —— 在 1D 情形 \(U\) 节点是清晰的;在多维非结构网格上,"上游"概念模糊,需要通过几何外推或 cell 邻接表确定 \(U\)。OpenFOAM 通过
faceCells+cellStencil实现。 - 3D 几何的非正交性 —— NVD 在 1D 上是"线性的";在 3D 非正交网格上,"\(\phi_f\) 是 \(\phi_C, \phi_F\) 的加权"不再是简单的线性,需要几何处理。
- 多维限制器 —— 在多维情形下,HR 格式的"多维限制器"(如 Barth-Jespersen)需要分别沿各方向施加,可能产生"过度限制"导致精度损失。
- 激波附近的格式选择 —— 激波附近(高梯度间断)的格式选择仍是研究热点(HLL、HLLC、Roe 等 Riemann 求解器),本书未深入。
- 机器学习辅助的限制器 —— 现代研究用 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 的实现:
相比之下,van Leer 用绝对值更紧凑:
def minmod(r): return max(0, min(r, 1))SUPERBEE 的实现最复杂但捕捉最激进的特征:def vanLeer(r): return (r + abs(r)) / (1 + abs(r))def superbee(r): return max(0, min(2*r, 1), min(r, 2)) - DC / DWF / NWF 三种实现方法 —— 给出工程实现的多种选择,OpenFOAM 的
SFCD、LUST等都是这些方法的工业实现。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 多维限制器)