AppliedMathematicsandMechanics
文章编号:1000_0887(2003)01_0029_10
重庆出版社出版
应用数学和力学编委会编
变系数对流_扩散方程的交替分段Crank_Nicolson方法
王文洽
(山东大学数学与系统科学学院,济南250100)
(云天铨推荐)
摘要:对Saulyev型格式中的对流项构造了一种新的离散化逼近形式,进而给出了变系数对流_扩散方程的Crank_Nicolson方法这个方法是绝对稳定的数值实验表明该方法并行性好,精度高,宜于直接在并行计算机上使用
关键词:对流_扩散方程;交替分段方法;Crank_Nicolson格式;非对称差分格式;
绝对稳定;并行计算
中图分类号:O241文献标识码:A
引言
变系数对流_扩散方程的数值解法在非均匀介质中的热传导、粒子扩散等物理现象的研究中有广泛应用,例如在盆地发育史数值模拟中古地热的传递就属于这类问题因此,研究该问题的并行数值计算方法是现代科学飞速发展的需要,有重要的科学意义和应用价值D.JEvans,张宝琳等人对于抛物型方程的并行差分法做了许多研究工作的研究,却仅限于扩散方程
[8~11]
[1~7]
,提出了一类交替分组
显式(AGE)方法和交替分组显_隐(AGE_I)格式而关于交替分段Crank_Nicolson方法(ASC_N)
本文对对流项做了不同于文献[5~7]的处理,并利用了第二
类Saulyev型非对称格式和具有二阶精度的Crank_Nicolson格式,构造了具有并行本性的绝对稳定的ASC_N方法数值试验表明,方法在精度和稳定性方面都取得了很好的效果
我们考虑的问题是
uuu+k=(a(x))(0 u(x,0)=f(x)(0 (1)(2)(3) 收稿日期:2000_11_20;修订日期:2002_07_21 基金项目:国家教育部博士点专项基金资助项目(97042202)作者简介:王文洽(1950),男,山东阳谷县人,教授主要研究研究方向为油水资源数值模拟,微分 方程数值解法及应用软件等(E_mail:wwqia@math.sdu.edu.cn) 2930王文洽 0 1交替分段Crank_Nicolson方法 首先将区域(0,1)(0,T)进行剖分,记空间步长h=1m,时间步长为t,m是正整数,节点(xi,tn)用(i,n)表示,xi=ih(i=0,1,,m),tn=nt(n=0,1,,[Tt]),tn+12=tn+t2为方便起见,定义 h,h,xui=(ui+1-ui)xui=(ui-ui-1)2h,^ui=(ui+1-ui-1)2h,^ui=(ui+1-ui-1)xx -2h,-ui)tx^ui=(ui+1-ui-1)tui=(ui nn nn nn nnn nnn+1n nn+1nnn+1 在构造交替分段Crank_Nicolson方法时,我们用到下面的逼近方程(1)的Crank_Nicolson差分格式和第二类Saulyev型非对称格式Crank_Nicolson格式: tui+ n [12] : kn+1n1n+1n (^uix+x^ui)=(x(a-12xu)i+x(a-12xu)i),22 n 2 n+1 n+1 n+1n (5) 此处,ai+12=a(xi+h2),ui是要求的数值解,记r=t2h,(5)式可写成 -r(ai-12+kh2)ui-1+(1+r(ai-12+ai+12))ui-r(ai+12-kh2)ui+1=r(ai-12+kh2)ui-1+(1-r(ai-12+ai+12))ui+r(ai+12-kh2)ui+1Saulyev型非对称格式: nk-nn1n-1n+1n 1 tui+(x^ui+^ui)=x(x(a-xu)i+h(ai+12xui-ai-12xui)),222 n n (6) (7)(8)(9)(10) tui+tui+tui+ nn n knn1n-1nn+1 1u)(^ui+((axx^ui)=x(a-xi+hi+12xui-ai-12xui)),222k-nn+11n+1-1n+1n 1 ()=(+h(a-ax^ui+^uixx(a-xu)ii+12xuii-12xui)),222k^nn+11n+1-1nn+1 1 (xui+x^ui)=(x(a-xu)i+h(ai+12xui-ai-12xui)),222 同样,(7)~(10)式也可以写成下面的形式 n+1khn+1 (1+rai+12)ui-rai+12-ui+1=2 r(2ai-12+kh)ui-1+(1-r(2ai-12+ai+12))ui+rai+12--rai-12-khn+1n+1 ui-1+(1+rai-12)ui=2 (12) n n khn ui+1,2 (11) nnkhun+(1-r(2arai-12+i-1i+12+ai-12))ui+r(2ai+12-kh)ui+1,2 -rai-12+ khn+1n+1n+1 ui-1+(1+r(2ai+12+ai-12))ui-r(2ai+12-kh)ui+1=2 khnn ui-1+(1-rai-12)ui,2 (13) rai-12+ n+1n+1khn+1 -r(2ai-12+kh)ui-1+(1+r(2ai-12+ai+12))ui-rai+12-2ui+1= 变系数对流_扩散方程的交替分段Crank_Nicolson方法31 (1-rai+12)ui+rai+12- n khn ui+12 (14) 在给出交替分段Carnk_Nicolson方法之前,我们先给出本文使用的两个基本段型,即由2l个内点组成的G2l组和由l个内点组成的Gl组 首先,假定第n层上的数值解ui已经给出,为了求第(n+1)层的值ui,我们构造G2l组上的差分方程,G2l组是由内点(xIj+i,tn+1)(i=1,,2l)组成,此处j为G2l组的序号G2l组上的差分格式按如下的规定给出,在点(xIj+1,tn+1)处使用格式(11),在点(xIj+l,tn+1)处使用格式(13),在点(xIj+l+1,tn+1)处使用格式(14),在点(xIj+2l,tn+1)处使用格式(12),在其余各点(xIj+i,tn+1)(i=2,,l-1,l+2,,2l-1)处使用Grank_Nicolson格式(6)于是可得到基本段G2l上的差分格式的矩阵形式 A2luIj=B2luIj+bIj,A2l=I+rQ2l,B2l=I-rP2l此处,uIj=(uIj+1,uIj+2,,uIj+2l),bIj=(2rb1uIj,0,,0,2rc2luIj+2l+1),若记 bi=aIj+i-12+ j i j n n n n T (2) j n j n T (j) n+1 (j) n (2) (j) (j) (j) (j) n n+1 (15) khjkh,ci=aIj+i+12-22 -j d^=aIj+i-12+aIj+i+12,d^i=aIj+i-12+2aI+i+12 j di=2aIj+i-12+aIj+i+12,di=aIj+i-12,di=aIj+i+12,则 dj1-bj2 -cj1dj2^ -cj2-bjl-1 Q (j)2l jjj djl-1^-b j l -cjl-1 = jld-2b j l+1 -2cjld jl+1 , -c jl+1 -bjl+2djl+2^ -cjl+2 -bj2l-1 dj2l-1^-bj2l -cj2l-1j2ld 2l2l dj1-bj2 -cj1d^j2 -cj2-bjl-1 djl-1-cjl-1^bjl djl djl+1-bjl+2 -cjl+1djl+2^ -cjl+1 -bj2l-1 dj2l-1^-bj2l -cj2l-1dj2l^ -2l2l P (j) 2l = 32王文洽 其次,我们给出Gl组上的差分方程,Gl组是由内点(xIj+i,tn+1)(i=1,,l)组成,其差分格式按如下的规定给出,在第一个点(xIj+1,tn+1)处使用格式(11),在点(xIj+l,tn+1)处使用格式(12),在其余各点(xIj+i,tn+1)(i=2,,l-1)处使用Carnk_Nicolson格式(6)于是可以得到基本段Gl上的差分格式的矩阵形式 AluIj=BluIj+bIj,Al=I+rQl,Bl=I-rPl 此处,uIj=(uIj+1,uIj+2,,uIj+l),bIj=(2rb1uIj,0,,0,2rcluIj+1l+1) d1-b2 Ql= (j) jj n n n n T (1) j n j n T j (j) (j) (j) (j) (j) n+1 (j) n (1) (16) -c1d^2 j -c2-bl-1 j j ^l-1d-bl jj , -cl-1 dl j llj d1-b2 Pl= (j) j j -c1^2d j j -c2-bl-1 j j ^l-1d-b j lj -cl-1 -j ^ld j ll 对于G2l组和Gl组的两种特殊情况,其差分格式要做如下改变: 注1当G2l组或Gl组靠近左边界时,即(xI,tn+1)为左边界点,则(15)或(16)中的第一个方程用 j (j)(j)(1) Crank_Nicolson格式(6)替换,Q(2jl),P(2jl),b(2)I,Ql,Pl,和bI,相应做微小变化jj 注2当G2l组或Gl组靠近右边界时,即(xI+2l+1,tn+1)或(xI+l+1,tn+1)为右边界点,则(15)中的第2l个方 j j (j)(j)(1)程或(16)中的第l个方程用Crank_Nicolson格式(6)替换,Q(2jl),P(2jl),b(2)I,Ql,Pl,和bI,也要做微小变 j j 化 值得指出的是,本文用到的Gl组都是靠近左右边界的特殊情况 对内点数为m-1=(2J+1)l或m-1=2Jl(j1,l3)两种情况,我们给出交替分段Crank_Nicolson方法 1当m-1=(2J+1)l时, 设n为偶数,第n层上的值ui已经给出,为了求第(n+1)层的值ui,我们把(n+1)层上的节点划分为(J+1)个计算组,分组模式如图(1)所示,这些计算组上的差分方程具有并行本性,可以在多处理器的并行计算机上直接进行并行计算从左到右,第1组到第J组,连续J个G2l组,每组上的差分格式由可以计算的联立方程组(15)表示;剩下的靠近右边界的Gl组,其格式由联立方程组(16)表示在tn+2层上划分(J+1)个计算组,从左到右,第1组为Gl组,其格式由联立方程组(16)表示;第2组到第(J+1)组是G2l组,每组上的 n n+1 变系数对流_扩散方程的交替分段Crank_Nicolson方法33 差分格式仍然由可计算的联立方程组(15)表示两层格式交替使用,于是得到 1)交替分段Crank_Nicolson(ASC_N)方法其矩阵形式是 n+1n (I+rG1)u=(I-rG2)u+b1,n+2n+1 (I+rG2)u=(I-rG1)u+b2, 式中u=(u1,u2,um-1),b1和b2是仅与边界条件有关的(m-1)维向量 Q2l G1= (1) n n n n T (17) Ql Q2l (2) (2) Q2l Q (J) 2l (2) ,G2=Ql (1) Q (J) 2l ,Q2l (2) (18) d1^1-b12 -c11d1^2 -c12-b1l-1 d1^l-1-b1l -c1l-1d^1l-2b 1 l+1- Q(1)2l = -2c1ld 1 l+1 , -c 1l+1 -b1l+2d1l+2^ -c1l+2 -b12l-1 d1^2l-1-b12l -c12l-11d2l 2l2l dJ1+1-bJ2+1 +1 -cJ1+1dJ^2 -cJ2+1 1 -bJl+-1 1 dJl+^-1 1 -cJl+-1+1dJ^l1-2bJl++1- (22)Ql= -bJl+1-2cJl+1 1 Jl+d+11-bJl++2 1 -cJl++11dJl+^+2 1 -cJl++2 , -bJ2+l-11 1 dJ2+^l-1+1-bJ2l +1 -cJ2l-1 dJ2+l1^ 2l2l d^1-b2 Ql= (2) 1 1 -c1d^2 1 1 -c2-bl-1 1 1 ^l-1d-bl 11 , -cl-1 dl 1 ll1 34王文洽 d1 Ql= (1) J+1J+1 -c1^2d J+1 -b2 J+1 -c2 J+1 ^l-1d-bl J+1J+1 , -cl-1^ld J+1 ll J+1 -bl-1 J+1 图1 2)(D)ASC_N方法: 如果在四个时间层上组合使用格式(17),则可得到(D)ASC_N方法,其矩阵形式是 (I+rG1)u (I+rG2)u(I+rG1)u(I+rG2)u 2.当m-1=2Jl时, 节点分组模式如图(2)所示,我们同样可以构造ASC_N方法和(D)ASC_N方法,其矩阵形式分别是 3)ASC_N方法 (I+rG^1)u(I+rG^2)u Ql G^1= (2) n+1n+2 n n+1n+2n+3n+4 =(I-rG2)u+b1,=(I-rG1)u=(I-rG2)u=(I-rG1)u n+1n+2n+3 n +b2,+b3,+b4, (19) =(I-rG^2)u+b1,=(I-rG^1)u n+1 +b2, Q2l (1) (20) Q2l (2) Q2l Q (J) 2l (2) ,G^2=Ql (1) Q (J-1) 2l ,Q2l (2) 4)ASC_N方法 (I+rG^1)u (I+rG^2)u(I+rG^1)u(I+rG^2)u n+1n+2n+3n+4 =(I-rG^2)u+b1,=(I-rG^1)u=(I-rG^2)u=(I-rG^1)u n+1n+2n+3 n +b2,+b3,+b4, (j) (21) 公式(17),(19)~(21)中的bi都是仅与边界条件有关的(m-1)维向量,Q2l中的j是与 变系数对流_扩散方程的交替分段Crank_Nicolson方法35 图2 G2l组的序号有关的量 2稳定性分析 在稳定性分析中,我们用到下面的引理: 引理2.1(Kellogg)设r>0,矩阵G是非负实阵,则 -1 (I+rG)21,(I-rG)(I+rG) -1 [13] 21 (1) 引理2.2由(18)式表示的矩阵G1和G2是非负实阵证明对于(18)中的矩阵块Ql 2aIj+i-12,我们有 2d^1-2a2-12 Ql+(Ql)= (1) (1) T 1 和非零实向量y,注意到bi+1+ci=-2aIj+i+12=- jj -2a1+12 2d^2 1 -2a2+12 -2al-1-12 2d^l-1-2al-12 2 1 , -2al-122al-12 2 T T ((Ql+(Ql))y,y)=2a12y1+2a1+(12)(y1-y2)++2al-(12)(yl-1-yl)>0,即Ql+(Ql)为块正定矩阵,其余的块矩阵可以类似证明因此,G1+G1和G2+G2都是非负实阵,G1和G2也是非负实阵 矩阵G^1和G^2也有类似的结论 对于(17),(19)~(21)给出的方法,有下面的稳定性定理 2 定理设n为偶数,对于任意r=th>0,由(17),(19)~(21)式给出的变系数交替分段Crank_Nicolson方法绝对稳定 证明关于稳定性的证明中,可以设边界条件(3)中的f1(t)=f2(t)=0,,于是变系数交替分段Crank_Nicolson方法(17)式可写成u=Gu,此处G为增长矩阵, G=(I+rG2) -1 n n-2 (1) (1) T (1)(1)T2 (I-rG1)(I+rG1)(I-rG2), -1 令 -1-1-1 G=(I+rG2)G(I+rG2)=(I-rG1)(I+rG1)(I-rG2)(I+rG2),则由引理2.2和引理2.1 (I-rGi)(I+rGi)于是有 -1 21(i=1,2) 36王文洽 (G)=(G)I-rG1)(I+rG1) -1 2I-rG2)(I+rG2) -1 21, 由此可知,格式(17)绝对稳定此处,(G)和(G)分别表示矩阵G和G的谱半径 用同样的方法可以证明格式(19)~(21)绝对稳定 3数值例子 我们就a(x)=为常数的模型问题进行了数值试验,对不同的分组模式用本文给出的ASC_N方法进行了上机计算,并与用Crank_Nicolson全稳格式和Evans [5] 给出的AGE方法得到 的数值解的绝对误差和相对误差进行了比较交替分段Crank_Nicolson方法把一个规模为(m-1)的问题分成若干个规模为2l或l的可以计算的小问题,宜于在并行计算机上直接使用结果表明,即使对大的网比r,其精度也几乎与全隐式Crank_Nicolson格式一致,甚至在有些点上比全隐式的Crank_Nicolson格式还好这主要是因为在同一层的少数相邻点上对称地使用了Saulyev格式,在奇偶层之间交替使用了Saulyev格式,使得Saulyev格式的误差部分抵消,最后的总体效果使精度几乎没有降低例: u+ku=u(0 2txxu(x,0)=0(0 [5] kx 2 (22) u(x,t)=ek-1+ e-1 k=1 22 2-[(n)+k4]t(-1)nek(x-1) sin(nx)e 2k2 (n)+() 2 n (23) 我们在对例子(22)应用格式(17)进行数值试验时,取=1,k=1,m=40,并就t和r=2 th的不同值进行了计算,分别给出了r=1.6,3.2,6.4在t=0.2,0.4,0.6时数值解的绝对误差(A.E.)和相对误差(P.E.)(见表(1)~(3))此处,绝对误差(A.E.): nn ej=|uj-u(xj,tn)|,相对误差(P.E.): ej E=100 |u(xj,tn)| nj n 表1 xj r=1.6方程(2.13)r=1.6C_N方法r=1.6Evans[5] 精确解 A.E.P.E.A.E.P.E.A.E.P.E. 0.10.000010.013220.000010.010210.000090.173800.05315 t=0.2时的数值计算结果(m=40,l=13) 0.20.000010.012150.000010.009450.000190.165420.11272 0.30.000020.010680.000020.008450.000270.1510.18026 0.40.000010.005220.000020.007240.000340.133120.25735 0.50.000010.004310.000020.005870.000380.110840.34559 0.60.000010.003190.000020.004490.000380.086120.449 0.70.000020.003950.000020.003080.000340.060550.56137 0.80.000020.002430.000010.001830.000250.035750.69137 0.90.000010.001060.000010.000790.000110.013360.83757 变系数对流_扩散方程的交替分段Crank_Nicolson方法 表2 xj r=3.2方程(2.13)r=3.2C_N方法r=3.2Evans[5] 精确解 A.E.P.E.A.E.P.E.A.E.P.E. 0.10.000000.001020.000000.003220.000190.317650.06014 37 t=0.4时的数值计算结果(m=40,l=13) 0.20.000000.000690.000000.002880.000380.301280.12672 0.30.000000.000360.000010.002500.000550.275170.20052 0.40.000000.001760.000010.002090.000680.240900.28241 0.50.000000.001590.000010.0010.000750.200780.37332 0.60.000000.001410.000010.001200.000750.157160.47423 0.70.000000.000190.000000.000800.000660.112670.58621 0.80.000000.000200.000000.000450.000500.069850.71035 0.90.000000.000130.000000.000180.000260.030850.84786 表3 xj r=6.4方程(2.13)r=6.4C_N方法r=6.4Evans[5] 精确解 A.E.P.E.A.E.P.E.A.E.P.E. 0.10.000000.000650.000000.001110.000130.219210.06107 t=0.6时的数值计算结果(m=40,l=13) 0.20.000000.000800.000000.000870.000270.208130.12857 0.30.000000.000940.000000.000650.000390.1900.20320 0.40.000010.001910.000000.000450.000480.167200.28573 0.50.000010.0010.000000.000280.000530.140160.37698 0.60.000000.001330.000000.000150.000530.110190.47790 0.70.000000.000510.000000.000050.000470.079970.548 0.80.000000.000340.000000.000010.000360.050490.71286 0.90.000000.000160.000000.000020.000200.023220.84927 [参考文献] [1][2][3][4][5][6][7][8][9] EvansDJ,AbdullahARB.Groupexplicitmethodsforparabolicequations[J].InternatJComputerMath,1983,14(1):73105. EvansDJ.Alternatinggroupexplicitmethodforthediffusionequations[J].ApplMathModeling,1985,9(3):201206. EvansDJ,SahimiMS.ThenumericalsolutionofBurgersequationsbythealternatinggroupexplicit(AGE)method[J].InternatJComputerMath,19,29(1):39. ZHANGBao_lin,SUXiu_min.Alternatingblockexplicit_implicitmethodfortwo_dimensionaldiffusionequation[J].InternatJComputerMath,1991,38(34):241255. EvansDJ,AbdullahARB.Anewexplicitmethodforthediffusion_conveCtionequation[J].ComputMathAppl,1985,11(13):145154. 曾文平.求解扩散_对流方程 !∀#∃型CE方法[J].高等学校计算数学学报,2000,22(2):123130. 陆金甫,张宝琳,徐涛.求解对流_扩散方程分段显_隐方法[J].数值计算与计算机应用,1998,19(3):161167. 张宝琳,符鸿源.一类交替块Crank_Nicolson方法的差分图[J].科学通报,1999,40(11):11481152.ZHANGBao_lin,LIWen_zhi.OnalternatingsegmentCrank_Nicolsonscheme[J].ParallelComputing,1994,20(8):7)902. [10] CHENJin,ZHANGBao_lin.AclassofalternatingblockCrank_Nicolsonmethod[J].InternatJComputer Math,1992,45(1P2):)112. [11] CHENJin,ZHANGBao_lin.VariablecoefficientASE_IandASC_Nmethodandtheirstability[J].InternatJ ComputerMath,1994,54(3P4):215)229. [12] Saul.yevVK.IntegrationofTechniquesforFluidDynamics[M].Berlin:Springer_Verlag,1998. 38王 文 洽 [13] KelloggRB.Analternatingdirectionmethodforoperatorequations[J].SIAMJ,19,12(6):848)854. TheAlternatingSegmentCrank _NicolsonMethod forSolvingConvection_DiffusionEquation WithVariableCoeffcient WANGWen_qia (SchoolofMathematicsandSystemScience,ShandongUniversity,Jinan250100,China)Abstract:AnewdiscreteapproximationtotheconvectiontermofthecovectiondiffusionequationwasconstructedinSaul.yevtypedifferencescheme,thenthealternatingsegmentCrank_Nicolson(ASC_N)methodforsolvingtheconvection_diffusionequationwithvariablecoefficientwasdeveloped.TheASC_Nmethodisunconditionallystable.Numericalexperimentshowsthatthismethodhastheobviouspropertyofparallelismandaccuracy.Themethodcanbeuseddirectlyonparallelcomputers.Keywords:convection_diffusionequation;alternatingsegmentmethod;Crank_Nicolsonscheme; asymmetriesdifferencescheme;unconditionallystable;parallelcomputing
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务