文章快速检索     高级检索
  气体物理  2019, Vol. 4 Issue (3): 34-41   DOI: 10.19527/j.cnki.2096-1642.0754
0

引用本文  

王亚辉, 刘伟, 袁礼, 等. 求解二维Euler方程有限单元边插值的降维重构算法[J]. 气体物理, 2019, 4(3): 34-41.
Wang Y H, Liu W, Yuan L, et al. A lowered dimension reconstruction algorithm using finite element edge interpolation for two-dimensional euler equations[J]. Physics of Gases, 2019, 4(3): 34-41.

基金项目

国家自然科学基金(11261160486,91641107,91852116)

第一作者简介

王亚辉(1990-)男, 博士, 研究方向为计算流体力学.E-mail:wangyh14@lsec.cc.ac.cn

文章历史

收稿日期:2019-04-05
修回日期:2019-04-25
求解二维Euler方程有限单元边插值的降维重构算法
王亚辉 1,2, 刘伟 1,2, 袁礼 1,2, 杜玉龙 3     
1. 中国科学院数学与系统科学研究院计算数学所LSEC实验室,北京 100190;
2. 中国科学院大学数学科学学院,北京 100049;北京航空航天大学数学与系统科学学院,北京 100191;
3. 北京航空航天大学数学与系统科学学院,北京 100191
摘要:数值求解二维Euler方程的有限体积法(如k-exact,WENO重构、紧致重构等),无一例外地要进行耗时的网格单元上的二维重构.然而这些二维重构最后仅用于确定网格单元边界上高斯积分点处的解值,单元上二维重构似乎并非必需的.因此,文章提出用网格边上的一维重构来取代有限体积法中网格单元上的二维重构,分别在一致矩形网格和非结构三角形网格上发展了基于网格边重构的求解二维Euler方程的新方法,称为降维重构算法.数值算例表明该算法可以计算有强激波的无黏流动问题,且有较高的计算效率.
关键词矩形网格    三角形网格    Euler方程    守恒律    降维重构    
A Lowered Dimension Reconstruction Algorithm Using Finite Element Edge Interpolation for Two-Dimensional Euler Equations
WANG Ya-hui1,2 , LIU Wei1,2 , YUAN Li1,2 , DU Yu-long3     
1. LSEC and ICMSEC, Academy of Mathematics and Systems Science, CAS, Beijing 100190, China;
2. School of Mathematical Sciences, UCAS, Beijing 100049, China; School of Mathematics and Systems Science, Beihang University, Beijing 100191, China;
3. School of Mathematics and Systems Science, Beihang University, Beijing 100191, China
Abstract: Finite volume methods (such as k-exact, WENO, compact reconstruction, etc) for the two-dimensional Euler equations require time-consuming piecewise two-dimensional (2D) reconstruction unexceptionally. It is found that this 2D reconstruction is used only for evaluating flow variables at Gauss points for calculating numerical fluxes, so the 2D reconstruction seems to be unnecessary. Inspired by this observation, it was proposed to use one-dimensional (1D) reconstruction on the side of a cell to replace the 2D reconstruction on the cell as is the case with finite volume method. For the 2D Euler equations on uniform rectangular grids and unstructured triangular grids a new numerical method (termed as lowered dimension reconstruction algorithm) was developed. Numerical examples show that this algorithm can be used to compute inviscid flow problems with strong shock waves and has good computational efficiency.
Key words: rectangular grid    triangular grid    Euler equation    conservation law    lowered dimension reconstruction    
引言

Euler方程的高精度高分辨率数值方法主要有3种:有限差分方法[1-14], 有限体积方法[15-20]和有限元方法(例如间断有限元法[21-23]).有限差分法简单高效, 只在每个方向上做一维变量/通量重构, 在简单区域问题上使用方便, 但是处理复杂区域比较困难.有限体积法[20]和有限元法[23]适合复杂区域, 但须要重构每个网格单元上变量的高维分布或计算多个自由度, 这使得这两种方法和有限差分法相比在计算量上有很大的增加.

我们发现, 传统有限体积法及其变种方法[24-25]中计算量占比很大的高维重构在后来计算中被用到的仅仅是边界Gauss积分点处的变量值, 单元内部的高维重构似乎并非必需.因此在本文中, 考虑仅在网格单元边上进行重构, 目的是发展计算量小且有高精度高分辨率特性的方法.我们设计了一致矩形和非结构三角形网格边上的一维重构, 由此提出了计算二维Euler方程的降维重构算法.对于矩形网格容易证明该算法是守恒的, 它的激波间断捕捉能力和WENO差分方法[2-4]相当, 计算效率略差, 但比WENO有限体积方法[20, 26]大为提高.该算法的主要思想是在一个网格单元上, 从微分型控制方程出发, 利用网格边上多个解点处的通量导数信息来推进解点处的解.当网格是一致矩形网格时, 可用一维WENO[2-4]有限差分法计算沿边方向的通量导数, 边内部解点的法向导数用插值方式计算.当网格是非结构三角形网格时, 我们只用三角形单元各边上几个解点来重构本边的多项式.对于边端点解点处的通量导数用共享端点的边重构加权来计算, 而对于边内部解点处的法向通量导数则用插值方式计算.算例表明, 该算法在一致矩形网格上可达到3阶精度, 在三角形网格上可达到2阶精度, 可以计算有强激波的无黏流动问题, 且有较高的计算效率.

1 二维双曲守恒律的降维重构算法

考虑二维双曲守恒律组

$ {u_t} + {f_x}\left( u \right) + {g_y}\left( u \right) = 0 $ (1)

的数值求解.这里下标表示偏导数.降维重构算法在图 1中矩形或三角形网格边上设置的解点(边内部解点用$\circ $表示,顶点解点用•表示)处求解微分型控制式(1).不同于间断有限元法[21]、通量重构法[24]、多矩有限体积法[25]等, 本方法的解在解点处都是连续的, 解点处通量函数f(u), g(u)的x, y导数被用来演化该点处的解变量.降维重构只在网格边上做一维重构.这样在边内部解点处的通量导数只有边切向导数信息, 没有边法向导数信息.边法向导数信息需用插值得到.

图 1 (左)和三角形网格(右) Fig.1 Rectangular grids (left) and triangular grids (right)
1.1 矩形网格上的降维重构方法

图 1()所示的均匀矩形网格单元ei, j上, 每条边上均匀分布K个解点, 其中两个为端点.解点处的解变量u, 通量f, g以及通量导数都是连续的.根据式(1), 解点变量的演化须计算该点的通量导数fx(u), gy(u).对于x方向j+1/2网格线上解点m处的通量导数f(u)x可以按照一维有限差分WENO方法来逼近, 即

$ {\left( {{f_x}} \right)_{m,j + 1/2}} \approx \frac{{{{\hat f}_{m + 1/2,j + 1/2}} - {{\hat f}_{m - 1/2,j + 1/2}}}}{{{h_x}}} $ (2)

其中,hxx/(K-1).类似地, y方向网格线上解点的gy(u)按照y方向的一维有限差分WENO方法获得.这样, 边顶点解点处的fx(u)和gy(u)信息是完整的.但边内部解点处的通量导数信息并不完整, 如x方向边内部解点m处缺少导数信息gy(u), 这时, 我们通过x方向4个顶点解点处的通量导数的加权组合得到内部解点的通量导数值, 对于y方向边上缺失的fx(u)类似处理.下面以x方向边为例详述.

以网格单元每条边有K=3个解点的情形为例.对于x方向边的中间解点处的gy(u)信息, 可采用x方向边4个顶点处通量导数的线性组合来获得, 即由顶点(i-3/2, j+1/2), (i-1/2, j+1/2), (i+1/2, j+1/2)和(i+3/2, j+1/2)向中间解点m处进行Ox4)阶精度的Lagrange插值, 结果为

$ \begin{array}{l} {\left( {{g_y}} \right)_{m,j + 1/2}} = - \frac{1}{{16}}{\left( {{g_y}} \right)_{i - 3/2,j + 1/2}} + \frac{9}{{16}}{\left( {{g_y}} \right)_{i - 1/2,j + 1/2}} + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\frac{9}{{16}}{\left( {{g_y}} \right)_{i + 1/2,j + 1/2}} - \frac{1}{{16}}{\left( {{g_y}} \right)_{i + 3/2,j + 1/2}}\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = \frac{1}{2}\left[ { - \frac{1}{8}{{\left( {{g_y}} \right)}_{i - 3/2,j + 1/2}} + \frac{3}{4}{{\left( {{g_y}} \right)}_{i - 1/2,j + 1/2}} + } \right.\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\left. {\frac{3}{8}{{\left( {{g_y}} \right)}_{i + 1/2,j + 1/2}}} \right] + \frac{1}{2}\left[ { - \frac{1}{8}{{\left( {{g_y}} \right)}_{i + 3/2,j + 1/2}} + } \right.\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\left. {\frac{3}{4}{{\left( {{g_y}} \right)}_{i + 1/2,j + 1/2}} + \frac{3}{8}{{\left( {{g_y}} \right)}_{i - 1/2,j + 1/2}}} \right] \end{array} $ (3)

从式(3)第2个等号可以看出中间解点的y方向通量导数是上风偏斜(第1个方括号项)和下风偏斜插值(第2个方括号项)的代数平均.对于一些问题用中心型插值(3)会产生数值振荡.更加稳定的方法是采用上风偏斜和下风偏斜插值的非线性加权组合.类似于Jiang-Shu WENO[2, 27]的非线性加权的思想, 我们将中间解点处的通量导数用上风(L)和下风(R)子模板的凸组合

$ {\left( {{g_y}} \right)_{m,j + 1/2}} = \beta \left( {{g_y}} \right)_{m,j + 1/2}^{\rm{L}} + \left( {1 - \beta } \right)\left( {{g_y}} \right)_{m,j + 1/2}^{\rm{R}} $ (4)

其中, 非线性权β采用以下方法计算(优化系数为C0=C1=0.5)

$ {\beta _k} = \frac{{{\alpha _k}}}{{{\alpha _0} + {\alpha _1}}},{\alpha _k} = \frac{{{C_k}}}{{{{\left( {I{S_k} + \varepsilon } \right)}^2}}},\varepsilon = {10^{ - 6}},k = 0,1 $ (5)

其中ISk为子模板上二次重构多项式在区间[xi-1/2, xi+1/2]上按Jiang-Shu定义算的光滑度指示子, 具体给出(这里省略下标j+1/2)

$ \begin{array}{l} I{S_0} = {\left[ {{{\left( {{g_y}} \right)}_{i + 1/2}} - {{\left( {{g_y}} \right)}_{i - 1/2}}} \right]^2} + \frac{{13}}{{12}}\left[ {{{\left( {{g_y}} \right)}_{i + 1/2}} - } \right.\\ \;\;\;\;\;\;\;\;{\left. {2{{\left( {{g_y}} \right)}_{i - 1/2}} + {{\left( {{g_y}} \right)}_{i - 3/2}}} \right]^2},\\ I{S_1} = {\left[ {{{\left( {{g_y}} \right)}_{i + 3/2}} - {{\left( {{g_y}} \right)}_{i + 1/2}}} \right]^2} + \frac{{13}}{{12}}\left[ {{{\left( {{g_y}} \right)}_{i + 3/2}} - } \right.\\ \;\;\;\;\;\;\;\;{\left. {2{{\left( {{g_y}} \right)}_{i + 1/2}} + {{\left( {{g_y}} \right)}_{i - 1/2}}} \right]^2} \end{array} $ (6)

利用类似的方法可得到y方向边内部解点处的通量导数.

对于每边3个解点K=3情形, 将守恒律(1)应用每一个解点(is, js)

$ {\left( {\frac{{\partial \mathit{\boldsymbol{U}}}}{{\partial t}} + \frac{{\partial \mathit{\boldsymbol{F}}}}{{\partial x}} + \frac{{\partial \mathit{\boldsymbol{G}}}}{{\partial y}}} \right)_{{i_s},{j_s}}} = 0 $ (7)

可以对每条网格线的解点进行循环求解.

事实上, 式(7)在网格边的端点解点上, 就是传统的有限差分WENO法; 在网格边的中间解点上, 一个方向的通量导数是按照一维WENO方法得到的, 另一方向的通量导数是按照插值方式获得的, 这是降维重构法的特点.由于子模板3个顶点向边中间解点的插值引入了Ox3)插值误差, 因此凸组合(4)的精度阶介于3~4之间.由于每个解点两侧有唯一的数值通量, 故该方法是守恒的.但要注意, 算法稳定的时间步长正比于解点之间的间距hx.

1.2 三角形网格上的降维重构算法

图 1()的三角形网格, 记Uk, s为边s上解点k处的解, 我们用简单的Lagrange多项式重构边s上的解变量分布

$ {\mathit{\boldsymbol{U}}_s}\left( \xi \right) = \sum\limits_{k = 1}^K {{L_{k,s}}\left( \xi \right){\mathit{\boldsymbol{U}}_{k,s}}} ,\xi \in \left[ {0,1} \right] $ (8)

其中, Lk, s(ξ)为边s上点k处的一维Lagrange插值函数, ξ为边的参数坐标.对于每边均匀分布3个解点的情形, 式(8)可用3点Newton插值多项式表示

$ \begin{array}{l} {\mathit{\boldsymbol{U}}_s}\left( \xi \right) = {\mathit{\boldsymbol{U}}_{2,s}} + \left( {{\mathit{\boldsymbol{U}}_{3,s}} - {\mathit{\boldsymbol{U}}_{1,s}}} \right)\left( {\xi - \frac{1}{2}} \right) + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;2\left( {{\mathit{\boldsymbol{U}}_{1,s}} - 2{\mathit{\boldsymbol{U}}_{2,s}} + {\mathit{\boldsymbol{U}}_{3,s}}} \right){\left( {\xi - \frac{1}{2}} \right)^2} \end{array} $ (9)

其中, 下标1, 2, 3分别对应参数坐标ξ=0, 1/2, 1.这里规定从顶点全局小编号到大编号方向为ξ的正向.

网格顶点全局编号v处的通量导数用围绕此顶点的所有边l的一维重构Ul(ξ)的局部坐标导数(dUl(ξ)/dξ)v的组合来近似

$ \begin{array}{l} {\left( {\frac{{\partial \mathit{\boldsymbol{F}}}}{{\partial x}}} \right)_v} = {\left( {\frac{{\partial \mathit{\boldsymbol{F}}}}{{\partial \mathit{\boldsymbol{U}}}}\frac{{\partial \mathit{\boldsymbol{U}}}}{{\partial x}}} \right)_v} = {\mathit{\boldsymbol{A}}_v}{\left( {\frac{{\partial \mathit{\boldsymbol{U}}}}{{\partial x}}} \right)_v}\\ \;\;\;\;\;\;\;\;\;\;\;\;\; = {\mathit{\boldsymbol{A}}_v}\sum\limits_{l = 1}^{{N_v}} {\beta _l^x\frac{{\cos {\theta _l}}}{{{d_l}}}{{\left( {\frac{{{\rm{d}}{\mathit{\boldsymbol{U}}_l}}}{{{\rm{d}}\xi }}} \right)}_v}} ,\\ {\left( {\frac{{\partial \mathit{\boldsymbol{G}}}}{{\partial y}}} \right)_v} = {\left( {\frac{{\partial \mathit{\boldsymbol{G}}}}{{\partial \mathit{\boldsymbol{U}}}}\frac{{\partial \mathit{\boldsymbol{U}}}}{{\partial y}}} \right)_v} = {\mathit{\boldsymbol{B}}_v}{\left( {\frac{{\partial \mathit{\boldsymbol{U}}}}{{\partial y}}} \right)_v}\\ \;\;\;\;\;\;\;\;\;\;\;\;\; = {\mathit{\boldsymbol{B}}_v}\sum\limits_{l = 1}^{{N_v}} {\beta _l^y\frac{{\sin {\theta _l}}}{{{d_l}}}{{\left( {\frac{{{\rm{d}}{\mathit{\boldsymbol{U}}_l}}}{{{\rm{d}}\xi }}} \right)}_v}} \end{array} $ (10)

Fy, Gx类似计算.其中$\mathit{\boldsymbol{A}}{\rm{ = }}\partial \mathit{\boldsymbol{F}}/\partial \mathit{\boldsymbol{U}}, \mathit{\boldsymbol{B}} = \partial \mathit{\boldsymbol{G}}/\partial \mathit{\boldsymbol{U}}$为通量Jacobi矩阵, l为共享顶点v的边, 一共有Nv个, (cosθl, sinθl)为边l的方向余弦, dl为边l的长度, βlx, βly∈[0, 1]分别为边l在两个方向导数中的组合权.这里组合权的计算采用类似于Deng等的文献[25]中的各边向x, y轴投影倒数的加权

$ \beta _l^x = \frac{{\left| {\frac{1}{{\Delta {x_l}}}} \right|}}{{\sum\limits_{s = 1}^{{N_v}} {\left| {\frac{1}{{\Delta {x_s}}}} \right|} }},\beta _l^y = \frac{{\left| {\frac{1}{{\Delta {y_l}}}} \right|}}{{\sum\limits_{s = 1}^{{N_v}} {\left| {\frac{1}{{\Delta {y_s}}}} \right|} }} $ (11)

数值实验显示用式(11)计算间断问题会发散.为改善稳定性, 我们用类似WENO的非线性权, 其中优化权仍取式(11), 光滑指示子用边l的一维重构多项式(9)在ξ∈[0, 0.5]区间上的积分, 取光滑指示子

$ \begin{array}{*{20}{c}} {I{S_l} = \sum\limits_{j = 1}^2 {\int_0^{0.5} {{{\left( {\Delta \xi } \right)}^{2j - 1}}{{\left[ {\frac{{{{\rm{d}}^j}{U_l}\left( \xi \right)}}{{{\rm{d}}{\xi ^j}}}} \right]}^2}{\rm{d}}\xi } } ,}\\ {l = 1, \cdots ,{N_v}} \end{array} $ (12)

经过计算得到具体的光滑指示子为

$ \begin{array}{l} I{S_l} = \frac{1}{4}\left[ {\left( {{U_{3,l}} - {U_{1,l}}} \right) + 4\left( {{U_{3,l}} - } \right.} \right.\\ \;\;\;\;\;\;\;{\left. {\left. {2{U_{2,l}} + {U_{1,l}}} \right)} \right]^2} \end{array} $ (13)

于是式(10)中的权用如下的非线性权计算

$ \begin{array}{l} \bar \beta _l^x = \frac{{\alpha _l^x}}{{\sum\limits_{s = 1}^{{N_v}} {\alpha _s^x} }},\alpha _l^x = \frac{{\beta _l^x}}{{{{\left( {I{S_l} + \varepsilon } \right)}^2}}}\\ \bar \beta _l^y = \frac{{\alpha _l^y}}{{\sum\limits_{s = 1}^{{N_v}} {\alpha _s^y} }},\alpha _l^y = \frac{{\beta _l^y}}{{{{\left( {I{S_l} + \varepsilon } \right)}^2}}} \end{array} $ (14)

用式(10)可计算顶点解点处的全部通量导数Fx, Fy, Gx, Gy, 但中间解点m处只有通量切向导数是可计算的, 如(${\left({\partial \mathit{\boldsymbol{F/}}\partial \xi } \right)_m} = {A_m}{\left({{\rm{d}}{\mathit{\boldsymbol{U}}_l}\left(\xi \right)/{\rm{d}}\xi } \right)_m}$, 而法向导数是未知的.这里我们根据已计算的边两端顶点的法向导数, 用代数平均获得中间解点处的法向导数, 进而得到该点的通量x, y导数.

n =(nx, ny)为当前边s的法向矢量, 则边两个顶点解点的通量法向导数为

$ \left\{ \begin{array}{l} {\left( {\frac{{\partial \mathit{\boldsymbol{F}}}}{{\partial n}}} \right)_k} = {\left( {\frac{{\partial \mathit{\boldsymbol{F}}}}{{\partial x}}} \right)_k}{n_x} + {\left( {\frac{{\partial \mathit{\boldsymbol{F}}}}{{\partial y}}} \right)_k}{n_y}\\ {\left( {\frac{{\partial \mathit{\boldsymbol{G}}}}{{\partial n}}} \right)_k} = {\left( {\frac{{\partial \mathit{\boldsymbol{G}}}}{{\partial x}}} \right)_k}{n_x} + {\left( {\frac{{\partial \mathit{\boldsymbol{G}}}}{{\partial y}}} \right)_k}{n_y} \end{array} \right.,k = {v_1},{v_2} $ (15)

边中间解点m处的通量法向导数用顶点的代数平均来近似

$ \begin{array}{l} {\left( {\frac{{\partial \mathit{\boldsymbol{F}}}}{{\partial n}}} \right)_m} = \frac{1}{2}\left[ {{{\left( {\left. {\frac{{\partial \mathit{\boldsymbol{F}}}}{{\partial n}}} \right|} \right)}_{{v_1}}} + {{\left( {\left. {\frac{{\partial \mathit{\boldsymbol{F}}}}{{\partial n}}} \right|} \right)}_{{v_2}}}} \right] + O\left( {d_s^2} \right)\\ {\left( {\frac{{\partial \mathit{\boldsymbol{G}}}}{{\partial n}}} \right)_m} = \frac{1}{2}\left[ {{{\left( {\left. {\frac{{\partial \mathit{\boldsymbol{G}}}}{{\partial n}}} \right|} \right)}_{{v_1}}} + {{\left( {\left. {\frac{{\partial \mathit{\boldsymbol{G}}}}{{\partial n}}} \right|} \right)}_{{v_2}}}} \right] + O\left( {d_s^2} \right) \end{array} $ (16)

由于边s的切向$\mathit{\boldsymbol{\xi = }}\left({{\xi _x}, {\xi _y}} \right) = \left({\cos {\theta _x}, \sin {\theta _x}} \right)$和法向n是正交的, 所以中间解点处的通量导数为

$ \begin{array}{l} {\left( {{{\mathit{\boldsymbol{\tilde F}}}_x}} \right)_m} = {\left( {\frac{{\partial \mathit{\boldsymbol{F}}}}{{\partial n}}} \right)_m}{n_x} + {\left( {\frac{{\partial \mathit{\boldsymbol{F}}}}{{\partial \xi }}} \right)_m}\frac{{{\xi _x}}}{{{d_s}}}\\ {\left( {{{\mathit{\boldsymbol{\tilde G}}}_y}} \right)_m} = {\left( {\frac{{\partial \mathit{\boldsymbol{G}}}}{{\partial n}}} \right)_m}{n_y} + {\left( {\frac{{\partial \mathit{\boldsymbol{G}}}}{{\partial \xi }}} \right)_m}\frac{{{\xi _y}}}{{{d_s}}} \end{array} $ (17)

其中ds为单元边长,因此得到边s上所有解点k处的半离散格式

$ \frac{{{\rm{d}}{\mathit{\boldsymbol{U}}_{k,s}}}}{{{\rm{d}}t}} + {\left( {{{\mathit{\boldsymbol{\tilde F}}}_x} + {{\mathit{\boldsymbol{\tilde G}}}_y}} \right)_{k,s}} = 0 $ (18)

式(18)用3阶TVD-RK方法[28-29]时间推进求解.

2 数值结果 2.1 二维标量方程

考虑二维线性标量对流方程的初边值问题

$ \left\{ \begin{array}{l} {u_t} + {u_x} + {u_y} = 0\\ u\left( {x,y,0} \right) = \sin \left( {\frac{{\rm{ \mathsf{ π} }}}{2}\left( {x + y} \right)} \right)\\ \left( {x,y} \right) \in \left[ { - 2,2} \right] \times \left[ { - 2,2} \right] \end{array} \right. $ (19)

其精确解为[30]

$ u\left( {x,y,t} \right) = \sin \left( {\frac{{\rm{ \mathsf{ π} }}}{2}\left( {x + y - 2t} \right)} \right) $

边界上采用周期边界条件.计算区域的边长为无量纲量,用图 2中两种不同的计算网格来进行比较.以CFL=0.5计算到时间t=2. 图 3(a)(b)分别显示用图 2(a)(b)两种类型网格的计算结果,可见差别不大.

图 2 两种三角形网格, 网格尺度l=1/450 Fig.2 Two different triangular grids with grid size l=1/450
图 3 线性问题(19)的计算结果 Fig.3 Numerical results of Eq.(19)

考虑二维无黏Burgers方程的初边值问题[26, 30]

$ \left\{ \begin{array}{l} {u_t} + {\left( {\frac{{{u^2}}}{2}} \right)_x} + {\left( {\frac{{{u^2}}}{2}} \right)_y} = 0\\ u\left( {x,y,0} \right) = 0.3 + 0.7\sin \left( {\frac{{\rm{ \mathsf{ π} }}}{2}\left( {x + y} \right)} \right)\\ \left( {x,y} \right) \in \left[ { - 2,2} \right] \times \left[ { - 2,2} \right] \end{array} \right. $ (20)

其精确解为

$ u\left( {x,y,t} \right) = 0.3 + 0.7\sin \left( {\frac{{\rm{ \mathsf{ π} }}}{2}\left( {x + y - 2u\left( {x,y} \right)t} \right)} \right) $

边界上采用周期边界条件.以CFL=0.45计算到时间t=0.5, 此时间断解尚未形成. 表 1给出矩形网格上的误差与收敛阶, 可见精度可以达到3阶以上. 表 2给在三角形网格上的误差收敛阶, 可见只有2阶精度.

下载CSV 表 1 Burgers方程在矩形网格上的精度阶 Tab.1 Convergence rate for the solution of the Burgers equation (20) on rectangular grids
下载CSV 表 2 Burgers方程在三角形网格上的精度阶 Tab.2 Convergence rate for the solution of the Burgers equation (20) on triangular grids
2.2 二维Euler方程组

考虑二维可压缩流Euler方程组

$ \left\{ \begin{array}{l} {\mathit{\boldsymbol{U}}_t} + {\mathit{\boldsymbol{F}}_x} + {\mathit{\boldsymbol{G}}_y} = 0\\ \mathit{\boldsymbol{U}} = {\left( {\rho ,\rho u,\rho v,E} \right)^{\rm{T}}}\\ \mathit{\boldsymbol{F}} = {\left( {\rho u,\rho {u^2} + p,\rho uv,u\left( {E + p} \right)} \right)^{\rm{T}}}\\ \mathit{\boldsymbol{G}} = {\left( {\rho v,\rho uv,\rho {v^2} + p,v\left( {E + p} \right)} \right)^{\rm{T}}}\\ E = \frac{p}{{\gamma - 1}} + \frac{1}{2}\rho \left( {{u^2} + {v^2}} \right) \end{array} \right. $ (21)

式中, ρ, u, v, p, E, γ分别为流体的密度, xy方向速度分量、压力、单位体积的总能及气体比热比(γ=1.4).计算3个典型问题.

(1) 前台阶问题[15, 25].在1个单位宽和3个单位长的风洞内, 下壁面从左边起0.6个单位开始, 有高0.2单位的固体台阶一直延伸到风洞右端, 左边为Ma=3.0的进口速度, 上壁面和台阶上为壁面反射条件, 右边为出口条件.计算到t=4. 图 4为三角形网格示意图. 图 5为三角形网格上降维算法在两个不同尺度网格上计算结果的比较.可见随网格加密, 分辨率明显提高. 图 6K=3直角网格上降维方法和加密1倍网格上有限差分WENO格式计算结果的比较, 可见直角网格降维算法虽然分辨率较低, 但是CPU时间仅为后者的70%.另外, 直角网格降维算法(见图 6(a))的分辨率高于同样网格边长的三角形网格降维重构法结果(见图 5(a)).

图 4 GMSH生成的三角形网格示意图 Fig.4 Triangular grids generated by GMSH
图 5 三角网格降维重构算法, 30条均分密度等值线从0.256 8到6.607,计算时间t=4.0 Fig.5 30 density contours from 0.256 8 to 6.607 at t=4.0 computed by the present algorithm on triangular grids
图 6 30条均分密度等值线从0.2568到6.607,t=4.0 Fig.6 30 density contours from 0.2568 to 6.607 at t=4.0

(2) 双Mach反射问题[1, 15].取1个单位宽和4个单位长, 计算域大小为[0, 4]×[0, 1], 一个Mach数为10的强激波放置在x=1/6, y=0处, 并与正x轴成60°交角.激波右侧的波前区域的初始流场值为(ρ, u, v, p)=(1.4, 0.0, 0.0, 1.0), 左侧波后区域的流场值用正激波跳跃关系确定.用降维重构方法在不同边长的三角形网格上进行计算, 从图 7的计算结果可见, 该方法可以得到较高的分辨率.

图 7 降维重构方法, 密度等值线40条从1.88783到20.9144, t=0.2 Fig.7 40 density contours from 1.88783 to 20.9144 at t=0.2 computed by the present algorithm

(3) 亚声速流绕过管道中的一个平滑凸起物[31].计算区域为-1.5≤x≤1.5, 0≤y≤0.8.沿全部底壁的光滑凸起为y =0.062 5e-25x2, 图 8为计算区域的三角形网格示意图,入流Mach数为0.5, 迎角0°, 密度ρ=1和声速c=1. 表 3给出了用文献[31]中的办法确定的计算收敛情况, 图 9给出了密度分布, 可见三角形网格上降维重构法具有较高的分辨率.

图 8 GMSH生成的三角形网格示例, 2629单元 Fig.8 Triangular grids generated by GMSH with 2629 elements
下载CSV 表 3 亚声速流通过一个光滑凸起在三角形网格上的精度阶 Tab.3 Convergence rate for the solution of subsonic flow through a smooth bump on triangular grids
图 9 三角形网格上降维重构算法的计算的密度分布, Mach数0.5绕流管道中的突起物(30条等值线, 最大为1.014, 最小为0.954, 网格数=3 689) Fig.9 30 density contours from 0.954 to 1.014 computed by the present algorithm on triangular grids for Ma=0.5 subsonic flow past a bump in a channel
3 结论

本文提出了二维矩形网格和三角形网格上求解Euler方程的降维重构方法, 通过对二维问题进行测试, 并和传统的有限差分WENO方法进行比较, 表明矩形网格上降维重构方法可达到3阶精度, 具有较好的分辨率和较高的计算效率.非结构三角形网格上降维重构方法有2阶精度, 且可以计算有间断的流动.

参考文献
[1]
Shu C W, Osher S. Efficient implementation of essentially non-oscillatory shock-capturing schemes Ⅱ[J]. Journal of Computational Physics, 1989, 83(1): 32-78.
[2]
Jiang G S, Shu C W. Efficient implementation of weighted ENO schemes[J]. Journal of Computational Physics, 1996, 126(1): 202-228. DOI:10.1006/jcph.1996.0130
[3]
Henrick A K, Aslam T D, Powers J M. Mapped weighted essentially non-oscillatory schemes:achieving optimal order near critical points[J]. Journal of Computational Physics, 2005, 207(2): 542-567.
[4]
Borges R, Carmona M, Costa B, et al. An improved weighted essentially non-oscillatory scheme for hyperbolic conservation laws[J]. Journal of Computational Physics, 2008, 227(6): 3191-3211. DOI:10.1016/j.jcp.2007.11.038
[5]
Adams N A, Shariff K. A high-resolution hybrid compact-ENO scheme for shock-turbulence interaction problems[J]. Journal of Computational Physics, 1996, 127(1): 27-51.
[6]
Pirozzoli S. Conservative hybrid compact-WENO schemes for shock-turbulence interaction[J]. Journal of Computational Physics, 2002, 178(1): 81-117.
[7]
Ren Y X, Liu M E, Zhang H X. A characteristic-wise hybrid compact-WENO scheme for solving hyperbolic conservation laws[J]. Journal of Computational Physics, 2003, 192(2): 365-386.
[8]
Kim D, Kwon H K. A high-order accurate hybrid scheme using a central flux scheme and a WENO scheme for compressible flowfield analysis[J]. Journal of Computational Physics, 2005, 210(2): 554-583. DOI:10.1016/j.jcp.2005.04.023
[9]
Banks J W, Aslam T, Rider W J. On sub-linear convergence for linearly degenerate waves in capturing schemes[J]. Journal of Computational Physics, 2008, 227(14): 6985-7002. DOI:10.1016/j.jcp.2008.04.002
[10]
Balsara D S, Shu C W. Monotonicity preserving weighted essentially non-oscillatory schemes with increasingly high order of accuracy[J]. Journal of Computational Physics, 2000, 160(2): 405-452. DOI:10.1006/jcph.2000.6443
[11]
Yamaleev N K, Carpenter M H. A systematic methodology for constructing high-order energy stable WENO sche-mes[J]. Journal of Computational Physics, 2009, 228(11): 4248-4272. DOI:10.1016/j.jcp.2009.03.002
[12]
Hu X Y, Wang Q, Adams N A. An adaptive central-upwind weighted essentially non-oscillatory scheme[J]. Journal of Computational Physics, 2010, 229(23): 8952-8965. DOI:10.1016/j.jcp.2010.08.019
[13]
Feng H, Hu F X, Wang R. A new mapped weighted essentially non-oscillatory scheme[J]. Journal of Scientific Computing, 2012, 51(2): 449-473. DOI:10.1007/s10915-011-9518-y
[14]
Wang R, Feng H, Huang C. A new mapped weighted essentially non-oscillatory method using rational mapping function[J]. Journal of Scientific Computing, 2015, 67(2): 540-580.
[15]
Woodward P, Colella P. The numerical simulation of two-dimensional fluid flow with strong shocks[J]. Journal of Computational Physics, 1984, 54(1): 115-173.
[16]
Harten A, Osher S. Uniformly high-order accurate nonoscillatory schemes. I[J]. SIAM Journal on Numerical Analysis, 1987, 24(2): 279-309.
[17]
Harten A, Engquist B, Osher S, et al. Uniformly high order accurate essentially non-oscillatory schemes, Ⅲ[J]. Journal of Computational Physics, 1987, 71(2): 231-303.
[18]
Liu X D, Osher S, Chan T. Weighted essentially non-oscillatory schemes[J]. Journal of Computational Physi-cs, 1994, 115(1): 200-212.
[19]
Wang Q J, Ren Y X, Sun Z S, et al. Low dispersion finite volume scheme based on reconstruction with mini-mized dispersion and controllable dissipation[J]. Science China Physics, Mechanics and Astronomy, 2013, 56(2): 423-431. DOI:10.1007/s11433-012-4987-z
[20]
Hu C Q, Shu C W. Weighted essentially non-oscillatory schemes on triangular meshes[J]. Journal of Computa-tional Physics, 1999, 150(1): 97-127.
[21]
Cockburn B, Lin S Y, Shu C W. TVB Runge-Kutta local projection discontinuous Galerkin finite element method for conservation laws Ⅲ:one-dimensional systems[J]. Journal of Computational Physics, 1989, 84(1): 90-113. DOI:10.1016/0021-9991(89)90183-6
[22]
Cockburn B, Shu C W. TVB Runge-Kutta local projection discontinuous Galerkin finite element method for conservation laws Ⅱ:general framework[J]. Mathematics of Computation, 1989, 52(186): 411-435.
[23]
Cockburn B, Hou S C, Shu C W. The Runge-Kutta local projection discontinuous Galerkin finite element method for conservation laws. IV:the multidimensional case[J]. Mathematics of Computation, 1990, 54(190): 545-581.
[24]
Huynh H T. A flux reconstruction approach to high-order schemes including discontinuous Galerkin methods[C]. Proceedings of the 18th AIAA Computational Fluid Dynamics Conference. Miami: AIAA 2007: 4079.
[25]
Deng X, Xie B, Xiao F. A finite volume multi-moment method with boundary variation diminishing principle for Euler equation on three-dimensional hybrid unstructured grids[J]. Computers & Fluids, 2017, 153: 85-101.
[26]
Titarev V A, Toro E F. Finite-volume WENO schemes for three-dimensional conservation laws[J]. Journal of Computational Physics, 2004, 201(1): 238-260. DOI:10.1016/j.jcp.2004.05.015
[27]
Shu C W. Essentially non-oscillatory and weighted essentially non-oscillatory schemes for hyperbolic conservation laws[C]. Advanced Numerical Approximation of Nonlin-ear Hyperbolic Equations[M]. Berlin: Springerverlag, 1998: 325-432.
[28]
Shu C W. Total-variation-diminishing time discretiza-tions[J]. SIAM Journal on Scientific and Statistical Computing, 1988, 9(6): 1073-1084. DOI:10.1137/0909073
[29]
Gottlieb S, Shu C W. Total variation diminishing Runge-Kutta schemes[J]. Mathematics of Computation, 1998, 67(221): 73-85. DOI:10.1090/S0025-5718-98-00913-2
[30]
Zhou T, Li Y F, Shu C W. Numerical comparison of WENO finite volume and Runge-Kutta discontinuous Galerkin methods[J]. Journal of Scientific Computing, 2001, 16(2): 145-171. DOI:10.1023/A:1012282706985
[31]
Cheng J, Liu T G, Luo H. A hybrid reconstructed discontinuous Galerkin method for compressible flows on arbitrary grid[J]. Computers & Fluids, 2016, 139: 68-79.