1. 引言
浅水波方程组(SWE)广泛用于描述在重力和底部地形影响下的浅水流(如河流和海岸流、湖泊流、潮汐等),其垂直维度远小于水平维度。其一维形式为
(1)
其中守恒变量
,物理通量
,以及源项
。其中,
表示流体的高度,
表示流体速度的深度平均,
表示底部地形,
表示重力常数。特别的,方程组(1)满足下面的静水稳态方程
(2)
实际上,由于控制方程的高度非线性,方程组(1)的理论分析非常困难。因此,高阶格式的数值求解是解决这些问题的有效方法,并在计算流体力学领域引起了广泛关注 [1] [2] [3] 。SWE高阶格式的代表性研究(1)主要包括:动理学格式 [4] 、气体动理学格式 [5] 、中心迎风格式 [6] 、加权基本非振荡(WENO)格式 [7] - [16] 、Hermite WENO格式 [17] 、中心格式 [18] [19] [20] [21] 、Runge-Kutta间断Galerkin (RKDG)方法 [22] [23] [24] 、ADER (Arbitrary DERivatives in space and time)格式 [25] [26] 、谱元法 [27] 、Godunov方法 [28] [29] 、无网格伽辽金法 [30] 、中心–迎风格式 [31] [32] 、ADER间断伽辽金(ADER-DG)法 [33] 。
此外,非线性双曲守恒律(如方程组(1))一般没有精确解。因此,需要定义弱解。不幸的是,这种弱解可能不是唯一的。事实上,熵条件从所有可能的弱解中筛选物理相关解方面起着重要作用。此外,物理相关解也称为熵解。
定义1. (熵函数 [34] )严格凸函数
称为方程组(1)的熵函数,如果存在相关的熵通量
,使得
(3)
其中
称为熵变量,
称为熵对。
对于给定的熵对
,将(1)的两端乘以
,其光滑解满足以下熵恒等式
(4)
然而,在出现间断解的情况下,上述恒等式(4)不再成立。特别地,如果对于所有给定的熵对
,能使
(5)
在分布意义上成立,则(1)的弱解
被称为熵解(或物理相关解) [34] 。
通常,熵恒等式(4)和熵不等式(5)都被称为熵条件。理论上,熵条件对于双曲平衡定律(如(1))的适定性非常重要;数值上,满足(5)所述离散熵不等式的高阶格式可以提高其自身的鲁棒性。因此,对于给定的熵对,构造满足离散熵不等式(5)的数值格式具有重要意义。满足离散熵不等式的格式也称为熵稳定格式。近年来,熵稳定格式受到了广泛的关注。浅水波方程组的高阶熵稳定(ES)格式主要包括:间断Galerkin谱元法 [35] ,节点间断Galerkin方法 [36] ,间断Gallerkin (DG)方法 [37] [38] ,有限差分格式 [39] [40] 。
本文的主要目的是提出非平底地形上一维和二维SWE的高阶ES格式。通过对非平底地形进行适当的离散化,提出了两点熵守恒(EC)通量来构造满足熵恒等式的半离散二阶精确平衡EC格式。然后,以上述两点EC格式为构建块,相应地实现了高阶well-balanced的EC格式。然而,EC格式可能会在间断性周围产生数值振荡。为了克服这一缺点,考虑到尺度熵变量,使用WENO重构将一些合适的耗散项添加到EC通量中,以实现满足半离散熵不等式的高阶精确平衡ES格式。半离散EC格式和ES格式都与高阶Runge-Kutta方法相结合,用于时间离散。
本文的组织如下:在第2节中,我们给出了一维SWE的平衡EC有限体积格式。随后,我们在第3节中将所提出的格式扩展到二维领域。在第4节中,我们给出了大量的数值示例,以证明所得格式的性质。最后,第5节得出了相关结论。
2. 一维EC格式的构造
为方便起见,原始控制方程(1)可以改写如下
(6)
其中
。这里,对于一维SWE (6),我们将总能量作为数学熵函数 [34] [40]
以及由下式给出的熵变量
因此,考虑到一致条件(3),熵通量为
此外,我们还定义了熵势
如下
2.1. EC格式
首先,我们将空间域划分为均匀网格,其中
作为网格节点以及空间步长取为
。我们首先用数值通量
构造EC格式。(6)的半离散有限体积格式具有以下形式
(7)
是源项的近似值,其中
(8)
其中
表示a在点
的平均值。此外,
是在点
处近似物理通量
的数值通量。
特别地,对于一些与给定熵通量q一致的数值熵通量
,如果(7)的解满足以下半离散熵恒等式,则格式(7)被称为EC
(9)
并且数值通量
被相应地称为EC通量。事实上,格式(8)依赖于等式(4)表示离散状态。
下面的引理引入了给定的半离散格式(7)为EC的充分条件,以及源项的离散化。
引理1. 半离散格式(7)是EC并具有二阶精度,如果(7)中使用的一致两点数值通量
满足
(10)
其中
。(8)中的数值熵通量
具有以下形式
(11)
证明:将(7)的两端左乘以
得到
右侧可以进一步重新排列如下
其中
和
用于第一个等式;条件(9)用于第二个等式;
用于第三等式。因此,格式(7)是EC,并有以
为数值通量形式。
此外,由于使用了二阶中心差分,源项的离散化也是二阶精确的。此外, [41] 中的结果表明,通量梯度的离散化也是二阶精度的。因此,格式(7)以及
是二阶精确的。
接下来,我们给出满足条件(9)的EC通量。
定理2. 对于一维SWE(1),以下数值通量
(12)
是EC通量,并且与(1)中的物理通量
一致。
证明:这里,关键在于应用以下恒等式
并用其等效形式重写下面的跳转
接下来,我们将上述表达式代入(9),并得到
然后,通过比较相同跳跃的系数,我们得到以下等式
并有
最终获得了(11)中的数值通量。
备注1:此外,还容易验证EC通量(11)与物理通量
一致。实际上,在(11)中,设
并有
2.2. Well-Balanced性质分析
在这里,我们简要总结了当前格式的well-balanced性质,并得出以下定理。
定理2. 具有EC通量(11)的当前格式(7)是well-balanced的,因为它保持了静水稳定状态(2)。换句话说,对于给定的初始条件
,(7)的解满足
证明:首先,在假设
,我们可以从(11)中发现
,并根据(7)验证
之后得到
其中第二个等式中使用了
。最后一个等式是由于
,因为
。因此,该格式如所要求的那样是well-balanced的。
2.3. 熵稳定格式
我们知道,对于双曲守恒定律或平衡守恒定律,熵恒等式只能适用于光滑解。换句话说,由于激波等间断的存在,熵是不守恒的。更重要的是,熵守恒格式可能在间断处产生非物理震荡。这些现象促使我们提出满足给定熵对的离散熵不等式的熵稳定格式。特别是熵稳定格式可以抑制熵守恒格式在强间断处产生的数值振荡。根据 [41] 的想法,在此采用的主要措施是在熵守恒通量
上增加一个耗散项,然后采用如下形式得到熵稳定通量
(13)
满足
(14)
其中
是一个半正定矩阵。
在此,我们采用
(15)
其中,R表示雅可比矩阵
的右特征向量的矩阵,且当
时,
是的特征值。
结合(13)中的数值通量
和(8)中源项的离散化,得到最终格式
(16)
以下定理表明,高阶精确格式(16)满足熵离散不等式,因此是熵稳定的。
定理4. 高阶精确格式(16)是满足熵稳定的,即,其满足以下熵离散不等式
这里的数值熵通量是由
证明:使用
左乘(16)并运用(11)后,得到
(17)
其中
和
已经在第二个等式中使用。由(15)中矩阵D的正定性,可得如下不等式
这里的数值熵通量是由
2.4. 时间离散
半离散格式(7)可以表示为
(18)
另外,时间离散采用传统的Runge-Kutta方式,
(19)
2.5. 格式总结
这里的数值熵通量是由对于一维方程组(1),所提格式(16)的具体步骤总结如下:
1) 首先,我们获取点
的值。
2) 构造如(12)所示的高阶熵守恒通量。
3) 通过将耗散项加到原始熵守恒通量(12)上,构造高阶熵守恒通量(13)。
4) 通过公式(8)源项离散。
5) 得到半离散格式(18)。
6) 使用Runge-Kutta方法更新到下一个时间层(19)。
7) 重复步骤(2)-(6)。
3. 二维方程组
在本节中,我们将一维ES格式(16)拓展到以下二维SWES
(20)
同时有
其中v表示y方向上的速度。特别的,二位方程组(20)保持了下面静水稳态解
(21)
这里我们要处理一个矩形空间域
并在一个均匀的笛卡尔网络中
其空间步长为
,这相当于用
并且
。
与一维情况类似,我们取下列熵函数
还有下面的熵变量
相应的在x-,y-方向上的熵变量定义为
(22)
与一维情况类似,在x-和y-方向上的二阶EC通量为
然后再EC通量上加上适当的耗散项产生高阶ES通量,如下所示,
(23)
当k为偶数时
,当k为奇数时
。这里跳跃
分别在x-和y-方向上通过WENO重构得到,并且黏度
和
分别在x-和y-方向上选取。
此外,对于源项,我们首先对原想中的倒数进行近似,如下所示,
并且
然后我们用下面的形式近似源项,
(24)
最后我们得到(20)的半离散ES有限体积格式,格式如下,
(25)
结合(23)中的ES通量
和
以及(24)中对源项的离散化。
此外,(25)对时间的离散化也使用了龙格-库塔方法(19)。
4. 数值结果
在本节中,我们将通过计算不同算例来测试当前格式的性能。在所有的计算中我们采用五阶WENO重建(即
),采用
。因此我们得到了五阶精度的ES通量。总之,我们得到了具有五阶精度的空间离散化的半离散格式。此外,为了保证数值的稳定性,我们取Courant-Friedrichs-Levy (CFL)数值为0.6。
4.1. Well-Balanced性质的测试
首先我们应用一个例子 [9] [42] [43] [44] 和下面初始条件,
数值证明了良好的性质。我们考虑了两个不同的底部:第一个是光滑的
第二个底部是间断的
表1和表2分别给出了解在
和
之间的数值误差。很明显所有的误差都在机器精度的同一量级,因此实现了预期良好平衡的性能。

Table 1. Numerical errors of the example in Section 4.1 over a smooth bottom
表1. 算例4.1节在光滑底部上的数值误差

Table 2. Numerical errors of the example in section 4.1 over a discontinuous bottom
表2. 算例4.1在间断底部上的数值误差
4.2. 精度测试
接下来,我们使用 [9] [42] [43] [44] 中的一个例子,以及下面的底部地形和下面的初始条件
来测试精度的顺序。
由于解析解无法得到,我们首先需要在一个12,800单元的精细网格上计算这个例子直到
, 然后将得到的数值解作为参考。随后,我们计算
时的
误差,并根据参考解得到精度阶数,如表3所示。

Table 3. L1 error and orders of accuracy for the example in Section 4.2
表3. 算例4.2的L1误差和精度阶数
说明预期的五阶精度明显达到。
4.3. 定常流的扰动问题
在这里,本例用于数值测试当前格式根据给定稳态 [45] - [50] 在凹凸形状底部地形上捕捉小扰动的能力。
认为初始条件是对静水稳态的一个小扰动,即
其中
。在这里,我们考虑两种不同情况:对于大脉冲
;对于单独的小脉冲
。
随着时间的推移,初始扰动分解为两个向不同方向运动的脉冲。图1和图2给出了
时,在200哥单元网格上两种情况的数值解。这两个脉冲即使是在相对粗糙的网格上都得到了很好的解析,并且与参考文献 [9] [50] [51] 中的结果一致。
4.4. 矩形凸起上的溃坝问题
然后,我们来数值模拟一个矩形底部上的溃坝问题 [7] [9] [14] [51] 。其中,初始条件为

Figure 1. Surface level h + b (left) and water discharge hu (right) of the examples in section 4.3 at t = 0.2 s
图1. 在t = 0.2 s时,4.3节算例的表面水位h + b (左)和排水(右)

Figure 2. Free surface level h + b of the example in section 4.4 at t = 15 s (left) and t = 60 s (right)
图2. 在t = 15 s (左)和t = 60 s (右)时,在4.4节算例中的自由表面能级h + b
底部地形呈矩形
图2分别给出了
和
时的数值解。显然目前格式得到了很好的数值解,与参考值和 [7] [9] [14] [51] 中的数值解一致。
4.5. 驼峰底部上的定常流
进一步,通过一个广泛应用的实例 [52] 对所提出的格式进行验证。实际上,本例基于给出的初始条件对跨临界流和次临界流进行数值模拟
底部地形呈驼峰状
随后,我们在具有200个单元的网格上计算该例子,并计算至
,施加不同的边界条件。此外,我们还展示了从 [53] 中得到的精确解,以便更好地进行比较。
l 算例A:无激波的跨临界流动
上游边界的流量
,下游边界的水深
。图3中算例A结果表明,数值计算结果能够和实际结果吻合。

Figure 3. Surface level h + b in section 4.5 at t = 200
图3. 在t = 200时,第4.5节中的表面水位h + b
l 算例B:带激波的跨临界流动
上游边界的排水量
,下游边界的水深
。图3中算例B结果表明,数值解与精确解具有良好的一致性,且无伪振荡。
l 算例C:亚临界流
其中,上游边界流量
,下游边界水深
。图3中算例C表明,数值解与精确解拟合效果很好。
4.6. 台阶状底部上的溃坝问题
l 算例A:
此外,我们实现了一个来自 [54] [55] 的示例以及下面的初始条件
并超过一个台阶形状的底部
随着时间的推移,这个数值算例产生了一个向左移动的稀疏薄和一个向右移动的激波。
l 算例B:
此外,我们使用不同的初始条件
与上面相同的底部。随着时间推移,这个算例出现了两个向不同方向移动的冲击。
l 算例C:
初始条件由
并超过一个台阶形状的底部
(26)
l 算例D:
初始条件如下
水体底部为(26)式。
图4给出了上述情况在同一网格上400个单元与精确网格的数值解,很明显,两者吻合较好。

Figure 4. Surface level h + b of the examples in Section 4.6
图4. 4.6节算例的表面h + b层
5. 结论
本文提出了一、二维非平坦地形浅水波方程的高阶精确熵稳定有限体积格式。首先,我们构造了二阶精确的well-balanced的半离散熵守恒有限体积格式,同时匹配物理通量的离散化和与非平底地形有关的源项的离散化。其次,以二阶精确熵守恒为基础,实现高阶精确均衡熵守恒格式。但熵守恒格式可能在间断附近产生杂散振荡,因此我们在熵守恒通量中加入适当的耗散项并构造满足半离散熵不等式的高阶半离散良好平衡的熵守恒格式。为了构造高阶耗散项,本文采用了基于缩放的熵变量的WENO重构。然后,采用高阶显式Runge-Kutta方法实现了时间区域的离散化。最后,大量的算例表明,本文所提出的格式保持了高阶精度,具有良好的平衡性,并能很好地捕捉到稳态下的小扰动。
致谢
本研究得到了山东省自然科学基金面上项目(No. ZR2021MA072)的资助。
NOTES
*通讯作者。