求解扩散方程的几种差分格式的比较
2022-02-24祖丽胡玛尔卡迪尔阿米娜沙比尔
祖丽胡玛尔·卡迪尔,阿米娜·沙比尔
(喀什大学数学与统计学院,新疆 喀什 844000)
0 引言
扩散方程是一类基本的运动方程,是抛物型偏微分方程一个很重要的分支,在众多领域都有着广泛的应用,可用于环境科学、能源开发、流体力学和电子科学等许多领域[1].因此,数值求解抛物型偏微分方程问题具有重要的理论意义和实用价值.求解扩散方程的数值方法主要是有限差分法、有限元法、有限体积法等多种方法.但是对于对流占优问题,通常是用差分法或有限元法进行求解.本文利用三种差分格式求解了一维扩散方程的数值解,并给出了稳定性比较,最后通过数值算例进一步说明了数值解法的有效性.
1 差分格式的建立
考虑以下常系数扩散方程的初边值问题:
其中,a>0为正常数,f(x,t),φ(x),α(t),β(t)都是已知函数,L为空间长度,T为时间长度.
首先,对求解区域D={(x,t)|0 ≤x≤L,0 ≤t≤T}作矩形网格剖分,将空间[0,L]等分m份,节点为xi=0+ih(0 ≤i≤m,h=).再对时间区间[0,T]等分n份,节点为tj=0+jτ(0 ≤j≤n,.这样得到(m+1)(n+1)个网格节点(xi,tj).
1.1 向前欧拉格式
在网格节点建立节点离散方程,即
关于时间的一阶导数的向前差商形式为
上式误差为O(τ).
类似地,关于空间的二阶偏导数的中心差商形式为
上式误差为O(h2)
将式(3)和(4)带入(2)式中的第一式,再用数值解近似代替精确解u(xi,tj),并忽略高阶小项,即可得到向前欧拉格式:
经过整理可得向前欧拉格式:
由(6)式知,第j+1 个时间层上的数值解可由第j层上的已知信息表示出来.如此一层一层计算,可得到所有网格点的数值解,计算简单、便捷[2].
1.2 向后欧拉格式
对时间的偏导数用向后差商,关于空间的二阶偏导数用中心差商代替,再用数值解近似代替精确解u(xi,tj),并忽略高阶小项,即可得到向后欧拉格式:
实际计算时,在每个时间层都需要求解一个线性方程组,计算比较复杂[3].
1.3 Crank-Nicolson 差分格式
对时间的一阶偏导数用中心差商代替,则有
上式误差为O(τ2).
接下来处理虚拟节点处关于空间的二阶偏导数
将上面两式代入式(10)得
上式和(9)式一起代入(8)式,用数值解近似代替精确解u(xi,tj),并忽略高阶小项可得Crank-Nicolson差分格式:
易见,此格式的阶段误差为O(τ2+h2).
整理上述格式,可得
上式的矩阵形式可以利用追赶法来求解.
2 稳定性比较
向前欧拉格式[5]是条件稳定的,其稳定性条件为r=,如果网格比不满足稳定性条件,导致最后结果失效.
向后欧拉格式是无条件稳定的,网格比很大情况下数值解仍然收敛.
Crank-Nicolson 差分格式[4]是二阶无条件稳定的,其中一个至关重要的因素就是将原项方程弱化,使之在相邻时间层网格节点的终点处成立,而不是在网格节点处成立.
3 数值算例
例:计算抛物型方程的初值问题
已知其精确解为u(x,t)=tsin(x).
由表1 和图1 可见,r=0.5 时数值结果完全吻合;当网格步长不满足稳定性条件时,误差会以指数增长,结果不收敛,数值结果无效.这表明向前欧拉格式是条件稳定的.由表2 和图2 可见,无论r的取值如何,也就是无论时间、空间步长如何选取,向后欧拉格式恒稳定,即该格式是无条件稳定的.由表3 和图3 可见,Crank-Nicolson 格式是无条件稳定的,差分格式是二阶精度的.
表1 当r=0.5时,向前欧拉格式的数值解和精确解
表2 向后欧拉格式在不同网格步长下的数值解
表3 Crank-Nicolson差分格式在不同网格步长下的数值解
图1 向前欧拉格式
图2 向后前欧拉格式
图3 Crank-Nicolson格式
4 结论
本文讨论了求解抛物型方程初边值问题的几种常用方法,如向前欧拉格式方法、向后欧拉格式方法、Crank-Nicolson 格式方法,并了解各种方法的优缺点.结果表明,向前欧拉格式方法计算简单、直接,但稳定性差,只有在时间、空间步长的合理选取之下才能保证数值解的收敛性;向后欧拉格式方法则弥补了向前欧拉格式方法的缺点,不需要考虑时间、空间步长的选取,但每个时间层上都要求解一个线性方程组,计算量会加大.这两个格式方法的精度都是时间一阶、空间二阶;Crank-Nicolson 格式方法是无条件稳定的,时间和空间都是二阶精度的.