Skip to content

迎风格式

Upwind scheme · First-order upwind method · 迎风差分格式

按特征传播方向选择上游状态构造线性平流通量,并在 Courant 限制内形成单调一阶更新。

条目类型
算法

形式陈述

对常系数平流守恒律

ut+(au)x=0,

信息沿速度 a 传播。迎风数值通量

f^up(uL,uR)=a+uL+auR,a+=max(a,0),a=min(a,0).

a>0,均匀网格更新为

Uin+1=UinC(UinUi1n)=(1C)Uin+CUi1n,C=aΔtΔx.

a<0,则

Uin+1=UinC(Ui+1nUin)=(1+C)UinCUi+1n.

|C|1 时,两种情形都是当前值与上游邻值的凸组合,因而保持最大值界、正性和总变差不增。方向取错会把下游数据当成输入,即使差分阶看似仍为一阶,也会把耗散变成反耗散。

线性 Riemann 问题的界面状态在 a>0 时是左态,在 a<0 时是右态,所以迎风格式是Godunov 格式在线性单速守恒律上的严格特例。对非线性标量通量,不能只看某个全局固定符号;若波扇跨越速度零,界面状态需由完整 Riemann 解或通量分裂决定。

对光滑解作修改方程展开,主导人工黏性为

ut+aux=|a|Δx2(1|C|)uxx+O(Δx2)

(沿固定 C 的细化族)。当 |C|=1 时,网格数据每步恰平移一格,主导耗散消失;一般 0<|C|<1 时高频会被衰减。

直觉

要预测一个网格点的未来,只应查看连续特征在上一时刻从哪里到达。风向向右时,信息来自左邻;风向向左时,信息来自右邻。迎风不是“总用后向差分”的同义词,而是先判断传播方向,再选择空间偏置。

凸组合也有概率图像:当 0<C<1 时,连续特征脚落在当前点与一个上游点之间,一阶格式用两端值线性混合。混合保证不制造新极值,却把未对齐网格的平移变成扩散。Courant 数恰为一时,特征脚落在上游节点,离散平移无需插值,因此不耗散。

这也解释了边界数据为何只应放在上游入口:下游状态不会沿特征逆风返回计算域。

例子与边界

a=2Δx=1Δt=0.25,故 C=0.5。周期网格数据为

(U1n,U2n,U3n)=(1,3,2).

因为速度为负,每个单元使用右邻:

Uin+1=Uin+0.5(Ui+1nUin).

逐项算得

U1n+1=1+0.5(31)=2,U2n+1=3+0.5(23)=2.5,U3n+1=2+0.5(12)=1.5.

总和仍为 6,新值全在旧极值区间 [1,3] 内。若错误地对 a<0 仍用左邻,则更新系数会含一个负权重,不能给出上述最大值保证。

|C|>1 时,连续特征一时间步跨越超过一个网格间隔,而该两点 stencil 仍只访问最近上游点;凸组合系数随即变负。这说明稳定限制与数值依赖域相连。|C|1 对这一线性显式格式给出稳定性,但对任意中心格式并非充分条件。

变系数 ut+(a(x)u)x=0 中,守恒形式还包含空间变化带来的压缩或膨胀,界面速度需一致定义;方程组则按特征分解分别迎风,矩阵若不可对角化或边界特征数处理错误,简单逐分量偏置会失败。高阶迎风重构若不加限制器,也可能在间断旁产生 Gibbs 型过冲。

推论与应用

迎风格式提供最短的传播方向测试。给定正负速度各一组数据,手算一步即可验证通量参数顺序、周期邻居和边界流入索引。Fourier 放大因子

G(θ)=1C+Ceiθ(a>0)

满足 |G|2=14C(1C)sin2(θ/2),精确展示 CFL 内耗散与 CFL 外放大。

在多维有限体积法中,迎风判断沿每个面的法向速度进行;一个全局速度符号不能替代各面 an。MUSCL、WENO 等方法通常仍保留迎风通量,只提升界面左右迹。若目标只是可靠基线,一阶迎风已经覆盖守恒、方向和稳定;只有测得平滑区扩散不可接受时才需要高阶重构。

参考资料
  • Randall J. LeVeque, Finite Difference Methods for Ordinary and Partial Differential Equations, SIAM, 2007, Ch. 10.
  • Randall J. LeVeque, Finite Volume Methods for Hyperbolic Problems, Cambridge University Press, 2002, Chs. 4 and 10.
  • John C. Strikwerda, Finite Difference Schemes and Partial Differential Equations, 2nd ed., SIAM, 2004, Ch. 2.
关系图谱5 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

下位 / 直接特例

暂未标注直接特例。

类型化关系

实现的抽象