双曲守恒律方程的高精度ADER间断Galerkin方法
High Order ADER Discontinuous Galerkin Method for Hyperbolic Conservation Laws
DOI: 10.12677/AAM.2020.98148, PDF, HTML, XML, 下载: 769  浏览: 1,046  国家自然科学基金支持
作者: 张莹娟, 李姣姣, 李 刚*:青岛大学数学与统计学院,山东 青岛
关键词: 双曲守恒律间断Galerkin方法ADER微分变换高阶精度Hyperbolic Conservation Laws Discontinuous Galerkin Method ADER Differential Transformation Procedure High Order Accuracy
摘要: 本文提出了一种全新的间断Galerkin (DG)方法,该方法使用单级ADER (任意时–空导数)方式进行时间离散。该方法利用微分变换步骤递归地将解的时–空展开系数通过低阶空间展开系数来表示,能够在空间和时间上达到任意高阶精度。与传统有限体积ADER格式相比较,该方法避免了在单元界面处求解广义Riemann问题。与多级Runge-Kutta DG (RKDG)方法相比较,由于不存在中间级,本方法需要较少的计算机内存。综上所述,所得到的方法是单步的、单级的、全离散的。最后,经典数值算例验证了该方法的良好性能:高精度、高分辨率、高效率。
Abstract: This article develops a new discontinuous Galerkin (DG) method using the one-stage ADER (Arbitrary DERivatives in time and space) approach for the temporal discretization. This current method employs the differential transformation procedure recursively to express the spatiotemporal expansion coefficients of the solution through the low order spatial expansion coefficients, which enables the method to easily achieve arbitrary high order accuracy in space and time. In comparison with the traditional ADER schemes, this method avoids solving the generalized Riemann problems at cell interfaces. Compared with the Runge-Kutta DG (RKDG) methods, the proposed method needs less computer memory storage due to no intermediate stages. In summary, the resulting method is one-step, one-stage, fully-discrete, and easily achieves arbitrary high order accuracy in space and time. Several examples illustrate the good performances of the present method: high order accuracy for smooth solutions, good resolution for discontinuous solutions and high efficiency.
文章引用:张莹娟, 李姣姣, 李刚. 双曲守恒律方程的高精度ADER间断Galerkin方法[J]. 应用数学进展, 2020, 9(8): 1263-1272. https://doi.org/10.12677/AAM.2020.98148

1. 引言

在本文中,我们考虑一维双曲守恒律方程初值问题

{ u t + f ( u ) x = 0 , u ( x , 0 ) = u 0 ( x ) , x [ a , b ] , (1)

的高精度数值方法。其中, u = u ( x , t ) 为守恒变量, f ( u ) = f ( u ( x , t ) ) 为物理流通量。该方程的特点是,即使初始条件充分光滑,随着时间的发展,解也会产生间断,因此对方法的要求非常高。间断Galerkin (DG)方法 [1] [2] [3] [4] 是求解守恒律方程的比较流行的一类方法。该方法的主要特点包括:高精度、方便处理复杂边界以及复杂区域。该方法是半离散方法,通常利用多级Runge-Kutta方法 [5] 进行时间离散,因此也被称作RKDG方法。但是,由于每一级均需要计算数值流通量和数值积分,所以RKDG方法计算成本较高。此外,由于多级的存在,该方法的计算机存储比较高。更进一步,频繁的内部信息交换阻碍了并行策略的有效实现。关于RKDG方法的简单回顾和最新研究进展,请参考文献 [6] [7]。

另外,Qiu、Dumbser、Shu [8] 提出一种借助于Lax-Wendroff时间离散方式的DG方法(LWDG) [8]。LWDG方法是单级的、显式的。此外,Dumbser和Munz提出了一种借助于单级ADER方法 [9] [10] [11] 进行时间离散的DG方法 [12] [13] [14]。随后,Dumber及其合作者针对该课题开展了一系列研究 [15] [16] [17] [18]。上述DG方法 [12] - [18] 的关键要素是在单元界面处构造高精度的数值流通量。单元界面处的未知量需要表示成关于时间的泰勒级数展开形式,其中时间导数通过反复使用控制方程本身并由空间导数来表示。这个步骤被称为Cauchy-Kowalewski步骤(在文献中也被称为Lax-Wendroff步骤)。此外,为了获得空间导数,还需要在单元界面处求解广义黎曼问题。然而,Cauchy-Kowalewski步骤是非常繁琐的,尤其对于高维问题。因此,替换或简化Cauchy-Kowalewski步骤是非常受欢迎的。值得注意的是,Dumbser和Munz [19] 提出了一种简化Cauchy-Kowalewski步骤的有效算法。最近,在DG方法的框架下,Dumber等人 [20],以及汤华中等人 [21] 采用局部Galerkin预报指示子 [22] 来代替Cauchy-Kovalewski步骤。

2. 利用微分变换步骤构造ADER-DG方法

2.1. 相关符号

首先将空间计算区域 [ a , b ] 离散为N个单元 I j = [ x j 1 2 , x j + 1 2 ] , j = 1 , 2 , , N 。其中 a = x 1 2 < x 3 2 < < x N + 1 2 = b ,并记单元中心、网格步长分别为 x j = 1 2 ( x j + 1 2 x j 1 2 ) Δ x j = x j + 1 2 x j 1 2

假设现在的时间区间为 [ t n , t n + 1 ] ,其中 Δ t = t n + 1 t n 表示时间步长,然后记 Ω j = I j × [ t n , t n + 1 ] 为时–空

控制单元。接下来,我们定义DG逼近空间如下:

V τ k = { ϕ ( x , t ) : ϕ ( x , t ) | Ω j P k ( Ω j ) , j = 1 , , N } ,

其中 P k ( Ω j ) 表示定义在时–空控制单元 Ω j 上次数不超过k次的时–空多项式的集合。

2.2. ADER-DG方法的一般形式

首先在方程(1)两端同时乘一个任意空间测试函数 ϕ ( x ) V τ k ,并在时空控制单元 Ω j 上使用分部积分,进而得到以下弱形式:

I j u ( x , t n + 1 ) ϕ ( x ) d x I j u ( x , t n ) ϕ ( x ) d x + t n t n + 1 f ( x j + 1 2 , t ) d t ϕ ( x j + 1 2 ) t n t n + 1 f ( x j 1 2 , t ) d t ϕ ( x j 1 2 + ) Ω j f ( x , t ) ϕ x d x d t = 0 , j = 1 , , N .

这里,二元函数 f ( x , t ) = f ( u ( x , t ) ) 表示物理流通量。

假设未知解 u ( x , t ) 在时–空控制单元 Ω j 上的DG逼近为

u τ ( x , t ) = k t = 0 k k x = 0 k k t u ˜ ( k x , k t ) ( x x j ) k x ( t t n ) k t ,

这实际上是 u ( x , t ) 的泰勒级数展开的截断形式。这里,我们的ADER-DG方法表述为:给定 t n 时刻的数值解 u τ ( x , t n ) V τ K ,寻找下一时刻的数值解 u τ ( x , t n + 1 ) V τ K 来满足以下等式:

I j u τ ( x , t n ) ϕ ( x ) d x = I j u τ ( x , t n ) ϕ ( x ) d x f ^ j + 1 2 ϕ ( x j + 1 2 ) + f ^ j 1 2 ϕ ( x j 1 2 + ) + Ω j f τ ( x , t ) ϕ x d x d t , j = 1 , , N , (2)

这里 f ^ j + 1 2 表示数值流通量,用来逼近单元界面处针对物理流通量在时间区间 [ t n , t n + 1 ] 上的时间积分。

在本文中,我们采用简单高效的Lax-Friedrichs流通量:

f ^ j + 1 2 = 1 2 t n t n + 1 ( f τ ( x j + 1 2 , t ) + f τ ( x j + 1 2 + , t ) α ( u τ ( x j + 1 2 + , t ) u τ ( x j + 1 2 , t ) ) ) d t (3)

其中 α = max u | f ( u ) | 用来估计最大波速度,且最大值在整个空间计算区域上来获得。从公式(2)可以看出,如果想更新到时刻 t n + 1 ,我们需要构造单元界面处的数值流通量,计算空间积分,以及时–空积分。

2.3. 使用微分变换步骤计算时–空展开系数

传统ADER方法 [9] [10] [11] 一般采用Cauchy-Kowalewski步骤将解的时间导数通过其空间导数来表示。特别的,针对方程(1)的Cauchy-Kowalewski步骤如下:

u t = f ( u ) u x , u x t = f ( u ) u x x f ( u ) ( u x ) 2 , u t t = f ( u ) u t u x + f ( u ) f ( u ) ( u x ) 2 + ( f ( u ) ) 2 u x x ,

显然,对于高阶导数和高维问题,Cauchy-Kowalewski步骤将变得异常繁琐。

另外,文献 [23] 中提出了一种称为微分变换的替代步骤,用来简化Cauchy-Kowalewski步骤。在本文中,我们应用微分变换步骤来获得泰勒级数形式的数值解的时–空展开系数。同Cauchy-Kowalewski步骤相比较,微分变换步骤的实现非常简单有效 [24]。通常,时刻 t n 在单元 I j 中给定函数 u ( x , t ) ,微分变换步骤用来获得如下系数:

u ˜ ( k x , k t ) = 1 k x ! k t ! k x + k t u ( x , t ) x k x t k t | x = x j , t = t n ,

这里, u ( x , t ) 是原始函数, u ˜ ( k x , k t ) 是变换函数。实际上, u ˜ ( k x , k t ) 表示函数 u ( x , t ) 在点 ( x j , t n ) 处的 ( k x , k t ) 阶导数值。该步骤的逆运算为 u ( x , t ) 的泰勒级数展开式:

u ( x , t ) = k x = 0 k t = 0 u ˜ ( k x , k t ) ( x x j ) k x ( t t n ) k t .

下面列出了本文中用到的一些微分转换公式,具体见表1

Table 1. Differential transformations of some functions encountered in this article

表1. 本文用到的有关微分变换公式

2.4. ADER-DG方法的详细步骤

基于微分变换步骤的ADER-DG方法的详细实现过程总结如下:

1) 从初始条件 u ( x , 0 ) 出发,通过 L 2 投影,得到 u ˜ ( k x , 0 ) , k x = 0 , 1 , , k ,进而得到 u τ ( x , 0 )

2) 在时刻 t = t n ,在单元 I j 中,基于 u ˜ ( k x , 0 ) 和控制方程本身,并利用微分变换步骤,分别递归地得到

u ˜ ( k x , k t ) f ˜ ( k x , k t ) , k t = 0 , 1 , , k ; k x = 0 , 1 , , k k t ,然后得到:

u τ ( x , t ) = k t = 0 k k x = 0 k k t u ˜ ( k x , k t ) ( x x j ) k x ( t t n ) k t Ω j ,

f τ ( x , t ) = k t = 0 k k x = 0 k k t u ˜ ( k x , k t ) ( x x j ) k x ( t t n ) k t Ω j .

3) 通过公式(3)构造数值通量 f ^ j + 1 2

4) 根据单步公式将数值解更新至下一个时间步 t n + 1 ,得到 u τ ( x , t n + 1 )

5) 必要时针对解 u τ ( x , t n + 1 ) 使用斜率限制器。

注1:在使用微分变换步骤后,我们可以将数值解和流通量表示为时–空二元多项式。那么针对数值流通量和积分,我们可以采取精确计算,进而避免使用计算量较大的数值求积公式。

注2:实际上,微分变换步骤将控制方程本身转换为关于时–空泰勒级数的展开系数的递推关系。微分变换步骤使我们能够轻松地构造时–空上具有任意高阶精度的ADER-DG方法。此外,与Cauchy-Kowalewski步骤相比,微分变换步骤可以大大降低计算成本,并且应用范围更加广泛。

3. 数值结果

在本节中,我们将通过几个经典算例来验证该方法的良好性能。在整个计算过程中,我们分别采用时–空二次、四次多项式(即 k = 2 或者 k = 4 ),并将CFL条件数分别取作0.18、0.1以保持数值稳定性。

3.1. 精度测试

我们首先通过如下拥有光滑解的初值问题

{ u t + u x = 0 , u ( x , 0 ) = sin π x , x [ 0 , 2 ] ,

来测试精度阶。该方程的微分变换的递推公式为

u ˜ ( k x , k t + 1 ) = k x + 1 k t + 1 u ˜ ( k x + 1 , k t ) .

对于该算例,我仅仅取 k = 4 ,并将时刻 t = 2 时的误差以及精度阶展示于表2。显然,我们获得了预期的五阶精度。

Table 2. Errors and order of accuracy

表2. 误差与精度阶

3.2. 线性对流方程

接下来考虑线性对流方程的初值问题:

{ u t + u x = 0 , x [ 1 , 1 ] , u ( x , 0 ) = u 0 ( x ) , ,

其中

u 0 ( x ) = { 1 6 ( ϑ ( x , β , z δ ) + ϑ ( x , β , z + δ ) + 4 ϑ ( x , β , z ) ) , 0.8 x 0.6 , 1 , 0.4 x 0.2 , 1 | 10 ( x 0.1 ) | , 0 x 0.2 , 1 6 ( ( x , α , a δ ) + ( x , α , a + δ ) + 4 ( x , α , a ) ) , 0.4 x 0.6 , 0 , , ϑ ( x , β , z ) = e β ( x z ) 2 , ( x , α , a ) = max ( 1 α 2 ( x a ) 2 , 0 ) .

上面的常数分别取作

a = 0.5 , z = 0.7 , δ = 0.005 , α = 10 , β = log 2 / 36 δ 2 .

该算例的初始条件包含非常复杂的形状。我们计算该算例至 t = 8 ,三阶、五阶方法的数值结果见图1

Figure 1. Solving the linear advection equation by third order (left) and fifth order (right) ADER-DG methods, t = 8

图1. 利用三阶(左)、五阶(右) ADER-DG方法求解线性对流方程t = 8

经过了长时间的计算,结果依然拥有非常好的分辨率。

3.3. 一维Burgers’方程

接下来,我们考虑一维非线性Burgers’方程:

u t + ( 1 2 u 2 ) x = 0 ,

这里, f ( u ) = 1 2 u 2 表示物理流通量。该方程的微分变换的递推公式如下:

u ˜ ( k x , k t + 1 ) = k x + 1 k t + 1 f ˜ ( k x + 1 , k t ) ,

其中

f ˜ ( k x , k t ) = 1 2 r = 0 k x s = 0 k t u ˜ ( r , s ) u ˜ ( k x r , k t s ) .

接下来,基于两种不同的初始条件,我们考虑以下两个算例:

算例1) u ( x , 0 ) = sin ( π x ) , x [ 0 , 2 ]

算例2) u ( x , 0 ) = { 0.5 x [ 0 , 0.5 ] , 1 x ( 0.5 , 1 ] , 0 x ( 1 , 1.5 ] , x [ 0 , 1.5 ]

我们基于200个单元的网格分别计算这两个算例,数值结果见图2。数值结果能够非常好地拟合精确解,且具有较高的分辨率。

Figure 2. Solving the one-dimensional Bugers’ equation by third order (upper) and fifth order (lower) ADER-DG methods. Left: example 1), t = 1.5 / π ; Right: example 2), t = 0.5

图2. 利用三阶(上)、五阶(下) ADER-DG方法求解一维Bugers’方程。左:算例1), t = 1.5 / π ;右:算例2), t = 0.5

3.4. 二维Burgers’方程

最后,我们求解二维Burgers’方程:

{ u t + ( u 2 2 ) x + ( u 2 2 ) y = 0 , u ( x , 0 ) = 0.5 + sin ( π 2 ( x + y ) ) , [ x , y ] [ 0 , 4 ] × [ 0 , 4 ] .

这里, f ( u ) = g ( u ) = 1 2 u 2 分别表示x方向和y方向的物理流通量。另外,该方程的微分变换步骤的递推公式如下:

u ˜ ( k x , k y , k t + 1 ) = k x + 1 k t + 1 f ˜ ( k x + 1 , k y , k t ) k y + 1 k t + 1 g ˜ ( k x , k y + 1 , k t )

其中

f ˜ ( k x , k y , k t ) = g ˜ ( k x , k y , k t ) = 1 2 r = 0 k x s = 0 k y h = 0 k t u ˜ ( r , s , h ) u ˜ ( k x r , k y s , k t h ) .

我们基于包含100 × 100一致单元的网格将该算例计算至 t = 1.5 / π ,数值结果见图3。显然,数值结果与精确解吻合的非常好,并且保持了较高的分辨率。

Figure 3. Solving the two-dimensional Bugers’ equation by third order (upper) and fifth order (lower) ADER-DG methods,. Left: the cutting-plot along; Right: three-dimensional bird’s eye view

图3. 利用三阶(上)、五阶(下) ADER-DG方法求解二维Burgers’方程,。左:沿着的截面图;右:三维鸟瞰图

最后,我们还针对算例3.2~算例3.4,关于三阶ADER-DG方法与三阶RKDG方法就CPU时间进行了比较,见表3。显然,ADER-DG方法能够节约非常可观的计算成本,拥有更高的效率,从而更加适应实际问题的需求。

Table 3. Comparison about the CPU time

表3. CPU时间的比较

4. 结论

在本文中,基于微分变换步骤,我们提出了一种全新的DG方法用于求解标量双曲守恒律方程,该方法使用单级ADER方式进行时间离散。与传统的多级RKDG方法相比,该方法是单步的、单级的,并且是全离散的。此外,微分转换步骤使得该方法能够比较容易地在时–空上达到任意高阶精度。关于将时–空导数转换为由空间导数来表示的操作,与Cauchy-Kowalewski步骤相比较,微分变换步骤更加简洁高效。而且,数值结果表明该方法针对光滑问题保持预期的高阶精度,针对间断解拥有较高的分辨率。与同阶RKDG方法相比较,该方法能节约较为可观的CPU时间。将来,我们将这种方法扩展到方程组以及二维问题。

致谢

本研究得到国家自然科学基金项目(11771228)的资助。

NOTES

*通讯作者。

参考文献

[1] Cockburn, B. and Shu, C.-W. (1989) TVB Runge-Kutta Local Projection Discontinuous Galerkin Finite Element Method for Conservation Laws II: General Framework. Mathematics of Computation, 52, 411-435.
https://doi.org/10.2307/2008474
[2] Cockburn, B., Lin, S.-Y. and Shu, C.-W. (1989) TVB Runge-Kutta Local Projection Discontinuous Galerkin Finite Element Method for Conservation Laws III: One-Dimensional Systems. Journal of Computational Physics, 84, 90-113.
https://doi.org/10.1016/0021-9991(89)90183-6
[3] Cockburn, B., Hou, S. and Shu, C.-W. (1990) The Runge-Kutta Local Projection Discontinuous Galerkin Finite Element Method for Conservation Laws IV: The Multidimensional Case. Mathematics of Computation, 54, 545-581.
https://doi.org/10.2307/2008501
[4] Cockburn, B. and Shu, C.-W. (1998) The Runge-Kutta Discontinuous Galerkin Method for Conservation Laws V: Multidimensional Systems. Journal of Computational Physics, 141, 199-224.
https://doi.org/10.1006/jcph.1998.5892
[5] Gottlieb, David, S., Ketcheson, I. and Shu, C.-W. (2009) High Order Strong Stability Preserving Time Discretizations. Journal of Scientific Computing, 38, 251-289.
https://doi.org/10.1007/s10915-008-9239-z
[6] Cockburn, B., Karniadakis, G. and Shu, C.-W. (2000) The Development of Discontinuous Galerkin Methods. In: Cockburn, B., Karniadakis, G. and Shu C.-W., Eds., Discontinuous Galerkin Methods: Theory, Computation and Applications, Lecture Notes in Computational Science and Engineering, Part I: Overview, Vol. 11, Springer, Berlin, 3-50.
https://doi.org/10.1007/978-3-642-59721-3
[7] Shu, C.-W. (2016) High Order WENO and DG Methods for Time-Dependent Convection-Dominated PDEs: A Brief Survey of Several Recent Developments. Journal of Computational Physics, 316, 598-613.
https://doi.org/10.1016/j.jcp.2016.04.030
[8] Qiu, J., Dumbser, M. and Shu, C.-W. (2005) The Discontinuous Galerkin Method with Lax-Wendroff Type Time Discretizations. Computer Methods in Applied Mechanics and Engineering, 194, 4528-4543.
https://doi.org/10.1016/j.cma.2004.11.007
[9] Toro, E.F., Millington, R.C. and Nejad, L.A.M. (2001) Towards Very High Order Godunov Schemes. In: Toro, E.F., Ed., Godunov Methods. Theory and Applications, Edited Review, Kluwer Academic Publishers, Dordrecht, 907-940.
https://doi.org/10.1007/978-1-4615-0663-8_87
[10] Titarev, V.A. and Toro, E.F. (2002) ADER: Arbitrary High Order Godunov Approach. Journal of Scientific Computing, 17, 609-618.
https://doi.org/10.1023/A:1015126814947
[11] Titarev, V.A. and Toro, E.F. (2005) ADER Schemes for Three-Dimensional Non-Linear Hyperbolic Systems. Journal of Computational Physics, 204, 715-736.
https://doi.org/10.1016/j.jcp.2004.10.028
[12] Dumbser, M. and Munz, C.D. (2005) ADER Discontinuous Galerkin Schemes for Aeroacoustics. Computers Rendus Mecanique, 333, 683-687.
https://doi.org/10.1016/j.crme.2005.07.008
[13] Dumbser, M. (2005) Arbitrary High Order Schemes for the Solution of Hyperbolic Conservation Laws in Complex Domains. Shaker Verlag, Aachen.
[14] Dumbser, M. and Munz, C.D. (2005) Arbitrary High Order Discontinuous Galerkinschemes. In: Cordier, S., Goudon, T., Gutnic, M. and Sonnendrucker, E., Eds., Numerical Methods for Hyperbolic and Kinetic Problems, IRMA Series in Mathematics and Theoretical Physics, EMS Publishing House, Zürich, 295-333.
[15] Zanotti, O., Fambri, F., Dumbser, M. and Hidalgo, A. (2015) Space-Time Adaptive ADER Discontinuous Galerkin Finite Element Schemes with a Posteriori Sub-Cell Finite Volume Limiting. Computers & Fluids, 118, 204-224.
https://doi.org/10.1016/j.compfluid.2015.06.020
[16] Fambri, F., Dumbser, M. and Zanotti, O. (2017) Space-Time Adaptive ADER-DG Schemes for Dissipative Flows: Compressible Navier-Stokes and Resistive MHD Equations. Computer Physics Communications, 220, 297-318.
https://doi.org/10.1016/j.cpc.2017.08.001
[17] Fambri, F., Dumbser, M., et al. (2018) ADER Discontinuous Galerkin Schemes for General-Relativistic Ideal Magnetohydrodynamics. Monthly Notices of the Royal Astronomical Society, 477, 4543-4564.
https://doi.org/10.1093/mnras/sty734
[18] Rannabauer, L., Dumbser, M. and Bader, M. (2018) ADER-DG with A-Posteriori Finite-Volume Limiting to Simulate Tsunamis in a Parallel Adaptive Mesh Refinement Framework. Computers & Fluids, 173, 299-306.
https://doi.org/10.1016/j.compfluid.2018.01.031
[19] Dumbser, M., Dumbser, M. and Munz, C.D. (2006) Building Blocks for Arbitrary High Order Discontinuous Galerkin Schemes. Journal of Scientific Computing, 27, 215-230.
https://doi.org/10.1007/s10915-005-9025-0
[20] Dumbser, M., Hidalgo, A. and Zanotti, O. (2014) High Order Space-Time Adaptive ADER-WENO Finite Volume Schemes for Non-Conservative Hyperbolic Systems. Computer Methods in Applied Mechanics and Engineering, 268, 359-387.
https://doi.org/10.1016/j.cma.2013.09.022
[21] Duan, J. and Tang, H. (2020) An Efficient ADER Discontinuous Galerkin Scheme for Directly Solving Hamilton-Jacobi Equation. Journal of Computational Mathematics, 38, 58-83.
https://doi.org/10.4208/jcm.1902-m2018-0189
[22] Dumbser, M., Enaux, C. and Toro, E.F. (2008) Finite Volume Schemes of Very High Order of Accuracy for Stiff Hyperbolic Balance Laws. Journal of Computational Physics, 227, 3971-4001.
https://doi.org/10.1016/j.jcp.2007.12.005
[23] Ayaz, F. (2004) Solutions of the System of Differential Equations by Differential Transform Method. Applied Mathematics and Computation, 147, 547-567.
https://doi.org/10.1016/S0096-3003(02)00794-4
[24] Norman, M.R. and Finkel, H. (2012) Multi-Moment ADER-Taylor Methods for Systems of Conservation Laws with Source Terms in One Dimension. Journal of Computational Physics, 231, 6622-6642.
https://doi.org/10.1016/j.jcp.2012.05.029