资源描述
第9章 偏微分方程的差分方法
含有偏导数的微分方程称为偏微分方程。由于变量的增多和区域的复杂性,求偏微分方程的精确解一般是不可能的,经常采用数值方法求方程的近似解。偏微分方程的数值方法种类较多,最常用的方法是差分方法。差分方法具有格式简单,程序易于实现,计算量小等优点,特别适合于规则区域上偏微分方程的近似求解。本章将以一些典型的偏微分方程为例,介绍差分方法的基本原理和具体实现方法。
9.1椭圆型方程边值问题的差分方法
9.1.1 差分方程的建立
最典型的椭圆型方程是Poisson(泊松)方程
(9.1)
G是x,y平面上的有界区域,其边界Γ为分段光滑的闭曲线。当f(x,y)≡0时,方程(9.1)称为Laplace(拉普拉斯)方程。椭圆型方程的定解条件主要有如下三种边界条件
第一边值条件 (9.2)
第二边值条件 (9.3)
第三边值条件 (9.4)
这里,n表示Γ上单位外法向,α(x,y),β(x,y),γ(x,y)和k(x,y)都是已知的函数,k(x,y)≥0。满足方程(9.1)和上述三种边值条件之一的光滑函数u(x,y)称为椭圆型方程边值问题的解。
用差分方法求解偏微分方程,就是要求出精确解u(x,y)在区域G的一些离散节点(xi,yi)上的近似值ui,j≈(xi,yi)。差分方法的基本思想是,对求解区域G做网格剖分,将偏微分方程在网格节点上离散化,导出精确解在网格节点上近似值所满足的差分方程,最终通过求解差分方程,通常为一个线性方程组,得到精确解在离散节点上的近似值。
设G={0<x<a, 0<y<b}为矩形区域,在x,y平面上用两组平行直线
x=ih1, i=0,1,…,N1, h1=a/N1
y=jh2, j=0,1,…,N2, h2=b/N2
将G剖分为网格区域,见图9-1。h1,h2分别称为x方向和y方向的剖分步长,网格交点(xi,yi)称为剖分节点(区域内节点集合记为Gh={(xi,yi); (xi,yi)∈G}),网格线与边界Γ的交点称为边界点,边界点集合记为Γh。
现在将微分方程(9.1)在每一个内节点(xi,yi)上进行离散。在节点(xi,yi)处,方程(9.1)为
(9.5)
需进一步离散(9.5)中的二阶偏导数。为简化记号,简记节点(xi,yi)=(i,j),节点函数值u(xi,yi)=u(i,j)。利用一元函数的Taylor展开公式,推得二阶偏导数的差商表达式
代入(9.5)式中,得到方程(9.1)在节点(i,j)处的离散形式
其中。舍去高阶小项,就导出了u(i,j)的近似值ui,j所满足的差分方程
(9.6)
在节点(i,j)处方程(9.6)逼近偏微分方程(9.1)的误差为,它关于剖分步长是二阶的。这个误差称为差分方程逼近偏微分方程的截断误差,它的大小将影响近似解的精度。
在差分方程(9.6)中,每一个节点(i,j)处的方程仅涉及五个节点未知量ui,j,ui+1,j,ui-1,j,ui,j+1,ui,j-1,因此通常称(9.6)式为五点差分格式,当h1= h2=h时,它简化为
差分方程(9.6)中,方程个数等于内节点总数,但未知量除内节点值ui,j ,(i,j)∈Gh外,还包括边界点值。例如,点(1,j)处方程就含有边界点未知量u0,j。因此,还要利用给定的边值条件补充上边界点未知量的方程。
对于第一边值条件式(9.2),可直接取ui,j=α(xi,yi), (i,j)∈Γh (9.7)
对于第三(k=0时为第二)边值条件式(9.4),
以左边界点(1,j)为例,见图9-2,
利用一阶差商公式
则得到边界点(0,j)处的差分方程
(9.8)
联立差分方程(9.6)与(9.7)或(9.8)就形成了求解Poisson方程边值问题的差分方程组,它实质上是一个关于未知量{ui,j}的线性代数方程组,可采用第2,3章介绍的方法进行求解。这个方程组的解就称为偏微分方程的差分近似解,简称差分解。
考虑更一般形式的二阶椭圆型方程
(9.9)
其中A(x,y)≥Amin>0, B(x,y) ≥Bmin >0, E(x,y) ≥0。引进半节点
利用一阶中心差商公式,在节点(i,j)处可有
对类似处理,就可推得求解方程(9.9)的差分方程
(9.10)
其中
(9.11)
显然,当系数函数A(x,y)=B(x,y)=1, C(x,y)=D(x,y)=E(x,y)=0时,椭圆型方程(9.9)就成为Poisson方程(9.1),而差分方程(9.10)就成为差分方程(9.6)。容易看出,差分方程(9.10)的截断误差为阶。
9.1.2 一般区域的边界条件处理
前面已假设G为矩形区域,现在考虑G为一般区域情形,这里主要涉及边界条件的处理。
考虑Poisson方程第一边值问题
(9.12)
其中G可为平面上一般区域,例如为曲边区域。仍然用两组平行直线:x=x0+ih1,y=y0+jh2,i,j=0,±1,…,对区域G进行矩形网格剖分,见图9-3。
如果一个内节点(i,j)的四个相邻节点(i+1,j),(i-1,j),(i,j+1)和(i,j-1)属于,则称其为正则内点,见图9-3中打“。”号者;如果一个节点(i,j)属于且不为正则内点,则称其为非正则内点,见图9-3中打“.”号者。记正则内点集合为,非正则内点集合为。显然,当G为矩形区域时,成立。
在正则内点(i,j)处,完全同矩形区域情形,可建立五点差分格式
(9.13)
在方程(9.13)中,当(i,j)点临近边界时,将出现非正则内点上的未知量,因此必须补充非正则内点处的方程。
若非正则内点恰好是边界点,如图9-4中
D点,则利用边界条件可取uD=α(D)
对于不是边界点的非正则内点,如图9-4中B点,一般可采用如下两种处理方法。
a.直接转移法.取与点B距离最近的边界点(如图9-4中E点)上的u的值作为u(B)的近似值uB,即uB=u(E)=α(E)
直接转移法的优点是简单易行,但精度较低,只为一阶近似。
b.线性插值法.取B点的两个相邻点(如图9-4中边界点A和正则内点C作为插值节点对u(B)进行线性插值
则得到点B处的方程
线性插值法精度较高,为二阶近似。
对每一个非正则内点进行上述处理,将所得到的方程与(9.13)式联立,就组成了方程个数与未知量个数相一致的线性代数方程组。求解此方程组就可得到一般区域上边值问题(9.12)的差分近似解。
对于一般区域上二阶椭圆型方程(9.9)的第一边值问题,可完全类似处理。
第二、三边值条件的处理较为复杂,这里不再讨论。
9.2 抛物型方程的差分方法
本节介绍抛物型方程的差分方法,重点讨论差分格式的构造和稳定性分析。
9.2.1 一维问题
作为模型,考虑一维热传导的初边值问题
(9.14)
(9.15)
(9.16)
其中a是正常数,都是已知的连续的函数。
现在讨论求解问题(9.14)-(9.18)的差分方法。首先对求解区域G={0≤x≤l, 0≤t≤T}进行网格剖分。取空间步长h=l/N,时间步长τ=T/M,其中N,M是正整数,作两族平行直线
将区域G剖分成矩形网格,见图9-5,网格交点(xj,tk)称为节点。
用差分方法求解初边值问题(9.14)-(9.16)就是要求出精确解u(x,t)在每个节点(xj,tk)处的近似值。为简化记号,简记节点(xj,tk)=u(j,k)。
利用一元函数的Taylor展开公式,可推出下列差商表达式
(9.17)
(9.18)
(9.19)
(9.20)
1.古典显格式
在区域G的内节点(j,k)处,利用公式(9.17)和(9.20),可将偏微分方程(9.14)离散为
其中。舍去高阶小项,就得到节点近似值(差分解)所满足的差分方程
(9.21)
显然,在节点(j,k)处,差分方程(9.21)逼近偏微分方程(9.14)的误差为,这个误差称为截断误差,它反映了差分方程逼近偏微分方程的精度。现将(9.21)式改写为便于计算的形式,并利用初边值条件(9.15)与(9.16)补充上初始值和边界点方程,则得到
(9.22)
其中称为网比。
与时间相关问题差分方程的求解通常是按时间方向逐层进行的。对于差分方程(9.22),当第k层节点值已知时,可直接计算出第k+1层节点值。这样,从第0层已知值开始,就可逐层求出各时间层的节点值。差分方程(9.22)的求解计算是显式的,无须求解方程组,故称为古典显格式。此外,在式(9.22)中,每个内节点处方程仅涉及k和k+1两层节点值,称这样的差分格式为双层格式。
差分方程(9.22)可表示为矩阵形式
(9.23)
其中
2. 古典隐格式
在区域G的内节点(j,k)处,利用公式(9.18)和(9.20),可将偏微分方程(9.14)离散为
舍去高阶小项,则得到如下差分方程
(9.24)
它的截断误差为,逼近精度与古典显格式相同。改写(9.24)式为便于计算的形式,并补充上初始值与边界点方程,则得到
(9.25)
与古典显格式不同,在差分方程(9.25)的求解中,当第k-1层值已知时,必须通过求解一个线性方程组才能求出第k层值,所以称(9.25)式为古典隐格式,它也是双层格式。
差分方程(9.25)的矩阵形式为
(9.26)
其中
向量同(9.23)式中定义。从(9.26)式看到,古典隐格式在每一层计算时,都需求解一个三对角形线性方程组,可采用追赶法求解。
3.Crank-Nicolson格式(六点对称格式)
利用一元函数Taylor展开公式可得到如下等式
使用这两个公式,在点离散偏微分方程(9.14),然后利用(9.20)式进一步离散二阶偏导数,则可导出差分方程
(9.27)
其截断误差为,在时间方向的逼近阶较显格式和隐格式高出一阶。这个差分格式称为Crank-Nicolson格式,有时也称为六点对称格式,它显然是双层隐式格式。改写(9.27)式,并补充初始值和边界点方程得到
(9.28)
它的矩阵形式为
(9.29)
在每层计算时,仍需求解一个三对角形方程组。
4. Richardson格式
利用公式(9.19)和(9.20),可导出另一个截断误差为阶的差分方程
称之为Richardson格式。可改写为
(9.32)
这是一个三层显式差分格式。在逐层计算时,需用到和两层值才能得到k+1层值。这样,从第0层已知值开始,还须补充上第一层值,才能逐层计算下去。可采用前述的双层格式计算。
除上述四种差分格式外,还可构造出许多逼近偏微分方程(9.14)的差分格式,但并不是每个差分格式都是可用的。一个有实用价值的差分格式应具有如下性质:
(1)收敛性。对任意固定的节点(xj,tk),当剖分步长时,差分解应收敛到精确解u(xj,tk)。
(2)稳定性。当某一时间层计算产生误差时,在以后各层的计算中,这些误差的传播积累是可控制而不是无限增长的。
理论上可以证明,在一定条件下,稳定的差分格式必然是收敛的。因此,这里主要研究差分格式的稳定性。
作为例子,先考查Richardson格式的稳定性。设是当计算过程中带有误差时,按Richardson格式(9.30)得到的实际计算值。是理论值,误差。假定右端项的计算是精确的,网比,则满足
(9.31)
设前k-1层计算时精确的,误差只是在第k层点发生,即
。
则利用(9.31)式可得到误差的传播情况,见表9-1。
表9-1 r=1/2时Richardson格式的误差传播
j
k
j0-4
j0-3
j0-2
j0-1
j0
j0+1
j0+2
j0+3
j0+4
k
0
0
0
0
ε
0
0
0
0
k+1
0
0
0
ε
-2ε
ε
0
0
0
k+2
0
0
ε
-4ε
7ε
-4ε
ε
0
0
k+3
0
ε
-6ε
17ε
-24ε
17ε
-6ε
ε
0
k+4
ε
-8ε
31ε
-68ε
89ε
-68ε
31ε
-8ε
ε
k+5
-10ε
49ε
-144ε
273ε
-388ε
273ε
-144ε
49ε
-10ε
k+6
71ε
-260ε
641ε
-1096ε
1311ε
-1096ε
641ε
-260ε
71ε
从表中看出,误差是逐层无限增长的。表中的计算虽然是就网比进行的,实际上对任何r>0都会产生类似现象,所以Richardson格式是不稳定的。
利用误差传播图表方法考查差分格式的稳定性虽然直观明了,但只能就具体取定的r值进行,并且也不适用于隐式差分格式。
9.2.2 差分格式的稳定性
前节构造的几种双层差分格式都可以表示为如下的矩阵方程形式
(9.32)
其中H称为传播矩阵。对于显格式H=A, 隐格式H=B-1,六点对称格式H=(I+B) -1 (I+A)。一般的三层格式也可以转化为双层格式。
为了讨论方便,设在初始层产生误差,且假定右端项的计算是精确的。用表示当初始层存在误差时,由差分格式(9.32)得到的计算解,则满足方程
(9.33)
记误差向量,则满足方程
(9.34)
定义9.1 称差分格式(9.32)是稳定的,如果对任意初始误差,误差向量在某种范数下满足
(9.35)
其中C为与h,τ无关的常数。
这个定义表明,当差分格式稳定时,它的误差传播是可控制的。
从(9.34)式递推得到
因此,差分格式稳定的充分必要条件是
(9.36)
定理9.3 (稳定性必要条件)差分格式稳定的必要条件是存在与h,τ无关的常数M,使谱半径
(9.37)
定理9.4 (稳定性充分条件)设H为正规矩阵,即,则(9.37)式也是差分格式稳定的充分条件。
下面讨论几种差分格式的稳定性。为便于讨论,引进N-1阶矩阵
这个特殊矩阵的特征值为
(9.38)
例9-1古典显格式 此时H=A=(1-2r)I+rS。 利用(9.38)式和三角函数公式,可求得H的特征值为
为使稳定性条件式(9.39)成立,必须且只须。由于H=A为实对称矩阵,所以古典显格式稳定的充分必要条件是网比
例9-2 古典隐格式 此时H=B-1,B=(1+2r)I-rS。利用(9.38)式可求得H的特征值为
显然,对任意r>0,条件(9.37)成立。注意,H=B-1仍为实对称矩阵,所以古典隐格式对任何网比r>0都是稳定的,称为绝对稳定。
例9-3 六点对称格式 此时H=(I+B)-1(I+A),利用矩阵A和B的特征值可得到矩阵H的特征值为
则对任意r>0,条件(9.37)成立。由于A和B均为实对称矩阵,且AB=BA,则可验证H也是实对称矩阵。所以六点对称格式是绝对稳定的。
习题九
9-1 试用五点差分格式求解Poisson 方程的边值问题
其中G={-1<x, y<1}。取步长h=0.5求解。
9-2 试写出求解Laplace方程边值问题
的五点差分格式,取步长h=1,并写出差分方程的矩阵形式。
9-3 试用古典显格式求解热传导方程定解问题
只计算k=1,2两层上的差分解,取网比r=1/6, h=0.2 。
9-4 用古典隐格式求解热传导方程定解问题
取精确解为 。
9-5 导出求解热传导方程的差分格式
的截断误差,并选取θ使其达到二阶。
183
展开阅读全文