1. 引言
多孔浅水波方程已经通过数值方法进行离散化处理,并广泛用于城市洪水模拟[1] [2]和植被区域水流研究[3] [4]等领域。忽略能量损失的多孔浅水波方程的质量和动量方程可表示为:
(1.1)
其中
表示孔隙度,
为底部地形,
为水面高度,
为速度,
为重力常数,
为质量流量。
模型(1.1)是带有源项的双曲守恒律(即双曲平衡律),并允许存在如下的静水定常解:
(1.2)
在流体力学中,源项与通量之间的平衡关系在数值模拟中尤为重要。此模型主要的困难是在非守恒源项中孔隙度和底部地形的非连续性可以同时存在于一个位置,模型(1.1)的x导数项无法按经典方式定义。然而,为了反映不连续的孔隙度和底部地形的影响,必须正确地确定不连续几何形状对流动产生的力。在处理非连续孔隙度与非平坦底部地形的情况下,传统数值方法在离散化过程中可能破坏稳态解下源项与通量梯度之间的精确平衡。这种不平衡,即使在细网格下,也可能导致不稳定的附加振动,进而引起较大误差。其根本原因在于截断误差破坏了源项与通量之间的微妙平衡。为此,我们提出了一种具有良好平衡特性的格式,能够更好地保持静态水平衡,并有效捕捉到可能出现的小幅度误差。
本研究中,我们重点探讨高阶RKDG方法[5] [6],该方案具有以下优点。首先,它的实现相对简单,便于应用。其次,计算效率较高,能够有效减少计算时间。此外,该方法允许近似解在单元交界处出现间断,这为处理复杂问题提供了灵活性。最后,与有限体积方法相比,RKDG方法避免了由于扩展节点模板以提高精度而带来的计算复杂性和非局部依赖性,因而在处理大规模问题时更具优势。
2. 标准RKDG方法
本节将回顾并简要介绍标准RKDG方法。首先我们介绍RKDG方法的一些标准符号。区间
被分成
个子区间并且我们用
来表示单元。首先假设网格均匀分布,单元的大小为
,并且我们使用
来表示单元中心。分段多项式空间
是指由每个单元
上次数不超过指定值
的多项式所构成的集合:
空间
允许其中的元素在单元界面
处存在间断,所以我们在这里所了解的方法也被称为间断方法。因为
为有限维空间,故其包含有限个基函数。
DG方法
我们首先考虑了一维标量的双曲守衡方程[7],标准形式为:
(2.1)
接下来,使用Galerkin方法,我们使试探函数
,并在单元
上进行积分:

我们在每个单元
上寻找未知量
的DG近似:
并且对于所有试探函数
,满足以下等式:

其中,
这里
是数值通量,用来逼近
。我们通常用到的Lax-Friedrichs流量:
这里
,对于双曲守衡方程,我们取
,其中
为雅可比矩阵
的特征值。
3. 良好平衡的RKDG方法
3.1. 改进RKDG方法
本文目标提出改进后的RKDG方法,以提高在模拟物理现象时的计算精度和数值稳定性。主要目的在于证明,只需对传统的RKDG方法的初始值或通量进行适度的修改,即可实现良好的平衡性质,为构建高阶平衡格式提供了一种极为简洁的途径。与传统的RKDG方法相比,改进后的格式仅需很少的额外计算成本便能实现很好的平衡特性,并获得高精度的数值模拟结果。
对于多孔浅水波方程(1.1),我们关注的是保持静水稳态解(1.2)。对于此类静水解,第一个方程
对任何格式都能精确满足。我们将集中讨论第二个方程,它可以表示为:
其中
,T代表转置。
在RKDG方法[8] [9] [10]中,
通过在分段多项式空间
近似为
。我们将底部函数
投影到同样的空间
中获得近似值
。这意味着如果
,则
。我们的数值格式具有如下形式:
(3.1)
与传统RKDG比较,我们可以看到,通量
和
被左侧通量
和右侧通量
替代。我们把上述格式改写为:
(3.2)
其中
。(3.2)的左侧是传统的RKDG格式,而右侧是本文对源项的逼近方法。左通量
与右通量
的具体设计将在后文阐述,此处
和
是
的高阶修正项。因此,格式(3.1)是一个k + 1阶守恒格式,并且将收敛于弱解。
孔隙度的空间变化可能导致复杂的数值计算,尤其是在不连续或快速变化的情况下。为了准确捕捉孔隙度对流体流动的影响,必须对孔隙度进行合理的数值处理。我们将孔隙度定义为:
。在边界处定义唯一孔隙度
,避免因孔隙度不连续或变化剧烈所引发的数值不稳定。能够有效消除不连续带来的影响,从而提高源项积分的精度。
为了获得良好的平衡性质,我们需要计算残差:
(3.3)
为了使静水状态到零误差残差,需满足以下三个条件:
(3.4)
对于静水问题这个条件并不是显而易见的,稍后我们将讨论如何使其在RKDG方法中成立。
(3.5)
3.2. 应用静水重构方法构造数值通量
我们定义一个新的向量:
(3.6)
(3.7)
并重新定义
为:
(3.8)
左通量和右通量
修正为:
(3.9)
(3.10)
在这里,我们常用的数值通量是Lax-Friedrichs通量:
(3.11)
其中,
。很容易得到
和
在一般解的情况下达到
的精度,因此最初的k + 1阶精度得以保持。在静水条件下
,所以
(3.12)
同理可得:
(3.13)
3.3. 证明良好平衡性质
通过使用修正的数值通量,结合源项的精确近似,基于RKDG方法我们能够重新构造数值格式(3.1)。核心目标是确保在通量和源项间保持精确平衡,从而在静水条件下实现稳定解。数值格式重新写为:

命题1. 满足上述三个条件的RKDG方法,对于多孔浅水波方程的静水解问题是精确的。
证明.

数值通量
为:
数值通量
为:
则
对于静水问题将简化为:

因此,我们验证了该格式在数值解法中具有良好的平衡性。
3.4. 平衡格式的总结
我们对求解多孔浅水波方程(1.1)进行了总结。采用良好平衡RKDG方法的完整过程具体步骤如下:
1. 通过对源项的重新构造,将方程转化为形式(3.1),以便与RKDG方法兼容并保证其良好的平衡性。
2. 利用RKDG方法构造数值通量
,通过对传统RKDG方法的修改确保稳态解能够被准确捕捉。
3. 我们将数值通量的余项与源项进行近似求和,并基于这一近似采用龙格–库塔(Runge-Kutta)方法推进时间,并通过迭代过程逐步提高解的精度,最终实现平衡。
4. 数值结果
本节展示了通过一系列基础数值实验验证所提多孔浅水波方程高阶RKDG方法的效果。实验采用了RKDG方法与三阶TVD龙格–库塔方法[11]的耦合,CFL值设为0.6,重力常数g取9.812。实验涵盖了连续和不连续孔隙度的情形,并且所有测试结果均已得到验证。
4.1. 良好平衡测试
第二个测试问题[12] [13]旨在验证所提出的RKDG方法的平衡性。我们考虑在区域[0, 1]内给定的底部地形:
(4.1)
孔隙度
的空间变化形式为:
(4.2)
其中
和
分别表示孔隙度收缩的左边界和右边界,
表示在
点处的最小孔隙度。在本例中,我们选取
和
作为初始条件,施加周期边界条件,并给出如下稳态解:
采用包含200个均匀单元的网格计算到时刻
。图1显示了表面高度
和底部地形
的变化。
Figure 1. Numerical results of the example in Section 4.1
图1. 4.1节算例的数值结果
4.2. 小扰动测试
本节中我们通过测试验证了该模型在稳定性方面的表现。该测试的过程和结果展示了使用RKDG方法时,模型能够有效解决在具有挑战性边界条件下的问题。该测试最早由[12]提出,初始条件为:
在计算区域[0, 1]中,采用简单的传输边界条件。测试了两组孔隙度
,第一组为孔隙度左移收缩
,第二组为孔隙度右移收缩
。采用了小范围的非平衡数值方法来处理可能出现的数值不稳定问题[14]。通过对200个均匀划分的数据点进行数值计算,使用优化后的RKDG方法与2000个单元的参考数据进行对比(见图2)。
Figure 2. Numerical results of the example in Section 4.2
图2. 4.2节算例的数值结果
4.3. 驼峰上移动水的稳定状态
本数值算例中[13],我们研究了RKDG方法在不同孔隙度条件下的稳定性。在[15]中,使用相同的试验验证了浅水波方程的良好平衡RKDG方法的性能。计算区域设为[0, 25],底部地形定义为:
选择了不同的孔隙度来研究其对最终解的影响。初始条件为:
在200个均匀单元的网格上进行计算,最大计算时间为t = 200根据不同的边界条件进行调整。为便于对比,还提供了数值解的解析解[16]。对流速和水位进行分段处理,并应用水量守恒以保证数值解的精度。
(1) 亚临界流
在此测试中,上游边界条件设为
,下游边界条件设为
。考虑(4.2)中定义的两组孔隙度分布
,第一组孔隙度为左移收缩
,第二组孔隙度为右移收缩
。随着时间推移,当
时,水流最终稳定,形成亚临界流。此时,流速和水位不再发生显著变化,达到平衡状态。图3中展示了数值解与解析解的对比。结果表明,数值解与解析解基本一致,且孔隙度的不同对稳态解及其收敛性产生了影响。
Figure 3. Numerical results of the example in Section 4.3
图3. 4.3节算例的数值结果
(2) 无激波跨临界流动
在此测试中,上游边界条件设为
,下游边界条件设为
。考虑(4.2)中定义的两组不同的孔隙度分布
,第一组孔隙度为左移收缩
,第二组孔隙度为右移收缩
。该稳态解为无激波的跨临界流。图4展示了表面水平
和质量流量
的数值解与解析解的比较。结果表明,数值解与解析解的高度一致。
Figure 4. Numerical results of the example in Section 4.3
图4. 4.3节算例的数值结果
5. 结论
本文针对具有不规则孔隙度和非平坦底部地形的多孔浅水波方程,提出了高阶RKDG方法。该方法采用静水重构近似数值通量,并合理离散源项,从而保持通量梯度与源项之间的精确平衡,实现良好的平衡特性与静水稳态保持。理论分析和数值实验表明,所提出的高阶RKDG方法在保持静水平衡性、分辨不连续结构以及在光滑区域实现高阶精度方面均表现出优异性能。
致 谢
本研究得到了山东省自然科学基金面上项目(No. ZR2021MA072, ZR2023MA012)的资助。
NOTES
*通讯作者。