线性常系数扩散方程整理
问题模型
考虑周期边界的线性常系数扩散方程的求解 \[ 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)^4}{(\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阶。