资源描述:
《《有限差分方法》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、有限差分方法有限差分方法一种求偏微分(或常微分)方程和方程组定解问题的数值解的方法,简称差分方法。微分方程的定解问题就是在满足某些定解条件下求微分方程的解。在空间区域的边界上要满足的定解条件称为边值条件。如果问题与时间有关,在初始时刻所要满足的定解条件,称为初值条件。不含时间而只带边值条件的定解问题,称为边值问题。与时间有关而只带初值条件的定解问题,称为初值问题。同时带有两种定解条件的问题,称为初值边值混合问题。定解问题往往不具有解析解,或者其解析解不易计算。所以要采用可行的数值解法。有限差分方法就是一种数值解法,它的基本思想是先把问题的定
2、义域进行网格剖分,然后在网格点上,按适当的数值微分公式把定解问题中的微商换成差商,从而把原问题离散化为差分格式,进而求出数值解。此外,还要研究差分格式的解的存在性和唯一性、解的求法、解法的数值稳定性、差分格式的解与原定解问题的真解的误差估计、差分格式的解当网格大小趋于零时是否趋于真解(即收敛性),等等。有限差分方法具有简单、灵活以及通用性强等特点,容易在计算机上实现。偏微分方程初值问题的差分法许多物理现象随着时间而发生变化、如热传导过程、气体扩散过程和波的传播过程都与时间有关。描述这些过程的偏微分方程具有这样的性质:若初始时刻t=t0的解已
3、给定,则tt0时刻的解完全取决于初始条件和某些边界条件。利用差分法解这类问题,就是从初始值出发,通过差分格式沿时间增加的方向,逐步求出微分方程的近似解。双曲型方程的差分方法最简单的双曲型方程的初值问题是:式中嫓(x)为已知初值函数。这初值问题的解是:u(x,t)=嫓(x-at)。(2)由(2)可见,(1a)(1b)的解(2)当a>0时代表一个以有限的速度a沿特征线x-at=常数向右传播的波,而解u(x,t)在P(慜,惭)点的值完全由嫓(x)在x轴上的点A(慜-а惭,0)的值决定。A点就是双曲型方程(1a)在P点的依赖域(图1)。现以初值问题
4、(1)为例介绍初值问题差分方法的基本思想。①剖分网格用网格覆盖(1a),(1b)的定解区域,如图2所示,在x,t平面的上半部作两族平行于坐标轴的直线:x=xj=jΔx,j=0,±1,±2,…t=tn=nΔt,n=0,1,2,…并称之为网格线。Δx,Δt分别称为空间步长和时间步长。网格线的交点(jΔx,nΔt)称为格点。②建立差分格式以下除特别声明外,总设a>0,由泰勒公式,有:,(3a)和-1θ20(3b)解出,代入(1a)得:(4)式中(5)E是微分方程(1a)用它的解在相邻三个格点(见图2)上的值的差分来表示的形式。略去(4)中关于Δx
5、,Δt的高阶项E,得到一个较简单的差分方程,但微分方程的解u(jΔx,nΔt)不再是这方程的解;设这个方程的解是u,u满足的方程是:;(6)式(6)还可写成:;(6′)初值条件(1b)此时就是:u=嫓(xj),j=0,±1,±2,…。(7)差分方程(6)和相应的初值条件(7)合称差分格式,利用这些格式可逐步算出t=Δt,2Δt,…各时间层的u,u,…,等等。这个把微分方程化为近似的差分方程的过程常称为离散化。③差分格式的截断误差和相容性(5)中的E是把微分方程充分光滑的解代入差分方程(6)的结果,它说明微分方程(1a)和差分方程(6)的区别
6、,称为差分格式(6)的截断误差。式(6)的截断误差对Δt和Δx都是一阶的,写成O(Δx+Δt),因此称差分格式(6)为一阶相容格式。一般说,如果Δx,Δt趋于零,截断误差也趋于零,则差分方程与微分方程是相容的。不相容的格式的解不能作为原微分方程的近似解,因而是无用的。方程(1a)的离散化过程也不是唯一的。例如取数值微分公式:代替微分方程(1a)中的,可得另一个差分方程:,(9)它的截断误差是O(Δx2+Δt)阶的,也是相容的差分格式,再若用数值微分公式代替(1a)中的,又得到截断误差为O(Δx+Δt)的相容差分格式:。(11)但是,并不是每
7、个相容格式都有用。④差分格式的收敛性设P(慜,惭)是求解区域中的一点,取步长Δx,Δt使慜=jΔx,惭=nΔt,用差分格式算出u,如果当Δx,Δt→0时u-u(慜,惭)→0,便可用步长充分小时的u作为微分方程的解u(jΔx,nΔt)的近似,这种差分格式便是收敛的。双曲型微分方程的解,对求解区域内一点(慜,惭)而言,在初值区域内有一个依赖域,差分方程也是如此,对于差分方程(6),点(jΔx,nΔt)的依赖域是初值线上区间【(j-n)Δx,jΔx】。如令Δt/Δx=r=常数,慜=jΔx,惭=nΔt,则差分方程(6)在点(慜,惭)的依赖域为【慜-
8、a惭/r,慜】,并且步长比r固定时,依赖域与Δx,Δt无关。差分方程(9)在(慜,惭)的依赖域是【慜-a惭/r,慜+a惭/r】,而差分方程(11)的依赖域则是【慜,慜+│a│惭/