当计算区域为不规则几何时,在非结构网格下构造一个无震荡的格式一直是对流扩散方程研究的重要内容。基于三角网格,本文构造一个新的NVSF (Normalized Variable and Space Formulation)格式。典型算例表明,此数值格式不仅可以有效抑制非物理震荡,而且具有良好的精度。 Construction of oscillation-free schemes on unstructured meshes plays a key role on numerical solutions to convection dominated problems. A new NVSF (Normalized Variable and Space Formulation) scheme is presented on triangular meshes. The typical test cases show that the present scheme can suppress unphysical oscillations and possess good accuracy.
赵娟,高巍*
内蒙古大学数学科学学院,内蒙古 呼和浩特
收稿日期:2018年5月24日;录用日期:2018年6月6日;发布日期:2018年6月14日
当计算区域为不规则几何时,在非结构网格下构造一个无震荡的格式一直是对流扩散方程研究的重要内容。基于三角网格,本文构造一个新的NVSF (Normalized Variable and Space Formulation)格式。典型算例表明,此数值格式不仅可以有效抑制非物理震荡,而且具有良好的精度。
关键词 :对流扩散方程,三角形网格,无震荡格式
Copyright © 2018 by authors and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
对流占优问题的计算在流体动力学中有着重要的意义。结构网格下,已有很多NVF (Normalized Variable Formulation) [
而当遇到的问题具有不规则几何时,结构网格的几何适应性很差。这样NVF高分辨率格式无法直接运用。因此将NVF格式推广到无结构网格下,对于数值计算十分重要。M. S. Darwish [
本文基于三角形网格下,在 [
在结构网格下,数值格式在对对流项离散时,一般会用到该界面相邻的三个节点。而在非一致网格下界面f的值不仅与相邻的节点的值有关,也与这些节点所在的位置有关。在非一致网格下,我们选取的节点为界面f的相邻的三个节点。如图1所示,U,C,D分别为f的上游,中心和下游节点,分别位于 x U , x C , x D 处。这三个节点上的值为 ϕ U , ϕ C , ϕ D ,界面f的值为 ϕ f ,位于 x f 处。在非一致网格下, ϕ f = f ( ϕ U , ϕ C , ϕ D , x U , x C , x f , x D ) ,由正则化变量定义:
ϕ ^ = ϕ − ϕ U ϕ D − ϕ U , x ^ = x − x U x D − x U
得到 ϕ ^ f = f ( ϕ ^ C , x ^ C , x ^ f ) 图2,图3分别为正则化前后的变量关系。通过正则化后我们看到 ϕ ^ f 的值是依赖于 ϕ ^ C , x ^ C 和 x ^ f 的值。
M. S. Darwish指出由Gaskell和Lau [
{ ϕ ^ C < ϕ ^ f = f ( ϕ ^ C ) < 1 , 0 < ϕ ^ C < 1 ϕ ^ f = ϕ ^ C , ϕ ^ C ≤ 0 ϕ ^ f = ϕ ^ C , ϕ ^ C ≥ 1 (1)
关于精度问题,Leonard [
图1. 非一致网格下三个相邻的节点及单元边界
图2. 正则化前的变量关系
图3. 正则化后的变量关系
中,一个格式为二阶精度的充分必要条件是其表达式过点 Q ( 0.5 , 0.75 ) ;而对于非一致网格(NVSF)的情况,所构造的格式是二阶精度的充分必要条件是其表达式过点 Q ( x ^ C , x ^ f ) 。图4为几种格式在结构网格下与非一致网格下的正则变量图。
2.3. 新格式的构造
由上面可知构造一个有界性的新格式首先要满足CBC准则,即式(1)。并且为保证构造的新格式具有二阶精度,必须通过点 ( x ^ C , x ^ f ) 。我们令
φ ^ f = a φ ^ C 3 + b φ ^ C 2 + c φ ^ C + d (2)
由上面可知此格式需满足:
图4. 利用NVSF构造的几种线性格式的正则变量图(NVD)
{ φ ^ f ( 0 ) = 0 φ ^ f ( x ^ c ) = x ^ f φ ^ f ( 1 ) = 1 (3)
我们要构造的新格式与非一致网格下的Quick [
φ ^ ′ f ( x ^ c ) = x ^ f ( x ^ f − 1 ) x ^ c ( x ^ c − 1 ) (4)
将(3) (4)带入(2)式中解得
{ a = ( x ^ c − x ^ f ) 2 x ^ c 2 ( x ^ c − 1 ) 2 b = 3 x ^ c 2 x ^ f + x ^ c x ^ f − 2 x ^ c 3 − x ^ c x ^ f 2 − x ^ f 2 x ^ c 2 ( x ^ c − 1 ) 2 c = x ^ c 4 + x ^ c x ^ f 2 + x ^ c x ^ f − 3 x ^ c 2 x ^ f x ^ c 2 ( x ^ c − 1 ) 2 d = 0
最后得到一个一致网格下的新格式,如图5新格式是满足CBC准则的。
φ ^ f = ( x ^ c − x ^ f ) 2 x ^ c 2 ( x ^ c − 1 ) 2 φ ^ C 3 + 3 x ^ c 2 x ^ f + x ^ c x ^ f − 2 x ^ c 3 − x ^ c x ^ f 2 − x ^ f 2 x ^ c 2 ( x ^ c − 1 ) 2 φ ^ C 2 + x ^ c 4 + x ^ c x ^ f 2 + x ^ c x ^ f − 3 x ^ c 2 x ^ f x ^ c 2 ( x ^ c − 1 ) 2 φ ^ C
非一致网格在退化为结构网格时,点 ( x ^ C , x ^ f ) 退化为点 ( 0.5 , 0.75 ) ,则得到结构网格下的新格式为
ϕ ^ f = ϕ ^ C 3 − 5 2 ϕ ^ C 2 + 5 2 ϕ ^ C (5)
现将计算区域利用EasyMesh进行三角形剖分,而这种剖分得到的是非结构网格。在这种三角形网格下,变量的关系如图6所示。其中f为相邻两个三角形界面的中点,U为相邻两个三角形其中的一个顶点,C,D分别为这两个相邻三角形的重心。利用EasyMesh进行三角形剖分时,生成每个三角形的顶点坐标,同时每一个三角形的重心坐标也可以计算得到,各个点之间的距离也可以得到。将构造的非一致网格下的新格式应用到这种非结构网格下时,首先可利用单元三角形面积积分来求 φ C , φ D 的值,还需知道上游 φ U 的值。现利用围绕顶点U的三角形重心处的值来估计 φ U 的值,记 φ i 为围绕U点各个三角形重心的值, d i 为U点到各个相邻三角形重心的距离,n为围绕U点的三角形个数,估计值式子如下:
图5. 新格式曲线与CBC准则区域(虚线区域)
图6. 三角形网格下的变量关系
φ U = ∑ i = 1 n φ i d i ∑ i = 1 n 1 d i
完成了关于空间导数的离散后,得到了关于时间t的一个常微分方程,即 d ϕ ¯ d t = L ( ϕ ) 。为了抑制非物理震荡,采用的是三阶TVD Runge-Kutta [
{ ϕ ( 1 ) = ϕ n + L ( ϕ ( 1 ) ) ϕ ( 2 ) = 3 4 ϕ n + 1 4 [ ϕ ( 1 ) + L ( ϕ ( 1 ) ) ] ϕ n + 1 = 1 3 ϕ n + 2 3 [ ϕ n + L ( ϕ n ) ]
一维线性对流方程
∂ ϕ ∂ t + α ∂ ϕ ∂ x = 0 , x ∈ [ a , b ] , t > 0 (6)
给定初值 ϕ ( x , 0 ) = ϕ 0 ( x ) , α = 1 。
首先给定以下的初值 ϕ ( x , 0 ) = ϕ 0 ( x ) = sin ( 2 π x ) ,在区间 [ 0 , 1 ] 上求解方程(6), C F L = 0.1 ,利用结构网格下的新格式(5)、SMART [
order = ln E N / E 2 N ln 2
由表1可知,对于光滑解问题,结构网格下的新格式可以达到理论上二阶精度。
对于上述的方程(6),选取间断初值
ϕ ( x , 0 ) = { 1 , 0 , x ≤ 0 x ≥ 0
计算区间为 [ − 1 , 1 ] ,等分为800等份,计算时间T为0.1,图7表明,结构网格下的新格式对间断解
的计算有很好的逼近效果。
下面将利用非结构网格下的新格式对二维对流方程进行求解,选取Doswell [
Scheme | Mesh | L1error | L1order | L2error | L2order |
---|---|---|---|---|---|
20 | 1.11e-2 | -- | 1.50e-2 | -- | |
40 | 2.76e-3 | 2.02 | 4.69e-3 | 1.68 | |
Present | 80 | 7.18e-4 | 1.95 | 1.43e-3 | 1.71 |
Scheme | 160 | 1.75e-4 | 2.04 | 4.27e-4 | 1.75 |
320 | 4.28e-5 | 2.03 | 1.26e-4 | 1.76 | |
20 | 1.47e-2 | -- | 2.44e-2 | -- | |
40 | 3.35e-3 | 2.15 | 6.17e-3 | 1.99 | |
SMART | 80 | 8.37e-4 | 2.01 | 1.67e-3 | 1.90 |
160 | 2.16e-4 | 1.96 | 4.75e-4 | 1.82 | |
320 | 5.26e-5 | 2.05 | 1.35e-4 | 1.82 | |
20 | 2.45e-2 | -- | 3.02e-2 | -- | |
40 | 7.81e-3 | 1.65 | 9.53e-3 | 1.66 | |
MUSCL | 80 | 2.13e-3 | 1.88 | 2.87e-3 | 1.73 |
160 | 5.39e-4 | 1.98 | 8.71e-4 | 1.72 | |
320 | 1.35e-4 | 2.01 | 2.65e-4 | 1.72 |
表1. 格式误差与数值精度阶对比
图7. 新格式的数值解与真实解
∂ ϕ ∂ t + ∂ ( a ϕ ) ∂ x + ∂ ( b ϕ ) ∂ y = 0
此数学模型在速度场中有稳定的切向速度
ν t ( r ) = 1 ν max tanh ( r ) cosh 2 (r)
在计算的过程中,令
a ( x , y ) = − y − x 0 r ν t ( r ) , b ( x , y ) = x − y 0 r ν t (r)
其中 ( x 0 , y 0 ) 为旋转中心, r = ( x − x 0 ) 2 + ( y − y 0 ) 2 表示区域内任意一点到中心的距离,角速度定义为 ω = ν t ( r ) r 。选取计算区域为 [ 0 , 8 ] × [ 0 , 8 ] ,利用EasyMesh对计算区域进行三角形网格剖分,图8为剖分图。在这种剖分下得到14,818个单元三角形,7570个顶点,22,384条边。此模型的精确解为
ϕ ( x , y , t ) = tanh [ y − x 0 δ cos ( ω t ) − x − y 0 δ sin ( ω t ) ]
参数 δ 表示的是锋面的梯度,取 δ = 10 − 6 ,得到的数值结果如图9。(a)显示了数值解的2D图,反应了锋面生成的漩涡形状,(b)显示了数值解的3D图像。
本文基于三角形网格和CBC准则构造一个新的NVSF格式,数值算例表明此格式可适用于非结构网格,并且在间断解处很好地抑制了非物理震荡。退化后的结构网格下的格式也有很好的精度。本文为无
图8. EasyMesh的三角形剖分图
图9. Doswell的数值解的2D、3D图像
结构网格下的问题提供了一个很好的解决方法。下一步的工作计划利用本文中的格式计算不同的对流扩散方程,比如二维浅水方程等。
本文由内蒙古自然科学基金项目(2015MS0101)和内蒙古自治区人才开发基金项目(12000-1300020240)支持。
赵娟,高巍. 三角形网格下对流扩散方程的无震荡格式 A Non-Oscillatory Scheme for Convection Diffusion Equations on Triangular Meshes[J]. 流体动力学, 2018, 06(02): 23-32. https://doi.org/10.12677/IJFD.2018.62004
https://doi.org/10.1002/fld.1650081013
https://doi.org/10.1002/fld.1650080602
https://doi.org/10.1016/0021-9991(74)90019-9
https://doi.org/10.1080/713836153
https://doi.org/10.1002/fld.428
https://doi.org/10.2514/6.1983-1943
https://doi.org/10.1080/10407799408914918
https://doi.org/10.1002/nme.1620040409
https://doi.org/10.1090/S0025-5718-98-00913-2
https://doi.org/10.1175/1520-0469(1984)041<1242:AKAOFA>2.0.CO;2