一维双曲守恒律方程的保极值间断有限体积元方法
A Maximum-Principle Satisfying Discontinuous Finite Volume Element Scheme for One-Dimensional Hyperbolic Conservation Laws
DOI: 10.12677/AAM.2020.911223, PDF, HTML, XML, 下载: 751  浏览: 3,205  科研立项经费支持
作者: 陈 浩, 高 巍:内蒙古大学数学科学学院,内蒙古 呼和浩特
关键词: 间断有限体积元方法斜率限制器Runge-Kutta时间离散双曲守恒律Discontinuous Finite Volume Element Method Slope Limiter Runge-Kutta Time Discretization Hyperbolic Conservation Laws
摘要: 本文利用间断有限体积元方法求解双曲守恒律方程。为克服传统TVD限制器的精度损失问题,本文采用了保极值限制器。时间离散上采用了三阶的SSP Runge-Kutta方法。经典算例结果验证了本方法计算的有效性和精度。
Abstract: In the article, we present a discontinuous finite volume element method for solving hyperbolic conservation laws. A maximum-principle satisfying limiter is adopted to keep accuracy. The time discretization is based on third order SSP Runge-Kutta scheme. Typical test cases show the effectiveness and accuracy of the present scheme.
文章引用:陈浩, 高巍. 一维双曲守恒律方程的保极值间断有限体积元方法[J]. 应用数学进展, 2020, 9(11): 1934-1944. https://doi.org/10.12677/AAM.2020.911223

1. 引言

双曲方程作为偏微分方程中的一类重要方程,其解中往往出现间断,因此对于数值方法提出很大挑战。针对双曲守恒律方程,一系列的格式被提出和发展,例如Godunov格式 [1],Lax-Friedrichs格式 [2],总变差递减(Total Variation Diminishing, TVD) [3] [4],总变差有界(Total Variation Bounded, TVB) [5],加权本质无震荡格式(Weighted Essentially Non-Oscillatory, WENO) [6] 等。

间断有限体积元方法最早在2004年 [7] 中被YeXiu提出,作者将有限体积元方法与DG方法结合,针对椭圆问题提出了间断有限体积元方法。之后,毕春加将此方法推广到了抛物问题及双曲问题 [8] [9]。该方法不仅构造简单,还具备保持物理量间局部守恒、可以处理复杂边界、可并行计算等优点,发展前景广阔。在2009年,陈大伟等借鉴了控制体积有限元方法与龙格–库塔间断有限元方法,提出龙格-库塔控制体积间断有限元方法(Runge-Kutta Control Volume Discontinuous Finite Element Method, RKCVDFEM),保证了数值解的局部守恒性且可以很好的处理激波间断问题。但RKCVDFEM使用了minmod限制器,由于该限制器中参数M的选取依赖于不同的问题,从而限制了方法的适用范围。

区别于传统的间断有限体积元方法 [10] [11] [12] [13] [14],本文基于SSP Runge-Kutta时间离散方法,采用MPS (Maximum-principle-satisfying)的高阶精度限制器,构造了保极值间断有限体积元方法来求解双曲守恒律方程,并通过经典数值算例来验证方法的可行性与高效性。

2. 格式的构造

2.1. 空间离散

一维守恒律方程

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

这里的f是流通量函数。剖分定义域,令 x i 1 / 2 为剖分节点,第i个单元记为 I i = ( x i 1 / 2 , x i + 1 / 2 ) ,单元长度为 h = x i + 1 / 2 x i 1 / 2 。在每个控制单元 I i 上依次选取3个插值节点,分别记为 x i 1 / 2 , x i , x i + 1 / 2 ,围绕插值节点选取控制体积,三个控制单元分别记为 I i 1 / 2 * = ( x i 1 / 2 , x i 1 / 4 ) I i * = ( x i 1 / 4 , x i + 1 / 4 ) I i + 1 / 2 * + = ( x i + 1 / 4 , x i + 1 / 2 ) ,试探函数空间 U h 选为线性元空间,相应的基函数选取为Lagrange基函数。选取的基函数记为 φ j ( l ) ,则单元形状函数 u h

u h ( x , t ) = l = 1 3 u j ( l ) φ j ( l ) ( x )

选取检验函数为控制单元 I 上的分片常数函数,相应的基函数

ψ j l = { 1 , x I 0 , , l = 1 , 2 , 3

从原方程出发进行空间离散。先在方程两边同时乘以检验函数v,并在一个单元 I i 上做积分,u用 u h 来代替

{ d d t ( I i 1 / 2 * + φ j ( 1 ) d x * u j ( 1 ) + I i 1 / 2 * + φ j ( 2 ) d x * u j ( 2 ) + 0 ) = f i 1 / 2 f i 1 / 4 d d t ( I i * φ j ( 1 ) d x * u j ( 1 ) + I i * φ j ( 2 ) d x * u j ( 2 ) + I i * φ j ( 3 ) d x * u j ( 3 ) ) = f i 1 / 4 f i + 1 / 4 d d t ( 0 + I i + 1 / 2 * φ j ( 2 ) d x * u j ( 2 ) + I i + 1 / 2 * φ j ( 3 ) d x * u j ( 3 ) ) = f i + 1 / 4 f i + 1 / 2

其中 f i ± 1 / 4 = f ( u h ( x i ± 1 / 4 , t ) ) ,即 f i ± 1 / 4 就是把 x i ± 1 / 4 带入单元形状函数 u h 中求得,而又由于 f i ± 1 / 2 无定义,故本文采用Lax-Friedrichs数值流通量来定义 f i ± 1 / 2

f u , u + = 1 2 [ f ( u ) + f ( u + ) C ( u + u ) ]

其中 C = max u | f ( u ) | 。整理方程组得

A d u h d t = g u h = ( u j ( 1 ) u j ( 2 ) u j ( 3 ) ) g = ( f i 1 / 2 f i 1 / 4 h f i 1 / 4 f i + 1 / 4 h f i + 1 / 4 f i + 1 / 2 h )

当基函数取线性元与二次元分别对应的矩阵A如下

A ( p 1 ) = ( 3 16 1 16 0 1 16 6 16 1 16 0 1 16 3 16 ) A ( p 2 ) = ( 1 6 5 48 1 48 1 48 11 24 1 48 1 48 5 48 1 6 )

2.2. 斜率限制器

保极值的限制器

为了抑制数值振荡,引入MPS (Maximum-principle-satisfying)高阶精度限制器。

u ˜ j ( x ) = θ ( u j ( x ) u ¯ j ) + u ¯ j θ = min { | u max u ¯ j M j u ¯ j | , | u min u ¯ j m j u ¯ j | , 1 }

M j = max x I j u j ( x ) m j = min x I j u j ( x )

其中 u ¯ j = 1 Δ x I j u j ( x ) d x = = 1 N ω u j ( x ) ,设 ω 是区间 [ 1 2 , 1 2 ] 上的正交权重,可以令 = 1 N ω = 1

在该限制器中 u j 表示在 t n 时刻单元上的数值解,其单元平均值 u ¯ j 属于区间 [ u min , u max ] ,参考 [15] [16]。

Shu在 [17] 中证明了该限制器不会破坏高阶的精度。

2.3. 时间离散

半离散后得到常微分方程组,使用SSP Runge-Kutta格式 [18]

u ( 1 ) = u n + Δ t L ( u n ) u ( 2 ) = 3 4 u n + 1 4 u ( 1 ) + 1 4 Δ t L ( u ( 1 ) ) u n + 1 = 1 3 u n + 2 3 u ( 2 ) + 2 3 Δ t L ( u ( 2 ) )

3. 算例

3.1. 算例1线性对流方程

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

计算讨论在周期边界条件下的该算例在相同时间下,基函数分别为线性元、二次元时,它们的误差与收敛阶。计算结果见表1表2

Table 1. t = 0.1, p1

表1. 线性元下算例1的数值误差和收敛阶

Table 2. t = 0.1, p2

表2. 二次元下算例1的数值误差和收敛阶

通过例子可以看出,对于 p 1 元,实际计算可以达到二阶精度,而对 p 2 元,计算可以达到三阶精度。

3.2. 算例2 Burgers方程

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

边界条件选取周期边界条件,在 t = 1 π 0.3183 时出现激波。由图1~2可知当 t = 0.3 时结果没有激波出现,由图3~6可知当 t = 2 π t = 1.1 时,结果出现激波。可以看到数值解在间断附近有良好的分辨率。

Figure 1. t = 0.3 , Δ x = 1 30

图1. 剖分60份时的示意图, t = 0.3

Figure 2. t = 0.3 , Δ x = 1 50

图2. 剖分100份时的示意图, t = 0.3

Figure 3. t = 2 π , Δ x = 1 30

图3. 剖分60份时的示意图, t = 2 π

Figure 4. t = 2 π , Δ x = 1 50

图4. 剖分100份时的示意图, t = 2 π

3.3. 算例3 Buckely-Leverett方程

{ u t + ( 4 u 2 4 u 2 + ( 1 u ) 2 ) x = 0 u 0 = { 1 0.5 < x < 0 0

Figure 5. t = 1.1 , Δ x = 1 30

图5. 剖分60份时的示意图, t = 1.1

Figure 6. t = 1.1 , Δ x = 1 50

图6. 剖分100份时的示意图, t = 1.1

图7~8可知,通过比较数值解与五阶WENO格式下的参考解可以发现,保极值间断有限体积元方法下的数值解在大梯度处无震荡,而且与参考解有完全类似地良好计算效果。

3.4. 算例4 交通流问题

考虑一段20 km长的公路,入口的密度是50 veh/km。(入口密度用单位长度路段内的车辆总数来表示)对于所给出的初值条件,我们考虑入口条件变化。在两个小时段分析,最初10分钟入口关闭,10分钟到30分钟,提高到入口密度75 veh/km,30分钟后入口密度恢复到50 veh/km。初值条件见图9

Figure 7. t = 0.6 , Δ x = 1 20

图7. 剖分40份时的示意图, t = 0.6

Figure 8. t = 0.6 , Δ x = 1 40

图8. 剖分80份时的示意图, t = 0.6

{ u t + f ( u ) x = 0 u 0 = { 50 0 x < 10 350 10 x < 15 1400 70 x 15 x < 20

f ( u ) = { 0.4 u 2 + 100 u 0 u < 50 0.1 u 2 + 15 u + 3500 50 u < 100 0.024 u 2 5.2 u + 4760 100 u < 350

Figure 9. t = 0 , Δ x = 1 5

图9. 算例4的初始条件

计算结果见图10~13,在本算例中,分析了90分钟内因入口条件变化导致的交通流问题,通过将各个时间节点的车流密度变化图与该算例的准确解作对比,可以看出吻合情况较好。

4. 结论

本文研究了保极值的间断有限体积元方法,通过使用MPS的限制器使其保持高阶精度,守恒的同时又能满足极值原理。通过计算结果进行对比分析,证实了该保极值的间断有限体积元方法具有其理论设计的高精度和对间断高分辨率的特性。

Figure 10. t = 10 min , Δ x = 1 5

图10. t = 10 min 时的示意图

Figure 11. t = 30 min , Δ x = 1 5

图11. t = 30 min 时的示意图

Figure 12. t = 60 min , Δ x = 1 5

图12. t = 60 min 时的示意图

Figure 13. t = 90 min , Δ x = 1 5

图13. t = 90 min 时的示意图

基金

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

Baidu

参考文献

[1] Godunov, S.K. (1959) A Difference Method for Numerical Calculation of Discontinuous Solutions of the Equations of Hydrodynamics. Matematicheskii Sbornik, 89, 271-306.
[2] Friedrichs, K.O. and Lax, P.D. (1971) Systems of Conservation Equations with a Convex Extension. Proceedings of the National Academy of Sciences, 68, 1686-1688.
https://doi.org/10.1073/pnas.68.8.1686
[3] Cockburn, B. and Shu, C. (1989) TVB Runge-Kutta Local Projection Discontinuous Galerkin Finite Element Method for Conservation Laws II: General Framework I. Mathematics of Computation, 52, 411-435.
https://doi.org/10.2307/2008474
[4] 王文龙, 李桦, 刘枫, 等. 基于TVD思想的高阶迎风紧致格式[J]. 国防科技大学学报, 2013, 35(6): 9-14.
[5] Shu, C.W. (1987) TVB Uniformly High-Order Schemes for Conservation Laws. Mathematics of Computation, 49, 105-121.
https://doi.org/10.1090/S0025-5718-1987-0890256-5
[6] Liu, X., Osher, S. and Chan, T. (1994) Weighted Essentially Non-Oscillatory Schemes. Journal of Computational Physics, 115, 200-212.
https://doi.org/10.1006/jcph.1994.1187
[7] Ye, X. (2004) A New Discontinuous Finite Volume Method for Elliptic Problems. SIAM Journal on Numerical Analysis, 42, 1062-1072.
https://doi.org/10.1137/S0036142902417042
[8] Bi, C.J. and Geng, J.Q. (2009) Discontinuous Finite Volume Element Method for Parabolic Problems. Numerical Methods for Partial Differential Equations, 26, 367-383.
https://doi.org/10.1002/num.20437
[9] 耿家强, 毕春加. 二阶双曲方程的间断有限体积元方法[J]. 烟台大学学报, 2009, 22(2): 97-101.
[10] 陈大伟. 求解双曲守恒律的龙格–库塔控制体积间断有限元方法(RKCVDFEM) [D]: [硕士学位论文]. 绵阳: 中国工程物理研究院, 2009:11-40.
[11] 李珍珍, 蔚喜军, 赵国忠, 等. RKDG有限元法求解一维拉格朗日形式的Euler方程[J]. 计算物理, 2014, 31(1): 1-10.
[12] 朱倩倩, 范丽丽. 一维水击方程的间断有限元方法[J]. 武汉工业学院学报, 2013, 32(3): 61-63+73.
[13] 张筱筱. 对流扩散方程的迎风间断体积元模拟[D]: [硕士学位论文]. 济南: 山东师范大学, 2010.
[14] 胡健伟, 田春松. 对流–扩散问题的Galerkin部分迎风有限元方法[J]. 计算数学, 1992(4): 446-459.
[15] 任晓栋, 顾春伟. 基于间断有限元方法的紧致限制器研究[J]. 工程热物理学报, 2013, 34(9): 1635-1639.
[16] 魏少华, 张绪久. 基于Runge-Kutta不连续Galerkin方法的斜率限制器[J]. 科学技术与工程, 2017, 17(24): 112-115.
[17] 舒其望. 计算流体力学中的间断Galerkin方法述评(英文) [J]. 力学进展, 2013, 43(6): 541-554.
[18] 孟雄, 舒其望, 杨扬. 发展型偏微分方程间断有限元方法的超收敛性献给林群教授80华诞[J]. 中国科学: 数学, 2015, 45(7): 1041-1060.

Baidu
map