椭圆型方程的差分格式
- 格式:pdf
- 大小:324.81 KB
- 文档页数:61
椭圆型方程的差分方法差分方法是一种数值计算方法,使用近似的差商来表示微分方程。
椭圆型方程是一类常见的偏微分方程,具有重要的数学和物理应用。
在本文中,我们将介绍椭圆型方程的差分方法,并讨论其优点和缺点。
一、椭圆型方程的差分近似L[u]=-∂(p∂u/∂x)/∂x-∂(q∂u/∂y)/∂y+r(x,y)u=f(x,y)其中,L[u]是一个偏微分算子,u(x,y)是未知函数,p(x,y),q(x,y),r(x,y),f(x,y)是已知函数。
椭圆型方程的解通常在一个区域Ω上求解。
差分方法的主要思想是用网格来离散化区域Ω,将连续的偏微分方程转化为离散的代数方程。
对于椭圆型方程,我们可以选择矩形网格,其中Ω可以被划分为N*M个小矩形,并且网格的步长为Δx和Δy。
假设我们要在网格点(xi, yj)处求解未知函数的值uij,其中i和j分别表示网格的行索引和列索引。
我们可以使用中心差分法来近似x和y方向的偏导数,从而得到离散形式的椭圆型方程:L[u] ≈ -(p(xi+1/2, yj)(ui+1,j - ui-1,j)/Δx^2 + p(xi,yj+1/2)(ui,j+1 - ui,j-1)/Δy^2) + q(xi,yj)uij = f(xi,yj)其中,p(xi+1/2, yj)和p(xi, yj+1/2)分别表示在(xi+1/2, yj)和(xi, yj+1/2)处的系数。
可以通过有限差分方式计算出这些系数。
将上述公式在每个网格点(xi, yj)处形成一个方程,从而得到一个线性方程组。
通过求解这个线性方程组,我们可以得到网格点上的未知函数值。
二、椭圆型方程差分方法的优点和缺点差分方法是一种简单有效的数值计算方法,具有以下优点:1.可以处理任意形状的区域Ω:差分方法可以适应不规则网格和复杂区域,因此适用于各种几何形状的椭圆型方程求解。
2.数值稳定性:差分方法可以确保数值解的稳定性,避免数值上的不稳定问题。
3.线性时间复杂度:差分方法的计算复杂度通常是线性的,即解方程的时间随着网格点数的增加而线性增加。
matlab用p-r迭代格式求解椭圆型方程的五点差分格式的数值解椭圆型方程是指具有椭圆形状的偏微分方程,如拉普拉斯方程和泊松方程。
求解椭圆型方程的五点差分格式采用p-r迭代格式,其中p是点迭代格式,r是剩余项。
五点差分格式是一种常用的离散化方法,它将偏微分方程离散化为代数方程组。
在五点差分格式中,我们将椭圆型方程的二阶导数离散化为中心差分的形式,使用对角线占主导地位的三对角矩阵来表示离散化后的方程组。
为了使用p-r迭代格式求解椭圆型方程的五点差分格式,我们首先将原方程进行离散化。
考虑一个二维平面上的椭圆型方程:∂²u/∂x² + ∂²u/∂y² = f(x, y)在区域Ω上,Ω为矩形区域,边界Γ为Ω的边界,假设Γ上已知u的值。
我们将Ω划分为网格点,使得Ω中的每个内部节点(xi, yj)与周围的四个节点(xi-1, yj)、(xi+1, yj)、(xi, yj-1)、(xi, yj+1)建立联系。
离散化后,我们得到如下的五点差分方程:(1/hx²)(ui-1,j - 2ui,j + ui+1,j) + (1/hy²)(ui,j-1 - 2ui,j + ui,j+1) = fi,j其中,ui,j为节点(xi, yj)上的解,fi,j为f(xi, yj)的离散值。
hx和hy分别是x和y的网格步长。
使用p-r迭代格式,我们可以得到迭代公式:ui,j⁽ⁿ⁺¹⁾ = (1/(2a))(ui-1,j⁽ⁿ⁾ + ui+1,j⁽ⁿ⁾) + (1/(2b))(ui,j-1⁽ⁿ⁾+ ui,j+1⁽ⁿ⁾) - (1/(2a+2b))fi,j其中,a = (hx/2)²,b = (hy/2)²,n表示迭代次数。
在实际计算中,我们可以采用逐次超松弛(SOR)方法作为p-r迭代的形式。
SOR方法会引入松弛因子ω,更新的迭代公式为:ui,j⁽ⁿ⁺¹⁾ = (1-ω)ui,j⁽ⁿ⁾ + (ω/(2a))(ui-1,j⁽ⁿ⁾ + ui+1,j⁽ⁿ⁾) + (ω/(2b))(ui,j-1⁽ⁿ⁾ + ui,j+1⁽ⁿ⁾) - (ω/(2a+2b))fi,j此外,为了获得数值解,我们需要设定合适的初始猜测值和迭代停止准则。
数学模型解的存在性解的唯一性解的稳定性解的一些性质解的表达式}适定性数值解存储量计算时间区域方程定解条件回顾:问题的离散第5章椭圆型方程的差分方法§1-3Poisson方程一.区域矩形圆环离散(差分法):网格剖分矩形区域i i i i二.差分格式224412(i,j)(i,j-1)(i,j+1)(i+1,j)(i-1,j)2. 九点差分格式x x2222222h2222121222221212三. 边界条件的处理(矩形区域)xy0(,)i x y I 10(,)x y +J+1(,)i x y )j y(注:四. 差分格式的性质:111 .i i i i i i +-解的存在唯一性与边界条件无关0000002(11002. (,)x y i i i ii ih ji i j h u u x y +→→+−−−→差分方程解的收敛性2||||||2h h hji h h jjji i h i D D D u D D a u u u a D x ∂⋃∂≤+∆插入引理:设是定义在上的函数,那么有max max max 其中为矩形区域的方向的边长.x.3差分格式的稳定性五. 极坐标下的差分格式22+x y注:r∂r(,)i j r θθπR六. 一般区域DDyO x第一类边界条件:T QP δyh第三类边界条件:PQQPnnPQ Q PnnPQR1θu u ux y n u ux y ∂∂∂∂∂∂∂∂∂∂ 2θQRT PS注:没有统一的近似,只要合理就好。
§4变系数方程abxy 矩形区域iP1Q 3Q 2Q 3N4Q 2N4N1N,i jD+-i i i i i i 11。
椭圆型方程的差分解法1.引言考虑问题①二维Poisson 方程2222(,)u u f x y x y ⎛⎫∂∂-+= ⎪∂∂⎝⎭, (,)x y ∈Ω 其中Ω为2R 中的一个有界区域,其边界Γ为分段光滑曲线。
在Γ上u 满足下列边界条件之一:⑴(,)u x y αΓ=(第一边值条件), ⑵(,)ux y n βΓ∂=∂(第二边值条件), ⑶(,)uku x y n γΓ∂+=∂(第三边值条件), (,),(,),(,),(,),(,)f x y x y x y x y k x y αβγ都是连续函数,0k ≥.2.差分格式将区间[,]a b 作m 等分,记为11()/,,0i h b a m x a ih i m =-=+≤≤;将区间[,]c d 作n 等分,记为22()/,,0i h d c n y c jh j n =-=+≤≤.称1h 为x 方向的步长,2h 为y 方向的步长。
2.1 Poisson 方程五点差分格式参考单如图所示:以(,)i j x y 为中心沿y 方向Taylor 展开:2344111111(,)(,)(,)(,)(,)(,)(),2624i j i j x i j xx i j xxx i j xxxx i j h h h u x y u x y h u x y u x y u x y u x y o h +=+++++①2344111111(,)(,)(,)(,)(,)(,)(),2624i j i j x i j xx i j xxx i j xxxx i j h h h u x y u x y h u x y u x y u x y u x y o h -=-+-++②由① + ② 得:42411111(,)(,)2(,)(,)(,)(),12i j i j i j xx i j xxxx i j h u x y u x y u x y h u x y u x y o h -++=+++整理得到:21121121(,)2(,)(,)(,)(,)(),12i j i j i j xx i j xxxx i j u x y u x y u x y h u x y u x y o h h +--+-=--+③同理,以(,)i j x y 为中心沿y 方向Taylor 展开:21122222(,)2(,)(,)(,)(,)(),12i j i j i j yy i j yyyy i j u x y u x y u x y h u x y u x y o h h +--+-=--+④代入原方程得○5:11112212(,)2(,)(,)(,)2(,)(,)(,),i j i j i j i j i j i j i j ij u x y u x y u x y u x y u x y u x y f x y R h h +-+--+-+⎛⎫-+=+ ⎪⎝⎭得到截断误差:44222212441(,)(,)()(),12ij i j h i j iju u R u x y u x y h h o h o h x y ⎡⎤∂∂=∆-∆=-++=⎢⎥∂∂⎣⎦ 其中u 是原方程光滑解,舍去截断误差得到逼近Poisson 方程的五点差分方程:11112212(,)2(,)(,)(,)2(,)(,)(,),i j i j i j i j i j i j i j u x y u x y u x y u x y u x y u x y f x y h h +-+--+-+⎛⎫-+= ⎪⎝⎭○6 考虑到边值条件(,)(,)u x y x y αΓ=,构成差分格式:11112212(,)2(,)(,)(,)2(,)(,)(,),(,)(,),i j i j i j i j i j i j i j u x y u x y u x y u x y u x y u x y f x y h h u x y x y α+-+-Γ⎧-+-+⎛⎫-+=⎪ ⎪⎨⎝⎭⎪=⎩○72.2 Poisson 方程九点差分格式由上式 ③ + ④ 得:11112212442221244222222122222(,)2(,)(,)(,)2(,)(,)(,)1(,)()12(,)(,)1(,)12i j i j i j i j i j i j h i j i j iji j i j i j u x y u x y u x y u x y u x y u x y u x y h h u u u x y h h o h x y u x y u x y u x y h h x y x y +-+--+-+=+⎡⎤∂∂=∆+++⎢⎥∂∂⎣⎦⎛⎫∂∂⎛⎫∂∂=∆+++- ⎪ ⎪ ⎪∂∂∂∂⎝⎭⎝⎭V 422212222242222212122222(,)()12(,)(,)(,)1(,)()1212i j i j i j i j i j u x y h h o h x y f x y f x y u x y h h f x y h h o h x y x y ∂++∂∂⎛⎫∂∂∂+=--+-+ ⎪ ⎪∂∂∂∂⎝⎭○8 又()41122222211111112212311111(,)(,)2(,)(,)()1[(,)2(,)(,)2(,)2(,)(,)(,)2(,)(,)]()i j xx i j xx i j xx i j i j i j i j i j i j i j i j i j i j u x y u x y u x y u x y o h x y h u x y u x y u x y u x y u x y u x y h h u x y u x y u x y o h +-+++-++-+----∂-+=+∂∂=-+--++-++ 则得到:222222121121112112222221211212122222221112111211()(,)(210)(,)()(,)(210)(,)20()(,)(210)(,)(210)(,)()(,)()(,)i j i j i j i j i j i j i j i j i j h h u x y h h u x y h h u x y h h u x y h h u x y h h u x y h h u x y h h u x y h h u x y ---+--++-+++-++--++-+++-+--+-+2212222241222,12(,)(,)1(,)()12i j i j i j h hf x y f x y f x y h h o h x y ⎛⎫∂∂=--++ ⎪ ⎪∂∂⎝⎭○9 舍去截断误差得到逼近Poisson 方程的九点差分方程○10:()()2212,11,,11,1,11,11,11,122122212(,)[42]121(,)(,),12i j i j i j i j i j i j i j i j i j i j ij xx i j yy i j h h u x y u u u u u u u u u h h f h f x y h f x y -++-+---++-++-∆--+++++++''''=++考虑到边值条件(,)(,)u x y x y αΓ=,构成差分格式○11:()()2212,11,,11,1,11,11,11,122122212(,)[42]121(,)(,),12(,)(,),i j i j i j i j i j i j i j i j i j i j ijxx i j yy i j h h u x y u u u u u u u u u h h f h f x y h f x y u x y x y α-++-+---++-+Γ⎧+-∆--+++++++⎪⎪⎪''''=++⎨⎪⎪=⎪⎩3.格式求解3.1 Poisson 方程五点差分格式记122,1,j j j m j m j u u u u u --⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦M ,0.j n ≤≤矩阵格式改写为:11,11j j j j Du Cu Du f j m -+++=≤≤-,其中2221212222112122221121222112(1)111211112111121112m h h h h h h h C h h h h h h h -⎡⎤⎛⎫+-⎢⎥ ⎪⎝⎭⎢⎥⎢⎥⎛⎫⎢⎥-+- ⎪⎢⎥⎝⎭⎢⎥=⎢⎥⎢⎥⎛⎫⎢⎥-+- ⎪⎢⎥⎝⎭⎢⎥⎛⎫⎢⎥-+ ⎪⎢⎥⎝⎭⎣⎦O OO ,22222222(1)1111m h h D h h -⎡⎤-⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥-⎢⎥⎣⎦O,10212212111(,)(,)(,)(,)1(,)(,)j j j j m j m j m j m f x y x y h f x y f f x y f x y x y h ---⎡⎤+Φ⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥+Φ⎢⎥⎣⎦M , 可进一步写为:110222211(1)*(1).n n n n n n m u f Du C D u f D C D u f D C D u f Du D C -------⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦M M O O O3.2 Poisson 方程九点差分格式记122,1,j j j m j m j u u u u u --⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦M ,0.j n ≤≤矩阵格式改写为:11,11j j j j Du Cu Du f j m -+++=≤≤-,其中2222121222222212121222222212121222221212(1)20()(210)(210)20()(210)(210)20()(210)(210)20()m h h h h h h h h h h C h h h h h h h h h h -⎡⎤+-⎢⎥-+-⎢⎥⎢⎥=⎢⎥-+-⎢⎥⎢⎥-+⎣⎦O O O, 2222211222222212211222222212211222221221(1)(210)()()(210)()()(210)()()(210)m h h h h h h h h h h D h h h h h h h h h h -⎡⎤--+⎢⎥-+--+⎢⎥⎢⎥=⎢⎥-+--+⎢⎥⎢⎥-+-⎣⎦O,22121022221211(,)(210)(,)(,)(,)(,)(210)(,)j j j j m j m j m j m f x y h h x y f x y f f x y f x y h h x y ---⎡⎤--Φ⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥+-Φ⎣⎦M, 可进一步写为:110222211(1)*(1).n n n n n n m u f Du C D u f D C D u f D C D u f Du D C -------⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦M M O O O4.数值例子4.1 Poisson 方程五点差分格式计算如下问题:22220,01,01,(0,)sin cos ,(2,)(sin cos ),01,(,0),(,1)(sin1cos1),0 1.x x u u x y x y u y y y u y e y y y u x e u x e x ⎛⎫∂∂-+=<<<< ⎪∂∂⎝⎭=+=+≤≤==+<<其精确解为:(,)(sin cos ).x u x y e y y =+,11,1,,1,222222122112112()(,),i j i j i j i j i j i j u u u u u f x y h h h h h h -+-++=++++ 考虑到本例中h1=h2,则有2,11,1,,1,(,),4i j i j i j i j i j i j u u u u h f x y u -+-+++++=利用Gauss-Seidel 迭代方法对k=0,1,2,……,计算112,11,1,,11(,),41,2,....,1;1,2,...., 1.k k k k i j i j i j i j i j k ij u u u u h f x y u i m j n ++--+++++++==-=-表1 部分结点处的精确解和取不同步长时所得的数值解表2 取不同步长时部分结点处数值解的误差绝对值图1 取h=1/4时所得的数值解曲线图2 取h=1/4时所得的误差曲线图3 取h=1/16时所得的数值解曲线图4 取h=1/16时所得的误差曲线图5 取h=1/64时所得的数值解曲线图6 精确解曲线图7 取h=1/64时所得的误差曲线4.2 Poisson 方程九点差分格式计算如下问题:22220,01,01,(0,)sin cos ,(2,)(sin cos ),01,(,0),(,1)(sin1cos1),0 1.x x u u x y x y u y y y u y e y y y u x e u x e x ⎛⎫∂∂-+=<<<< ⎪∂∂⎝⎭=+=+≤≤==+<<其精确解为(,)(sin cos ).x u x y e y y =+222222221212121112122222222121112111211211222211120()(,)12(,)()(,)(102)(,)()(,)()(,)()(,)(102)(,)(102)(,)(10i j i j i j i j i j i j i j i j i j h h u x y h h f x y h h u x y h h u x y h h u x y h h u x y h h u x y h h u x y h h u x y h ----++++--++=+++-+++++++-+-+2212)(,)i j h u x y +-考虑到本例中h1=h2,则有,11,1,,11,11,11,11,1,4(),20i j i j i j i j i j i j i j i j i j u u u u u u u u u -+-+--++-++-+++++++=利用Gauss-Seidel 迭代方法对k=0,1,2,……,计算1111,11,1,,11,11,11,11,11,4(),201,2,....,1;1,2,...., 1.k k k k k k k k i j i j i j i j i j i j i j i j k i j u u u u u u u u u i m j n ++++-+-+--++-++-++++++++==-=-表1 部分结点处的精确解和取不同步长时所得的数值解表2 取不同步长时部分结点处数值解的误差绝对值表3 取不同步长时部分结点处数值解的最大误差图1 取h=1/4时所得的数值解曲线图2 取h=1/16时所得的数值解曲线图3 取h=1/64时所得的数值解曲线图4 取h=1/4时所得的误差曲线图5 取h=1/16时所得的误差曲线图6 取h=1/64时所得的误差曲线5.结论观察Poisson方程五点格式,方程以较快速度迭代收缩。
第4章 椭圆型方程的有限差分法§ 2 一维差分格式1、用积分插值法导出逼近微分方程的差分格式。
, d / du 、 du 上 , Lu=- (p )+r +qu=f,a<x<b, dx dx dxu(a)= a ,u(b)=如果系数p,q,r 以及右端f 光滑,则可用中矩形公式计算得解:考虑在[a,b ]内任一小区间[x ⑴,x (2)],将上式在此区间上积分得 X ⑵d dU曲 d ;(p(x)d ;)dxW(x ⑴)W(x ⑵)x(2)dU(1) r ——dxxdx x ⑵dU 」 xr dxx (2) x (1) qudx X (2)X (1) qudxX (2)x (1)fdXX ⑵X (1) fdX其中,W(x) p吧特别地,取[X ⑴,X ⑵]为对偶单元[x i 1/2 , x i 1/2 ],则W (x i 1/2)W(x i 1/2)x1/2dUr ——dxxi 1/2 qudxxi 1/ 2xi 1/ 2 fdx 。
Xi 1/ 2-J..将(1.2)改写成—dxW(x)再沿[x i 1/2, x i 1/2]积分,得U i U iX iW(x) dx , Xi 1p(x)矩形公式,得W 1/2a iU i U ih i a iNdx x1 p(x)]xi 1/ 2又qUdxXi 1/ 2h ih i2:d i U i , d ixi 1/ 2 x q(x)dxX1/2x1/2dU , r ——dx.U i 1 U i 1bi "T-2 h i h i 1x 1/2 xr(x)dxxi1/22ih i h i 1x1/ 2 f (x)dxxi 1/2(1.1) (1.2)利用中(1.3)(1.4)(1.5)(1.6)将(1.3) ~ (1.5)代入1.1),即得微分方程的差分格式a iU i U i 1h*h i h i 1)d i U b^Ui21-(h i h i 1) i则逼近阶为O(h 2)。