维普资讯 http://www.cqvip.com 第30卷第2期 南京师大学报(自然科学版) Vol_30 No.2 2007年6月 JOURNAL OF NANJING NORMAL UNIVERSITY(Natural Science Edition) Jun,2007 一种基于变分的网格运动方法及其在 边界层问题数值求解中的应用 李征,王双虎 (北京应用物理与计算数学研究所,北京100088) [摘要] 从控制网格以适应解的性态并具有一定光滑性的朴素思想出发,建立了一种基于变分的网格运动方 法,并给出了两种简单的数值求解方法.以两点边值问题及边界层问题为例,对这一网格运动方法进行了数值 试验并得到了满意的数值结果,结果说明本方法成功地控制了网格的分布. [关键词] 运动网格,变分法,控制函数,欧拉一拉格朗吕方程 [中图分类号]0242.21 [文献标识码]A [文章编号]1001-4616(2007)02-0015-07 A Moving Mesh Method Based on Variational Problem for Boundary Layer Problem Li Zheng,Wang Shuanghu (Institute of Applied Physics and Computational Mathematics,Beijing 100088,China) Abstract:A new moving mesh method is given in this dissertation.Key idea of our method is that the mesh should adapt the solutions character and have some smoothness.The distribution of the nodes is gotten by a variational problem,whose Euler-Lagrange equation is the new moving mesh equation.Why and how to form the new method is introduced in details.Numerical results in two—point boundary prob- lems and boundary layer problems are very encouraging and clearly to show that in many cases the method ran rnntro】the mesh motiOn. Key words:moving mesh,variational method,monitor function,Euler—Lagrange equation 0 引言 面对大量复杂的非线性问题,因其中大部分问题的解在局部变化剧烈甚至出现间断,实际问题又迫切 需要尽可能精确掌握在此“奇异点”附近解的性态,所以在目前还没有一般方法解析求解非线性微分方程 的情况下,这就对数值解提出了极大的挑战.仔细分析这些非线性问题,可以发现它们与线性问题的最大 差异是大部分非线性问题的解只在局部有大梯度变化,而在其它大部分区域相对平滑.为了保证计算结果 的整体精度,一个自然的想法是在解变化剧烈的地方,网格分布得密一些,同时为了使计算量不至于增加 太多,在解变化比较平缓的地方,网格分布相对稀疏一些.对于发展型问题,“奇异点”一般随时间变化,网 格自然也应该随着时间运动以适应解的变化,即在解变化剧烈的地方保持细密的网格,这样既可以保证求 解的精度,又可避免付出过大的计算量,还可以增加时间步长.这就是运动网格的基本出发点. 运动网格方法已有30年左右的研究历史,目前已得到很大的发展.无论对椭圆型问题、双曲型问题还 是抛物型问题,运动网格都有广泛的应用.运动网格可以与有限元方法相结合,也可与差分方法相结合.依 收稿日期:2006-09-21.修回日期:2006—12—13. 基金项目:国家973重点基础研究发展计划(2005CB32170X)资助项目. 作者简介:李征(1979一),女,硕士,主要从事计算数学方法的研究.E-mail:li—zheng@iapcm.ac.cn 通讯联系人:王双虎(1961一),研究员,主要从事计算数学的研究.E-mail:wangshuanghu@iapcm.ac.cn 一15— 维普资讯 http://www.cqvip.com 南京师大学报(自然科学版) 第30卷第2期(2007年) 据目前研究状况,按照所求解问题的不同,运动网格可分为两类:定态运动网格和动态运动网格. 运动网格最早的工作可以追溯到de Boor¨ 的等分布原理.其主要想法是,如果网格的分布使解的某 种误差度量在计算网格上分布得比较均匀的话,那么采用这样的网格,将会在同等工作量的前提下获得较 好的结果.White 通过引进弧长坐标变换,将等分布原则用于计算两点边值问题,这是等分布原理最直接 的应用.Huang 提出了运动网格偏微分方程(MMPDE),将等分布原理应用到发展型问题,以MMPDE控 制网格的分布.Miller 及其合作者将网格运动的思想与有限元相结合,提出了运动有限元方法(MFE), 并进一步发展为梯度加权运动有限元方法(GWMFE) -s],而且给出了其变分解释和几何力学解释.也有 一类运动网格方法是在ALE(Arbitrary Lagrange Euler)框架下建立的,本质上可称之为拟Lagrange方法,即 利用Lagrange的思想进行网格运动控制.Cao 提出了基于几何守恒律(Geometric Conservation Law,GCL) 的方法.由GCL得到了网格速度场的散度条件,并根据Helmhohz定理,添加适当的旋度条件来确定网格 速度场,与原方程联立可同时确定方程解及其网格. 本文得出了一种基于变分的运动网格方法.从网格应适应解的局部性态并具有一定光滑性的原则出 发,导出控制网格运动的泛函,并通过求解该泛函的极值问题确定网格的分布.在实际计算中,利用求解与 该泛函对应的欧拉一拉格朗日(Euler.agrLange)方程实现网格的重新分布.为了验证其正确性与有效性, 本方法应用于求解两点边值问题,以及难以用均匀网格计算的边界层问题,都得到了满意的数值结果. 1网格变分问题的导出 微分方程数值解的本质就是数值积分,所以,不失一般性,考虑积分问题, = bu( ) 的数值计算. 首先,对区间[a,b]进行网格剖分a= < <…< <…< < =b,为了简单起见,选择矩形 积分公式S =∑ 一 ( 一 一 )进行计算,其中, 一 =u( 一 ). J=1 如图1所示,曲线为原函数,阴影部分表示数值积分 S ,空白部分的面积是数值误差.显然在确定数值积分公式 的情况下,网格的分布直接影响误差的大小.当选择均匀网 格计算时,得到的误差未必是最小的.我们希望在既不增加 计算结点数目,也不改变数值积分公式的前提下,通过合理 分布网格使计算得到的s 与积分值, 尽可能相近,使误差 E1有 b 1}, E =mi“…u(x)dx一∑uj一 ( 一 一 )I J(1・1) 假定u(x)是解析函数,将其在每个区间[ , ]上进 行Taylor展开: 均匀的网格上计算积分 优化的网格上计算积分 图1不同网格计算误差的比较 Fig.1 Numerical Err for diferent mesh f u(x)dx一∑uj一 ( 一 一 )=了1∑[u ( . )( 一 . ) ]+O(Ax ). 可以看出,数值积分的误差主要来自于第一项.记作R = 1∑[u ( 一 )( 一 一 ) ]. 引入计算参考区域[0,1],作等间距剖分,0= < <…< <…< 间距 .(1.2) < =1,其中 = , = 1由于 是常数,所以选择结点 使R 达到最小,等价于使R= R 达到最小,令 = ( ),可以得到 R= 骞 ( R~ 、u 蛙. . 容易看出,当n很大时, 16— 维普资讯 http://www.cqvip.com 李 征,等:一种基于变分的网格运动方法及其在边界层问题数值求解中的应用 进一步放大 , ・・ ≤}J_ [c +(詈)‘] , 去掉常数,并不影响网格函数的确定.所以有理由认为,以下面变分问题的解所确定的网格,在其上采用矩 形积分公式( =∑uj一 ( 一xj一 ))计算的积分值误差较小, ,=min『[(uf) + ( ) ] . 其中,参数0≥0,可以根据实际问题的需要选取. (1.3) (1.3)式的意义很清楚:应该选择这样的网格,一方面在函数u变化剧烈的地方要多分布网格,另一 方面又不应使网格的疏密变化过于剧烈.参数0起平衡的作用,用于控制网格变化的剧烈程度. 上面得到了在0为常数的情况下控制网格运动的变分形式(1.3),其实0也可根据问题需要不取为常 数.譬如, 7=min J[( ) +( ( ,u)) ] . 对于常微分方程组: Y 1= (Y1,Y2,…,Y , ) (1.4) Y =A(y ,y ,…,ym,X) Y =fm(Y1,Y2,…,Y , ), 可以类似于单个方程的情况,将泛函取作 (1.5) ,=J n[(∑ ( …Y…,Y ,Y ,…,), )( ) + ) ; =1 (1.6) 2 网格控制方程 网格分布的确定问题已转化为求解泛函极小的问题.现在考虑如何求解此变分问题.目前有两种方 法,一种是直接求解(1.4),一种是求解其欧拉一拉格朗日方程.直接求解法的程序实现起来要复杂一些, 所以,采用差分方法求解其欧拉一拉格朗日方程. (1.4)对应的欧拉一拉格朗日方程为: 61=( 一 do)[( ) +( ( )) ]=一2[( …( + )) 2+(Ux2+02) ]・ (2.1) 这就得到了控制网格质量的微分方程: (1.1,xu +0(0 +Ouu )) ;+(u +0 ) 描=0. 如果原问题的求解区间为[n,b],则方程(2.2)可以提边界条件: (0)= , (1)=b. (2.2) 如果0为常数,则(2.2)可取为更简单的形式, 1.1.“ x;+( + ) 描=0. (2.3) 下面对方程(2.3)进行一些简单分析. (1)当I u I很小时,网格控制方程的第一项可以忽略,(2.3)式近似为 硭=0.考虑到边界条件,它 有惟一光滑解 =n(1一 )+ ,确定的网格是均匀网格.其实不难想象,在I u I很小时,均匀网格就是 合理的网格. (2)当0很大时,(2.3)式也近似为 =0,所以确定的网格也是均匀的.由此可见0控制了网格变化 的光滑程度,起正则化的作用. 为了协调(2.3)中第一项与第二项的关系,可以在方程(2.4)中引人参数A,即 1.1,xu ;+A(u:+0) 描=0,x(O)=0, (1)=b. 一(2.4) 1 7— 以后也会用(2.3)来控制网格. 维普资讯 http://www.cqvip.com 南京师大学报(自然科学版) 第30卷第2期(2007年) 3 数值方法 下面考虑欧拉一拉格朗Et方程(2.3)的数值求解.由于需求解的是非线性两点边值问题,数值求解 比较困难,这里给出两种求解方法. 第一种,根据(2.3)的特点,可以将 作为未知函数,采用坐标变换将非线性方程变成线性方程进行求 解.这样就得 “ “ 一(“ +0) =0. (3.1) 由于实际应用中空间网格时常是非均匀的,所以一阶导数和二阶导数的离散格式为: : 霉 : , 2  ̄2 [L ( (3.3) + 一 )( + 一 一 )’(+ 一 + )( 方程(3.1)离散后,形成三对角系数矩阵是采用追赶法 求解,计算量不大. 下面需要利用得到的 = ( )确定 = ( ),生成 新的物理空间网格如图2所示,求解方程(3.1)得到・ 对应的点. : 采用抛物线来拟合函数.首先,选出与 ,=上距离 //, 最近的 f,其相邻的三个结点空间 、 ,和专+ 可以惟 物理坐标 一确定所需的抛物线.对应于},值的元 即为所求的新物 图2确定新的物理空间网格示意图 理空间网格 },即 对应的各点. Fig.2 Getting new mesh in physical domain 另一种方法是时间相关法,就是把(2.3)的求解变为对非线性抛物型方程(3.4)的求解. “ =“ “ ;+(“:+0) , (3.4) 初边值条件为: ( ,0)=0+(b一0) ,x(o,t)=0, (1,t)=b. (3.5) 可以认为当t一∞,(3.4)求得的解趋于(2.3)的解.由于网格的好坏只是一个相对概念,所以对于 实际问题而言,只要求解到t足够大即可,不一定非要达到收敛. 4 数值试验 为了验证网格运动方程的有效性,以常微分方程的两点边值问题 I( )= ,“ (4.1) .u(0)=Ot, “(b)= 作为算例进行检验.这里给出了两个典型算例的计算结果.采用打靶法对两点边值问题进行求解,每迭代 一步,先数值求解两点边值问题,再依照数值解生成新的网格,循环求解,直到收敛. Model 1 “”+2uu =0,lL(0)=1,lL(1)=2. (4.2) 将其写成方程组的形式: ,2 ., (4.3) 方程的精确解“( )= K-/,, ̄exp ZOtexp(l2ax/X/ e)1( ,、, J+上)+1 一,其中,K= 一上 ! 二 2 1 ± 2 Ot , 满足exp(\ )= , (Ot+1)(Ot一2) 维普资讯 http://www.cqvip.com 李 征,等:一种基于变分的网格运动方法及其在边界层问题数值求解中的应用 ( + ) ;+T(f +厂;+o)x转=0, (4.4) 其中, =v/8, =一2uv/8, =一2uv/8 , =一2(f ̄v+Lu)/e . 求解区间离散为10个单元,共有 11个结点.图3给出了 =1, :1时 的数值结果.(a)给出了均匀网格和 自适应网格上数值解的误差比较图. 其中,方形表示均匀网格上数值解的 误差,圆形、菱形、三角为采用我们的 运动网格方法在0取不同值时数值解 的误差.(b)为0:1时数值解与网 格关系图.其中,实线表示精确解,方 (a)不同网格计算的误差比较图 (b)0=1时数值解与网格分布图 块表示数值解,纵线标出了网格结点 图3算例1中e=l。3,--1的数值结果 Fig.3 Numerical solution with e=l,y l of model 1 的位置,可见,网格结点在解变化剧烈 的地方汇聚. 当 减小的时候,本问题会在 =0附近出现边界层效应, 越小,边界层效应越明显.如果采用均匀网 格计算这类问题,除非网格非常细密,否则不能描绘出边界层内部的信息.图4给出了对应于 取不同值 的网格与数值解.实线代表精确解,圆点的横坐标为网格结点的位置,纵坐标代表数值解.参数 =2,0= 0.5.其中,图4(a)给出了 分别取10~、10~、10 和10 的数值解和网格分布关系图.随着 一0,边界 层越来越窄,网格大部分汇聚在边界层内,图4(b)给出了对应于图4(a)的边界层内部的网格分布,相当 于各图的局部放大.表1给出取不同占值的最大模误差和平方误差.网格的分布使误差没随着边界层效应 ≈ 的剧烈而增加.这个例子说明,;}} 2 9 8 7 6 5 4 3 2本方法可以用于求解此类问题. 1 l 2 1.8 1.6 1.4 1.2 1 0 0,2 0.4 0,6 0.8 1 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 x x x x (a)不同s的数值解和网格图 (b)边界层内部的网格分布图 图4算例1中 取不同值的数值结果 Fig.4 Numerical results ofdifferent 8 表1 8取不同值的误差比较 JTable 1 Numerical err of different s 【. 罟d =v= ,u 1 c。 ,. ,u(1)=l 4.5 10一。4 525449105524926E一002 2.87758366661 1533E—oo2 10— 4.543420379749574E一002 2.886621734476978E一002 10一 1.907470945546552E一002 l_134060354673475E一002 10—8 3.888197405021510E一002 1.915408193993956E一002 维普资讯 http://www.cqvip.com 南京师大学报(自然科学版) 第30卷第2期(2007年) 运动网格方程: (/Jl + ) ;+TC+ +0)x菇=O, 其中, = , = , =一 1,2 =一 1,. (4.6) 1 0.9 0.8 0.7 0.6 0.5 0.4 0-3 0.2 0.1 图5 e--0.5时 取不同值的数值结果 Fig.5 Numerical solution of different 0 when e=0.5 图5给出了 =O.5, =1时的数值结果,图5(a)为均匀网格与运动网格方法得到的数值解的误差 比较图.(b)为0=1时数值解与网格关系图.同样可见,自适应网格的数值误差要小于均匀网格. 0 0 £0 0 图6不同£的运动网格和均匀网格计算的误差比较图 Fig.6 Numerical err of moving mesh and uniform mesh for diferent£ 当 减小的时候,解在 =O处出现边界层.当 很小的时候,1 1个结点已经不足以给出适当的解,因 此,随着 的改变选择不同的结点个数求解.图6给出了 取不同值时,运动网格和均匀网格的误差比较 图.圆点代表的运动网格误差要远远小于均匀网格的误差.表2给出了在取不同 值Ⅳ个结点情况下的最 (a) 取不同值时方程解与网格的关系图 fb 8=0.b101和8--0.001时边界层内部的网格分布图 图7£取不同值的数值结果 Fig.7 Numerialc results ofdiferent 一20一 维普资讯 http://www.cqvip.com 李 征,等:一种基于变分的网格运动方法及其在边界层问题数值求解中的应用 大模误差和平方误差图7给出了 分别取0.2、0.1、0.01和0.001的计算结果.(a)给出了 取不同值时 网格与解的关系图,(b)给出了 =0.01和 =0.001时候边界层内部网格与解的关系图.参数y=0.5, 0=0.1. 表2 s取不同值的误差比较 Table 2 Nrimerical err of diierentf s 5结论 本文给出的基于变分形式的运动网格方法可以自然推广到高阶方程、方程组,以及偏微分方程.作为 对该运动网格方法的检验,应用此方法于一系列有不同边界层效应的两点边值问题的数值模拟,结果说明 该方法给出了合适的网格分布. [参考文献] [1] C de Boor.Good approximation by splines with variable knots II[M]//Springer Lecture Notes Series 363.Bedin:Springer— Vedag,1973. [2] White A B.On selection of equidistributing meshes for two—point boundary—value problems[J].SIAM Journal on Numerical Analysis,1979,16(3):472—502. [3]Huang W,Ren Y,Russell R D.Moving mesh partial differentila equations(MMPDEs)based on the equidistribution princi— pie[J].SIAM Journal on Numerical Analysis,1994,31:709.730. [4]Miller K,Miller R N.Moving ifnite element I[J].SIAM Journal on Numerical Analysis。1981,18:1 019.1 032. [5]Miller K.Moving ifnite element II[J].SIAM Journla on Numerical Analysis,1981,18:1 033—1 057. [6] Carlson N,Miller K.Design and application of a gradient—weighted moving ifnite code,Part I,1一D[J].SIAM Journal on Scientific Computing,1998,19:728—765. [7]Carlson N,Miller K.Design and application of gradient—weighted moving finite code,Part II,2一D[J].SIAM Journal on Scientific Computing,1998,19:766-798. [8] Miller K.A geometircal—mechanical interpolation f oradigent—weighted moving ifnite elements[J].SIAM Journal on Numeri— cal Analysis,1997,34:67-90. [9]Cao W,Huang W,Russell R D.A moving mesh method based on the geometirc conservation law[J].SIAM Journal on Sci— entilte Computing,2002,24(1):118—142. [责任编辑:陆炳新] 一21—