数学 - 微分方程数值解 - 第 3 章 椭圆型方程的差分解法 - 3.2 五点差分格式

3.2 五点差分格式

3.2.1 五点差分格式的建立

(1) 建立差分格式

将区间 [a,b]m 等分,记

h1=bam,xi=a+ih1,i=0,,m

将区间 [c,d]n 等分,记

h2=dcn,yj=c+jh2,j=0,,n

h1x 方向步长,h2y 方向步长。用两簇平行线 x=xiy=yj 将区域 Ω 剖分为 mn 个小矩形,称两簇直线的交点 (xi,yj) 为网格结点。

所有结点构成集合

Ωh={(xi,yj)|0im,0jn}

所有内结点构成集合

Ω˚h={(xi,yj)|1im1,1jn1}

所有边界结点构成集合

Γh=ΩhΩ˚h

为方便记

ω={(i,j)|(xi,yj)Ω˚h},γ={(i,j)|(xi,yj)Γh},

Sh={v|v={vij|i,j}Ωh上的网格函数}

v={vij|0im,0jn}Sh,引进如下记号:

Dxvij=1h1(vi+1,jvij),Dx¯vij=1h1(vijvi1,j),

Dyvij=1h2(vi,j+1vij),Dy¯vij=1h2(vijvi,j1),

δx2vij=1h1(DxvijDx¯vij),δy2vij=1h2(DyvijDy¯vij)

v=maxi,j|vij|

在结点处考虑边值问题 (3.1.1)(3.1.2)

(3.2.1)[2ux2(xi,yj)+2uy2(xi,yj)]=f(xi,yj),(i,j)ω

(3.2.2)u(xi,yj)=φ(xi,yj),(i,j)γ

定义 Ωh 上的网格函数

U={Uij|0im,0jn},Uij=u(xi,yj)

二阶导数用二阶中心差商来近似,由 引理 2.2.1 可知

2ux2(xi,yj)=1h12[u(xi1,yj)2u(xi,yj)+u(xi+1,yj)]h12124ux4(ξij,yj)=δx2Uijh12124ux4(ξij,yj),xi1<ξij<xi+1

2uy2(xi,yj)=1h22[u(xi,yj1)2u(xi,yj)+u(xi,yj+1)]h22124uy4(xi,ηij)=δy2Uijh22124uy4(xi,ηij),yj1<ηij<yj+1

代入式 (3.2.1),可得

(3.2.3)(δx2Uij+δy2Uij)=f(xi,yj)h12124ux4(ξij,yj)h22124uy4(xi,ηij),(i,j)ω

(3.2.4)Uij=φ(xi,yj),(i,j)γ

在上式中略去小量项

(3.2.5)Rij=h12124ux4(ξij,yj)h22124uy4(xi,ηij)

uij 代替 Uij 得到如下差分格式

(3.2.6)(δx2uij+δy2uij)=f(xi,yj),(i,j)ω

(3.2.7)uij=φ(xi,yj),(i,j)γ

(2) 局部截断误差

Rij 为差分格式 (3.2.5) 的局部截断误差,它表示为差分格式 (3.2.5) 用精确解代替近似解后等式两边之差,即

Rij=1h12[u(xi1,yj)2u(xi,yj)+u(xi+1,yj)]1h22[u(xi,yj1)2u(xi,yj)+u(xi,yj+1)]f(xi,yj)

(3.2.8)M4=max{max(x,y)Ω¯|4ux4(x,y)|,max(x,y)Ω¯|4uy4(x,y)|}

则有

(3.2.9)|Rij|(h12+h22)12M4,1im1,1jn1

局部截断误差可以反映差分格式对原方程的近似程度,由上式显然可知当 M4< 时,差分格式 (3.2.5) 与微分方程 (3.1.1) 是相容的。

3.2.2 差分格式的求解

差分格式 (3.2.6)(3.2.7) 是以 (uij) 可视为未知量的线性方程组,式 (3.2.6) 可改写为

(3.2.10)1h22ui,j11h12ui1,j+2(1h12+1h22)uij1h12ui+1,j1h22ui,j+1=f(xi,yj),(i,j)ω

我们考虑将原始的差分格式写成两种形式:线性方程组与矩阵方程。

(1) 线性方程组形式

uj=[u1ju2jum1,j],0jn

利用式 (3.2.7) 可将式 (3.2.10) 改写为

(3.2.11)Duj1+Cuj+Duj+1=fj,1jn1

其中,

C=[2(1h12+1h22)1h121h122(1h12+1h22)1h121h122(1h12+1h22)1h121h122(1h12+1h22)]

D=[1h221h221h221h22],fj=[f(x1,yj)+1h12φ(x0,yj)f(x2,yj)f(xm2,yj)f(xm1,yj)+1h12φ(xm,yj)]

将式 (3.2.11) 进一步改写成

(3.2.12)[CDDCDDCDDC][u1u2un2un1]=[f1Du0f2fn2fn1Dun]

上述线性方程组的系数矩阵是一个三对角块矩阵,每一行至多有 5 个非零元素,通常称这种绝大多数元素为 0 的矩阵为稀疏矩阵。常用迭代法求解以大型稀疏矩阵为系数矩阵的线性方程组。

(2) 矩阵方程形式

可以将式 (3.2.6) 写成

1h12[121][ui1,juijui+1,j]+1h22[ui,j1uijui,j+1][121]=f(xi,yj)

进一步写成

(3.2.13)1h12Am1X+1h22XAn1=f+1h12uub+1h22ulr

其中,

Ak=[2112112112]k×kX=[u11u12u1,n1u21u22u2,n1um1,1um1,2um1,n1]

ulr=[u1000u1,nu2000u2,num1,000um1,n],uub=[u01u02u0,n1000000um1um2um,n1]

f=[f11f12f1,n1f21f22f2,n1fm1,1fm1,2fm1,n1],fij=f(xi,yj)

(3.2.13) 可写成矩阵方程形式

(3.2.14)AX+XB=C

A=1h12Am1,B=1h22An1,C=f+1h12uub+1h22ulr

(3) 性质

记式 (3.2.12) 的系数矩阵为 G,即

G=[CDDCDDCDDC]

我们可以发现,线性方程组与矩阵方程是等价的,它们之间具体的关系可用下述定理描述。

定理 3.2.1

对式 (3.2.11)

AX+XB=C[Kron(I,A)+Kron(BT,I)]vec(X)=vec(C)

其中第一个单位矩阵的阶数等于矩阵 X 的列数;第二个单位矩阵的阶数等于矩阵 X 的行数。vec 表示将矩阵用列拉直的方式变为列向量。Kron 为两矩阵的 kronecker 积。

表示为线性方程组时,可以发现系数矩阵不仅是一个稀疏矩阵,还具有良好的代数性质。

定理 3.2.2

(3.2.9) 的系数矩阵 G 为对称正定矩阵。

证明:系数矩阵 G 显然是一个对称矩阵。只需再证明该矩阵正定。

证毕。

(4) 求解的数值算法

(3.2.9) 的线性方程组形式可以看出,该线性方程组的系数矩阵是一个三对角块矩阵,每一行至多有 5 个非零元素,通常称这种绝大多数元素为零的矩阵为稀疏矩阵。常用迭代法求解以大型稀疏矩阵为系数矩阵的线性方程组。

  • Jacobi 迭代法k=0,1,2,,计算

uij(k+1)=[f(xi,yj)+1h22ui,j1(k)+1h12ui1,j(k)+1h12ui+1,j(k)+1h22ui,j+1(k)]/[2(1h12+1h22)],i=1,,m1,j=1,,n1

  • Gauss-Seidel 迭代法k=0,1,2,,计算

uij(k+1)=[f(xi,yj)+1h22ui,j1(k+1)+1h12ui1,j(k+1)+1h12ui+1,j(k)+1h22ui,j+1(k)]/[2(1h12+1h22)],i=1,,m1,j=1,,n1

3.2.3 差分格式解的先验估计式

我们可以应用极值原理来给出差分方程组的解的先验估计式。

u={uij|0im,0jn}Ωh 上的网格函数,简记

(Lhu)ij=(δx2uij+δy2uij),(i,j)ω

定理 3.2.3

u={uij|0im,0jn}Ωh 上的网格函数,如果我们有如下式子成立

(Lhu)ij0,(i,j)ω

则我们有

max(i,j)wuijmax(i,j)γuij

证明:用反证法。设

max(i,j)wuij>max(i,j)γuij

max(i,j)wuij=M,则一定存在 (i0,j0)ω 使得 ui0,j0=M,且 ui01,j0ui0+1,j0ui0,j01ui0,j0+1 中至少有一个值小于 M

因此我们可得

(Lhu)i0,j0=2(1h12+1h22)ui0,j01h12(ui01,j0+ui0+1,j0)1h22(ui0,j01+ui0,j0+1)>2(1h12+1h22)M1h12(M+M)1h22(M+M)=0

与条件矛盾。

证毕。

下面利用上述的极值原理给出差分格式解的先验估计式。

定理 3.2.4

给定差分方程组

(δx2uij+δy2uij)=fij,(i,j)ω

uij=φij,(i,j)γ

{uij} 为上述差分方程组的解,则有

max(i,j)ω|uij|max(i,j)γ|φij|+14[(ba2)2+(dc2)2]max(i,j)ω|fij|

上式中 (ba2)2+(dc2)2Ω 的外接圆半径的平方。

证明:我们记

C=max(i,j)ω|fij|

证毕。

3.2.4 差分格式解的存在性与唯一性

定理 3.2.5

差分格式 (3.2.6)(3.2.7) 的解存在且唯一。

证明:由于差分格式 (3.2.6)(3.2.7) 是线性的,考虑其齐次方程组

(3.2.15)(δx2uij+δy2uij)=0,(i,j)ω

(3.2.16)uij=0,(i,j)γ

u=M>0,则由 (3.2.16) 知,存在 (i,j)ω 使得 |ui0,j0|=M,且 |ui01,j0||ui0+1,j0||ui0,j01||ui0,j0+1| 中至少有一个小于 M,考虑式 (3.2.15)(i,j)=(i0,j0) 的等式,有

(2h12+2h22)ui0,j0=1h12(ui01,j0+ui0+1,j0)+1h22(ui0,j01+ui0,j0+1)

将上式两边取绝对值可得

(2h12+2h22)M1h12(|ui01,j0|+|ui0+1,j0|)+1h22(|ui0,j01|+|ui0,j0+1|)<(2h12+2h22)M

矛盾。故 M=0,因而差分格式的解是存在且唯一的。

证毕。

3.2.5 差分格式解的收敛性与稳定性

(1) 收敛性

给出差分格式的收敛性相关的定理。

定理 3.2.6

{u(x,y)|axb,cyd} 是定解问题 (3.1.1)(3.1.2) 的解,{uij|0im,0jn} 为差分格式 (3.2.5)(3.2.6) 的解,则有

max(i,j)ω|u(xi,yj)uij|M448[(ba2)2+(dc2)2](h12+h22)

其中 M4 由式 (3.2.8) 定义。

证明:我们记

eij=u(xi,yj)uij,(i,j)ωγ

将式 (3.2.3)(3.2.4) 分别与式 (3.2.6)(3.2.7) 相减,得误差方程为

(3.2.17)(δx2eij+δy2eij)=Rij,(i,j)ω

(3.2.18)eij=0,(i,j)γ

其中 Rij 由式 (3.2.5) 定义,由式 (3.2.9) 可知,有

max(i,j)ω|Rij|M412(h12+h22)

应用定理 3.2.4 可得

max(i,j)ω|eij|14[(ba2)2+(dc2)2]max(i,j)ω|Rij|M448[(ba2)2+(dc2)2](h12+h22)

证毕。

(2) 稳定性

假设在应用差分格式 (3.2.6)(3.2.7) 时,计算右端函数 f(xi,yj) 有误差 fij,计算边界值有误差 φij,考虑如下差分格式

(3.2.19)(δx2vij+δy2vij)=f(xi,yj)+fij,(i,j)ω

(3.2.20)vij=φ(xi,yj)+φij,(i,j)γ

{vij} 为上述差分格式的解,我们记

εij=vijuij,(i,j)ωγ

将式 (3.2.19)(3.2.20) 与式 (3.2.6)(3.2.7) 相减,得到

(3.2.21)(δx2εij+δy2εij)=fij,(i,j)ω

(3.2.22)εij=φij,(i,j)γ

应用定理 3.2.4 可得

max(i,j)ω|εij|max(i,j)γ|φij|+14[(ba2)2+(dc2)2]max(i,j)ω|fij|

由上式可知,当 |φij||fij| 是小量时,max(i,j)ω|εij| 也为小量。此时我们称差分格式 (3.2.6)(3.2.7) 关于边界值和右端函数是稳定的。

同时我们称得到的式 (3.2.21)(3.2.22)摄动误差方程组,可见它的形式与差分格式 (3.2.6)(3.2.7) 是一样的,综合以上,我们可以得到如下定理。

定理 3.2.7

差分格式 (3.2.6)(3.2.7) 在下述意义下关于边界值和右端函数是稳定的,设 {uij}

(δx2uij+δy2uij)=fij,(i,j)ω

uij=φij,(i,j)γ

的解,则有

max(i,j)ω|uij|max(i,j)γ|φij|+14[(ba2)2+(dc2)2]max(i,j)ω|fij|

证明:见上段关于摄动误差方程组的叙述。

证毕。

3.2.6 Richardson 外推法(待定,不知道是否该写这节)

??

posted on   Black_x  阅读(1899)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示