科学仿真 · 从零学起 第 2 / 7 节

第 2–3 章 · 老方法的失败与教训

在学习正确方法之前,先看错误方法怎么死——这一节的目的就是"打疫苗":Lax-Wendroff 这类经典格式在光滑区漂亮、在激波附近翻车的全过程。

三个基础格式

  • 迎风(一阶):$Q_j^{n+1} = Q_j^n - \nu(Q_j^n - Q_{j-1}^n)$($\nu = a\Delta t/\Delta x$)。稳定、单调(不产生新极值),但耗散大——激波糊成斜坡。
  • Lax-Friedrichs:把时间层平均后做中心差分,稳定但耗散更凶。
  • Lax-Wendroff(二阶):泰勒展开到二阶项构造,光滑区精度高、激波陡——但激波两侧出现 Gibbs 振荡,且振荡可能把密度压成负数导致物理崩溃。

单调性:一个格式的"品德测试"

单调格式不把极大值放大、极小值缩小(不产生新的极值)。理论结论(Godunov 定理的铺垫):线性双曲方程的线性单调格式至多一阶——想要二阶精度,就必须允许振荡。这个"精度-单调性不相容"是双曲数值方法的中心矛盾,后面所有高分辨率格式都是在它周围跳舞。

教训清单

1. 二阶格式振荡 → 可能负密度负压力 → 崩溃; 2. 一阶格式稳 → 但激波位置与宽度不可信; 3. 修补思路预告:在高阶格式上加限制器,光滑区二阶、间断处自动退回一阶——这就是第 6 章 MUSCL 的思想雏形(通量限制器 Flinty 类型在这一章先以 "flux-limiter" 概念引入)。

原文要点:第 2 章以修正方程(modified equation)解释格式的行为:Lax-Wendroff 的修正方程首项是三阶色散项——振荡由此而来;迎风格式首项是二阶耗散项——抹平由此而来。Godunov 定理(线性单调格式 ≤ 一阶)在第 3 章前的铺垫部分给出。

老师的提醒

  • 把修正方程当成"格式的 X 光":看到色散项想到振铃,看到耗散项想到抹平。
  • 负密度崩溃是振荡的经典后果,加限制器或把 CFL 降下来是第一响应。

自检

  • Lax-Wendroff 与迎风格式的毛病各由修正方程的哪一项解释?
  • Godunov 定理说了什么?它的适用范围(线性、线性格式)?
  • "通量限制器"打算解决什么矛盾?

更深一层:修正方程是格式的"X 光片"

修正方程(modified equation)值得作为格式分析的第一工具掌握:对离散格式做泰勒展开反演,得到它实际求解的 PDE。迎风格式解的不是 $q_t + aq_x = 0$,而是 $q_t + aq_x = \frac{a\Delta x}{2}(1-\nu)q_{xx} + \dots$——右端多出的人工粘性项解释了它的一切行为:抹平尖峰、激波变坡、但永不振荡。Lax-Wendroff 的修正方程右端首项是 $-\frac{a\Delta x^2}{6}(1-\nu^2)q_{xxx}$——三阶色散,解释了它的振铃(色散让不同波长的误差分量以不同速度跑,波形边缘出现波纹)。耗散项抹峰、色散项生波——看一眼修正方程的首项,格式的脾气就全知道了。

修正方程还有一个高级用途:反推设计。想要"激波陡但不振"的格式?让修正方程的耗散项在极值处自动出现、光滑区趋零——这个设计目标直接推出限制器方程(Sweby 的 TVD 区域)。本书第 6-8 章的高分辨率格式,就是沿着这条"修正方程设计法"走出来的。

推导细读:Godunov 定理的"无解可击"与"漏网之鱼"

Godunov 定理:线性双曲方程的线性单调格式至多一阶。字字有分量:"线性"指格式系数不依赖解(固定系数的差分);"单调"指不产生新极值;"至多一阶"是天花板。漏网之鱼有三条:让格式系数依赖解(限制器/迎风方向判断)——非线性格式可二阶且不振荡(TVD 格式);放松"单调"为"TVD"(总变差不减)——极值点降阶但间断锐利;多维问题还有更多回旋余地。定理的约束越精确,突破的路线越清晰——Godunov 定理是"读懂数学禁区才能合法越狱"的范例。

在真实世界里:格式选择的"算例测试套件"

工程上评估双曲格式有标准考卷组,建议原样跑一遍:光滑平移(测色散与相位误差——光滑波跑一百个格看波形保真)、Sod/Lax 激波管(测激波锐度与后状态)、双激波对撞(测强压缩鲁棒性)、跨界稀疏(测熵修复——Roe 无修复会现假激波)、慢流(低速问题看精度是否被数值粘性淹没——预条件需求)。五个考卷跑完,格式的体检报告就齐了:新格式宣传的每一项优点,都该在这套考卷上复现才算数。

专题深入:修正方程——"格式的 X 光片"完整版

修正方程的分析值得作为格式评估的第一工具完整掌握:对离散格式做泰勒展开反演,得到它实际求解的 PDE。迎风格式解的不是 $q_t + aq_x = 0$,而是 $q_t + aq_x = \frac{a\Delta x}{2}(1-\nu)q_{xx} + \dots$——右端多出的人工粘性项解释了它的一切行为:抹平尖峰、激波变坡、但永不振荡。Lax-Wendroff 的修正方程右端首项是 $-\frac{a\Delta x^2}{6}(1-\nu^2)q_{xxx}$——三阶色散,解释了它的振铃。耗散项抹峰、色散项生波——看一眼修正方程的首项,格式的脾气就全知道了。

修正方程的高级用途:反推设计。想要"激波陡但不振"的格式?让修正方程的耗散项在极值处自动出现、光滑区趋零——这个设计目标直接推出限制器方程(Sweby 的 TVD 区域)。"修正方程设计法"是高分辨率格式的理论起点。

数学细节展开:Godunov 定理的"漏网之鱼"

Godunov 定理(线性双曲方程的线性单调格式至多一阶)的三个漏网之鱼值得展开:让格式系数依赖解(限制器/迎风方向判断——非线性格式可二阶且不振荡,TVD 格式);放松"单调"为"TVD"(总变差不增——极值点降阶但间断锐利);多维问题的回旋余地。定理的约束越精确,突破的路线越清晰——"读懂数学禁区才能合法越狱"。

工程案例细节:格式验证的"五张考卷"

工程上评估双曲格式的标准考卷组值得跑一遍:光滑平移(测色散与相位误差——光滑波跑一百个格看波形保真)、Sod/Lax 激波管(测激波锐度与后状态)、双激波对撞(测强压缩鲁棒性)、跨界稀疏(测熵修复——Roe 无修复会现假激波)、慢流(低速问题看精度是否被数值粘性淹没——预条件需求)。五个考卷跑完,格式的体检报告就齐了。

例题

对流方程 $q_t + q_x = 0$,网格点值 $Q_{j-1}=1, Q_j=2, Q_{j+1}=3$(光滑线性场,斜率 1)。分别用(1)一阶迎风、(2)Lax-Wendroff($\nu = 0.5$)计算 $Q_j^{n+1}$,与精确解比较。

解答

精确解:场以速度 1 平移半个格,中心点新值 $q = 2 - 0.5\times1 = 1.5$。

(1)一阶迎风:

$$Q_j^{n+1} = Q_j - \nu(Q_j - Q_{j-1}) = 2 - 0.5\times(2-1) = 1.5$$

本例线性场恰好与迎风格式相容(迎风只对曲率耗散),结果精确。

(2)Lax-Wendroff:

$$Q_j^{n+1} = Q_j - \frac{\nu}{2}(Q_{j+1} - Q_{j-1}) + \frac{\nu^2}{2}(Q_{j+1} - 2Q_j + Q_{j-1})$$
$$= 2 - 0.25\times(3-1) + 0.125\times0 = 2 - 0.5 + 0 = 1.5\ \checkmark$$

二次差分项为零(线性场),二阶格式同样精确。

  • 结论:两者在线性场上打平;换成尖峰场(如 $1, 2, 5, 2$)立刻分晓——迎风削峰、LW 过冲振荡,这正是限制器存在的理由。做一遍这个尖峰实验,对格式性格的理解就到位了。

本页是《双曲问题有限体积法》第 2 节的学习笔记:为便于初学,讲解、例题与要点概括均为本站原创整理,公式与章节定位供对照原书使用。

📑 本书目录 经典研读