基本概念

对于微分方程及其边界条件 \[ \left\{ \begin{aligned} \mathcal{L}u &= f,\,\, x \in \Omega\\ \mathcal{B}u &= g,\,\, x \,\text{on}\, \partial \Omega \end{aligned} \right. \] 考虑对应的差分格式 \[ \left\{ \begin{aligned} L v_j^n &= f_j^n,\,\, x_j \in \Omega\\ B v_j^{n} &= g_j^{n},\,\, x_j \,\text{on}\, \partial \Omega \end{aligned} \right. \] 其中 \(L,B\) 分别是 \(\mathcal{L}\)\(\mathcal{B}\) 的近似。

我们主要考虑当 \((\Delta x,\Delta t) \to 0\)\((x_j,t^n) \to (x_*,t^*)\) 的极限情况。可能需要时空网格参数在网格加密时满足一定的约束,例如 \[ \Delta t = z(\Delta x) \to 0, \text{as} \, \Delta x \to 0 \] 其中 \(z(\cdot)\)是任意在 \(0\) 附近有定义,并且满足 \(z(0)=0\) 的连续函数。如果在某个约束条件(又称为加密路径)下结论成立,那么称其为有条件成立。反之,如果只要求时空网格参数分别趋于\(0\),不需要指定加密路径,那么称其为无条件成立。

逐点相容性

对于差分格式 \(L v_j^n = f_j^n\) 与微分方程 \(\mathcal{L} u = f\), 以及任意光滑函数 \(u(x,t)\),定义局部截断误差 \[ \tau_j^n = (\mathcal{L} u_j^n - f_j^n) - (L u_j^n - f_j^n) \] 我们称差分格式与微分方程在内部点 \((x_*,t^*)\) 处逐点一致,如果在 \((\Delta x,\Delta t) \to 0\)\((x_j,t^n) \to (x_*,t^*)\) 时,成立 \[ \tau_j^n \to 0 \]

我们通常只关注 \(u(x,t)\)\(Lu=f\) 的精确光滑解的情形,此时显然 \(\mathcal{L} u_j^n - f_j^n = 0\),局部截断误差定义变为 \[ \tau_j^n = L u_j^n - f_j^n \]

如果存在两个不可改善的正整数 \(p,q\),使得 \[ \tau_j^n = O((\Delta x)^p + (\Delta t)^q) \] 那么称局部截断误差的阶数是 \((p,q)\)

注意:

  • 两个阶数的顺序并不是固定的,只要上下文记号保持一致即可。
  • 显然如果差分格式具有 \((p,q)\) 局部截断误差阶,并且 \(p,q \ge 1\),那么格式就是逐点相容的。
  • 这里只讨论了基于 \(\mathcal{L} u = f\) 的内部点近似,基于 \(\mathcal{B}u=g\) 的边界点近似同理。

如果上述结论必须在某个加密路径下成立,则称差分格式有条件逐点相容于方程。例如LF格式的局部截断误差满足 \[ \tau_j^n = O(\Delta t + \frac{\Delta x^2}{\Delta t}) \] 只有在固定网比 \(\lambda = \frac{\Delta t}{\Delta x}\),即指定加密路径 \(\Delta t = \lambda \Delta x\) 时才有 \(\tau_j^n \to 0\)。在此时有 \(\tau_j^n = O(\Delta t) = O(\Delta x)\) 具有一阶的局部截断误差。

模相容性

我们考虑如下规范形式的(双层)差分方程(\(V^{n}\) 代表 \(\{v_j^n\}\) 组成的向量) \[ V^{n+1} = Q\,V^n + \Delta t\,F^n \] 它是实际计算所采用的完整表达式,因此既包括了内部离散,也包括了边界离散。

将满足方程的精确光滑解 \(u(x,t)\) 代入对应的规范形式的差分格式,必然会产生余项 \(T^n\) \[ U^{n+1} = Q\,V^n + \Delta t\,F^n + \Delta t\,T^n \]

如果当 \((\Delta x,\Delta t) \to 0\) 时,成立 \[ \Vert T^n \Vert \to 0 \] 那么称差分格式无条件的在 \(\Vert\cdot\Vert\) 模意义下相容于方程。

如果存在两个不可改善的正整数 \(p,q\),使得 \[ \Vert T^n \Vert = O((\Delta x)^p + (\Delta t)^q) \] 那么称差分格式在\(\Vert\cdot\Vert\)模意义下的相容阶是\((p,q)\)

辨析

逐点相容性和模相容性是两个非常相似,并且有密切联系,但是并不完全等价的概念,我们需要进行专门的辨析。

首先是对于定义的理解:

  • 标量 \(\tau_j^n\) 收敛于 \(0\) 只能体现局部上的逼近效果,即局部相容性;
  • 向量 \(T^n\) 的模收敛于 \(0\) 可以体现差分格式整体上的逼近效果,即整体相容性。

如果我们组合使用了不同的离散公式,典型情况是在内部和边界基于不同公式进行离散,那么在两者模板重叠部分的近似效果会受到明显影响,这导致局部和整体的相容性分析可能得到不一样的结论。 (对于这个问题的讨论见下文)

然后是逐点相容和最大模相容这两个概念的对比。假设双层格式可以整理为如下形式 \[ P_1 V^{n+1} = P_2 V^n + \Delta t F^n \] 并且 \(L v_j^n = f_j^n\) 对应为下式的某一行(忽略边界条件) \[ \frac{1}{\Delta t} P_1 V^{n+1} - \frac{1}{\Delta t} P_2 V^n = F^n \] 按照逐点相容性分析的要求,局部截断误差 \(\tau_j^n\) 组成的向量为 \[ \tau^n = \frac{1}{\Delta t} P_1 U^{n+1} - \frac{1}{\Delta t} P_2 U^n - F^n \] 按照模相容性分析的要求,我们需要将格式改写为如下形式(出于计算可行性要求,\(P_1\) 必然可逆) \[ V^{n+1} = P_1^{-1} P_2 V^n + \Delta t P_1^{-1} F^n \] 代入精确解可以得到 \[ U^{n+1} = P_1^{-1} P_2 U^n + \Delta t P_1^{-1} F^n + \Delta t T^n \] 不难发现两者之间存在如下联系 \[ T^n = P_1^{-1} \tau^n \]

如果对 \(P_1^{-1}\) 的算子范数加上一致有界性条件(不受到网格加密的影响) \[ \Vert P_1^{-1}\Vert < M \] 那么显然逐点相容性和最大模相容性是等价的,并且局部截断误差阶和最大模相容阶是相同的。

对于显格式,可以直接取 \(P_1 = I\),此时一致有界性条件是显然成立的;对于绝大多数的隐格式,一致有界性条件也是成立的。因此我们可以说,在绝大多数情况下,这两者的结论都是一致的。

初边值问题的相容性分析

考虑如下的一维初边值问题 \[ \left\{ \begin{aligned} u_t &= u_{xx} + f(x,t), \,\, x \in (0,1),t>0\\ u(x,0) &= f(x),\,\, x \in (0,1) \\ B_1(u)(0,t) &= g(t), t \ge 0\\ B_2(u)(1,t) &= h(t), t \ge 0 \end{aligned} \right. \] 我们取左侧为整网格,即 \(x_0 = 0\)\(x_1 = \Delta x\),边界条件为 \[ B_1(u) = a u + b u_x \] 取右侧网格为半网格,即 \(x_{N-1} = 1-\frac{\Delta x}2\)\(x_N = 1 + \frac{\Delta x}2\),边界条件为 \[ B_2(u) = c u + d u_x \] 这里 \(a,b,c,d\) 均为常数。

对于内部直接采用二阶离散 \[ \frac{v_{j}^{n+1}-v_j^n}{\Delta t} = \frac{v_{j+1}^n-2v_j^n + v_{j-1}^n}{\Delta x^2} + f_j^n \]

对于左侧整网格的边界离散有很多方案,一阶方案例如(A1) \[ a v_0^{n+1} + b \frac{v_1^{n+1}-v_0^{n+1}}{\Delta x} = g(t^{n+1}) \] 二阶方案通常需要引入虚拟点 \(x_{-1} = -\Delta x\),例如第一种方案为(A2) \[ a v_0^{n+1} + b\frac{v_1^{n+1}-v_{-1}^{n+1}}{2\Delta x} = g(t^{n+1}) \] 第二种方案为(A3) \[ a \frac{v_{-1}^{n+1}+v_1^{n+1}}2 + b\frac{v_1^{n+1}-v_{-1}^{n+1}}{2\Delta x} = g(t^{n+1}) \]

对于右侧半网格的边界离散例如(B) \[ c \frac{v_{N-1}^{n+1}+v_N^{n+1}}{2} + d \frac{v_N^{n+1}-v_{N-1}^{n+1}}{\Delta x} = h(t^{n+1}) \] 下面我们依次探究这几种边界处理方案的相容性。

逐点相容性分析

这几种离散都满足逐点相容性,内部的逐点相容性是显然的 \[ \begin{aligned} \tau_j^n &= \frac{u_{j}^{n+1}-u_j^n}{\Delta t} - \frac{u_{j+1}^n-2u_j^n + u_{j-1}^n}{\Delta x^2} - f_j^n\\ &= (u_t)_j^n + \Delta t (u_{tt})_j^n + O(\Delta t^2) - (u_{xx})_j^n - \frac{\Delta x^2}{12}(u_{xxxx})_j^n + O(\Delta x^4) - f_j^n\\ &= \Delta t (u_{tt})_j^n - \frac{\Delta x^2}{12}(u_{xxxx})_j^n + O(\Delta t^2+\Delta x^4) \\ \end{aligned} \] 对(A1)至少为一阶 \[ \begin{aligned} \tau_0^{n+1} &= a u_0^{n+1} + b \frac{u_1^{n+1}-u_0^{n+1}}{\Delta x} - g(t^{n+1}) \\ &= a u_0^{n+1} + b (u_x)_0^{n+1} + \frac{b}2 \Delta x (u_{xx})_0^{n+1} + O(\Delta x^2) - g(t^{n+1}) \\ &= \frac{b}2 (u_{xx})_0^{n+1} \Delta x + O(\Delta x^2) \end{aligned} \] 对(A2)至少为二阶 \[ \begin{aligned} \tau_0^{n+1} &= a u_0^{n+1} + b\frac{u_1^{n+1}-u_{-1}^{n+1}}{2\Delta x} - g(t^{n+1}) \\ &= \frac{b}6 (u_{xxx})_0^{n+1} \Delta x^2 + O(\Delta x^4) \end{aligned} \] 对(A3)至少为二阶 \[ \begin{aligned} \tau_0^{n+1} &= a\frac{u_{-1}^{n+1}+u_1^{n+1}}2 + b\frac{u_1^{n+1}-u_{-1}^{n+1}}{2\Delta x} - g(t^{n+1}) \\ &= (\frac{a}2 (u_{xx})_0^{n+1} + \frac{b}6 (u_{xxx})_0^{n+1}) \Delta x^2 + O(\Delta x^4) \end{aligned} \] 对(B)至少为二阶 \[ \begin{aligned} \tau_{N-\frac12}^{n+1} =&{}\,\, c \frac{u_{N-1}^{n+1}+u_N^{n+1}}{2} + d \frac{u_N^{n+1}-u_{N-1}^{n+1}}{\Delta x} - h(t^{n+1}) \\ =&{}\,\, c (u_{N-\frac12}^{n+1} + \frac{1}8 (u_{xx})_{N-\frac12}^{n+1} \Delta x^2+ O(\Delta x^4)) \\ &+ d((u_x)_{N-\frac12}^{n+1} + \frac{1}{24}(u_{xxx})_{N-\frac12}^{n+1}\Delta x^2 + O(\Delta x^4)) - h(t^{n+1})\\ =&{}\,\, (\frac{c}8 (u_{xx})_{N-\frac12}^{n+1} + \frac{d}{24}(u_{xxx})_{N-\frac12}^{n+1} )\Delta x^2 + O(\Delta x^4) \end{aligned} \]

这里的讨论都是基于最一般的情形,可能在 \(a,b,c,d\) 取某些特殊值时达到更高的阶数。

最大模相容性分析

这几种离散方式的最大模相容性则是未必的,因为边界和内部的离散模板会相互影响,影响交界处的近似效果。

例如在左边界处,我们关注 \(x_1\) 处的实际计算格式 \[ \begin{aligned} v_1^{n+1} = v_1^n + \frac{\Delta t}{\Delta x^2}(v_{2}^n-2v_1^n + v_{0}^n) + \Delta t f_1^n \end{aligned} \] 考虑边界离散(A1)的影响,有 \[ (a\Delta x - b)v_0^n + b v_1^n = g(t^n) \Delta x \] 代入得到 \[ \begin{aligned} v_1^{n+1} &= (1-2 \frac{\Delta t}{\Delta x^2}) v_1^n + \frac{\Delta t}{\Delta x^2} v_2^n + \frac{\Delta t}{\Delta x^2} v_0^n + \Delta t f_1^n \\ &= (1-2 \frac{\Delta t}{\Delta x^2}) v_1^n + \frac{\Delta t}{\Delta x^2} v_2^n + \frac{\Delta t}{\Delta x^2} \frac{g(t^n)\Delta x - b v_1^n}{a\Delta x -b} + \Delta t f_1^n \end{aligned} \]\(u(x,t)\) 代入 \(x_1\) 的计算 \[ \begin{aligned} \Delta t T_1^n =&{}\,\, u_1^{n+1} - (1-2 \frac{\Delta t}{\Delta x^2}) u_1^n - \frac{\Delta t}{\Delta x^2} u_2^n - \frac{\Delta t}{\Delta x^2} \frac{g(t^n)\Delta x - b u_1^n}{a\Delta x -b} - \Delta t f_1^n \\ =& \end{aligned} \]

未完待续。