第2章抛物型方程的差分方法2.1差分格式建立的基础2.2显式差分格式2.3隐式差分格式2.4解三对角形方程的追赶法2.5差分格式的稳定性和收敛性2.6非线性抛物型方程的差分解法举例2.7二维抛物型方程的差分格式2.8交替方向的隐式差分格式(ADI格式)本章,我们研究线性抛物型方程的差分解法,主要讨论差分方程的构造方法和有关的理论问题以及研究方法等,重点在于一维线性抛物型方程的差分方法,对于非线性以及多维抛物型方程的差分解法也进行了研究。其中,为平面上某一区域。,),(,0),(,0),(),,(txtxctxatxxtutxcxutxbxutxaxtutx),(),()),((),((2.1)众所周知,一维线性抛物型方程的一般形式为(2)初边值问题(或称混合问题)通常考虑的定解问题有:(1)初值问题(或称Cauchy问题)在区域上求函数,使满足Ttxtx0,|),(xxxutx)()0,(),()1.2(方程(2.2)为给定的初始函数。)(xTtttuttuxxxutx0)(),1(),(),0(10)()0,(),()1.2(21方程(2.3)(2.4)在区域上求函数,使满足Ttxtx0,10|),(),(txu边值条件初值条件为了构造微分方程(2.1)的有限差分逼近,首先将求解区域用二组平行于轴和轴的直线构成的网格覆盖,网格边长在方向为,在方向为(如图2.1所示)。分别称为空间方向和时间方向的步长,网格线的交点称为网格的结点。对初值问题来说,网格是xtxhxtktkh,kTNNnnktn;,,2,1,0,2,1,0mmhxm2.1差分格式建立的基础在上的结点称为边界结点,属于内的结点0t称为内部结点。对于初边值问题,设,则网格是Ttxtx0,10|),(kTNNnnktn;,,2,1,01;,,2,1,0MhMmmhxm研究导数的差商近似表达式。为此对二元函数定义,且假定具有我们需要的有界偏导数。),(txuu),(nmnmtxuu),(txuu在上的结点称为边界结点,属于内的结点称为内部结点。1,0,0xxt差分方程就是在网格点上求出微分方程解的近似值的一种方法,因此又称为网格法。构造逼近微分方程的差分方程的方法。由Taylor展开,有nmnmnmnmnmxuhxuhxuhtxutxu)(!3)(!2)(!1),(),(3332221nmnmnmnmnmxuhxuhxuhtxutxu)(!3)(!2)(!1),(),(3332221则在处对的一阶偏导数有三个可能的近似:u),(nmtxxhuuhtxutxuxunmnmnmnmnm11),(),()(huuhtxutxuxunmnmnmnmnm11),(),()(huuhtxutxuxunmnmnmnmnm22),(),()(1111(2.5)(2.6)(2.7)向前差商向后差商中心差商显然,用差商近似导数存在误差,令huuxuEnmnmnmnm1)((2.8)则1,22)(2mmtxnmxxxxuhEn关于导数的近似差商表达式,也可以通过线性算子作为推导工具得到,定义:截断误差,阶为)(hO)(hO用向后差商近似导数的截断误差阶也为)(2hO而中心差商近似导数的截断误差阶为xDx为方向偏导数算子xxTnmnmxnmnmxuuTuuT111,为方向位移算子,xx)(212121nmnmnmxuuu为方向平均算子,x),2(21nmnmthxuu其中:方向的差分算子:xnmnmnmxuuu1(2.9)前差算子:,xxnmnmnmxuuu1(2.10)后差算子:,中心差算子:(2.11)nmnmnmxuuu2121x,nmnmxuuT2121,nmnmxuuT2121建立差分算子和导数算子之间的关系,由Talyor展开,有nmnmnmnmnmxuhxuhxuhuu)(!3)(!2)(!13332221nmxxuDhDhI22!2!1为恒等算子IuhDnmx)exp(由nmxnmuTu1得)exp(xxhDT(2.12)或者xxThDln(2.13)同理有)exp(1xxhDT1lnxxThD因为ITITxxxx,故323121)ln(xxxxxIhD(2.14)同理323121)ln(xxxxxIhD(2.15)因为2121xxxTT)21exp()21exp(xxxhDhD)21sinh(2xxhD(2.16)则54232!523!321)21sinh(2xxxxxarhD(2.17)式(2.14),(2.15),(2.17)分别给出了偏导数算子关于前差、后差、中心差的级数表达式双曲正弦3246nmxxxxxxnmxxxnmxxxnmuuuxuh533232)(403)(6131213121)((2.18.1)(2.18.2)(2.18.3)利用这些关系式就可给出偏导数的差分表达式返回又由222)ln(xxIDh222)ln(xxIDh222)21sinh(2xxarDh可得二阶偏导数的差分表达式nmxxxnmxxxnmxxxnmuuuxuh64233243222290112112111211)((2.19.1)(2.19.2)(2.19.3)返回返回4235nmxxxxxxnmxxxnmxxxnmuuuxuh753543543333)(12037)(21)(47234723)((2.20.1)(2.20.2)(2.20.3)nmxxxnmxxxnmxxxnmuuuxuh86465465444424076161726172)((2.21.1)(2.21.2)(2.21.3)对于三阶、四阶偏导数的差分表达式为从以上这些偏导数的差分表达式,我们可以得到偏导数的各种精度的近似表达式。nmnmnmxnmuuuxuh1)(且nmxnmxnmnmnmuuuuxuh3213121)()(又由二阶导数的前差表达式(2.19.1),得nmxnmuxuh2222)(因此)()(1)(1hOuuhxuEnmnmnmnm在的前差表达式中取第一项,则有nmxuh)(即截断误差阶为。)(hO现在研究构造微分方程(2.1)的差分方程的方法,为此记微分方程(2.1)为uDDtxLtuxx),,,(2(2.22)L是关于的线性算子,。包括二个相邻时间层的网格结点的差分方程可以从Talor展开式推出2,xxDDxDx),()!3!2!11(),(333222txutktktkktxu),()exp(txutk返回设,于是))1(,(,,1knmhuunktmhxnmnmnmutku)exp(1(2.23)如果算子L不依赖于t,即,则),,(2xxDDxLLnmxxnmuarharhmkkLu))))21sinh(2(),21sinh(2,(exp(21(2.25))21sinh(2xxarhD将式(2.17),,代入算子L中,即在L中用中心差分算子代替了微分算子,于是有xxD(2.24)nmnmukLu)exp(1返回3835目前通常用于解方程(2.1)的各种差分方程,都是方程(2.25)的近似表达式。下面各节,我们将以式(2.25)为基础,对简单的抛物型方程,推导一些常用差分格式。对于用差分方法求偏导数方程的数值解来说,设计差分方程,用之作为微分方程的近似,仅仅是第一步。本章除致力于这一研究外,特别着重讨论了诸如差分格式的稳定性、收敛性等基本问题,它们也是本书研究的主要内容之一。2.2显式差分格式现在,对抛物型方程(2.1)的几种特殊情况,从方程(2.25)出发,构造微分方程的有限差分近似。2.2.1一维常系数热传导方程的古典显示格式首先考虑一维热传导方程22xutu(2.26)的差分近似。差分方程的构造由,方程(2.24)为2xDLnmxnmukDu)exp(21nmxxuDkkD2222)(211代入式(2.19.3),得)901121(164222xxxxhD算子之间的关系则nmxxxnmurrrrrru62421)15121(61)61(211(2.27)其中为步长比。2hkr返回在上式中,如果仅仅保留二阶中心差分,且设为相应差分方程解在结点(mh,nk)上的值,则nmUnmxnmUrU)1(21(2.28)代入的表达式,则得差分方程2xnmnmnmnmrUUrrUU111)21((2.29)xxxuTtxxutu)()0,(0,022将格式(2.29)应用于解初值问题(初边值问题)古典显式差分格式图2.2差分格式(2.29)也可简单地由导数的差商近似表达式得到)(1)(1nmnmnmuuktu)2(1)(11222nmnmnmnmuuuhxu代入微分方程(2.26),并令差分方程解为即可。虽然在边界结点上,差分方程和微分方程具有相同的初值或者初边值条件,但是,一般而言,结点上微分方程的精确解和古典显式差分格式(2.29)的精确解不相等。nmU)1,(nm1nmu1nmU111nmnmnmUuz(2.30)记假定具有下面推导中所需要的有界偏导数,则由展开,有),(txuTaylornmnmnmnmnmtuktuktukuu)(6)(2)(3332221nmnmnmnmnmxuhxuhxuhuu)(6)(2)(3332221nmnmxuhxuh)(120)(24555444nmnmnmnmnmxuhxuhxuhuu)(6)(2)(3332221nmnmxuhxuh)(120)(24555444截断误差42nmnmnmnmnmxutukuururu)()()21(22111nmxurtuk)61(244222(2.31)则由式(2.26),(2.29),(2.30),(2.31)得nmnmnmnmnmxurtukzzrzrz)61(2)()21(44222111(2.32)从式(2.31)有nmnmnmnmnmxutukuururu)()()21(22111nmxurtuk)61(214422或nmnmnmnmnmnmxutuhuuukuu)(222211nmxurtuk)61(214422(2.33)从而,上式右边量描写了古典显式差