一维双曲守恒律方程的基于指数多项式逼近的间断Petrov-Galerkin方法
A Discontinuous Petrov-Galerkin Method Based on Exponential Polynomial Approximation Spaces for One-Dimensional Hyperbolic Conservation Laws
摘要: 本文利用间断Petrov-Galerkin方法求解双曲守恒律方程,使用非代数多项式有限元空间(指数多项式基函数)来构造逼近函数进行空间离散,用SSP Runge-Kutta方法进行时间离散,TVB型minmod限制器用来抑制间断解数值计算时的数值振荡。通过对典型数值算例的计算,并与代数多项式间断Petrov-Galerkin方法的对比,结果显示本文的数值方法有良好的数值计算效果和数值稳定性。
Abstract: In this paper, a discontinuous Petrov-Galerkin method is used to solve the hyperbolic conservation laws. A non-algebraic polynomial finite element space, based on exponential polynomials, is used to construct the approximation function for spatial discretization. The SSP Runge-Kutta method is used for time discretization. The TVB minmod limiter is used to suppress the numerical oscillation in the numerical calculation of discontinuous solutions. Through the calculation of typical numerical examples and the comparison with algebraic polynomial discontinuous Petrov-Galerkin method, the results show that the numerical method in this paper has good numerical effect and numerical stability.
文章引用:孙雅洁, 高巍. 一维双曲守恒律方程的基于指数多项式逼近的间断Petrov-Galerkin方法[J]. 应用数学进展, 2021, 10(12): 4542-4553. https://doi.org/10.12677/AAM.2021.1012484

1. 引言

双曲守恒律方程是流体力学中重要的数学模型,在航空航天、气象、海洋等科学工程领域都有广泛的应用,该方程的研究对于揭示自然界及工程技术中存在的基本规律具有重要意义。一般来说,非线性双曲守恒律方程(组)无论初值多么光滑,随着时间推进,方程的解有可能会发生间断。因此,构造合适的数值方法来求解双曲守恒律方程是必要且有意义的。

具有间断解处理能力的数值格式是双曲守恒律数值求解的主流方法。1973年Reed和Hill首次提出间断Galerkin (Discontinuous Galerkin, DG)方法,对中子输送方程进行数值模拟 [1]。此后,Cockburn和Shu将此方法推广应用到求解双曲守恒律方程及方程组,提出了Runge-Kutta间断Galerkin (RKDG)有限元方法 [2] - [7],此种方法选取的空间允许函数在剖分后的单元边界处出现间断。DG方法具有诸多优点,如数值解具有高精度,多项式次数的选取比较灵活,易于处理复杂区域等。随后,受文献 [8] 的启发,Cockburn和Shu提出了求解对流扩散方程局部间断Galerkin (Local Discontinuous Galerkin, LDG)方法 [9]。LDG方法的基本思路是将一个方程改写为一个一阶的方程组,然后用DG方法求解。此后,LDG方法也被用来求解椭圆方程 [10]、五阶色散方程 [11] 等。陈大伟和蔚喜军在RKDG方法和广义差分的基础上给出一种新的高阶、高分辨率的方法,即控制体积间断有限元方法(RKCVDFEM) [12]。在LDG和RKCVDFEM方法的基础上,文献 [13] [14] [15] 提出了局部间断Petrov-Galerkin (LDPG)方法,LDPG保留了LDG和DPG方法的优点,不仅算式简单,还具有保持物理量局部守恒的特征。Shu提出了基于非代数多项式近似空间的DG方法 [16],用于数值求解含时双曲型和抛物型以及稳态双曲型和椭圆型偏微分方程。该算法基于由非代数多项式基函数(如指数函数、三角函数等)张成的逼近空间,对特定类型的偏微分方程以及初始和边界条件,相较于基于相同精度阶的多项式近似空间的DG方法,通常可以提供更精确的结果。

本文利用DPG方法对双曲守恒律方程进行数值求解,使用非代数多项式基的有限元空间(指数多项式基)来构造逼近函数进行空间离散。第二部分构造一维双曲守恒律方程间断Petrov-Galerkin方法以进行空间离散;第三部分对几种双曲守恒律方程经典算例,分别使用代数多项式基和指数多项式基进行数值运算,并对运算结果进行比较分析;第四部分为结论。

2. 基于指数多项式逼近的间断Petrov-Galerkin方法

2.1. 空间离散

考虑双曲守恒律方程

{ u t + f ( u ) x = 0 , a x b , 0 t T u ( x , 0 ) = u 0 ( x ) (2.1.1)

其中f是流通量函数。

首先对求解区间进行剖分。将求解区间 [ a , b ] 剖分成N个单元格, a = x 1 2 x 3 2 x N + 1 2 = b ,记 x j 1 2 ( j = 1 , , N ) 为剖分节点,第j个单元为 I j = ( x j 1 2 , x j + 1 2 ) ,单元长度 Δ x j = x j + 1 2 x j 1 2 h = max 1 j N Δ x j

选取对偶剖分单元 I j l ( l = 0 , , k ) I j l = ( x j l , x j l + 1 ) x j 0 = x j 1 2 x j k + 1 = x j + 1 2 ,如图1所示

Figure 1. Subdivision of control cell I j

图1. I j 上的对偶剖分

定义试探函数空间 U h = U h k = { v : v | I j P k ( I j ) , j = 1 , , N } ,其中 P k ( I j ) 为定义在 I j 上的k次代数多

项式或其它类型的逼近多项式,每个单元格 I j 上的基函数为 φ j l ( x ) ( l = 0 , 1 , , k ) I j 上的单元形状函数

u h ( x , t ) = l = 0 k c l ( t ) φ j l ( x ) , x I j (2.1.2)

其中 c l ( t ) 为单元自由度。基于 I j 上的检验函数空间 V h 取分片常数空间,相应的基函数为

ψ j l = { 1 , x I j l 0 , otherwise (2.1.3)

将原方程两边同时乘以检验函数v,在 I j 上积分得

I j u t v d x + I j u t v d x = 0 (2.1.4)

u用 u h 代替,检验函数用相应基函数 ψ j l 代替,并在 I j l 上积分得

{ I j 0 ( u h ) t v d x + I j 0 ( u h ) t v d x = 0 I j 1 ( u h ) t v d x + I j 1 ( u h ) t v d x = 0 I j k ( u h ) t v d x + I j k ( u h ) t v d x = 0 (2.1.5)

分部积分可得

{ d d t I j 0 u h d x = f | I j 0 d d t I j 1 u h d x = f | I j 1 d d t I j k u h d x = f | I j k (2.1.6)

u h 表达式代入上式得

{ d c 0 d t I j 0 φ j 0 d x + d c 1 d t I j 0 φ j 1 d x + + d c k d t I j 0 φ j k d x = f | I j 0 d c 0 d t I j 1 φ j 0 d x + d c 1 d t I j 1 φ j 1 d x + + d c k d t I j 1 φ j k d x = f | I j 1 d c 0 d t I j k φ j 0 d x + d c 1 d t I j k φ j 1 d x + + d c k d t I j k φ j k d x = f | I j k (2.1.7)

整理得

( d c 0 d t d c 1 d t d c k d t ) = A 1 ( ( f ( u h ( x j 1 , t ) ) f j 1 2 ) ( f ( u h ( x j 2 , t ) ) f ( u h ( x j 1 , t ) ) ) ( f j + 1 2 f ( u h ( x j k , t ) ) ) ) (2.1.8)

其中

A = ( I j 0 φ j 0 d x I j 0 φ j 1 d x I j 1 φ j 0 d x I j 1 φ j 1 d x I j 0 φ j k d x I j 1 φ j k d x I j k φ j 0 d x I j k φ j 1 d x I j k φ j k d x ) (2.1.9)

在单元交界处允许解间断,由于 f j ± 1 2 无定义,故用相容单调的Lipschitz连续数值流

f ^ j ± 1 2 = f ^ ( u j ± 1 2 , u j ± 1 2 + ) (2.1.10)

来代替 f j ± 1 2 ,其中

u j 1 2 + = u h ( x j 1 2 , t ) , u j + 1 2 = u h ( x j + 1 2 , t ) (2.1.11)

本文采用局部Lax-Friedrichs数值流通量,

f ^ j ± 1 2 = f ^ ( u j ± 1 2 , u j ± 1 2 + ) = 1 2 [ f ( u j ± 1 2 + ) + f ( u j ± 1 2 ) C ( u j ± 1 2 + u j ± 1 2 ) ] (2.1.12)

其中

C = max min ( u j ± 1 2 , u j ± 1 2 + ) u max ( u j ± 1 2 , u j ± 1 2 + ) | f ( u ) | (2.1.13)

至此,空间离散完毕,得到常微分方程组

d U h d t = L h ( U h , t ) (2.1.14)

其中 U h 为单元自由度构成的向量。

2.1.1. 基于代数多项式的试探函数空间

k = 1 ,控制单元 I j 0 = ( x j 1 2 , x j ) I j 1 = ( x j , x j + 1 2 ) x j = 1 2 ( x j 1 2 + x j + 1 2 ) ,常常选取正交代数多项式基函数

φ j 0 ( x ) = 1 , φ j 1 ( x ) = x x j Δ x j (2.1.15)

u h ( x , t ) = c 0 ( t ) φ j 0 ( x ) + c 0 ( t ) φ j 1 ( x ) (2.1.16)

可以算出

A = 1 Δ x j ( 1 1 4 4 ) (2.1.17)

2.1.2. 基于指数多项式的试探函数空间

k = 1 ,控制单元 I j 0 = ( x j 1 2 , x j ) I j 1 = ( x j , x j + 1 2 ) ,选取指数多项式基

φ j 0 ( x ) = e ( x x j ) , φ j 1 ( x ) = ( x x j ) e ( x x j ) (2.1.18)

u h ( x , t ) = c 0 ( t ) φ j 0 ( x ) + c 1 ( t ) φ j 1 (2.1.19)

可以算出

A 1 = 1 | A | ( ( Δ x j 2 1 ) e Δ x j 2 + 1 1 ( Δ x j 2 + 1 ) e Δ x j 2 1 e Δ x j 2 1 e Δ x j 2 ) (2.1.20)

其中

| A | = Δ x j 2 ( e Δ x j 2 + e Δ x j 2 ) Δ x j (2.1.21)

2.2. 时间离散

经过空间离散后的常微分方程组(2.1.14),选用SSP Runge-Kutta方法进行时间离散。令 t n ( n = 0 , , n t )

[ 0 , T ] 的剖分,记 Δ t = t n + 1 t n ,并且定义 C F L = f L Δ t Δ x

{ u ( 1 ) = u n + Δ x L ( u n , t n ) u ( 2 ) = 3 4 u n + 1 4 ( u ( 1 ) + Δ t L ( u ( 1 ) , t n + Δ t ) ) u n + 1 = 1 3 + 2 3 ( u ( 2 ) + Δ t L ( u ( 2 ) , t n + Δ t ) ) (2.2.1)

2.3. 限制器

为提高方法的稳定性,抑制间断附近产生的非物理振荡,在时间方向的步进过程中需引入斜率限制器。本文选用TVB型minmod限制器。单元 I j 上的积分平均值定义为

u ¯ j = 1 Δ x j I j u h d x (2.3.1)

u ˜ j = u j + 1 2 u ¯ j , u ˜ ˜ j = u ¯ j u j 1 2 + (2.3.2)

限制器作用后的 u ˜ i , u ˜ ˜ i

u ˜ j ( m o d ) = m ˜ ( u ˜ j , Δ + u ¯ j , Δ u ¯ j ) , u ˜ ˜ j ( m o d ) = m ˜ ( u ˜ ˜ j , Δ + u ¯ j , Δ u ¯ j ) (2.3.3)

其中函数 m ˜ 为满足TVB性质的minmod限制器

m ˜ ( a 1 , a 2 , a 3 ) = { a 1 , | a 1 | M h 2 m ( a 1 , a 2 , a 3 ) , otherwise (2.3.4)

其中 M > 0 为常数,M的选取依赖于问题,方式详见文献 [17]。

另外, m ( a 1 , a 2 , a 3 ) 为minmod函数

m ( a 1 , a 2 , a 3 ) = { s min ( | a 1 | , | a 2 | , | a 3 | ) , s = sign ( a 1 ) = sign ( a 2 ) = sign ( a 3 ) 0 , otherwise (2.3.5)

则有

u j + 1 2 ( m o d ) = u ¯ j + u ˜ j ( m o d ) , u j 1 2 + ( m o d ) = u ¯ j u ˜ ˜ j ( m o d ) (2.3.6)

则数值流通量 f ^ j ± 1 2 = f ^ ( u j ± 1 2 ( m o d ) , u j ± 1 2 + ( m o d ) )

3. 数值算例

3.1. 线性对流方程

令(2.1.1)中 f ( u ) = u ,即线性对流方程

{ u t + u x = 0 u ( x , 0 ) = u 0 ( x ) (3.1.1)

C F L = 0.1

算例1

u 0 ( x ) = sin ( 2 π x ) (3.1.2)

求解区域为 [ 1 , 1 ] T = 0.1 N = 80

表1表2的计算结果证明了基于指数多项式的间断Petrov-Galerkin方法是具有二阶精度的,而且限制器的使用未出现光滑极值点处降阶现象。

Table 1. Algebraic polynomial approximation spaces

表1. 代数多项式基

Table 2. Exponential polynomial approximation spaces

表2. 指数多项式基

算例2

u 0 ( x ) = { 1 , x [ 0.2 , 0.2 ] 0 , otherwise (3.1.3)

求解区域为 [ 1 , 1 ] T = 0.1 N = 80

算例3

u 0 ( x ) = { sin ( 2 π x ) , x [ 0.3 , 0.8 ] cos ( 2 π x ) 0.5 , otherwise (3.1.4)

求解区域为 [ 0 , 1 ] T = 0.1 N = 80

算例4

u o ( x ) = { 1 6 ( G ( x , β , z β ) + G ( x , β , z + β ) + 4 G ( x , β , z ) ) , x [ 0.8 , 0.6 ] 1 , x [ 0.4 , 0.2 ] 1 | 10 ( x 0.1 ) | , x [ 0 , 0.2 ] 1 6 ( F ( x , α , a δ ) + F ( x , α , a + δ ) + 4 F ( x , α , a ) ) , x [ 0.4 , 0.6 ] 0 , otherwise (3.1.5)

求解区域为 [ 1 , 1 ] T = 0.1 N = 80

边界条件为周期边界条件,T时刻的精确解为初值沿x轴方向左移T个单位,图2~4给出了不同初值下T时刻时数值解和精确解的对比图,可以看出该格式可以很好地计算间断初值问题,数值解与精确解吻合情况较好且间断附近没有出现任何非物理振荡。

Figure 2. Algebraic polynomial and exponential polynomial approximation spaces

图2. 代数多项式基(左)、指数多项式基(右)

Figure 3. Algebraic polynomial and exponential polynomial approximation spaces

图3. 代数多项式基(左)、指数多项式基(右)

Figure 4. Algebraic polynomial and exponential polynomial approximation spaces

图4. 代数多项式基(左)、指数多项式基(右)

3.2. 无粘Burgers方程

令(2.1.1)中 f ( u ) = u 2 2 ,即无粘Burgers方程

{ u t + ( u 2 2 ) x = 0 u ( x , 0 ) = 1 4 + 1 2 sin ( π x ) (3.2.1)

C F L = 0.1 ,求解区域为 [ 1 , 1 ] N = 80

图5图6表明,格式对间断有很好的分辨率,在间断附近没有出现任何非物理振荡。

Figure 5. T = 2 π , algebraic polynomial and exponential polynomial approximation spaces

图5. T = 2 π ,代数多项式基(左)、指数多项式基(右)

Figure 6. T = 1.1 , algebraic polynomial and exponential polynomial approximation spaces

图6. T = 1.1 ,代数多项式基(左)、指数多项式基(右)

3.3. Buckley-Leverett方程

令(2.1.1)中 f ( u ) = 4 u 2 4 u 2 + ( 1 u ) 2 ,即非凸流通量函数Buckley-Leverett方程

{ u t + ( 4 u 2 4 u 2 + ( 1 u ) 2 ) x = 0 u ( x , 0 ) = { 1 , x [ 0.5 , 0 ] 0 , otherwise (3.3.1)

C F L = 0.5 ,求解区域为 [ 1 , 1 ] T = 0.4 N = 160

Figure 7. Algebraic and exponential polynomial approximation spaces

图7. 代数多项式基(左)、指数多项基(右)

图7可知,通过比较数值解与五阶WENO格式下的参考解 [18] [19] 可以发现,该格式计算出的数值解在大梯度处无振荡,可以很好地捕捉间断,而且与参考解在极值处的逼近情况比较好,可以较好地模拟解的形态。

4. 结论

针对双曲守恒律方程,本文结合非代数多项式基(指数多项式基)和间断Petrov-Galerkin方法进行求解,不仅计算公式简单,而且通过对典型数值算例的计算,并与基于代数多项式的间断Petrov-Galerkin方法进行对比,结果显示,基于指数多项式逼近的间断Petrov-Galerkin方法精度阶理想且可以很好地捕捉间断,具有良好的数值计算效果和数值稳定性。

基金项目

内蒙古大学科研发展基金(21100-5187133);内蒙古自治区人才开发基金项目(12000-1300020240)。

参考文献

[1] Reed, W.H. and Hill, T.R. (1973) Triangular Mesh Methods for the Neutron Transport Equation. Los Alamos National Laboratory, Los Alamos.
[2] Cockburn, B. and Shu, C.W. (1991) The Runge-Kutta Local Projection Discontinuous Galerkin Finite Element Method for Scalar Conservation Laws. ESAIM: Mathematical Modelling and Numerical Analysis, 25, 337-361.
https://doi.org/10.1051/m2an/1991250303371
[3] 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.1090/S0025-5718-1989-0983311-4
[4] 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
[5] 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.1090/S0025-5718-1990-1010597-0
[6] 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
[7] Cockburn, B. and Shu, C.W. (2001) Runge-Kutta Discontinuous Galerkin Methods for Convection Dominated Problems. Journal of Scientific Computing, 16, 173-261.
https://doi.org/10.1023/A:1012873910884
[8] Bassi, F. and Rebay, S. (1997) A High-Order Accurate Discontinuous Finite Element Method for the Numerical Solution of the Compressible Navier-Stokes Equations. Journal of Computational Physics, 131, 267-279.
https://doi.org/10.1006/jcph.1996.5572
[9] Cockburn, B. and Shu, C.W. (1998) The Local Discontinuous Galerkin Method for Time-Dependent Convection-Diffusion Systems. SIAM Journal on Numerical Analysis, 35, 2440-2463.
https://doi.org/10.1137/S0036142997316712
[10] Castillo, P., Cockburn, B., Perugia, I. and Schötzau, D. (2000) An a Priori Error Analysis of the Local Discontinuous Galerkin Method for Elliptic Problems. SIAM Journal on Numerical Analysis, 38, 1676-1706.
https://doi.org/10.1023/A:1015132126817
[11] Yan, J. and Shu, C.W. (2002) Local Discontinuous Galerkin Methods for Partial Differential Equations with Higher Order Derivatives. Journal of Scientific Computing, 17, 27-47.
https://doi.org/10.1023/A:1015132126817
[12] 陈大伟. 求解双曲守恒律的龙格-库塔控制体积间断有限元方法(RKCVDFEM) [D]: [硕士学位论文]. 绵阳: 中国工程物理研究院, 2009.
[13] Zhao, G.-Z., Yu, X.-J. and Guo, P.-Y. (2013) The Discontinuous Petrov-Galerkin Method for One-Dimensional Compressible Euler Equations in the Lagrangian Coordinate. Chinese Physics B, 22, 100-107.
https://doi.org/10.1088/1674-1056/22/5/050206
[14] 赵国忠, 蔚喜军, 郭怀民. 二维Lagrangian坐标系下可压气动方程组的间断Petrov-Galerkin方法(英文) [J]. 计算物理, 2017, 34(3): 294-308.
[15] 赵国忠, 蔚喜军, 郭虹平, 董自明. 求解含有高阶导数偏微分方程的局部间断Petrov-Galerkin方法(英文) [J].计算物理, 2019, 36(5): 517-532.
[16] Yuan, L. and Shu, C.W. (2006) Discontinuous Galerkin Method Based on Non-Polynomial Approximation Spaces. Journal of Computational Physics, 218, 295-323.
https://doi.org/10.1016/j.jcp.2006.02.013
[17] Cockburn, B. (1998) An Introduction to the Discontinuous Galerkin Method for Convection-Dominated Problems. In: Quarteroni, A., Ed., Advanced Numerical Approximation of Nonlinear Hyperbolic Equations, Springer, Berlin, Heidelberg, 150-268.
https://doi.org/10.1007/BFb0096353
[18] 孙阳, 李兴华, 艾晓辉. 新型紧致WENO5格式[J]. 哈尔滨理工大学学报, 2020, 25(1): 154-158.
[19] 阎超, 于剑, 徐晶磊, 范晶晶, 高瑞泽, 姜振华. CFD模拟方法的发展成就与展望[J]. 力学进展, 2011, 41(5): 562-589.