Godunov's theorem
转自Wiki
简介
在数值计算和计算流体动力学中,Godunov定理(Godunov's theorem 或 Godunov's order barrier theorem)是采用高精度数值方法计算偏微分方程中的重要数学定理。
定理陈述为:
采用线性数值格式求解偏微分方程时,如果数值解不产生新的极值,那么格式精度最多为1阶。
Sergei K. Godunov 教授首先在其博士阶段(莫斯科国立大学)证明这个定理。这是他在应用数学研究中最具影响的工作,对科学与工程及其他领域特别是计算流体力学(CFD)有深刻的影响。
定理
同样可参考Wesseling (2001)。
假设一个连续体问题由PDE描述,并且使用数值方法在进行计算,只进行一步,均匀网格,(M)个节点,积分算法,显式或者隐式。如果 (x_j = jDelta x),(t^n = nDelta t),那么一个数值格式可以表示为
[egin{equation}
sum^{M}_{m = 1}eta_m varphi_{j+m}^{n+1} = sum^{M}_{m = 1}alpha_m varphi_{j+m}^{n}
end{equation}]
换句话说,计算值 (varphi_{j}^{n+1}) 在时刻 (n+1) 节点 (j) 是当前时刻解 (n) 的线性函数形式。我们假设 (eta_m) 唯一的决定了 (varphi_{j}^{n+1})。现在,既然上述方程代表了 (varphi_{j}^{n+1}) 与 (varphi_{j}^{n}) 之间线性关系,那么我们可以采用线性转换得到下面等价形式,
[egin{equation}
varphi_{j}^{n+1} = sum^{M}_{m = 1}gamma_m varphi_{j+m}^{n}
end{equation}]
定理1. 单调保持性(Monotonicity preserving)
若格式(2)是单调保持的,那么
[egin{equation}
gamma_m ge 0
end{equation}]
证明:Godunov (1959)
case 1:充分性
假设 (varphi_{j}^{n}) 是随 (j) 单调递增的,那么,由于 $varphi_{j}^{n} le varphi_{j+1}^{n} le cdots le varphi_{j+m}^{n} $,因此
[egin{equation}
varphi_{j}^{n+1} - varphi_{j-1}^{n+1} = sum^{M}_{m = 1}gamma_m (varphi_{j+m}^{n} - varphi_{j+m-1}^{n}) ge 0
end{equation}]
即 $varphi_{j}^{n+1} le varphi_{j+1}^{n+1} le cdots le varphi_{j+m}^{n+1} $,得证。
case 2:必要性
由矛盾证明必要性。
假设 (gamma_p < 0),(p) 为某个节点,采用如下单调增加的序列 (varphi_{j}^{n})
[egin{equation}
varphi_{j}^{n} = 0, quad i < k; quad varphi_{j}^{n} = 1, quad i ge k.
end{equation}]
根据方程(2)可以得到
[egin{equation}
varphi_{j}^{n+1} - varphi_{j-1}^{n+1} = sum^{M}_{m = 1}gamma_m (varphi_{j+m}^{n} - varphi_{j+m-1}^{n}) = left{
egin{array}{ll}
0, & [j+m
e k] cr
gamma_m, & [j+m =k]
end{array}
ight.
end{equation}]
现在令 (j = k - p), 那么
[egin{equation}
varphi_{k-p}^{n+1} - varphi_{k-p-1}^{n+1} = gamma_p(varphi_{k}^{n} - varphi_{k-1}^{n}) < 0
end{equation}]
这与 (varphi_{j}^{n+1}) 的单调性矛盾,得证。
定理2. Godunov’s Order Barrier Theorem
若使用单步,二阶精度求解对流方程
[egin{equation}
frac{partial varphi}{partial t} + c frac{partial varphi}{partial x} = 0, quad t>0
end{equation}]
只有当
[egin{equation}
sigma = |c|frac{Delta t}{Delta x} in mathcal{N}
end{equation}]
时,格式才是单调保持的,
其中 (sigma) 为柯朗数(Courant–Friedrichs–Lewy condition number)
证明:Godunov (1959)
假设初始解为
[egin{equation}
varphi(0,x) = ig(frac{x}{Delta x} - frac{1}{2} ig)^2 - frac{1}{4}
end{equation}]
那么其精确解为
[egin{equation}
varphi(t,x) = ig(frac{x - ct}{Delta x} - frac{1}{2} ig)^2 - frac{1}{4}
end{equation}]
假设格式至少有二阶精度,那么第0步与第1步精确解如下
[egin{equation}
varphi_j^1 = ig(j - sigma - frac{1}{2} ig)^2 - frac{1}{4}, quad varphi_j^0 = ig(j - frac{1}{2} ig)^2 - frac{1}{4}
end{equation}]
将方程(2)代入,得:
[egin{equation}
ig(j - sigma - frac{1}{2} ig)^2 - frac{1}{4} = sum_m^M gamma_m ig[ ig(j+m - frac{1}{2} ig)^2 - frac{1}{4} ig]
end{equation}]
假设格式具有单调保持性质,那么根据定理1,(gamma_m ge 0)
因此
[egin{equation}
ig(j - sigma - frac{1}{2} ig)^2 - frac{1}{4} ge 0
end{equation}]
假设 (sigma>0),并且 (sigma
otin mathcal{N}),那么存在 (j) 使得 (j>sigma>(j-1)),这使得
[egin{equation}
ig(j - sigma - frac{1}{2} ig)^2 - frac{1}{4} = (j- sigma)(j - sigma - 1) < 0
end{equation}]
这与方程(16)矛盾,因此得证。
这里 (sigma = |c|frac{Delta t}{Delta x} in mathcal{N}) 仅是用于理论证明,并无法将其当作实际计算时系数,CFL为整数情况在实际计算中并不实用。
这里,单调保持的格式即保证不出现新的极值
参考