形式陈述
以下先取均匀周期网格、实值数据和固定的平移不变更新,且 Δ x , Δ t > 0 ,记 λ = Δ t / Δ x 。标量显式格式写成
U i n + 1 = H ( U i − r n , … , U i + s n ) . 若 H 对每个分量都单调不减,称该更新单调。守恒格式还必须能写成共享数值通量 理路 数值通量 Numerical flux · Conservative interface flux · 数值界面通量 以左右离散状态给出共享界面通量,并用一致性、单调性与耗散量区分不同守恒格式。 之差:
U i n + 1 = U i n − λ ( f ^ ( U i n , U i + 1 n ) − f ^ ( U i − 1 n , U i n ) ) , f ^ ( u , u ) = f ( u ) . 本页的“单调守恒格式”同时要求这两项,因此是显式有限体积更新 理路 有限体积法 Finite volume method · Finite-volume discretization · 控制体积法 对每个控制体积分守恒律,以共享界面通量更新单元平均,从离散结构上保证内部通量抵消。 的一类。只保持总量而对输入不单调,或只作凸组合而不能写成一致通量差,都不属于这一交集。
若两点通量可微,一个常用充分检查是
∂ 1 f ^ ≥ 0 , ∂ 2 f ^ ≤ 0 , 再由时间步保证更新对中心状态的偏导也非负。以 Rusanov 通量
f ^ ( u L , u R ) = f ( u L ) + f ( u R ) 2 − α 2 ( u R − u L ) 为例,在整个相关状态区间上固定一个 α ≥ max | f ′ | ,且令 λ α ≤ 1 ,便得到更新的各偏导非负。这里的CFL 界 理路 CFL 条件 Courant-Friedrichs-Lewy condition · CFL condition · 数值依赖域条件 要求连续方程的依赖域包含于离散格式的依赖域,并把最大波速、网格尺度与显式时间步联系起来。 保证这一固定耗散参数的 Rusanov 更新单调;若 α 本身随输入状态变化,求导还会产生额外项,须重新检查。
单调性推出离散比较原则:若 U n ≤ V n 逐点成立,则 U n + 1 ≤ V n + 1 。结合常状态保持,可得最大值界;结合守恒可直接证明离散 L 1 非扩张。令 W = max ( U , V ) 、Z = min ( U , V ) ,单调性给出 S ( W ) ≥ max ( S U , S V ) 、S ( Z ) ≤ min ( S U , S V ) ,所以周期求和后
∑ i | ( S U ) i − ( S V ) i | ≤ ∑ i ( S W − S Z ) i = ∑ i ( W − Z ) i = ∑ i | U i − V i | . 取 V 为 U 的一个网格平移,并用 S 与平移交换,便得到TVD 理路 总变差递减格式 Total variation diminishing scheme · TVD scheme · 总变差不增格式 以每步离散总变差不增长为振荡控制准则,并说明它与单调性、高阶精度和熵稳定性的边界。 。整线版本还需相应的可求和条件,以便合法地通过无限求和。对一致标量格式,这些估计提供紧性和熵收敛路径。
直觉
单调更新不允许“把任一输入抬高,输出反而降低”。因此新值只能以非负影响组合邻域信息,无法从有界邻值凭空制造更高峰或更低谷。它是离散比较原则,比一次计算中恰好没有过冲更强,因为结论覆盖所有允许数据。
守恒负责正确传播总量,单调性负责控制局部形状。两者结合时,跳跃可能被数值黏性摊宽,却不会产生交替过冲;网格加密后,摊宽区域收缩,同时正确通量差保留 Rankine–Hugoniot 速度。代价是 Godunov 阶障碍:线性单调格式一般不能在光滑区同时达到高于一阶。
例子与边界
对 Burgers 通量 f ( u ) = u 2 / 2 ,在状态区间 [ 0 , 2 ] 取 α = 2 、λ = 0.2 。周期数据
( U 1 n , U 2 n , U 3 n ) = ( 0 , 1 , 2 ) 的三个定向 Rusanov 通量为
f ^ ( 0 , 1 ) = 0 + 1 / 2 2 − ( 1 − 0 ) = − 0.75 , f ^ ( 1 , 2 ) = 1 / 2 + 2 2 − ( 2 − 1 ) = 0.25 , f ^ ( 2 , 0 ) = 2 + 0 2 − ( 0 − 2 ) = 3. 更新得到
( U 1 n + 1 , U 2 n + 1 , U 3 n + 1 ) = ( 0.75 , 0.8 , 1.45 ) . 总和仍为 3 ,所有值留在 [ 0 , 2 ] 。周期总变差从
| 1 − 0 | + | 2 − 1 | + | 0 − 2 | = 4 降为 | 0.8 − 0.75 | + | 1.45 − 0.8 | + | 0.75 − 1.45 | = 1.4 。这里 λ α = 0.4 ≤ 1 ,所以数值结果与单调性假设一致。
若仍取 α = 2 却让 λ α > 1 ,中心状态系数可能变负;共享通量继续保证总量,却不再保证最大值或 TVD。若真实状态越出 [ 0 , 2 ] ,原先的 α 也可能不再覆盖 | f ′ | 。波速上界必须随实际不变量区间核验,不能只在初值上算一次。
系统情形更微妙:逐分量单调通常与高精度、旋转不变性或接触分辨冲突,标量的 L 1 理论不能直接复制。高阶限制格式也常是 TVD 而非映射意义的全局单调;把“未观察到振荡”当作单调性证明同样不成立。
推论与应用
单调守恒格式为标量熵解提供一条短收敛路线:比较原则给 L ∞ 控制,守恒平移估计给紧性,离散熵不等式选择正确弱解。Lax–Friedrichs、满足波速与 CFL 条件的 Godunov,以及线性迎风格式都落在这套框架内。
实现测试可以直接随机扰动一个输入分量并检查输出不下降,但解析偏导或系数符号仍是覆盖连续状态空间的证据。还应分别测试一致性、周期总量和边界流入;单调性无法修复错误物理通量,守恒也无法修复负更新权重。需要二阶精度时,应以受限非线性重构局部放宽一阶单调,而不是声称保留了全局线性单调性。
参考资料
Michael G. Crandall and Andrew Majda, “Monotone Difference Approximations for Scalar Conservation Laws,” Mathematics of Computation 34(149), 1980, pp. 1–21.
Randall J. LeVeque, Numerical Methods for Conservation Laws , 2nd ed., Birkhäuser, 1992, Chs. 12–13.
E. Godlewski and P.-A. Raviart, Numerical Approximation of Hyperbolic Systems of Conservation Laws , Springer, 1996, Ch. 3.