基于移动网格的HLL格式求解浅水波方程
Solving Shallow Water Wave Equation with HLL Scheme Based on Moving Grid

作者: 李 霄 :长安大学理学院,陕西 西安;

关键词: 浅水波方程HLL格式移动网格法Runge-Kutta法Shallow Water Wave Equation HLL Scheme Moving Grid Method Runge-Kutta Method

摘要: 本文提出了一种基于移动网格的HLL格式来求解浅水波方程。移动网格法基于迭代过程,在每次迭代中利用等分布原理对网格进行重新分布,然后利用保守插值公式对其数值解进行更新,该方法的主要思想是保持每个重新分布步骤下的数值解的质量守恒。HLL格式是具有良好鲁棒性的数值通量,可消除红斑现象。时间方向采用三阶强稳定龙格–库塔方法进行推进,通过数值结果的对比发现基于移动网格的HLL格式具有分辨率高的良好特性。

Abstract: In this paper, an HLL scheme based on moving grid is proposed to solve shallow water wave equations. Based on the iterative process, the moving mesh method redistributes the mesh in each iteration by using the equal distribution principle, and then updates its numerical solution by using the conservative interpolation formula, the main idea of this method is to preserve the mass conservation of the numerical solution under each redistribution step. HLL scheme is a numerical flux with good robustness and can eliminate the carbuncle. The time direction is advanced by the third- order strongly stable Runge-Kutta method, and the comparison of numerical results shows that the HLL scheme based on the moving grid has good resolution.

1. 引言

计算流体力学是指对物理现象进行数值计算时所采用的数值方法,如热传导问题和流体流动问题,然后将数值计算结果显示在图形中。在许多问题中,一些物理量或边界位置在很小的区域内会发生剧烈的变化,自适应网格方法在固体和流体动力学、燃烧、传热、材料科学等各种物理和工程领域都有重要应用,这些领域的物理现象在相当局部的区域,如冲击波、边界层、爆轰波等,发展出动态单一或近似单一的解,这些物理问题的数值研究可能需要在物理区域的一小部分上进行极其精细的网格,以解决大的解变化。在多维情况下,开发有效、鲁棒的自适应网格方法成为必要,成功地实现自适应策略可以提高数值逼近的精度,降低计算成本。Harten和Hyman [1] 开始了这方面最早的研究,经过他们的工作,许多其他移动网格方法的双曲型问题已经被提出且取得显著成果 [2] [3] [4]。在1976年,Yanenko首次提出了一类边界区域大变形问题的求解方法。1983年,Harten提出了一维双曲守恒律的移动网格方法,在每个时间步采用自适应的方法提高了激波和接触间断面的分辨率。从那时起,许多关于双曲线问题的文献被提出。1997年,Li提出将移动网格法和迎风格式相结合来求解含时偏微分方程。该方法保留了r法和h法的优点。1998年,Liu提出了一种基于单元体积的自适应网格方法。该方法应用于欧拉流动。实验结果表明,该方法是获得大梯度(激波等)流场特征清晰分辨率的有效方法。2002年,Azarenok将基于调和映射的变分方法应用于气体动力学的双曲线问题,该方法保持了简单的网格结构,并且所需的计算机代价较小。2010年,钱提出了基于二维欧拉方程移动网格径向基核函数的ENO有限体积格式,减少了计算时间,提高了计算精度,保证了格式的有效性。2017年,Cheng [5] 提出了一种基于移动网格的熵稳定格式用来解决双曲守恒律方程问题,证明该算法更有利于求解大多数区域光滑的问题。2020年,郑素佩,王令等 [6] [7] 针对二维浅水波方程,提出了基于移动网格的熵稳定格式,随后又提出了移动网格旋转通量法,有效提高了浅水波方程数值求解格式的分辨率。

对双曲守恒律方程通量函数的离散方向,Levy等研究了多维控制方程的旋转黎曼求解器,为了更好地捕捉激波,同时保留耗散通量的鲁棒性,研究者采用混合格式。Nishikawa和Kitamura [8] 为了消除激波不稳定性将Roe格式和HLL格式结合起来,其中,HLL格式可以抑制激波不稳定性,Roe格式可以避免过度耗散。Christian Klingenberg [9] 针对具有非平坦底部地形的一维Saint-Venant浅水方程组,构造了新的HLL型移动水守恒迎风格式,通过数值算例验证了所设计的一阶和二阶格式的良好平衡性质以及精确捕捉动水稳态小扰动的能力。贾豆,郑素佩等 [10] 将熵稳定格式与HLL格式结合提出了一种旋转混合格式,用于求解二维欧拉方程,此格式具有数值稳定、分辨率高等优点。

本文对基于移动网格 [4] 的HLL格式进行了研究。介绍了二维浅水波方程、Runge-Kutta法,HLL法等基础知识,通过若干数值算例验证了该格式的性能。

2. 控制方程

二维浅水波方程 [11] 为

U t + F ( U ) x + G ( U ) y = S , (1)

其中,

U = [ h h u h v ] , F ( U ) = [ h u h u 2 + 1 2 g h 2 h u v ] , G ( U ) = [ h v h u v h v 2 + 1 2 g h 2 ] ,

水深h,重力加速度g,x方向上的水速u,y方向上的水速v,源项S。其中S可分为摩擦项和倾斜项,

S = [ 0 g h z b x + g h S f x g h z b y + g h S f y ] ,

z b 表示底部地势函数, g h ( z b / x ) g h ( z b / y ) 表示水下底部作用力沿x方向和y方向上的分力, g h S f x g h S f y 为水下底面摩擦力沿x方向和y方向的量, S f x S f y 为x方向和y方向上的摩阻比率,有

S f x = u K 2 ( u 2 + v 2 ) 1 / 2 h 4 / 3 , S f y = v K 2 ( u 2 + v 2 ) 1 / 2 h 4 / 3 ,

K表示摩擦因数,通常情况取 K = 50

3. 自适应移动网格法

自适应移动网格法是基于变分原理的,二维双曲问题自适应网格算法的求解过程具体如下:

步骤1:给定物理域 Ω p 的一个初始分区 z j , k [ 0 ] = ( x j , k [ 0 ] , y j , k [ 0 ] ) = ( x j , k , y j , k ) 和逻辑域 Ω c 的一个固定分区,通过单元平均初始数据 u ( x , y , 0 ) 来计算控制体积 A j + 1 / 2 , k + 1 / 2 上的网格值 u j + 1 / 2 , k + 1 / 2 [ 0 ]

步骤2:1) 移动网格 z j , k [ v ] = { ( x j , k [ v ] , y j , k [ v ] ) } z j , k [ v + 1 ] = { ( x j , k [ v + 1 ] , y j , k [ v + 1 ] ) } 通过Gauss-Seidel迭代法,即

α j + 1 2 , k ( z j + 1 , k [ v ] z j , k [ v + 1 ] ) α j 1 2 , k ( z j , k [ v + 1 ] z j 1 , k [ v + 1 ] ) + β j , k + 1 / 2 ( z j , k + 1 [ v ] z j 1 , k [ v + 1 ] ) β j , k + 1 / 2 ( z j , k [ v + 1 ] z j , k 1 [ v + 1 ] ) = 0

其中

α j ± 1 2 , k = w ( u j ± 1 2 , k [ v ] ) = w ( 1 2 ( u j ± 1 2 , k + 1 2 [ v ] + u j ± 1 2 , k 1 2 [ v ] ) )

β j , k ± 1 2 = w ( u j , k ± 1 2 [ v ] ) = w ( 1 2 ( u j + 1 2 , k ± 1 2 [ v ] + u j 1 2 , k ± 1 2 [ v ] ) )

2) 新网格上的数值解 { u j + 1 / 2 , k + 1 / 2 [ v + 1 ] } 通过守恒插值进行更新;

3) 重复迭代过程1) 和2) 到指定的迭代步数(3~5步)或直到 z [ v + 1 ] z [ v ] ε

步骤3:利用有限体积法在新网格 { ( x j , k [ v + 1 ] , y j , k [ v + 1 ] ) } 上演化方程,得到时间层 t n + 1 上的数值近似 u j + 1 / 2 , k + 1 / 2 [ n + 1 ]

步骤4:如果 t n + 1 T ,令 u j + 1 / 2 , k + 1 / 2 [ 0 ] = u j + 1 / 2 , k + 1 / 2 n + 1 ( x j , k [ 0 ] , y j , k [ 0 ] ) = ( x j , k [ v + 1 ] , y j , k [ v + 1 ] ) ,返回步骤2直到计算结束。

4. HLL通量格式

在精确Riemann求解器的基础上,Harten等人又提出了HLL通量格式 [12],该格式是将两种波分离成三个常数状态,HLL格式鲁棒性良好,可以消除红斑现象。HLL格式具体表达式为

H H L L = S R + H k ( U L ) S L H k ( U R ) S R + S L + S R + S L S R + S L Δ U , (2)

H k = ( F , G ) n ( k = x , y ) , n = ( n x , n y ) , Δ U = U R U L ,

S R + = max ( 0 , S R ) , S L = min ( 0 , S L ) ,

S L , S R 分别表示左波速和右波速,它们的值分别为Jacobi矩阵 A ^ k = H k U 特征值的最小值和最大值,即

S L = min ( ( q n ) L c L , q ^ n c ^ ) , S R = max ( ( q n ) R + c R , q ^ n + c ^ ) ,

( q n ) L , R = ( u , v ) L , R n , q ^ n = ( u ^ , v ^ ) n , q ^ t = ( u ^ , v ^ ) ( n x , n y ) .

相对于Godunov方法,给出如下HLL通量,

H HLL = { F L n x + G L n y 0 S L , S R + H k ( U L ) S L H k ( U R ) S R + S L + S R + S L S R + S L Δ U , S L 0 S R , F R n x + G R n y , 0 S R . (3)

时间方向上进行离散,采用三阶强稳定Runge-Kutta法 [13],有

U ( 1 ) = U n + Δ t L ( U n ) , U ( 2 ) = 3 4 U n + 1 4 U ( 1 ) + Δ t 4 L ( U ( 1 ) ) , U n + 1 = 1 3 U n + 2 3 U ( 2 ) + 2 3 Δ t L ( U ( 2 ) ) . (4)

5. 数值算例

本节采用所构造的格式求解数值算例,取网格数均为 50 × 50 ,并对所得结果进行分析、比较。

例1 二维圆柱溃坝问题

在计算域 [ 0 , 50 m ] × [ 0 , 50 m ] 上,方程(1)当 S = 0 时,满足如下条件,

h ( x , y , 0 ) = { 10 , ( x 25 ) 2 + ( y 25 ) 2 < 11 1 , others . u ( x , y , 0 ) = v ( x , y , 0 ) = 0 , z b ( x , y ) = 0.

其中 C F L = 0.45 ,时间 t = 1 g = 0.98 ,控制参数 α = 0.835 ,边界条件采用周期性条件。图1为圆柱溃坝问题随时间变化的网格演化图;图2为密度等值线图,图2左侧图是在固定网格中由HLL旋转通量格式得到的数值结果,图2右侧图是基于移动网格下的HLL通量得到的结果。可以观察到两种格式均可以捕捉到激波,而基于移动网格下的HLL通量格式得到的数值结果有更高的分辨率。

Figure 1. Grid evolution

图1. 网格演化图

(a) (b)

Figure 2. The cylindrical dam-break density contour. (a) The fixed grid diagram; (b) The moving grid diagram

图2. 圆柱溃坝密度等值线图。(a) 固定网格图;(b) 移动网格图

例2 二维圆形溃坝问题

在区域 [ 1 , 1 m ] × [ 1 , 1 m ] 上,方程(1)当 S = 0 时,满足如下条件,

h ( x , y , 0 ) = { 2 , x 2 + y 2 < 0.5 1 , others . u ( x , y , 0 ) = v ( x , y , 0 ) = 0 , z b ( x , y ) = 0.

其中 C F L = 0.25 ,时间 t = 0.2 g = 0.98 ,控制参数 α = 0.1 ,边界条件采用周期性条件。图3为圆形溃坝问题随时间变化的网格演化图;图4为密度等值线图。图4左侧图是在固定网格中由HLL旋转通量格式得到的数值结果,图4右侧图是基于移动网格下的HLL通量得到的结果,通过对比可看到基于移动网格下的HLL通量格式得到的数值结果过渡带更窄且无振荡,分辨率更高。

Figure 3. Grid evolution

图3. 网格演化图

(a) (b)

Figure 4. The circular dam-break density contour. (a) The fixed grid diagram; (b) The moving grid diagram

图4. 圆形溃坝密度等值线图。(a) 固定网格图;(b) 移动网格图

例3 二维潮汐模拟问题

方程(1)在区域 [ 2 , 2 m ] × [ 2 , 2 m ] 上,初始条件与底部地势函数分别为

h ( x , y , 0 ) = z b ( x , y , 0 ) + ζ ( x , y , 0 ) ,

u ( x , y , 0 ) = v ( x , y , 0 ) = 0

z b ( x , y ) = 1 + 0.01 cos ( π x / 2 ) cos ( π y / 2 )

其中初始水深表达式为: ζ ( x , y , 0 ) = 0.1 exp ( 10 16 R 2 ) R = x 2 + y 2

C F L = 0.45 ,时间 t = 0.3 g = 0.98 ,控制参数 α = 0.935 ,边界条件采用周期性条件。图5表示的是二维潮汐问题密度等值线图,网格演化效果不明显,通过对比可以发现两种格式没有明显差别,均对称性良好,结构清晰。

(a) (b)

Figure 5. The density contour of tidal. (a) The fixed grid diagram; (b) The moving grid diagram

图5. 潮汐密度等值线图。(a) 固定网格图;(b) 移动网格图

6. 总结

本文构造了一种基于自适应移动网格的HLL通量格式求解二维浅水波方程。得到的通量函数对激波不稳定具有鲁棒性,分辨率较高。数值实验表明,对于带源项的浅水波方程,两者相比没有明显差别,新算法对称性良好,结构清晰;而对于源项 S = 0 的方程,新格式分辨率高,鲁棒性好,具有很好的激波捕捉能力。

文章引用: 李 霄 (2021) 基于移动网格的HLL格式求解浅水波方程。 应用数学进展, 10, 3317-3324. doi: 10.12677/AAM.2021.1010348

参考文献

[1] Harten, A. and Hyman, J.M. (1983) Self Adjusting Grid Methods for One-Dimensional Hyperbolic Conservation Laws. Journal of Computational Physics, 50, 235-269.
https://doi.org/10.1016/0021-9991(83)90066-9

[2] Xu, X.H., and Ni, G.X. (2013) A High-Order Moving Mesh Kinetic Scheme Based on WENO Reconstruction for Compressible Flows. Chinese Journal of Computational Physics, 30, 509-514.

[3] Han, E, Li, J.Q. and Tang, H.Z. (2010) An Adaptive GRP Scheme for Compressible Fluid Flows. Journal of Computational Physics, 229, 1448-1466.
https://doi.org/10.1016/j.jcp.2009.10.038

[4] Tang, H.Z. and Tang, T. (2003) Adaptive Mesh Methods for One-and Two-Dimensional Hyperbolic Conservation Laws. SIAM Journal on Numerical Analysis, 41, 487-515.
https://doi.org/10.1137/S003614290138437X

[5] Cheng, X.H., Nie, Y.F. and Cai, L. (2017) Entropy Stable Scheme Based on Moving Grid. Chinese Journal of Computational Physics, 34, 175-182.

[6] 王令, 郑素佩. 基于移动网格的熵稳定格式求解浅水波方程[J]. 水动力学研究与进展: A辑, 2020(2): 188-193.

[7] 郑素佩, 王令, 王苗苗. 求解二维浅水波方程的移动网格旋转通量法[J]. 应用数学和力学, 2020, 41(1): 42-53.
https://doi.org/10.21656/1000-0887.400124

[8] Nishikawa, H. and Kitamura, K. (2008) Very Simple, Carbuncle-Free, Boundary-Layer-Resolving, Rotated-Hybrid Riemann Solvers. Journal of Computational Physics, 227, 2560-2581.
https://doi.org/10.1016/j.jcp.2007.11.003

[9] Klingenberg, C., Kurganov, A., Liu, Y.L. and Zenk, M. (2020) Moving-Water Equilibria Preserving HLL-Type Schemes for the Shallow Water Equations. Communications in Mathematical Research, 36, 247-271.
https://doi.org/10.4208/cmr.2020-0013

[10] 贾豆, 郑素佩. 求解二维Euler方程的旋转通量混合格式[J]. 应用数学与力学, 2021, 42(2): 170-179.
https://doi.org/10.21656/1000-0887.410196

[11] Thanh, M.D., Karim, M.F. and Ismail, A.I.M. (2008) Well-Balanced Scheme for Shallow Water Equations with Arbitrary Topography. International Journal of Dynamical Systems & Different Equations, 1, 196-204.
https://doi.org/10.1504/IJDSDE.2008.019681

[12] Goetz, C.R., Balsara, D.S. and Dumbser, M. (2018) A Family of HLL-Type Solvers for the Generalized Riemann Problem. Computers & Fluids, 169, 201-212.
https://doi.org/10.1016/j.compfluid.2017.10.028

[13] Gottlieb, S., Ketcheson, D.I. and Shu, C.W. (2009) High Order Strong Stability Preserving Time Discretization. Journal of Scientific Computing, 38, 251-289.
https://doi.org/10.1007/s10915-008-9239-z

分享
Top