问题模型

考虑周期边界的线性常系数扩散方程的求解 \[ u_t = c u_{xx} \] 其中\(c > 0\)为常数,记网格比\(\mu = \frac{\Delta t}{(\Delta x)^2}\)并固定。

显格式

FTCS

直接显式离散可得 \[ v_j^{n+1} = v_j^n + a \mu (v_{j+1}^n - 2 v_j^n + v_{j-1}^n) \] FTCS格式的局部截断误差为\(O(\Delta t + (\Delta x)^2)\)。最大模稳定性要求:\(\mu a \le \frac12\)

Richardson格式(CTCS,反面示例)

对时间采用中心差分可以得到三层显格式——Richardson格式 \[ v_j^{n+1} = v_j^{n-1} + 2 a \mu (v_{j+1}^n - 2v_j^n + v_{j-1}^n) \] CTCS格式的局部截断误差为\(O((\Delta t)^2+(\Delta x)^2)\)。但这个格式是无条件\(L^2\)模不稳定的!

基于CTCS格式进行修改,可以得到可用的格式。

Du Fort-Frankel格式

Du Fort-Frankel格式是对CTCS中心点的虚化处理,用时间上算术平均值替换。

\[ v_j^{n+1} = v_j^{n-1} + 2 a \mu (v_{j+1}^n - v_j^{n-1} - v_j^{n+1} + v_{j-1}^n) \] 整理即 \[ (1 + 2a\mu) v_j^{n+1} = (1-2a\mu)v_j^{n-1} + 2a\mu(v_{j+1}^n + v_{j-1}^n) \]

DF格式是有条件相容的格式,必须固定\(\mu\)为常数才能相容! DF格式的局部截断误差为\(O((\Delta t)^2 + (\Delta x)^2 + \frac{(\Delta t)^2}{(\Delta x)^2})\),在固定\(\lambda\)之后,可以达到整体2阶精度。DF格式无条件具有\(L^2\)模稳定性。

外插Crank-Nicolson格式

\[ \begin{aligned} v_j^{n+1} = v_j^{n-1} + 2 a \mu \left[ (1-\theta)(v_{j+1}^n-2v_j^n+v_{j-1}^n)+ \theta(v_{j+1}^{n-1}-2v_j^{n-1}+v_{j-1}^{n-1}) \right] \end{aligned} \] 局部截断误差\(O((\Delta t)^2 + (\Delta x)^2)\)\(L^2\)模稳定性要求:\(\mu a \le \frac14\)

BDF格式

BDF意为向后的数值微分近似,可以据此设计得到一个三层格式 \[ (1+\theta)(v_j^{n+1} - v_j^n) - \theta(v_j^n - v_j^{n-1}) = a \mu (v_{j+1}^{n} - 2 v_j^{n} + v_{j-1}^{n}) \] 其中\(\theta>0\)为固定的权重。

\(\theta=\frac12\)时称为Richtmyer格式,此时局部截断误差\(O((\Delta t)^2 +(\Delta x)^2)\),无条件具有\(L^2\)模稳定性。

隐格式

BTCS

直接隐式离散可得 \[ v_j^{n+1} - a \mu (v_{j+1}^{n+1} - 2 v_j^{n+1} + v_{j-1}^{n+1}) = v_j^n \] BTCS的局部截断误差为\(O(\Delta t + (\Delta x)^2)\)。无条件满足最大模稳定性。

\(\theta\)-格式

取定\(\theta \in [0,1]\)拆分显式部分和隐式部分 \[ v_j^{n+1} - \theta a \mu (v_{j+1}^{n+1} - 2 v_j^{n+1} + v_{j-1}^{n+1}) = v_j^n + (1-\theta) a\mu (v_{j+1}^{n} - 2 v_j^{n} + v_{j-1}^{n}) \]\(\theta=0\)退化到显格式FTCS,当\(\theta=1\)退化到隐格式BTCS,当\(\theta=\frac12\)称为Crank-Nicolson(CN)格式。

\(\theta\)-格式的局部截断误差至少为 \(O(\Delta t + (\Delta x)^2)\),对于CN格式则为\(O(\Delta t^2+(\Delta x)^2)\)

\(L^2\)模稳定性分析:当\(\theta \ge \frac12\)时,无条件稳定;当\(\theta < \frac12\)时,是有条件稳定的,要求满足 \[ \mu a \le \frac{1}{2(1-2\theta)} \]

最大模稳定性分析(充分条件)只能证明在\(\theta=1\)时的无条件稳定,其他情形为有条件稳定。(不同模意义下,不同的分析方法得到的结论不一样)

\(\theta\)\(\mu a\)满足如下关系 \[ \mu a = \frac{1}{6(1-2\theta)} \] 则得到了Douglas格式,相容阶数为4阶。