“它与Godunov 格式都使用共享守恒通量,但前者不解析局部波型,只用中心通量和统一耗散包住全部波;后者从精确 Riemann 解选择界面状态。Lax–Friedrichs 更便宜、鲁棒,通…”
形式陈述 ​
Godunov 格式在每个时间层把单元平均
均匀网格上的一步更新是
在波从相邻界面相遇之前,这等于把所有局部精确 Riemann 解拼接一小段时间,再对每个单元重新取平均。CFL 限制保证本步局部波扇的传播范围与该构造相容;超出限制后,同一代数公式仍能计算,却不再具有这项局部精确解释。
对标量通量,Godunov 通量可由全区间极值直接算出:若
它与Lax–Friedrichs 格式的关键对比是通量来源:Godunov 按精确局部波结构选择界面状态,Lax–Friedrichs 用中心平均加显式耗散覆盖波速。两者都是一阶守恒格式,但耗散量和接触分辨能力不同。
直觉
算法把“下一步有多少量过界面”交给原 PDE 的最小初值问题回答。因为每个单元当前是常状态,界面附近在极短时间里看不到更远单元,Riemann 解正好描述局部发生的激波或稀疏波。随后重新平均会丢掉单元内细节,这一步造成一阶精度与数值耗散。
精确 Riemann 解并不意味着整张网格解精确。每一步重置为分片常数,波一进入单元就被平均;多个波在后续步相互作用也只通过新的平均状态传递。Godunov 的价值是通量方向和熵选择有清楚连续依据,而不是取消离散误差。
例子与边界
对周期网格上的 Burgers 方程,取三个单元
周期界面按
更新得到
新旧总和都为
非凸标量通量不能用只看端点的简化规则;区间内部极值必须进入上述全区间公式,而完整 Riemann 解还可能包含复合波。对系统,精确求解器可能昂贵或不存在闭式表达,工程上常用近似求解器;若近似器遗漏熵修正,跨声速稀疏波可能被错误地当作膨胀激波。
一阶 Godunov 格式在激波附近可靠但会涂抹接触与平滑波。Godunov 阶障碍说明线性、单调的守恒格式不可能在一般光滑解上高于一阶;获得高阶必须放弃全局线性单调性,用受限重构在局部控制振荡。
推论与应用
Godunov 格式把分析与实现连接得很紧:Riemann 求解器给界面通量,CFL 给局部波传播范围,共享通量给离散守恒,标量单调性给 TVD 与熵收敛的入口。调试时可逐面记录左右状态、波型、界面状态和通量,并用上面的三单元算例同时检查周期索引与更新符号。
高分辨率 Godunov 型方法保留同一通量接口,但把分片常输入换成 MUSCL 或更高阶重构的左右迹,再使用 SSP 时间积分。若限制器在间断处把斜率压到零,局部便自动退回这里的一阶格式;这项退化是防振荡机制,不是实现失败。
参考资料
- S. K. Godunov, “A Difference Method for Numerical Calculation of Discontinuous Solutions of the Equations of Hydrodynamics,” Matematicheskii Sbornik 47(89), 1959, pp. 271–306.
- Randall J. LeVeque, Finite Volume Methods for Hyperbolic Problems, Cambridge University Press, 2002, Chs. 12–13.
- Eleuterio F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics, 3rd ed., Springer, 2009, Chs. 5 and 6.