三角形网格下二维浅水方程的高分辨率格式
A Non-Oscillatory Scheme for Shallow Water Equations on Triangular Meshes

作者: 蔺彩凤 * , 高 巍 :内蒙古大学数学科学学院,内蒙古自治区 呼和浩特;

关键词: 二维浅水方程三角形网格高分辨率格式三角形网格下二维浅水方程的 高分辨率格式

摘要:
对于二维浅水方程问题,本文在三角网格下,基于CBC (Convection Boundedness Criterion)准则采用有限体积法离散建立了新的高分辨率NVSF (Normalized Variable and Space Formulation)格式,NVSF格式是为解决NVF高分辨率格式在不规则区域的应用所提出的,文章通过一些典型算例的精确解与数值解的比较,表明新构造的数值格式具有二阶精度,并且与准确解有很好的逼近效果,能很好地抑制在间断解处的非物理震荡。

Abstract: For the shallow water equations, a new finite volume NVSF (Normalized Variable and Space For-mulation) scheme is constructed under the triangular mesh. This scheme is based on the CBC (Convection Boundedness Criterion) criterion. NVSF scheme is adopted to solve the application of NVF high resolution scheme on triangular meshes, by comparing the exact solution of the typical example with the numerical solution. It is shown that the new numerical scheme has second order accuracy and has a good approximation near the exact solution. It can suppress the unphysical os-cillation of the discontinuity.

1. 引言

浅水方程数值方法的研究一直是计算流体力学研究的主要方向。对于间断问题的求解是一个比较难解决的问题,当前求解二维浅水方程的数值计算方法有很多,如有限差分法、有限元法、特征法、有限体积法等。有限差分法在处理问题时相对比较简单效率较高,但是在处理复杂区域问题时较为困难;而有限元在处理复杂边界问题时具有很大的优势,但是在处理大梯度问题时是比较困难的,有限体积法是基于无结构网格下,处理强间断问题或大梯度问题的一种高效的方法。因此,目前求解二维浅水方程的最广泛的方法是有限体积法。而且在模拟浅水方程问题上已经取得了一些成果。如前面已经有学者基于特征思想的高阶思想来求解浅水方程 [1] ;王立辉等提出的Lax-Wendroff格式和Lax-Friedrichs格式交替使用形成的复合型有限体积格式 [2] ;窦红、汪继文提出的将一种Van Albada型可微的限制器函数引入二维浅水方程 [3] ;王昆等提出了一种基于HLL格式的近似Riemann解为基础的重构的Godunov格式 [4] ;朱华君、宋松和提出的将非结构ENO型有限体积法运用到二维浅水方程的求解中 [5] 。这些格式都是基于TVD方法来求解二维浅水方程的,而且对于浅水方程的求解大部分都是基于TVD格式的。本文中我们基于CBC准则来构造一种新的高分辨率格式来求解二维浅水方程。

对于间断问题的求解是一个比较难解决的问题,在一致网格下,人们已经构造了许多经典的数值格式,如一阶迎风格式FOU (First-Order Upwind)、Lax-Friedrichs [6] 格式等低阶格式,这种低阶格式虽然能使计算稳定且不产生震荡,但是数值解可能会在间断处存在数值耗散,因此又构造了一些其他的重要格式,如CD (Central Difference)、SOU (Second-order Upwind)等高阶数值格式,虽然这些新构造的数值格式具有高阶精度,但是这些数值格式得到的数值解可能会产生虚假震荡导致图像失真。将这些数值格式和对流有界性准则相结合构造出NVF (Normalized Variable Formulation) [7] 高分辨率格式,如HOAB [8] ,SMART [9] ,OSHER [10] 等高阶格式。但是,许多二维问题具有不规则边界,NVF高分辨率格式无法直接使用,因此将NVF高分辨率格式推广到非结构网格下对于数值计算十分重要。M. S. Darwish [11] 提出的非结构网格下NVSF (Normalized Variable and Space Formulation)格式是这方面的基础研究工作之一。由于CBC格式能保证数值格式的有界性,本文我们提出一种新的高分辨率格式来求解二维浅水方程问题的对流项。基于三角形网格下,在M. S. Darwish [11] 的研究基础上,结合CBC (Convection Boundedness Criterion) [12] 对流有界性准则构造一个新的NVSF (Normalized Variable and Space Formulation)格式,通过数值算例,给出数值解与准确解的比较,可以得到该格式对于准确解具有良好的逼近效果。本文共有六节组成,具体安排如下:第一节为引言部分,第二节为非结构网格下新格式的构造,第三节为二维浅水方程,第四节为时间离散方法,第五节为给定具体的数值算例进行分析,第六节给出结论。

2. 非结构网格下新格式的构造

2.1. 非一致网格下NVSF的正则化

在非一致网格下,界面f的值不仅与相邻的节点值 ϕ U , ϕ C , ϕ D 有关,而且也与这些节点所在的位置有关,如图1所示,从而可以得到 ϕ f = f ( ϕ U , ϕ C , ϕ D , x U , x C , x f , x D )

Figure 1. Three neighboring mesh points and the mesh face

图1. 三个相邻的节点及单元边界

根据Leonard [13] 中的思想,由正则化变量定义:

ϕ ˜ = ϕ ϕ U ϕ D ϕ U , x ˜ = x x U x D x U

正则化前后的变量关系分别如图2图3所示:

Figure 2. The relationship between variables before the regularization

图2. 正则化前的变量关系

Figure 3. The relationship between variables after the regularization

图3. 正则化后的变量关系

通过正则化公式可以得到 ϕ ˜ U = 0 , ϕ ˜ D = 1 , x ˜ U = 0 , x ˜ D = 1 。从而可以得到 ϕ ˜ f = f ( ϕ ˜ C , x ˜ C , x ˜ f ) ,我们可以看到 ϕ ˜ f 的值是依赖于 ϕ ˜ C , x ˜ C x ˜ f 的值。

下面是一些格式在非结构网格下的线性对流格式。如下表1所示:

Table 1. The linear convection schemes on triangular meshes

表1. 非结构网格下的线性对流格式

2.2. 对流项有界性准则

在数值求解的过程中,在对于对流项的处理过程,既要求具有较高的精度,又要求对于对流项的离散满足对流有界性。因此M. S. Darwish和F. H. Moukalled提出了NVSF方法,并提出了非均匀网格下的高分辨率有限体积格式,并指出由Gaskell和Lau [14] 提出的对流有界性准则CBC对于非结构网格是适用的。在非一致网格下,CBC准则可以写为:

(1)

关于精度问题,Leonard提出在结构网格上利用NVF得出的格式是满足二阶精度的。一个格式为二阶精度的充分必要条件是其表达式过点 Q ( 0.5 , 0.75 ) ,而对于非一致网格NVSF的情况,所构造的格式是二阶精度的充分必要条件是其表达式过点 Q ( x ˜ C , x ˜ f ) 图4为几种格式在结构网格下与非一致网格下的正则变量图。

Figure 4. Normalized Variable Diagram (NVD) for several linear schemes formulated using NVSF

图4. 利用NVSF构造的几种线性格式的正则变量图(NVD)

2.3. 新格式的构造

我们构造一个新的高阶格式,使该格式满足CBC准则,我们已经知道,在一致网格下,要想使新格式具有二阶精度必须经过点 ( 0.5 , 0.75 ) 。而在非一致网格下,要想使构造的格式具有二阶精度,必须通过点 ( x ˜ C , x ˜ f ) ,我们令

ϕ ˜ f = a ϕ ˜ C 4 + b ϕ ˜ C 3 + c ϕ ˜ C 2 + d ϕ ˜ C + e (2)

此格式需满足:

{ ϕ ˜ f ( 0 ) = 0 ϕ ˜ f ( 1 ) = 1 ϕ ˜ f ( x ˜ C ) = x ˜ f ϕ ˜ f ( 1 ) = 0 (3)

且我们要构造的新格式与非一致网格下的Quick [15] 格式在 ( x ˜ C , x ˜ f ) 处的导数相同,即

ϕ ˜ f ( x ˜ C ) = x ˜ f ( x ˜ f 1 ) x ˜ C ( x ˜ C 1 ) (4)

将(3) (4)带入(2)式中解得

{ a = ( x ˜ C 3 3 x ˜ C 2 + 3 x ˜ C x ˜ f x ˜ f 2 ) x ˜ C 2 ( x ˜ C 1 ) 3 b = ( 2 x ˜ C 4 + 4 x ˜ C 3 4 x ˜ C 2 x ˜ f + 4 x ˜ C 2 + x ˜ C x ˜ f 2 5 x ˜ C x ˜ f + 2 x ˜ f 2 ) x ˜ C 2 ( x ˜ C 1 ) 3 c = ( x ˜ C 5 + x ˜ C 4 8 x ˜ C 3 + 8 x ˜ C 2 x ˜ f 2 x ˜ C x ˜ f 2 + x ˜ C x ˜ f x ˜ f 2 ) x ˜ C 2 ( x ˜ C 1 ) 3 d = ( 2 x ˜ C 4 + 4 x ˜ C 3 4 x ˜ C x ˜ f + x ˜ f 2 + x ˜ f ) x ˜ C 2 ( x ˜ C 1 ) 3 e = 0

将上式带入(2)式,

可以得到一个非结构网格下的新格式:

0 < ϕ ˜ C < 1 时,

ϕ ˜ f = ( x ˜ C 3 3 x ˜ C 2 + 3 x ˜ C x ˜ f x ˜ f 2 ) x ˜ C 2 ( x ˜ C 1 ) 3 ϕ ˜ C 4 + ( 2 x ˜ C 4 + 4 x ˜ C 3 4 x ˜ C 2 x ˜ f + 4 x ˜ C 2 + x ˜ C x ˜ f 2 5 x ˜ C x ˜ f + 2 x ˜ f 2 ) x ˜ C 2 ( x ˜ C 1 ) 3 ϕ ˜ C 3 + ( x ˜ C 5 + x ˜ C 4 8 x ˜ C 3 + 8 x ˜ C 2 x ˜ f 2 x ˜ C x ˜ f 2 + x ˜ C x ˜ f x ˜ f 2 ) x ˜ C 2 ( x ˜ C 1 ) 3 ϕ ˜ C 2 + ( 2 x ˜ C 4 + 4 x ˜ C 3 4 x ˜ C x ˜ f + x ˜ f 2 + x ˜ f ) x ˜ C 2 ( x ˜ C 1 ) 3 ϕ ˜ C

ϕ ˜ C 0 或者 ϕ ˜ C 1 时, ϕ ˜ f = ϕ ˜ C

所以,非一致网格在退化为结构网格时,点 ( x ˜ C , x ˜ f ) 退化为点 ( 0.5 , 0.75 ) ,则得到结构网格下的新格式为:

{ ϕ ˜ f = 2 ϕ ˜ C 4 + 5 ϕ ˜ C 3 5 ϕ ˜ C 2 + 3 ϕ ˜ C , 0 ϕ ˜ C 1 ϕ ˜ f = 0 , elsewhere (5)

3. 二维浅水方程

对于二维浅水方程,我们利用非结构网格下的新格式进行求解。首先考虑二维浅水方程的守恒形式为:

U t + F = 0 (6)

U是守恒变量向量, F = ( E , G ) ,E是x方向通量,G是y方向通量。其中

U = ( h h u h v ) , E = ( h u h u 2 + g h 2 2 h u v ) , G = ( h v h u v h v 2 + g h 2 2 )

其中,h是水深,u是x方向的平均速度分量,v是y方向的平均速度分量,g是重力加速度。

3.1. 有限体积法数值离散

将计算区域划分为非结构网格,每个三角形单元为控制体 V i ,把变量定义在三角网格的中心,

V i 上对(6)式积分可得:

V i ( U t + F ) d V = 0

所以可以得到 V i U t d V + V i F d V = 0

A U t d A + A F d A = 0

A ( U t + F ) d x d y = 0

t A U d A + A F d A = 0 (7)

U i 为第i个单元控制体U上的平均值。

U i = 1 A i A i U d A i , A i U i = A i U d A

将其带入(7)式可以得到 U i t = 1 A i A F d A

由Green公式可得:

U i t = 1 A i Γ F n d Γ (8)

n Γ 的单位外法向向量, Γ 为控制单元体A的边界。

对(8)式利用Gauss求积公式可得

U i t = 1 A i j = 1 3 F i j n i j l i j = 1 A i j = 1 3 F i j Δ l i j

其中, F i j 是通过第i个单元控制体的第j条边上的数值流通量;

n i j 是通过第i个单元控制体的第j条边上的单位外法向量;

l i j 是第i个控制体的第j条边;

Δ l i j 是第i个单元控制体的第j条边的长度。

通过正则化公式这样就将非一致网格下构造的新格式应用到了三角网格下。

本文采用修正的Roe格式求解界面的数值通量 F i j 。应用经典Roe格式,任意单元体界面通量F可以表

示为 F i j = h ( ϕ i j L , ϕ i j R ) ,利用Roe [16] 计算数值流通量的式子如下:

F i j R o e = 1 2 [ F ( ϕ i j L ) + F ( ϕ i j R ) | a i j | ( ϕ i j R ϕ i j L ) ] , (9)

其中:

a i j = { F ( ϕ i j R ) F ( ϕ i j L ) ϕ i j R ϕ i j L , ϕ L ϕ R F ( ϕ i j L ) , ϕ L = ϕ R (10)

4. 时间的离散

完成了关于空间导数的离散后,得到了关于时间t的一个常微分方程,即 d ϕ ¯ d t = L ( ϕ ) 。为了抑制非物

理震荡,采用的是三阶Runge-Kutta [17] 格式:

{ ϕ ( 1 ) = ϕ n + L ( ϕ ( 1 ) ) ϕ ( 2 ) = 3 4 ϕ n + 2 3 ( ϕ ( 1 ) + L ( ϕ ( 1 ) ) ) ϕ ( n + 1 ) = 1 3 ϕ n + 2 3 ( ϕ ( n ) + L ( ϕ ( n ) ) ) (11)

5. 数值算例

5.1. 一维线性对流方程

一维线性对流方程

{ ϕ t + a ϕ x = 0 , x [ a , b ] , t > 0 ϕ ( x , 0 ) = ϕ 0 ( x ) (12)

在a = 1时,给出不同的初值进行计算。

5.1.1. 情形1

给定以下的初值 ϕ ( x , 0 ) = ϕ 0 ( x ) = sin ( 2 π x ) ,在区间 [ 0 , 1 ] 上求解方程(12),CFL = 0.1,计算时间为0.1,将新构造的高分辨率格式、SMART [9] 格式、HOAB格式、MUSCL格式的数值解进行比较,在计算网格数分别取20、40、80、160、320下,计算格式的 L 1 误差、 L 2 误差以及数值精度阶(如表2)所示,给出格式的精度计算阶公式如下:

E p = ( Δ x i = 1 N | φ ¯ i ( exact ) φ ¯ i ( computed ) | ) 1 p , p = 1 , 2

order = ln E N E 2 N ln 2

Table 2. Errors and orders for several selected schemes

表2. 格式误差与数值精度阶对比

表2可知,对于光滑解问题,三种格式的 L 1 , L 2 误差随着剖分网格的加密在不断的减小而且结构网格下的新格式可以达到理论上二阶精度。

5.1.2. 情形2

对上述方程,选取间断初值

ϕ ( x , 0 ) = { 1 , x 0 0 , x 0

选取的计算区域为 [ 1 , 1 ] ,将计算区域等分为800份,计算时间为T = 0.2,由图5可知,新构造的格式在计算间断解时有很好的逼近效果,有效地抑制了非物理震荡。

5.1.3. 情形3

当我们选取如下的形如W信号的非光滑初值时

ϕ ( x , 0 ) = { 1 , 0 x 0.2 4 x 0.6 , 0.2 < x < 0.4 4 x + 2.6 , 0.4 < x 0.6 1 , 0.6 < x 0.8 0 , elsewhere

Figure 5. Comparison of numerical and exact results for the new condition

图5. 新格式下T = 0.2时的数值解与精确解

在计算求解过程中,选取的计算区域为 [ 0.5 , 2 ] ,网格的剖分份数为320,CFL = 0.1,T = 0.1,下图6给出的是新格式在上述条件下的数值解与准确解的对比,从图上我们可以看到,新格式能很好的计算光滑解,在间断处和大梯度处的近似效果比较好,能有效的抑制非物理震荡。

Figure 6. Comparison of numerical and exact results for the non-smooth initial condition

图6. 在非光滑初值下,新格式的数值解与准确解

5.2. 二维线性对流方程

下面利用非结构网格下的新格式对二维浅水方程进行求解,

U t + E x + G y = 0

其中, U = ( h h u h v ) E = ( h u h u 2 + g h 2 2 h u v ) G = ( h v h u v h v 2 + g h 2 2 )

U是守恒变量向量,E是x方向通量,G是y方向通量。

我们选取求解区域为 [ 0 , 50 ] × [ 0 , 50 ] ,利用Easy Mesh对求解区域进行三角形网格剖分,图7为三角剖分图。在这种剖分下得到14,770个单元三角形,7546个顶点,22,315条边。从而可以得到二维浅水方程的初始状态的2D和3D图像,如图8所示。利用新构造的格式可以得到数值解,如图9所示,显示了t = 0.49时的数值解的2D和3D图像。由图像可以知道,新的格式在逼近准确解时可以达到很好的效果。

Figure 7. Diagram of triangulation of Easy Mesh

图7. Easy Mesh的三角形剖分示意图

(a) (b)

Figure 8. (a) 2D exact solutions of shallow water equations; (b) 3D exact solutions of shallow water equations

图8. (a) 二维浅水方程的初始状态2D图像;(b) 二维浅水方程的初始状态的3D图像

(a) (b)

Figure 9. (a) 2D numerical solutions of shallow water equations; (b) 3D numerical solutions of shallow water equations

图9. (a) 二维浅水方程t = 0.49时的数值解的2D图;(b) 二维浅水方程t = 0.49时的数值解的3D图

6. 结论

本文是基于三角网格和CBC准则,再结合非一致网格下QUICK格式的导数构造了一个新的NVSF高分辨率格式,用此高分辨率格式对对流项进行离散,时间项采用三阶Runge-Kutta格式进行离散。通过算例的真解与数值解的比较,可以看出所构造的有限体积的高分辨率格式适用于非结构网格,并且将此格式退化为结构网格下的格式也具有很好的精度。

基金项目

本文由内蒙古自然科学基金项目(2015MS0101)和内蒙古自治区人才开发基金项目(12000-1300020240)支持。

文章引用: 蔺彩凤 , 高 巍 (2019) 三角形网格下二维浅水方程的高分辨率格式。 流体动力学, 7, 11-22. doi: 10.12677/IJFD.2019.71002

参考文献

[1] 郭彦, 基于特征思想的高分辨率格式的研究与应用[D]: [博士学位论文]. 合肥: 中国科学技术大学. 2009.

[2] 王立辉, 胡四一, 龚春生. 二维浅水方程的非结构网格数值解[J]. 水利水运工程学报, 2006, 13(1): 8-13.

[3] 窦红, 汪继文. 求解二维浅水方程的一种高分辨率有限体积格式[J]. 应用数学和计算数学学报, 2006, 20(2): 83-88.

[4] 王昆, 金生, 髙述峰, 宋立娜, 哈斯. 基于非结构网格的Godunov格式的二维浅水有限体积数值计算模式[J]. 中国水运, 2008, 8(5): 97-98.

[5] 朱华君, 宋松和. 二维浅水波方程的非结构网格ENO型有限体积法[J]. 湖南师范大学自然科学报, 2007, 30(1): 21-26.

[6] Spalding, D.B. (1972) A Novel Finite Difference Formulation for Differential Expressions Involving Both First and Second Derivatives. International Journal for Numerical Methods in Engineering, 4, 551-559.
https://doi.org/10.1002/nme.1620040409

[7] Lenard, B.P. (1988) Simple High-Accuracy Resolution Program for Convective Modeling of Discontinuities. International Journal for Numerical Methods in Fluids, 8, 1291-1318.
https://doi.org/10.1002/fld.1650081013

[8] Wei, J.J., Yu, B.., Tao, W.Q., Kawaguchi, Y. and Wang, H.S. (2003) A New High-Order-Accurate and Bounded Scheme for Incompressible Flow. Numerical Heat Transfer, Part B: Fundamentals, 43, 19-41.
https://doi.org/10.1080/713836153

[9] Gaskell, P.H. and Lau, A.K.C. (1988) Curvature-Compensated Convective Transport: SMART, A New Roundedness-Preserving Transport Algorithm. International Journal for Numerical Methods in Fluids, 8, 617-641.
https://doi.org/10.1002/fld.1650080602

[10] Chakravarthy, S.R. and Osher, S. (1983) High Resolution Applications of the OSHER Upwind Scheme for the Euler Equations. AIAA Paper 83-1943.
https://doi.org/10.2514/6.1983-1943

[11] Darwish, M.S. and Moukallod, F.H. (1994) Normalized Variable and Space Formulation Methodology for High-Resolution Schemes. Numerical Heat Transfer, Part B, 26, 79-96.
https://doi.org/10.1080/10407799408914918

[12] Spalding, D.B. (1972) A Novel Finite Difference Formulation for Differential Expressions Involving Both First and Second Derivatives. International Journal for Numerical Methods in Engineering, 4, 551-559.
https://doi.org/10.1002/nme.1620040409

[13] Lenard, B.P. (1988) Simple High-Accuracy Resolution Program for Convective Modeling of Discontinuities. International Journal for Numerical Methods in Fluids, 8, 1291-1318.
https://doi.org/10.1002/fld.1650081013

[14] Wei, J.J., Yu, B., Tao, W.Q., Kawaguchi, Y. and Wang, H.S. (2003) A New High-Order-Accurate and Bounded Scheme for Incompressible Flow. Numerical Heat Transfer, Part B: Fundamentals, 43, 19-41.
https://doi.org/10.1080/713836153

[15] Van Leer, B. (1977) Towards the Ultimate Conservative Difference Scheme. V. A Second-Order Sequel to Godunov's Method. Journal of Computational Physics, 23, 101-136.
https://doi.org/10.1016/0021-9991(77)90095-X

[16] Roe, P.L. (1980) Approximate Riemann Solvers, Parameter Vectors and Difference Schemes. Journal of Computational Physics, 43, 357-372.
https://doi.org/10.1016/0021-9991(81)90128-5

[17] Gottlieb, S. and Shu, C.-W. (1998) Total Variational Diminishing Runge-Kutta Schemes. Mathematics of Computation, 67, 73-85.
https://doi.org/10.1090/S0025-5718-98-00913-2

分享
Top