5.2 显式差分格式
5.2.1 差分格式的建立
为了用差分方法求解 \((5.1.1) \sim (5.1.3)\),考虑求解区域
\[\Omega = \{(x,t) \, | \, 0 \leqslant x \leqslant 1,\, 0 < t \leqslant T\}
\]
我们先将求解区域 \(\Omega\) 进行剖分。取正整数 \(m\) 和 \(n\),并记 \(x_i = ih,\,0 \leqslant i \leqslant m\),同时 \(t_k = k \tau, \, 0 \leqslant k \leqslant n\)。其中,\(h = 1/m\) 和 \(\tau = 1/n\),分别称 \(h\) 和 \(\tau\) 为空间步长和时间步长。
用两簇平行直线
\[x = x_i, \quad 0 \leqslant i \leqslant m
\]
\[t = t_k, \quad 0 \leqslant k \leqslant n
\]
可将 \(\Omega\) 分割成矩形网格。记 \(\Omega_h = \{x_i \, | \, 0 \leqslant i \leqslant m\}\),\(\Omega_{\tau} = \{t_k \, | \, 0 \leqslant k \leqslant n\}\),\(\Omega_{h\tau} = \Omega_h \times \Omega_{\tau}\)。称 \((x_i,t_k)\) 为结点,称在 \(t=t_k\) 上的结点 \(\{(x_i,t_k) \, | \, 0 \leqslant i \leqslant m\}\) 为第 \(k\) 层结点。对于定义在 \(\Omega_{h \tau}\) 上的网格函数
\[v = \{v_i^k \, | \, 0 \leqslant i \leqslant m, \, 0 \leqslant k \leqslant n\}
\]
采用 \(4.2\) 节中的记号。此外,我们记
\[\delta_t^2 = \frac{1}{\tau^2} (v_i^{k+1} - 2 v_i^k + v_i^{k-1})
\]
定义在 \(\Omega_{h \tau}\) 上的网格函数
\[U = \{U_i^k \, | \, 0 \leqslant i \leqslant m, \, 0 \leqslant k \leqslant n\}
\]
其中 \(U_i^k\) 为
\[U_i^k = u(x_i,t_k), \quad 0 \leqslant i \leqslant m, \quad 0 \leqslant k \leqslant n
\]
在结点 \((x_i,t_k)\) 上考虑定解问题 \((5.1.1)\),有
\[\frac{\partial^2 u(x_i, t_k)}{\partial t^2} - a^2 \frac{\partial^2 u(x_i,t_k)}{\partial x^2} = f(x_i, t_k), \quad 1 \leqslant i \leqslant m - 1, \quad 1 \leqslant k \leqslant n - 1 \tag{5.2.1}
\]
将
\[\begin{align*}
\frac{\partial^2 u(x_i, t_k)}{\partial x^2}
& = \frac{u(x_{i-1}, t_k) - 2 u(x_i, t_k) + u(x_{i+1}, t_k)}{h^2} - \frac{h^2}{12} \frac{\partial^4 u(\xi_{ik}, t_k)}{\partial x^4}\\
& = \delta_x^2 U_i^k - \frac{h^2}{12} \frac{\partial^4 u(\xi_{ik}, t_k)}{\partial x^4}, \quad x_{i-1} < \xi_{ik} < x_{i+1} \tag{5.2.2}
\end{align*}
\]
和
\[\begin{align*}
\frac{\partial^2 u(x_i, t_k)}{\partial t^2}
& = \frac{u(x_{i}, t_{k-1}) - 2 u(x_i, t_k) + u(x_{i}, t_{k+1})}{\tau^2} - \frac{\tau^2}{12} \frac{\partial^4 u(x_i, \eta_{ik})}{\partial t^4}\\
& = \delta_t^2 U_i^k - \frac{\tau^2}{12} \frac{\partial^4 u(x_{i}, \eta_{ik})}{\partial t^4}, \quad t_{k-1} < \eta_{ik} < t_{k+1} \tag{5.2.3}
\end{align*}
\]
代入式 \((5.2.1)\) 可得
\[\delta_t^2 U_i^k - a^2 \delta_x^2 U_i^k = f(x_i, t_k) + \frac{\tau^2}{12} \frac{\partial^4 u(x_{i}, \eta_{ik})}{\partial t^4} - a^2 \frac{h^2}{12} \frac{\partial^4 u(\xi_{ik}, t_k)}{\partial x^4}, \quad 1 \leqslant i \leqslant m-1, \quad 1 \leqslant k \leqslant n-1 \tag{5.2.4}
\]
由初值条件 \((5.1.2)\),我们有
\[U_i^0 = \varphi(x_i), \quad 1 \leqslant i \leqslant m-1 \tag{5.2.5}
\]
由方程 \((5.1.1)\) 可知(貌似需要函数 \(f\) 连续)
\[\frac{\partial^2 u(x,0) }{\partial t^2} = a^2 \frac{\partial^2 u(x,0)}{\partial x^2} + f(x,0) = a^2 \varphi''(x) + f(x,0)
\]
根据带积分余项的 \(\text{Taylor}\) 展开式以及 \((5.1.2)\) 可得
\[\begin{align*}
U_i^1
& = u(x_i, t_0) + \tau \frac{\partial u(x_i, t_0)}{\partial t} + \frac{1}{2} \tau^2 \frac{\partial^2 u(x_i, t_0)}{\partial t^2} + \frac{1}{2} \int_0^{\tau} (\tau - t)^2 \frac{\partial^3 u(x_i, t)}{\partial t^3} \, \mathrm{d} t \\
& = \varphi(x_i) + \tau \psi(x_i) + \frac{1}{2} \tau^2 [a^2 \varphi''(x_i) + f(x_i,t_0)] + \frac{1}{2} \int_0^{\tau} (\tau - t)^2 \frac{\partial^3 u(x_i, t)}{\partial t^3} \, \mathrm{d} t, \quad 1 \leqslant i \leqslant m-1 \tag{5.2.6}
\end{align*}
\]
由边值条件 \((5.1.3)\) 有
\[U_0^k = \alpha(t_k), \quad U_m^k = \beta(t_k), \quad 0 \leqslant k \leqslant n \tag{5.2.7}
\]
在式 \((5.2.4) \sim (5.2.7)\) 中略去小量项
\[R_{ik}^{(1)} = \frac{\tau^2}{12} \frac{\partial^4 u(x_{i}, \eta_{ik})}{\partial t^4} - a^2 \frac{h^2}{12} \frac{\partial^4 u(\xi_{ik}, t_k)}{\partial x^4}, \quad 1 \leqslant i \leqslant m-1, \quad 1 \leqslant k \leqslant n-1 \tag{5.2.8}
\]
和小量项
\[r_i^{(1)} = \frac{1}{2} \int_0^{\tau} (\tau - t)^2 \frac{\partial^3 u(x_i, t)}{\partial t^3} \, \mathrm{d} t, \quad 1 \leqslant i \leqslant m-1 \tag{5.2.9}
\]
并用 \(u_i^k\) 代替 \(u(x_i,t_k)\),可对问题 \((5.1.1) \sim (5.1.3)\) 建立如下差分格式:
\[\delta_t^2 u_i^k - a^2 \delta_x^2 u_i^k = f(x_i, t_k), \quad 1 \leqslant i \leqslant m-1, \quad 1 \leqslant k \leqslant n-1 \tag{5.2.10}
\]
\[u_i^0 = \varphi(x_i), \quad 1 \leqslant i \leqslant m-1 \tag{5.2.11}
\]
\[u_i^1= \varphi(x_i) + \tau \psi(x_i) + \frac{\tau^2}{2} [a^2 \varphi''(x_i) + f(x_i,t_0)], \quad 1 \leqslant i \leqslant m-1 \tag{5.2.12}
\]
\[u_0^k = \alpha(t_k), \quad u_m^k = \beta(t_k), \quad 0 \leqslant k \leqslant n \tag{5.2.13}
\]
差分格式 \((5.2.10) \sim (5.2.13)\) 的结点图见下图,它是一个三层五点显式差分格式。
注意,我们可以
5.2.2 差分格式的求解
我们记
\[u^k = (u_0^k, u_1^k, \cdots, u_m^k)
\]
则由 \((5.2.11) \sim (5.2.13)\) 可知 \(u_0\) 和 \(u_1\) 已完全确定,现设 \(u^{k-1}\) 和 \(u^k\) 是确定的。令 \(s\) 为步长比,定义如下:
\[s = \frac{a \tau}{h}
\]
则由式子 \((5.2.10)\) 可得
\[u_i^{k+1} = s^2 u_{i-1}^k + 2(1-s^2)u_i^k + s^2 u_{i+1}^k - u_i^{k-1} + \tau^2 f(x_i, t_k), \quad 1 \leqslant i \leqslant m-1
\]
由此可将式 \((4.2.10)\) 进一步写成如下矩阵形式:
\[\begin{align*}
\begin{bmatrix}
u_1^{k+1}\\
u_2^{k+1}\\
\vdots\\
u_{m-2}^{k+1}\\
u_{m-1}^{k+1}
\end{bmatrix}
=
\begin{bmatrix}
2(1-s^2) & s^2 \\
s^2 & 2(1-s^2) & s^2 \\
& \ddots & \ddots & \ddots \\
& & s^2 & 2(1-s^2) & s^2 \\
& & & s^2 & 2(1-s^2) \\
\end{bmatrix}
\begin{bmatrix}
u_1^k \\
u_2^k \\
\vdots \\
u_{m-2}^k \\
u_{m-1}^k
\end{bmatrix}
-
\begin{bmatrix}
u_1^{k-1} \\
u_2^{k-1} \\
\vdots \\
u_{m-2}^{k-1} \\
u_{m-1}^{k-1}
\end{bmatrix}
+
\begin{bmatrix}
\tau^2 f(x_1, t_k) + s^2 u_0^k \\
\tau^2 f(x_2, t_k) \\
\vdots \\
\tau^2 f(x_{m-2}, t_k) \\
\tau^2 f(x_{m-1}, t_k) + s^2 u_m^k
\end{bmatrix}, \quad 1 \leqslant k \leqslant n-1
\end{align*}
\]
5.2.3 差分格式解的先验估计式
下述定理给出了差分格式解的先验估计式。
定理 5.2.1
考虑如下差分方程组
\[\delta_t^2 u_i^k - a^2 \delta_x^2 u_i^k = f_i^k, \quad 1 \leqslant i \leqslant m-1, \quad 1 \leqslant k \leqslant n-1 \tag{5.2.14}
\]
\[u_i^0 = \varphi_i, \quad 1 \leqslant i \leqslant m-1 \tag{5.2.15}
\]
\[u_i^1 = \psi_i, \quad 1 \leqslant i \leqslant m-1 \tag{5.2.16}
\]
\[u_0^k = 0, \quad u_m^k = 0, \quad 0 \leqslant k \leqslant n \tag{5.2.17}
\]
设 \(\{u_i^k\}\) 为上述差分方程组的解,则当 \(s < 1\) 时,有
\[(1-s^2) h \sum_{i=1}^{m-1} (\delta_t u_i^{k+1})^2 + a^2 |u^{k+\frac{1}{2}}|_1^2
\leqslant e^{\frac{3}{2}k\tau} \left[ h \sum_{i=1}^{m-1}(\delta_t u_i^{\frac{1}{2}})^2 + a^2 h \sum_{i=0}^{m-1} (\delta_x u_{i+\frac{1}{2}}^1) \cdot (\delta_x u_{i+\frac{1}{2}}^0) + \frac{3 \tau}{2 (1 - s^2)} \sum_{l=1}^k \|g^l\|^2 \right], \quad 0 \leqslant k \leqslant n-1 \tag{5.2.18}
\]
其中
\[\|g^k\|^2 = h \sum_{i=1}^{m-1} (g_i^k)^2
\]
证明:
证毕。
5.2.4 差分格式解的存在性与唯一性
5.2.5 差分格式解的收敛性与稳定性