2. 北京应用物理与计算数学研究所计算物理实验室, 北京 100088;
3. 中国工程物理研究院研究生部, 北京 10008
2. National Key Laboratory of Computational Physics, Institute of Applied Physics and Computational Mathematics, Beijing 100088, China;
3. Graduate School, China Academy of Engineering Physics, Beijing 100088, China
0 引 言
通常ALE(Arbitrary Lagrangian-Eulerian)方法求解流体力学方程组时包含三个步骤:1) 拉氏计算步,即求解Lagrangian形式的流体力学方程组,将时间推进一步。在此过程中,随着流体的运动,网格会发生变形,甚至可能出现网格扭曲或翻转的情况;2) 网格重分步,即生成一个质量较好的新网格;3) 物理量重映步,即将旧网格上的物理量映射到新网格上。Li 等人[1, 2, 3]研究了拉氏计算步,主要是针对可压缩欧拉方程的半拉格朗日微分形式,推导出它的积分弱形式,并用间断有限元方法对其进行空间离散,最后得到了中心型拉格朗日格式,避免了求解拉格朗日坐标系映射到欧拉坐标系下的雅可比矩阵,并且计算网格随着流体运动。当网格变形较小时,可以只进行拉氏计算步,来追踪物质界面;但当网格变形较大时,需要将网格重分,使重分后的网格具有更好的几何品质,并将拉氏计算步得到的物理量映射到新网格上。可见物理量重映步是ALE[4, 5]方法的重要组成部分。
重映算法可以分为两类:积分重映和对流重映。积分重映对新旧网格的关联性要求不高,可以出现跨网格的情形。所谓跨网格是指下面的情形之一:一是新旧网格有相同的拓扑结构,单元数目相等,但新网格移动的距离较大,出现了跨网格情形;二是新旧网格有相同的拓扑结构,但单元数目不相等,比如说粗网格重分为细网格;三是新旧网格的拓扑结构不一样,比如说结构四边形网格重分为任意多边形网格。积分重映比较自然,但需要计算新旧网格的交点,计算量较大。对流重映的计算效率比较高,但它要求新旧网格上物理量的交换只在相邻单元中进行,因此要求新旧网格离得比较近,不能出现跨网格的情形。在实际计算中,我们还希望重映算法满足以下几个条件:一是守恒性,对于气动力学方程来讲,要求满足质量、动量和能量守恒;二是保界性,是指重映后物理量的值不能超过重映前物理量的最小和最大值;三是相容性,当新旧网格重合时,重映前后物理量的值不变;四是保证二阶或二阶以上收敛。
Dukowicz[6]和 Miller[7]分别给出了二维空间中的二阶重映方法;Grandy[8]给出了三维空间中的一阶重映方法;Dukowicz[9]和 Mosso[10]分别在各自的文章中给出了三维空间中的二阶方法;Leslie[11]和 Leonard[12]则分别利用一维重映算法给出了多维空间中重映的分离算法。在这些重映方法中,具有代表性的一类局部ALE重映方法是通过适当的对流方程来构造重映过程。研究发现这类方法可以克服许多实际困难,所以在处理一些特殊应用问题上十分有效。此类方法的文献有很多[10, 13, 14, 15, 16, 17, 18, 19, 20, 21],其中Dukowicz[20]表明当时间步充分小时,重映过程可以写成一个通量形式的对流算法,这使得重映方法变为一个简单、有效的标准对流格式,并且这种格式保留了一般重映方法的很多优势。
虽然上述用对流方程描述的重映算法有很多优势,但是对流方程和守恒重映之间的联系不易理解。Margolin和 Shashkov[22]构造了与对流方程无关的重映算法,首先将新单元表示为新旧单元相交部分的组合,并以此为基础给出了一种相应的守恒积分重映算法。接下来Margolin 和 Shashkov又将新单元质量表示为相应旧单元质量加上其与周围单元的质量交换,再通过对密度函数的分片常数重构,得到了一阶格式的对流重映算法。为了得到二阶精度的重映算法,Margolin 和 Shashkov 分析了上述一阶对流重映算法的误差,通过对误差做补偿,得到了二阶、保正的重映算法。Kucharik等人[23] 是首先利用已知的旧网格上单元平均值,重构出旧网格上密度的分片一次多项式逼近,再利用该分片一次多项式重映出新网格上密度的单元平均值,最后通过修补算法得到了一种保线性且保界的重映格式。
上述重映算法[22, 23]可总结为:已知旧网格上单元平均值,重映后得到新网格上单元平均值。当ALE方法的拉氏步采用有限体积法离散时(例如文献[24]),只需知道重分网格上物理量的单元平均值,就可以更新tn+1时刻物理量的值,因此可用文献[22]和文献[23]的重映算法。但当ALE方法的拉氏步采用间断有限元法离散时(例如文献[1, 2, 3]),必须知道重分网格上物理量的分片多项式,才能更新出tn+1时刻物理量的值,此时上述重映算法不再适用。不过我们可以以上述重映算法为基础,先重映出物理量的单元平均值,再通过重构或者其他方法得到重分网格上的分片多项式。
因此当ALE方法的拉氏步采用间断有限元法离散时,以文献[1, 2, 3]中的二阶拉氏格式为例,本文给出了相应重映步的对流守恒重映算法。首先在已知旧网格上分片一次多项式的基础上,采用文献[22]和文献[23]的重映和修补算法,得到重分网格上物理量的单元平均值,再通过极小化问题和Van Leer限制器,得到重分网格上物理量的梯度,由此得到重分网格上的分片一次多项式。
1 问题描述考虑二维计算区域Ω,假设它是一个任意的多边形区域,给定Ω上一个多边形剖分{Ci,i=1,...,imax},其中单元Ci可以是非凸的。与单元Ci共点或共边的单元称为它的邻居,单元Ci所有邻居的集合称为它的邻域,记为C(Ci)。我们称{Ci,i=1,...,imax}为旧网格,旧网格通过节点的小位移移动得到新网格{$\tilde{C}$i,i=1,...,imax}。在接下来的讨论中,假设新单元$\tilde{C}$i包含在旧单元Ci和它的邻域中。下面以密度函数为例,叙述重映问题。
假设有一个定义在区域Ω上的正函数ρ(x,y)>0,称为密度,但是ρ(x,y)的具体表达式未知,仅知道ρ(x,y)在旧网格上的分片一次多项式逼近:
,(xi,yi)是单元Ci的中心,
。V(Ci)>0是单元Ci的面积,(ρix,ρiy)是密度梯度。显然单元质量为:
本节采用文献[22]中对流重映算法,计算新单元上密度的平均值。下面我们简要回顾一下该重映算法,具体细节参见文献[22]。
首先如文献[22]给定一组结构四边形网格,因此需适当调整相应记号。网格顶点记为Pi,j=(xij,yij),i=1,...,m;j=1,...,n。单元标号记为(i+$\frac{1}{2}$,j+$\frac{1}{2}$),i=1,...,m-1;j=1,...,n-1,单元Ci+$\frac{1}{2}$,j+$\frac{1}{2}$的四个顶点是:{Pi,j,Pi+1,j,Pi+1,j+1,Pi,j+1}。那么旧单元Ci+$\frac{1}{2}$,j+$\frac{1}{2}$上密度函数的一次多项式逼近相应表示为:
假设定向边Fi,j+$\frac{1}{2}$={Pi,j+1,Pi,j}是单元Ci+$\frac{1}{2}$,j+$\frac{1}{2}$与Ci-$\frac{1}{2}$,j+$\frac{1}{2}$的公共边,位移向量场使顶点Pi,j移动到新位置$\tilde{P}$i,j,Pi,j+1移动到新位置$\tilde{P}$i,j+1,因此形成一个定向四边形δFi,j+$\frac{1}{2}$={Pi,j,$\tilde{P}$i,j,$\tilde{P}$i,j+1,Pi,j+1}称为边移动扫过的区域。由文献[22]可知边Fi,j+$\frac{1}{2}$移动扫描区域上带符号的面积|δFi,j+$\frac{1}{2}$|可通过如下线积分来表示:
|
| 图 1 新旧单元征与扫描区域 Fig. 1 Old and new cells and swept regions |
同样可以定义任意多项式在多边形上的符号积分。在本节下面描述中,线性函数在多边形上积分都是指在这个多边形上的符号积分。
定义新单元上近似质量$\tilde{m}$i+$\frac{1}{2}$,j+$\frac{1}{2}$为相应旧单元上质量mi+$\frac{1}{2}$,j+$\frac{1}{2}$加上与其邻近单元的质量交换:
最后,由式(7)计算出近似质量$\tilde{m}$i+$\frac{1}{2}$,j+$\frac{1}{2}$,那么新单元上密度平均值为:
具体计算时,一般要求重映算法具有保界性,也就是说:如果一个新单元包含在相应旧单元的邻域中,则有:
首先,对每个单元Ci选择一个决定它单元平均值范围的邻近单元集合R(Ci),R(Ci)包含单元Ci本身,那么密度平均的局部最小、最大值分别为:
修补过程中首先要检查新单元平均值$\overline{{\tilde{\rho }}}$i是否在最小、最大值范围内。如果在范围内就不进行下面的修补过程。如果不在局部极值范围内,则对它进行修补,使修补后的值在最小、最大值范围内。以$\overline{{\tilde{\rho }}}$i<ρimin为例:
如果$\overline{{\tilde{\rho }}}$i<ρimin,则需要向这个单元添加质量:
更多修补细节参见[23],并且修补算法中相邻单元间的质量转移,与共有边上的质量通量无关,只是将临近单元中可以安全取走的质量直接加入当前单元。
3 重构分片一次多项式 3.1 极小化问题求解梯度通过第2节的算法,可以得到新网格上密度的单元平均值$\overline{{\tilde{\rho }}}$′i,仍记为$\overline{{\tilde{\rho }}}$i。但是根据文献[1, 2, 3]中描述的二阶拉氏方法可知,为了下一步拉氏运算,必须由新网格上密度的单元平均值,重构出新单元上近似线性函数${\tilde{\rho }}$i(x,y)。下面通过极小化问题得到该函数的梯度(${\tilde{\rho }}$ix,${\tilde{\rho }}$iy)。
以新单元$\tilde{C}$i为例,已知C($\tilde{C}$i)是单元$\tilde{C}$i的邻域,令
那么将式(20)代入式(21)可得一元二次方程组:
解上述一元二次方程组便可得到新单元上梯度(${\tilde{\rho }}$ix,${\tilde{\rho }}$iy)。至此,就得到了新单元$\tilde{C}$i上的一次多项式逼近式(4)。
3.2 Van Leer 限制器在整个重映算法中,我们还希望新单元上分片一次多项式不出现新的极值。因此使用文献[20]中 Van Leer 限制器对式(4)中梯度(${\tilde{\rho }}$ix,${\tilde{\rho }}$iy)进行限制。下面以单元$\tilde{C}$i为例,给出限制器的描述。
设$\overline{{\tilde{\rho }}}$imin、$\overline{{\tilde{\rho }}}$imax是密度平均值在邻域单元中的最小值和最大值,${\tilde{\rho }}$imin、${\tilde{\rho }}$imax是由式(4)计算${\tilde{\rho }}$i(x,y)在单元$\tilde{C}$i上的最小、最大值。由于${\tilde{\rho }}$i(x,y)是一次多项式,所以它的最小、最大值应该在单元顶点上取得。令
至此整个重映过程完成,它把旧网格上分片线性数值解重映为新网格上分片线性数值解,并且满足保界性和守恒性。
4 数值算例将上述加修补和限制器的重映方法记为“SRRL”方法,将不加修补和限制器的重映方法记为“SRUN”方法。为了检验SRRL方法的有效性,对给定函数在一系列网格上用SRRL方法做重映,并与SRUN方法的结果作比较。在下面误差计算中 L1模和L∞模定义为:
初始网格是[0,1]×[0,1]上的一致均匀网格。下一套网格是通过对该一致均匀网格作一个小的随机位移得到的随机网格。交替系列网格就是由一致网格和相应随机网格交替产生的系列网格,即一致网格——随机网格——再恢复到一致网格,这样交替进行的一系列网格。在数值算例中作偶数次网格交替和重映,使最终网格恢复为初始网格,计算出整个重映过程的累积误差。当细分网格时,增加重映的步数,从而使总的位移保持近似相同。
算例 1。分别用SRRL、SRUN方法在交替网格上重映函数(x-0.5)4+(y-0.5)4。选取三套不同水平的网格:imax=jmax=50,100,200和相应时间步数:nmax=10,20,40来考查SRRL方法的收敛性。
表 1和表 2分别给出了SRUN和SRRL方法的数值结果。从表中可以看出,在误差允许范围内,这两种方法对于光滑函数的误差基本相等。文献[23] L1模误差在剖分为100、200时的收敛阶分别是1.862、1.927; L∞模收敛阶分别是1.784、1.741。显然本文SRRL方法收敛更快一些,更趋于2。
| imax/nmax | L1 Norm | Order | L∞ Norm | Order |
| 50/10 | 6.665×10-5 | - | 2.081×10-4 | - |
| 100/20 | 1.666×10-5 | 1.999 | 5.615×10-5 | 1.890 |
| 200/40 | 4.166×10-6 | 1.999 | 1.465×10-5 | 1.937 |
| imax/nmax | L1 Norm | Order | L∞ Norm | Order |
| 50/10 | 6.665×10-5 | - | 2.081×10-4 | - |
| 100/20 | 1.666×10-5 | 1.999 | 5.615×10-5 | 1.890 |
| 200/40 | 4.166×10-6 | 1.999 | 1.465×10-5 | 1.937 |
算例 2。在50×50剖分的交替系列网格上用SRRL和SRUN方法重映一个三层塔式函数,函数取值范围是[0,1]。令d(x,y)=|x-0.5|+|y-0.5|,那么这个函数表达式为:
表 3给出了在最终网格上用SRRL和SRUN方法重映得到的函数最大值和最小值。从表 3中可以看出,该结果与文献[23]中数值结论一致:加过修补和Van Leer限制器的SRRL方法是保界的,并且SRRL方法L1模误差比SRUN方法的误差小。
| Minimum | Maximum | L1 Norm | |
| SRUN | -4.063×10-3 | 1.004 | 1.318×10-2 |
| SRRL | 0.000 | 0.999 | 9.729×10-3 |
本节使用一系列的随机网格,其中每一套网格都是通过对一致均匀网格做一个随机扰动得到:
算例 3。在此用SRRL方法和SRUN方法在随机系列网格上重映激波函数:
图 2给出了SRUN和SRRL方法计算得到的激波函数曲面图和等值线图,可以看出SRUN方法的数值解在间断处出现了数值振荡,并且数值解超出了给定范围,出现负值。而SRRL方法的数值解在间断处没有振荡,并且数值解在给定界限内。表 4给出了在最终网格上两种重映方法得到的函数最大和最小值,结果显示SRRL方法是保界的,并且SRRL方法L1模误差比SRUN方法的误差小。文献[22]中mc方法在γ=0.7时出现负值,da和mb方法的数值解仍为正值。通过表 4对比SRRL、da以及mb方法的结果可以发现,本文SRRL方法比da和mb方法的结果更精确。
|
| 图 2 随机系列网格上重映激波函数的结果 Fig. 2 Results for the shock function on sequence of random grids |
在本次测试中,选取与ALE数值模拟方法相接近的一系列网格,其中每一组网格都是由前一组网格光滑化得到:
y方向的节点选取类似。初始网格是通过对一致均匀网格作随机扰动得到的:
算例 4。用SRRL方法和SRUN方法在连续光滑化网格上重映激波函数式(31)。图 3给出了SRUN和SRRL方法计算的激波函数侧面图,可以看出SRUN方法的数值解在间断处出现了小振荡,并且数值解超出给定范围,而SRRL方法的数值解在间断处没有振荡。表 5给出了两种方法的数值结果,结果显示SRRL方法是保界的,并且SRRL方法L1模误差比SRUN方法误差小。比较算例3和算例4的结果,可以发现同样的函数在连续光滑化网格上重映结果更好,这表明本文重映算法适合用于ALE方法。
|
| 图 3 连续光滑化网格上重映激波函数的侧面图 Fig. 3 Lateral views for the shock function on consecutive smoothing of an initially random grid |
| Minimum | Maximum | L1Norm | |
| SRUN | -3.006×10-2 | 1.051 | 1.102×10-2 |
| SRRL | 0.000 | 1.000 | 7.153×10-3 |
本文针对ALE方法中由间断有限元法求解流体方程的拉氏步,给出了一种新的重映算法。算法由两步组成:第一步在已有对流重映算法基础上,计算出新网格上物理量的单元平均值,并通过修补算法,使之满足保界性;第二步是通过重构得到新单元上函数的近似梯度,并通过Van Leer限制器对梯度进行限制,使之不出现新极值。这样就得到了新网格上的分片一次多项式。最后通过一系列数值算例表明,加上修补和限制器的重映算法和不加修补和限制器的重映算法,对于光滑函数L1和L∞模误差都是二阶收敛,且误差相差不大。但不加修补和限制器时,会出现数值结果越界的情形,加上修补和限制器之后,重映算法是保界的,并且误差更小。本文重映算法可以直接用于Euler方程或NS方程,在重映物理量ρV和ρE时(其中V是速度,E是单位质量的总能量),只是将文中的密度ρ替换为ρV和ρE,并且可以保证动量和能量守恒,以及整个方程组的相容性。
| [1] | Li Z Z, Yu X J, Jia Z P. The cell-centered discontinuous Galerkin method for Lagrangian compressible Euler equations in two dimensions[J]. Computers & Fluids, 2014, 96(C):152-164. |
| [2] | Li Z Z, Yu X J, Zhu J, et al. A Runge Kutta discontinuous Galerkin method for Lagrangian compressible Euler equations in two-dimensions[J]. Communications in Computational Physics, 2014, 15:1184-1206. |
| [3] | Li Z Z, Yu X J, Zhao G Z, et al. A RKDG finite element method for Lagrangian Euler equations in one dimension[J]. Chinese Journal of Computational Physics, 2014, 31(1):1-10. (in Chinese)李珍珍,蔚喜军,赵国忠,等. RKDG有限元法求解一维拉格朗日形式的Euler方程[J].计算物理, 2014, 31(1):1-10. |
| [4] | Margolin L G. Introduction to "an arbitrary-Lagrangian-Eulerian computing method for all flow speeds"[J]. Journal of Computational Physics, 1997, 135:198-202. |
| [5] | Loubere R, Maire P H, Shashkov M, et al. Re ALE:a reconnection based arbitrary Lagrangian Eulerian method[J]. Journal of Computational Physics, 2010, 229:4724-4761. |
| [6] | Dukowicz J K, Kodis J W. Accurate conservative remapping (rezoning) for arbitrary Lagrangian-Eulerian computations[J]. Siam Journal on Scientific & Statistical Computing, 1987, 8:305-321. |
| [7] | Miller D S, Burton D E, Oliviera J S. Efficient second order remapping on arbitrary two dimensional meshes[R]. UCRL-ID-123530. Livermore, CA:Lawrence Livermore National Laboratory, 1996. |
| [8] | Grandy J. Conservative remapping and region overlays by inter-secting arbitrary polyhedra[J]. Journal of Computational Physics, 1999, 148:433. |
| [9] | Dukowicz J K, Padial N T. Accurate REMAP3D:a conserv-ative three-dimensional remapping code[R]. LA-12136-MS. Los Alamos, NM:Los Alamos National Laboratory, 1991. |
| [10] | Mosso S J, Burton D E, Harrison A K, et al. A second order two and three-timensional temap method[R]. LA-UR-98-5353. Los Alamos, NM:Los Alamos National Laboratory, 1998. |
| [11] | Leslie L M, Purser R J. Three-dimensional mass-conserving semi-Lagrangian scheme employing forward trajectories[J]. Monthly Weather Review, 1995, 123:2551. |
| [12] | Leonard B P, Lock A P, Macvean M K. Conservative explicit unrestricted-time-step multidimensional constancy preserving advection schemes[J]. Monthly Weather Review, 1996, 124:2588. |
| [13] | Mosso S J, Swartz B. An unsplit, two-dimensional advection algorithm[R]. LA-UR-01-1476. Los Alamos, NM, USA:Los Alamos National Laborstory, 2000. |
| [14] | Orourke P J, Sahota M S. Avariable explicit/implicit numerical method for calculating advection on unstructured meshes[J]. Journal of Computational Physics, 1998, 143:312-345. |
| [15] | Anderson R W, Pember R B, Elliott N S. An arbitrary Lagrangian-Eulerian method with local structured adaptive mesh refinement for modeling shock hydrodynamics[R]. AIAA 2002-0738. LNLL Report UCRL-JC-141625. |
| [16] | Benson D J. An efficient, accurate, simple ALE method for nonlinear finite element programs[J]. Computer Methods in Applied Mechanics and Engineering, 1989, 72:305-350. |
| [17] | Benson D J. Momentum advection on a staggered mesh[J]. Journal of Computational Physics, 1992, 100:143-162. |
| [18] | Benson D J. Computational methods in Lagrangian and Eulerian hydrocodes[J]. Computer Methods in Applied Mechanics and Engineering, 1992, 99:235-394. |
| [19] | Colella P. Multidimensional upwind methods for hyperbolic conservation laws[J]. Journal of Computational Physics, 1990, 87:171-200. |
| [20] | Dukowicz J K, Baumgardner J. Incremental remapping as a transport/advection algorithm[J]. Journal of Computational Physics, 2000, 160:318-335. |
| [21] | Margolin L G, Bason C W. Remapping on the staggered mesh[R]. UCRL-99682. Lawrence Livermore National Laboratory, 1988. |
| [22] | Margolin L G, Shashkov M. Second-order sign-preserving conservative interpolation (remapping) on general grids[J]. Journal of Computational Physics, 2003, 184(1):266-298. |
| [23] | Kucharik M, Shashkov M, Wendroff B. An efficient linearity-and-bound-preserving remapping methods[J]. Journal of Computational Physics, 2003, 188:462-471. |



