齐鲁工业大学学报   2021, Vol. 35 Issue (3): 70-73
0
扩散方程Crank-Nicolson格式的稳定性[PDF全文]
余昌彪, 郭红, 杜明洋, 张甜甜, 许文文     
齐鲁工业大学(山东省科学院) 数学与统计学院, 济南 250353
摘要:本文研究了带有初边值条件的扩散方程的Crank-Nicolson格式稳定性。主要采用了Fourier方法和矩阵方法。两种方法的理论分析均表明Crank-Nicolson格式是无条件稳定。最后数值实验结果验证了理论分析的正确性。
关键词Crank-Nicolson格式    稳定性    Fourier方法    矩阵方法    
The Stability of Crank-Nicolson Scheme for Diffusion Equation
YU Chang-biao, GUO Hong, DU Ming-yang, ZHANG Tian-tian, XU Wen-wen     
School of Mathematics and Statistics, Qilu University of Technology(Shandong Academy of Sciences), Jinan 250353, China
Abstract: The stability of Crank-Nicolson schemes is studied for diffusion equations with initial boundary conditions in this paper.Fourier method and matrix method are mainly used.Theoretical analysis of the two methods shows that the Crank-Nicolson scheme is unconditionally stable.Finally, the numerical results verify the correctness of the theoretical analysis.
Key words: Crank-Nicolson scheme    stability    Fourier method    matrix method    

关于扩散方程Crank-Nicolson格式的研究已有大量结果, 文献[1]构造了扩散系数为1时的一维和二维抛物方程的Crank-Nicolson格式, 并证明它是阶数为二的无条件稳定的差分格式; 文献[2]把二维Crank-Nicolson格式, 由常系数推广到变系数情形, 并证明了它是阶数为二的无条件稳定的差分格式。稳定性作为数值格式的一种属性, 在某种意义下, 格式的稳定性与一致性相结合, 就可以推出数值格式对于原问题的估计的收敛性。而一致性易于验证, 从而研究稳定性是得到收敛性的主要工作。P.D.Lax借助泛函分析的工具, 对一类很广的初值问题证明了差分格式解的收敛性和稳定性的等价定理[3]。J.Douglas采用初等的方法讨论了具体问题, 得到了收敛速度的估计[4]。李荣华综合了Lax和Douglas工作的优点, 给出Lax等价定理的一个初等证明, 去掉了关于初值问题的适定性要求和简化了Douglas的证明[5]。而本文研究的任意正常数的扩散系数的Crank-Nicolson差分格式不仅是无条件稳定的, 而且误差较小, 计算速度快。

1 扩散方程的解析解

考虑常系数扩散方程

$ \left\{\begin{array}{l} u_{t}=a u_{x x}, \quad 0<x<1, t>0, \\ u(x, 0)=g(x), \quad 0 \leqslant x \leqslant 1, \\ u(0, t)=u(1, t)=0, \quad t>0, \end{array}\right. $ (1)

其中a为正常数且g(x)不恒为零。

u(x, t)=h(x)p(t)且是方程(1)的充分光滑解, 所以u(x, 0)=h(x)p(0)=g(x), 由于g(x)不恒为零, 那么h(x)=g(x)/p(0), 进而

$ \frac{\partial u}{\partial t}=h(x)=\frac{d p}{d t}=\frac{1}{p(0)} g(x) \frac{d p}{d t}, $
$ \frac{\partial^{2} u}{\partial x^{2}}=p(t) \frac{d^{2} h}{d x^{2}}=p(t) \frac{1}{p(0)}, \frac{d^{2} g}{d x^{2}}, $

由扩散方程(1)得

$ \frac{d p}{p}=\frac{a}{g} \frac{d^{2} g}{d x^{2}} d t, $

它的解是

$ p(t)=c \exp \left(\frac{a}{g} \frac{d^{2} g}{d x^{2}} t\right), $

其中c是任意常数, 故扩散方程的解析解为

$ u(x, t)=g(x) \exp \left(\frac{a}{g} \frac{d^{2} g}{d x^{2}} t\right)。$ (2)

u(x, t)的表达式可以看出扩散方程(1)解析解的正负性完全由g(x)的正负性控制。

2 差分格式的建立

将区域[0, 1]×(0, +∞)沿x轴和t轴方向进行矩形剖分, 其中空间步长为Δx=h=1/J, 时间步长为Δt=τ, 网格点(xj, tn)记作

$ x_{j}=j \varDelta x=j h, j=0,1, \cdots, J , $
$ t_{n}=n \varDelta t=n \tau, n=0,1,2, \cdots。$

在点(xj, tn+1/2)用一阶中心差商逼近$ \frac{{\partial u}}{{\partial t}}$, 用平均加权二阶中心差商逼近$ \frac{{{\partial ^2}u}}{{\partial {x^2}}}$, 即得Crank-Nicolson格式[1]

$ \begin{array}{l} \frac{u_{j}^{n+1}-u_{j}^{n}}{\tau}=\frac{a}{2}\left\{\frac{u_{j+1}^{n+1}-2 u_{j}^{n+1}+u_{j-1}^{n+1}}{h^{2}}+\right.\\ \left.\frac{u_{j+1}^{n}-2 u_{j}^{n}+u_{j-1}^{n}}{h^{2}}\right\},\end{array} $ (3)

初值条件和边值条件离散为

$ u_{j}^{0}=g_{j},$ (4)
$ u_{0}^{n}=u_{J}^{n}=0,$ (5)

且该格式的截断误差为O(τ2+h2), 当τh都趋于零时, O(τ2+h2)也趋于零, 所以该差分格式满足相容性。

引理1:差分格式ujn+1=C(xj, τ)ujn稳定的必要条件是ττ0, T, 对所有kR

$ \left|\lambda_{j}(G(\tau, k))\right| \leqslant 1+M \tau, j=1,2, \cdots, p,$ (6)

其中,λj(G(τ, k))表示增长矩阵G(τ, k)的特征值;M为常数。条件(6)被称为von Neumann条件。

引理2:如果差分格式的增长矩阵G(τ, k)是正规矩阵, 则von Neumann条件是差分格式稳定的充要条件。

引理3:如果差分格式un+1=Aun的矩阵A是一个正规矩阵, 则谱半径条件

$ \rho(A) \leqslant 1+M \tau $

是差分格式稳定的一个充分必要条件。其中M为常数, un=(u1n, u2n, …, unJ-1)T

3 Fourier方法

定理1:若a为正常数且gj在网格点上有意义, 存在常数τ0>0, 使得当ττ0, T时, 则对所有kR, 扩散方程(1)的Crank-Nicolson格式(3)-(5)是无条件稳定的。

证明: 将(3)式改写为

$ \begin{aligned} &(1+a \lambda) u_{j}^{n+1}-\frac{a \lambda}{2} u_{j+1}^{n+1}-\frac{a \lambda}{2} u_{j-1}^{n+1}= \\ &(1+a \lambda) u_{j}^{n}+\frac{a \lambda}{2} u_{j+1}^{n}+\frac{a \lambda}{2} u_{j-1}^{n},\end{aligned} $ (7)

其中λ=τ/h2。令ujn=vneikjh, 并带入上式, 得

$ \begin{array}{l} \ \ \ \ \ \ (1+a \lambda) v^{n+1} e^{i k j h}-\frac{a \lambda}{2} v^{n+1} e^{i k(j+1) h}- \\ \frac{a \lambda}{2} v^{n+1} e^{i k(j-1) h}=(1+a \lambda) v^{n} e^{i k j h}+\frac{a \lambda}{2} v^{n} e^{i k(j+1) h}+ \\ \frac{a \lambda}{2} v^{n} e^{i k(j-1) h}, \end{array} $

消去公因子有

$ \begin{array}{l} \ \ \ \ \ \ \ \ \left(2(1+a \lambda)-a \lambda e^{i k h}-a \lambda e^{-i k h}\right) v^{n+1}= \\ \left(2(1+a \lambda)+a \lambda e^{i k h}+a \lambda e^{-i k h}\right) v^{n}, \end{array} $

化简得

$ \begin{array}{l} \ \ \ \ \ \ \ \ (1+a \lambda-a \lambda \cos k h) v^{n+1}=(1-a \lambda+ \\ a \lambda \cos k h) v^{n}, \end{array} $

由此得增长因子

$ \begin{array}{l} \ \ \ \ \ \ \ \ G(\tau, k)=(1-a \lambda+a \lambda \cos k h) /(1+a \lambda- \\ a \lambda \cos k h), \end{array} $

所以有

$ \begin{aligned} G(\tau, k)=&\left(1-2 a \lambda \sin ^{2} \frac{k h}{2}\right) / \\ &\left(1+2 a \lambda \sin ^{2} \frac{k h}{2}\right), \end{aligned} $

因为a>0, λ>0, 所以G(τ, k)≤1, 那么G(τ, k)n≤1, 又Crank-Nicolson格式是常系数差分格式, 由引理1和引理2知Crank-Nicolson格式(3)-(5)是无条件稳定的。

4 矩阵方法(直接方法)

定理2:若a为正常数且gj在网格点上有意义, 存在常数τ0>0, 使得当ττ0, T时, 则扩散方程(1)的Crank-Nicolson格式(3)-(5)是无条件稳定的。

证明: 可以把(7)式写为向量形式, 即

$ \begin{aligned} &\left[\begin{array}{cccc} 1+a \lambda & -a \lambda / 2 & & \\ -a \lambda / 2 & 1+a \lambda & \ddots & \\ & \ddots & \ddots & -a \lambda / 2 \\ & & -a \lambda / 2 & 1+a \lambda \end{array}\right] .\\ &\left[\begin{array}{c} u_{1}^{n+1} \\ u_{2}^{n+1} \\ \vdots \\ u_{J-1}^{n+1} \end{array}\right]+\left[\begin{array}{c} u_{1}^{n+1} \\ 0 \\ \vdots \\ u_{J}^{n+1} \end{array}\right]=\\ &\left[\begin{array}{cccc} 1-a \lambda & a \lambda / 2 & & \\ a \lambda / 2 & 1-a \lambda & \ddots & \\ & \ddots & \ddots & a \lambda / 2 \\ & & a \lambda / 2 & 1-a \lambda \end{array}\right]\left[\begin{array}{c} u_{1}^{n} \\ u_{2}^{n} \\ \vdots \\ u_{J-1}^{n} \end{array}\right]+\\ &\left[\begin{array}{c} u_{1}^{n} \\ 0 \\ \vdots \\ u_{J}^{n} \end{array}\right] 。\end{aligned} $ (8)

若令

$ u^{n}=\left(u_{1}^{n}, u_{2}^{n}, \cdots, u_{J-1}^{n}\right)^{T}, $

因为u0n=uJn=0, 则(8)式可以写为

$ A u^{n+1}=B u^{n}, $ (9)

其中

$ A=\left[\begin{array}{cccc} 1+a \lambda & -a \lambda / 2 & & \\ -a \lambda / 2 & 1+a \lambda & \ddots & \\ & \ddots & \ddots & -a \lambda / 2 \\ & & -a \lambda / 2 & 1+a \lambda \end{array}\right], $
$ B=\left[\begin{array}{cccc} 1-a \lambda & a \lambda / 2 & & \\ a \lambda / 2 & 1-a \lambda & \ddots & \\ & \ddots & \ddots & a \lambda / 2 \\ & & a \lambda / 2 & 1-a \lambda \end{array}\right] \text { 。} $

C=A-1B, 则(9)式可以写为

$ u^{n+1}=A^{-1} B u^{n}=C u^{n}。$

J-1阶方阵

$ S=\left[\begin{array}{ccccc} 0 & 1 & & & \\ 1 & 0 & 1 & & \\ & \ddots & \ddots & \ddots & \\ & & 1 & 0 & 1 \\ & & & 1 & 0 \end{array}\right], $

AB可以表示为

$ A=(1+a \lambda) E-\frac{a \lambda}{2} S , $
$ B=(1-a \lambda) E+\frac{a \lambda}{2} S, $

其中EJ-1阶单位矩阵。

又因为矩阵S的特征值[6]为2coskhπ, 所以A的特征值为1+-coskhπ, B的特征值为1-+coskhπ, 从而矩阵C的特征值为

$ \frac{1-a \lambda+a \lambda \cos k h \pi}{1+a \lambda-a \lambda \cos k h \pi}, k=1,2, \cdots, J-1, $

又矩阵C为对称矩阵, 从而C为正规矩阵, 所以对任意的矩阵C的谱半径都有

$ \begin{gathered} \rho(C)=\max \limits_{1 \leqslant k \leqslant J-1}\left|\frac{1-a \lambda+a \lambda \cos k h \pi}{1+a \lambda-a \lambda \cos k h \pi}\right| \\ =\max \limits_{1 \leqslant k \leqslant J-1}\left|\frac{1-a \lambda(1-\cos k h \pi)}{1+a \lambda(1-\cos k h \pi)}\right| \\ \leqslant 1, \end{gathered} $

由于问题是线性的, 故由引理3知Crank-Nicolson格式(3)-(5)是无条件稳定的。

5 数值例子

为验证式(3)-(5)的稳定性, 考虑初边值问题

$ \left\{\begin{array}{l} u_{t}=a u_{x x}, \quad 0<x<1, t>0, a>0, \\ u(x, 0)=\sin \pi x, \quad 0 \leqslant x \leqslant 1 ,\\ u(0, t)=u(1, t)=0, \quad t>0, \end{array}\right. $ (10)

根据式(2)可知解析解为

$ u(x, t)=e^{-\pi^{2} t} \sin \pi x, 0 \leqslant x \leqslant 1, t \geqslant 0。$

h=0.02, τ=0.002 5, λ=τ/h2=6.25为网格比。对不同的系数a, 用Crank-Nicolson格式求出扩散方程(10)在(0.4, 0.02)数值解, 并将它们与解析解的值加以比较。

表 1给出了当网格比λ=6.25时不同系数a下的精确解和数值解, 从表中不仅能看出误差较小, 同时也验证了格式满足2阶的收敛精度。

表 1 数值解与解析解间的比较

图 1图 2可以看出, 式(3)-(5)的数值解与精确解的吻合度很好。以上结论均表明Crank-Nicolson格式是无条件稳定的。

图 1 =0.2时的数值解和解析解

图 2 =2.0时的数值解和解析解

参考文献
[1]
李华, 周维奎, 邓培智. Crank-Nicolson差分格式及其稳定性研究[J]. 矿物岩石, 1998(S1): 3-5.
[2]
卢玉蓉, 何永富, 蔡靖疆, 等. 二维Crank-Nicolson差分格式及其稳定性[J]. 成都理工学院学报, 1999(1): 67-70.
[3]
RICHTMYER R D, MORTON K W. Difference methods for initial value problems[M]. New York: Interscience, 1967.
[4]
DOUGLAS J. On the relation between stability and convergence in the numerical solution of linear parabolic and hyperbolic differential equations[J]. Journal of the Society for Industrial and Applied Mathematics, 1956(4): 20-37.
[5]
李荣华. 研究差分格式收敛性和稳定性的直接方法[J]. 吉林大学自然科学学报, 1962(1): 73-82.
[6]
陆金甫, 关治. 偏微分方程数值解. 第3版[M]. 北京: 清华大学出版社, 2016.