如果一个内节点(i,j)的四个相邻节点(i+1,j),(i-1,j),(i,j+1)和(i,j-1)属于G?G??,则称其为正则内点,见图9-3中打“。”号者;如果一个节点(i,j)属于G且不为正则内点,则称其为非正则内点,见图9-3中打“.”号者。
?,非正则内点集合为?h?。显然,当G记正则内点集合为Gh??Gh,?h???h成立。 为矩形区域时,Gh
在正则内点(i,j)处,完全同矩形区域情形,可建立五点差分格式
?11?[u?2u?u]?[ui,j?1?2ui,j?ui,j?1]?fi,j,(i,j)?Ghi?1,ji,ji?1,j22h1h2
(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)进行线性插值
u(B)?xC?xBx?xAu(A)?Bu(C)?O(h12) xC?xAxC?xA则得到点B处的方程
uB?h1??(A)?uC,??xB?xA h1??h1??线性插值法精度较高,为二阶近似。
对每一个非正则内点进行上述处理,将所得到的方程与(9.13)式联立,就组成了方程个数与未知量个数相一致的线性代数方程组。求解此方程组就可得到一般区域上边值问题(9.12)的差分近似解。
对于一般区域上二阶椭圆型方程(9.9)的第一边值问题,可完全类似处理。
第二、三边值条件的处理较为复杂,这里不再讨论。
9.2 抛物型方程的差分方法
本节介绍抛物型方程的差分方法,重点讨论差分格式的构造和稳定性分析。
9.2.1 一维问题
作为模型,考虑一维热传导的初边值问题
?u?2u?a2?f(x,t),0?x?l,0?t?T?t?x
(9.14)
【最新整理,下载后即可编辑】
u(x,0)??(x),0?x?l
(9.15)
u(0,t)?g1(t),u(l,t)?g2(t),0?t?T (9.16)
其中a是正常数,f(x,t),?(x),g1(t)和g2(t)都是已知的连续的函数。
现在讨论求解问题(9.14)-(9.18)的差分方法。首先对求解区域G={0≤x≤l, 0≤t≤T}进行网格剖分。取空间步长h=l/N,时间步长τ=T/M,其中N,M是正整数,作两族平行直线
x?xj?jh,j?0,1,?,Nt?tk?k?,k?0,1,?M
将区域G剖分成矩形网格,见图9-5,网格交点(xj,tk)称为节点。
用差分方法求解初边值问题(9.14)-(9.16)就是要求出精确解u(x,t)在每个节点(xj,tk)处的近似值ukj?u(xj,tk)。为简化记号,简记节点(xj,tk)=u(j,k)。
利用一元函数的Taylor展开公式,可推出下列差商表达式 (9.17)
【最新整理,下载后即可编辑】
?uu(j,k?1)?u(j,k)(j,k)??O(?) ?t?
(9.18) (9.19)
?uu(j,k)?u(j,k?1)(j,k)??O(?) ?t?
?uu(j,k?1)?u(j,k?1)(j,k)??O(?2) ?t2??2uu(j?1,k)?2u(j,k)?u(j?1,k)2(j,k)??O(h) 22?xh(9.20)
1.古典显格式
在区域G的内节点(j,k)处,利用公式(9.17)和(9.20),可将偏微分方程(9.14)离散为
u(j,k?1)?u(j,k)其中
值(差分解)ukj所满足的差分方程
?1uk?ukjju(j?1,k)?2u(j,k)?u(j?1,k)?fjk?O(??h2) 2?hfjk?f(xi,tk)。舍去高阶小项O(??h2),就得到节点近似
?akkukj?1?2uj?uj?1??ah2?fjk
(9.21)
显然,在节点(j,k)处,差分方程(9.21)逼近偏微分方程(9.14)的误差为O(??h2),这个误差称为截断误差,它反映了差分方程逼近偏微分方程的精度。现将(9.21)式改写为便于计算的形式,并利用初边值条件(9.15)与(9.16)补充上初始值和边界点方程,则得到
?1kkkk?uk?ru?(1?2r)u?ru??fjj?1jj?1j??j?1,2,?,N?1,k?0,1,?,M?1?0?uj??(xj),j?1,2,?,N?1?uk?g(t),uk?g(t),k?0,1,?M1kN2k?0
(9.22) 其中r?a?h2称为网比。
【最新整理,下载后即可编辑】
与时间相关问题差分方程的求解通常是按时间方向逐层进行的。对于差分方程(9.22),当第k层节点值{ukj}已知时,可直接计算出第k+1层节点值{ukj?1}。这样,从第0层已知值u0j??(xi)开始,就可逐层求出各时间层的节点值。差分方程(9.22)的求解计算是显式的,无须求解方程组,故称为古典显格式。此外,在式(9.22)中,每个内节点处方程仅涉及k和k+1两层节点值,称这样的差分格式为双层格式。
差分方程(9.22)可表示为矩阵形式
?uk?1?Auk?Fk,k?0,1,?,M?1 ?0u???
(9.23) 其中
r?1?2r??r?1?2rr??? A?????????r???r1?2r???kTuk?(u1k,?,uN?1)kkTFk?(?f1k?rg1(tk),?f2k,?,?fN?2,?fN?1?rg2(tk))
??(?(x1),?,?(xN?1))T2. 古典隐格式
在区域G的内节点(j,k)处,利用公式(9.18)和(9.20),可将偏微分方程(9.14)离散为
u(j,k)?u(j,k?1)??au(j?1,k)?2u(j,k)?u(j?1,k)k2?f?O(??h) j2h舍去高阶小项O(??h2),则得到如下差分方程
【最新整理,下载后即可编辑】