1. 引言
双曲型守恒律方程是一类描述物理系统中某些守恒量随时间和空间演化的双曲型方程[1],广泛应用于流体力学、气体动力学和电磁学等领域。由于这些方程的解经常表现出激波等间断性,且数值模拟可能受到震荡或数值扩散的影响,目前,开发有效求解双曲型守恒律方程的数值方法在计算数学领域的研究中依然面临着很大的挑战。
传统的数值方法包括有限差分法、有限体积法和有限元方法等等,这些方法经过多年的发展和改进,已在许多实际问题中得到广泛应用。在这些方法中,间断伽辽金方法最早由Reed和Hill于1973年引入,用于中子输运问题[2],并在1988年得到了进一步发展[3],成为求解双曲型守恒律方程的重要工具。间断伽辽金方法因其高阶精度和处理复杂几何的灵活性而受到广泛关注,它通过在每个单元内采用分段多项式函数,能够实现高阶空间精度,并自然处理解中的间断性[4]。然而,在处理强间断性时,间断伽辽金方法仍可能出现数值震荡,且计算成本较高,尤其是在多维问题中,通常需要较小的时间步长以确保稳定性。
为了解决这些问题,近年来开发了几种改进的间断伽辽金方法。其中,中心间断伽辽金方法作为间断伽辽金方法的一种重要变型[5] [6],通过在交错网格上处理离散项,避免了依赖于单元边界上的精确解或数值黎曼解。它通过不在单元边界处应用数值通量计算两组数值解,从而降低了计算复杂度。目前,中心间断伽辽金方法已成功应用于多个研究领域,如理想磁流体动力学方程[7] [8]、Hamilton-Jacobi方程[9]、Green-Naghdi方程[10]、Camassa-Holm方程[11]、广义Korteweg-de Vries方程[12]和波动方程[13]等等。
在时间离散化方面,三阶全变分递减(TVD) Runge-Kutta方法是一种常用的离散化方法[4] [14],它通过三步迭代更新提供高阶精度。然而,TVD型Runge-Kutta方法的精度通常仅限于四阶[15],即便在放宽TVD要求的情况下,高阶Runge-Kutta方法仍需要比精度阶数多更多的步数,这增加了计算复杂性,使得其在高阶时间离散化中效率较低。此外,对于具有非线性或复杂间断结构的问题,TVD型Runge-Kutta方法可能会产生高频震荡。
为克服这些局限性,我们考虑了Lax-Wendroff型时间离散方法[16] [17]。Lax-Wendroff型时间离散方法也被称为泰勒型或Cauchy-Kowalewski型,指的是在时间导数项中应用泰勒展开,或者在偏微分方程中的类似Cauchy-Kowalewski过程[1]。该方法基于经典的Lax-Wendroff方法,通过运用控制方程及其微分形式,将所有时间导数转换为空间导数,从而实现高阶时间精度并保持显式方案。与Runge-Kutta方法[4] [14]相比,Lax-Wendroff方法降低了计算复杂度,并且在波传播问题中表现出色,特别是在捕捉激波和间断方面。因此,将Lax-Wendroff型时间离散方法引入中心间断伽辽金框架,可以将高阶时间精度与增强的间断性处理能力相结合,从而得到更为稳健的数值方法。该研究旨在开发一种Lax-Wendroff型中心间断伽辽金方法,为求解双曲型守恒律方程提供一种既能解决光滑解又能处理间断解的方法,同时保持高精度和计算效率。
基于上述背景,本文探讨了Lax-Wendroff型中心间断伽辽金方法的数学公式,并展示了一系列数值实验的结果。实验结果表明,Lax-Wendroff型中心间断伽辽金方法不仅在高阶精度下保持了优异的性能,还展示了处理复杂间断解的卓越能力。本文的组织结构如下:第2部分详细描述了Lax-Wendroff型中心间断伽辽金方法在一维标量守恒律方程和Euler方程中的构造与实现;第3部分提供了多个数值实例用以验证方法的有效性和准确性;最后,在第4部分进行了总结和展望。
2. 数值方法
2.1. 一维守恒律方程的Lax-Wendroff型中心间断伽辽金方法
本节主要基于Lax-Wendroff型中心间断伽辽金方法求解一维守恒律方程(1)。首先,一维标量守恒律方程的数学表达式为:
(1)
其中
表示关于位置x和时间t的物理量,
是关于u的流量函数。针对方程(1),Lax-Wendroff型时间离散化如下,设
为时间步长,其中
,如公式(2)所示,我们对
时刻上的解在时间
上进行泰勒展开以实现三阶时间精度,那么我们得到:
(2)
根据一维守恒律方程(1),时间导数项
、
和
可以转化为空间导数项,其表达形式如下:
然后,我们结合上述公式,公式(2)可以被改写为:
(3)
其中
.
经过Lax-Wendroff型时间离散化后,我们在空间上采用中心间断伽辽金方法。设
为计算域
的一个划分,记单元为
和
,这里
。此外,我们定义两个离散函数空间,分别与重叠网格
和
相关,
其中I表示在单元I上次数不超过k的多项式空间,v在单元内是连续函数。
我们发现,公式(3)中的数值通量
存在高阶导数,对此采用了中心局部间断伽辽金(CLDG)方法,为了重构数值通量
的高阶导数,我们引入了两个辅助变量:
并且将公式(3)改写为:
(4)
基于上述公式,接下来我们将阐述CLDG方法的两组形式。
CLDG方法的第一组形式:
为了简便,只给出计算
、
和
的计算公式,关于
、
和
的计算公式类似可得。在第一组网格中,我们使用空间
,其半离散形式如下:寻找
,使得对于任意
,有:
(5)
(6)
(7)
CLDG方法的第二组形式:
第二组形式相比第一组形式增加了一项数值耗散项,用于处理不同单元上两个解之间的差异,并且该项的引入在分片线性情况下恢复了最优收敛率,且在非光滑初始条件下提供了更小的误差。其半离散形式如下:寻找
,使得对于任意
,有:
(8)
(9)
(10)
其中,
是由Courant-Friedrichs-Lewy (CFL)条件所决定的时间步长的上界,即
,其中c是由稳定性决定的CFL参数。
2.2. 一维Euler方程的Lax-Wendroff型中心间断伽辽金方法
一维Euler方程的Lax-Wendroff型中心间断伽辽金方法与一维守恒律方程的类似,仅在自变量的数量上有所不同。我们注意到,Lax-Wendroff型中心间断伽辽金方法可以扩展用于求解双曲守恒律系统,为了说明这一方法,我们考虑一维Euler方程:
(11)
其中
,
,
,
表示密度,m表示动量,u表示速度,E表示总能量,e表示
内能,p表示压力,
且
是比热容(空气中
)。接下来,我们通过运用方程中每个变量的微分形式,展示Euler方程的三阶Lax-Wendroff型时间离散形式,得到以下结果:
(12)
(13)
(14)
上述方程中的变量
已在[18]中有表述。基于[18]中变量的微分形式,我们引入辅助变量:
从而将其重写为:
接下来,我们将引入的辅助变量和上述变量的微分形式代入式(12)~(14)中,改写成与公式(4)类似的守恒律形式,并构造成与一维守恒律方程类似的三阶CLDG方法。同样,通过在截断的泰勒展开式中加入额外的导数项,可以实现更高阶的精度。
3. 数值算例
这一部分,我们展示了一些数值算例用以验证所提出的数值方法的有效性以及准确性。实验涵盖了方程连续解的精度测试和间断解的数值计算,其结果采用图表的形式进行展示分析。值得注意的是,在时间离散过程中,依据一维情况下的时间步长公式
,为避免较大CFL数引发的时间精度退化问题,特别是在处理非线性方程时,我们选择了较小的CFL数,以确保数值解的稳定性和精度。通过合理的CFL数调控,使得实验能成功验证该方法在不同问题下的有效性与准确性。此外,对于具有间断解的Burgers方程和Euler方程,我们应用了总变差有界(TVB)限制器,并给出了相应的TVB常数。
3.1. 线性对流方程的精度测试
我们对一维线性对流方程进行精度测试,该方程由以下表达式给出:
其初始条件为
,精确解为
,并在实验中采用了周期边界条件。接着,我们计算出
时刻该方程的数值解在
、
和
范数意义下的误差及收敛阶,结果如表1所示。根据表格中的数值结果,我们发现在
情况下的收敛阶达到了
,这与误差估计理论一致,此结果进一步验证了Lax-Wendroff型中心间断伽辽金方法在处理线性对流方程中的有效性。
Table 1. The
,
and
errors and orders of accuracy of the numerical solution for the 1D linear advection equation
表1. 一维线性对流方程数值解的
、
和
误差及收敛阶
|
误差 |
收敛阶 |
误差 |
收敛阶 |
误差 |
收敛阶 |
|
10 |
6.02E−02 |
|
2.93E−02 |
|
2.29E−02 |
|
20 |
1.33E−02 |
2.18 |
6.90E−03 |
2.09 |
6.60E−03 |
1.79 |
40 |
3.09E−03 |
2.10 |
1.69E−03 |
2.03 |
1.77E−03 |
1.90 |
80 |
7.58E−04 |
2.03 |
4.22E−04 |
2.01 |
4.55E−04 |
1.96 |
160 |
1.89E−04 |
2.00 |
1.05E−04 |
2.00 |
1.16E−04 |
1.98 |
|
10 |
2.69E−03 |
|
1.49E−03 |
|
1.48E−03 |
|
20 |
3.23E−04 |
3.06 |
1.85E−04 |
3.01 |
1.89E−04 |
2.98 |
40 |
4.00E−05 |
3.01 |
2.32E−05 |
3.00 |
2.38E−05 |
2.99 |
80 |
5.03E−06 |
2.99 |
2.90E−06 |
3.00 |
3.12E−06 |
2.93 |
160 |
6.77E−07 |
2.89 |
3.90E−07 |
2.89 |
5.57E−07 |
2.49 |
3.2. 无粘性Burgers方程的精度测试
我们对一维无粘性Burgers方程进行精度测试,该方程如下:
方程的初始条件是
,并在实验中采用了周期边界条件。值得注意的是,对于无粘性Burgers方程,我们基于初始条件运用牛顿迭代法获得了参考解。表2中展示了方程数值解在
、
和
范数意义下的误差及收敛阶,其中计算时间为
。结果表明,尽管求解非线性方程的复杂性较高,可能会出现震荡和数值不稳定性,但Lax-Wendroff型中心间断伽辽金方法仍然在
情况下的收敛阶数达到了
,这表明数值结果与理论预期一致。
Table 2. The
,
and
errors and orders of accuracy of the numerical solution for the 1D inviscid Burgers equation
表2. 一维无粘性Burgers方程数值解的
、
和
误差及收敛阶
|
误差 |
收敛阶 |
误差 |
收敛阶 |
误差 |
收敛阶 |
|
10 |
5.99E−02 |
|
3.23E−02 |
|
4.20E−02 |
|
20 |
1.44E−02 |
2.06 |
7.95E−03 |
2.02 |
1.26E−02 |
1.74 |
40 |
3.56E−03 |
2.02 |
1.97E−03 |
2.01 |
3.32E−03 |
1.92 |
80 |
8.82E−04 |
2.01 |
4.93E−04 |
2.00 |
8.42E−04 |
1.98 |
160 |
2.20E−04 |
2.00 |
1.23E−04 |
2.00 |
2.07E−04 |
2.02 |
|
10 |
4.43E−03 |
|
2.93E−03 |
|
8.51E−03 |
|
20 |
4.77E−04 |
3.21 |
3.47E−04 |
3.08 |
1.24E−03 |
2.78 |
40 |
5.91E−05 |
3.01 |
4.33E−05 |
3.01 |
1.64E−04 |
2.91 |
80 |
7.36E−06 |
3.00 |
5.41E−06 |
3.00 |
2.04E−05 |
3.01 |
160 |
9.20E−07 |
3.00 |
6.76E−07 |
3.00 |
2.48E−06 |
3.04 |
3.3. Euler方程的精度测试
我们对一维Euler方程(11)进行精度测试,对此选择了区域
,并施加初始条件:
精确解为
,实验中同样采用了周期边界条件。我们使用Lax-Wendroff型中心间断伽辽金方法计算了在
时刻Euler方程中密度
的数值解,以及其在
、
和
范数意义下的误差及收敛阶,结果展示在表3中,从表中可知密度
在
情况下的收敛阶数仍达到了
。
Table 3. The
,
and
errors and orders of accuracy of the numerical solution for the 1D Euler equation
表3. 一维Euler方程数值解的
、
和
误差及收敛阶
|
误差 |
收敛阶 |
误差 |
收敛阶 |
误差 |
收敛阶 |
|
10 |
1.61E−01 |
|
7.48E−02 |
|
5.47E−02 |
|
20 |
3.07E−02 |
2.39 |
1.49E−02 |
2.33 |
1.16E−02 |
2.24 |
40 |
5.33E−03 |
2.52 |
2.68E−03 |
2.49 |
2.20E−03 |
2.40 |
80 |
1.04E−03 |
2.36 |
4.90E−04 |
2.43 |
4.12E−04 |
2.42 |
160 |
2.18E−04 |
2.25 |
1.07E−04 |
2.20 |
8.36E−05 |
2.30 |
|
10 |
2.77E−03 |
|
1.49E−03 |
|
1.45E−03 |
|
20 |
3.25E−04 |
3.09 |
1.84E−04 |
3.02 |
1.85E−04 |
2.96 |
40 |
3.97E−05 |
3.03 |
2.29E−05 |
3.00 |
2.33E−05 |
2.99 |
80 |
4.94E−06 |
3.01 |
2.87E−06 |
3.00 |
3.06E−06 |
2.93 |
160 |
6.27E−07 |
2.98 |
3.65E−07 |
2.97 |
5.44E−07 |
2.49 |
3.4. 无粘性Burgers方程的间断解测试
在测试了具有连续解的Burgers方程的精度之后,我们还考虑了一维无粘性Burgers方程的初始条件为间断的:
计算区域为
,左边界条件为inflow边界条件,右边界条件为outflow边界条件。在图1中,我们展示了
时刻下的数值解与精确解的数据比较,其结果表明,Lax-Wendroff型中心间断伽辽金方法得到的数值解与精确解的图像曲线非常吻合。此外,我们采用了TVB限制器来抑制因高阶方法引入的非物理振荡,以确保数值解在处理间断时的稳定性,同时保留了高分辨率的解结构,从而提升了整体计算的可靠性。
Figure 1. A comparison between the numerical solution and the exact solution at
for
,the constant M associated with the TVB limiter is
图1.
时在
下的数值解与精确解的比较图,其中与T限制器有关的常数M的值为
3.5. Sod问题和Lax问题
为了评估所提出的Lax-Wendroff型中心间断伽辽金方法在Euler方程间断解上的表现,我们使用一维空间中的两个极端Riemann问题进行测试。对于Sod问题,我们选择区域
,并施加初始条件:
对于Lax问题,我们同样选择区域
,并施加初始条件:
气体动力学中由Euler方程控制的Riemann问题的精确解见于[19],在两个实验中都应用了outflow边界条件。与无粘性Burgers方程的间断解实验类似,我们采用TVB限制器来抑制伪振荡[20],并在网格
上绘制了在
时刻的Sod问题和在
时刻的Lax问题的密度数值解,将这些结果与精确解进行比较,如图2所示。其结果表明密度、速度和压力的正性得到了保持,并且Lax-Wendroff型中心间断伽辽金方法下的数值解与精确解非常吻合。
4. 结论
本文设计了求解一维双曲型守恒律方程的Lax-Wendroff型中心间断伽辽金方法,该方法首先运用了Lax-Wendroff型时间离散方法,也就是利用泰勒级数展开处理时间导数,避免了传统的多步时间积分,
(a) (b)
(c) (d)
(e) (f)
Figure 2. The density, velocity and pressure’s exact solution and numerical solution for Sod problem(left) at
and Lax problem(right) at
with
, the constant M associated with the TVB limiter is
(left) for Sod problem and
(right) for Lax problem
图2.
时在
下的Sod问题(左)和在
下的Lax问题(右)的密度、速度和压力的精确解和数值解比较图,其中与TVB限制器有关的常数M的值为
(左)和
(右)
然后空间上运用了中心间断伽辽金方法,增加了适用性和准确性。最后,通过对一系列一维双曲型守恒律问题开展数值实验,验证了该方法能够捕捉复杂的波动结构并实现高精度。未来的研究将集中于Lax-Wendroff型中心间断伽辽金方法的稳定性分析和误差估计。
基金项目
重庆市研究生校级科研创新项目(2024S0134)。