Processing math: 2%

搜索

x

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

一种新的可计算可压缩流动的预处理方法

刘博 邢朴 丁松 谢明军 冯林 时晓天

刘博, 邢朴, 丁松, 谢明军, 冯林, 时晓天. 一种新的可计算可压缩流动的预处理方法. 物理学报, 2022, 71(12): 124701. doi: 10.7498/aps.71.20220102
引用本文: 刘博, 邢朴, 丁松, 谢明军, 冯林, 时晓天. 一种新的可计算可压缩流动的预处理方法. 物理学报, 2022, 71(12): 124701. doi: 10.7498/aps.71.20220102
Liu Bo, Xing Pu, Ding Song, Xie Ming-Jun, Feng Lin, Shi Xiao-Tian. A new preconditioning algorithm for computable compressible flow. Acta Phys. Sin., 2022, 71(12): 124701. doi: 10.7498/aps.71.20220102
Citation: Liu Bo, Xing Pu, Ding Song, Xie Ming-Jun, Feng Lin, Shi Xiao-Tian. A new preconditioning algorithm for computable compressible flow. Acta Phys. Sin., 2022, 71(12): 124701. doi: 10.7498/aps.71.20220102

一种新的可计算可压缩流动的预处理方法

刘博, 邢朴, 丁松, 谢明军, 冯林, 时晓天

A new preconditioning algorithm for computable compressible flow

Liu Bo, Xing Pu, Ding Song, Xie Ming-Jun, Feng Lin, Shi Xiao-Tian
Article Text (iFLYTEK Translation)
PDF
HTML
导出引用
  • 针对使用可压缩流动数值方法求解不可压缩流动存在的刚性问题, 基于虚拟压缩法思想, 构造了一种以Mach数、速度、密度、温度等变量为元素的预处理矩阵, 改变了控制方程组的特征根并使其量级更接近. 通过理论推导与分析, 证明新方法相比Weiss, Pletcher, Dailey和Choi的方法而言, 不仅能降低方程组的刚性, 提高了数值求解效率, 而且拥有更好的稳定性, 此外还能实现低速流动和高速流动之间的光滑过渡. 采用有限差分格式进行离散, 对流项的Roe格式作为基本加权无振荡(WENO)格式的求解器, 黏性项则使用中心型紧致差分格式来计算, 与预处理矩阵相结合展开数值实验, 结果表明新预处理方法可以实现对无黏和有黏不可压缩流动问题的高精度模拟, 且拥有比Weiss和Pletcher等提出的方法更好的收敛性和稳定性.
    Low velocity flows often exhibit incompressible properties, and one of the most prohibitive aspects of these problems is a large number of computer resources required, including both CPU time and memory. Various numerical schemes used to calculate incompressible flow are constantly updated to accelerate convergence and reduce resource occupation, but incompressible flow is an ideal model for studying theoretical problems after all. In addition, it is a common phenomenon that high-speed and low-speed flow regions exist in the same system, and the influence of heat and volume force cannot be ignored in some cases. The artificial compressibility method is based on the idea that the numerical algorithms for compressible flows are used to solve incompressible flow. The system of compressible flow governing equations at very low Mach numbers is stiff due to the large disparity in acoustic wave speed, u + c, and the waves convecting at fluid speed, u. The preconditioning algorithm is effective to change the eigenvalues of the compressible flow equations system so as to remove the large disparity in wave speed, and the essence is to multiply the time derivatives with a suitable matrix. A function in low growth rate with Mach number as a variable is used to construct another new preconditioning matrix. Compared with other matrices of Dailey, Weiss, Choi and Pletcher, the new matrix can well improve the stiffness of the governing equations and the smoothness of eigenvalues in all-speed domain. A one-dimensional numerical example shows that the preconditioning matrix has ability to improve the efficiency of solving low-speed flow problems. These preconditioning matrices are extended to two-dimensional problems to simulate inviscid flow passing through a pipe with bulge and viscous flows passing through a flat and cavity. The results indicate that the new matrix has not only better accuracy but also higher efficiency than Weiss’s and Pletcher’s.
      PACS:
      通信作者: 时晓天, xxtshi@163.com
    • 基金项目: 国家自然科学基金(批准号: 11872348, 11802297)和国家重点研发计划(批准号: 2019YFA0405300)资助的课题.
      Corresponding author: Shi Xiao-Tian, xxtshi@163.com
    • Funds: Project supported by the National Natural Science Foundation of China (Grant Nos. 11872348, 11802297) and the National Key R&D Program of China (Grant No. 2019YFA0405300).

    计算流体力学(computational fluid dynamics, CFD)是流体力学、计算数学与计算机技术相结合而发展起来的新兴学科, 它通过数值仿真和可视化处理, 对流体流动和热传导等物理现象进行计算机数值分析和研究. 其中有限差分法[1-3]是应用最广泛、最成的方法之一.

    随着CFD的不断发展, 人们所求解的问题也日益复杂化, 这些问题通常归结为高速和低速流动问题, 高速流动需采用可压缩流动计算方法[4,5], 而低速流动采用不可压缩流动计算方法[6-8]. 然而, 这两种方法的特性存在很大差别, 例如, 高超声速往往伴随着如激波一类的强间断存在[9], 亚声速流动的流场中任何微小的扰动都将影响整个流场[10], 因此具体数值方法要在特定环境下使用. 针对高速的可压缩流动数值求解问题, 学者们已研究出较成熟的理论, 而面对低速流动时, 无论采取显格式还是隐格式计算, 速度越小对计算误差和收敛速度影响越大, 这也被称为刚性问题[11,12], 这种刚性给数值方法带来了很大的困难.

    同时, 不可压缩流动数值方法在实际工程应用又有很大的需求, 如翼型绕流, 边界层内流动[13-15]. 在某些问题中, 还会出现高低速流动并存的现象[16-18]. 为了求解此类问题, 需要发展能够有效求解低速流动的数值方法. 为了求解有很强不可压缩性的低速流动问题, Fasel[19]提出涡函数-流函数法, Aziz[20]提出势函数-流函数法, 其本质是引入流函数和涡函数并对控制方程进行变换, 但是壁面处涡量难以处理, 而且推广到三维问题后过于复杂. Halrow和Wetch[21]提出格子中标记点算法(marker in cell, MAC), Hirt等[22]则在MAC算法上加以改进提出SOLA算法, 此类方法可以有效地处理含有复杂的自由面或界面的流动, 但是对时间步限制非常严格, 所以求解效率较低. Spalding和Patankar[23]提出压力联系方程的半隐式法(semi implicit method for pressure linked equations, SIMPLE), 该方法核心在于不断修正压力项, 通过修正后的压力求解速度并满足连续方程, 直到收敛. 为了提高收敛速度, Patankar[24]又提出SIMPLER (SIMPLE revised)算法, van Doormaal和Raithby[25]提出SIMPLEC (SIMPLE consistent)算法, Minkowycz等[26]提出SIMPLEX (SIMPLE extraplation)算法, Issa等[27]提出PISO (pressure implicit with splitting of operators)算法, 他们都通过加强速度与压力的耦合来达到加速收敛. 但是这类方法占用内存很大, 插值过程繁琐, 大量时间都消耗在修正压力项上, 且编程复杂.

    实际上, 不可压缩流体是为了简化某些问题提出的理想模型, 任何流体都是可压缩的. 而且很多时候热量的影响是不可忽略的[28], 质量、动量和能量方程需要耦合在一起求解. 鉴于可压缩流动的数值方法相对成熟, 因此有研究者提出使用计算可压缩流动的数值方法来计算不可压缩流动问题. Chorin[29]于1967年提出虚拟压缩法就是基于这种思想, 这也成为了预处理方法的雏形, 该方法另一优势是可将高速与低速流动统一在同一算法框架下求解, 避免了切换数值方法的繁琐和交换信息而产生的精度损失. 最早的预处理矩阵由Turkle[30]于1986年提出, 其核心作用在于改变时间导数项, 减小方程组特征速度的量级差异, 1993年Choi和Merkle[31]提出与Chorin-Turkel矩阵相似的适用于Euler方程的预处理矩阵. 最早适用于全速域的预处理矩阵是由Viviand[32]设计的四参数矩阵, 但在驻点附近刚性依然很强. 针对Navier-Stokes方程, Choi与Merkle[33]以及Buelow 等[34]提出了考虑Reynolds数的影响的预处理矩阵, Godfrey等[35]提出的矩阵将Euler处理矩阵结合了离散方程的黏性/无黏性的块Jacobi矩阵, 但仍然难以降低驻点附近的刚性. Weiss等[36], Pletcher和Chen[37]提出的矩阵形式简单, 且降低了驻点附近刚性, 被广泛的应用于FLUENT, OVERFLOW等商业软件. Dailey和Pletcher[38]提另一种矩阵并将其与多重网格法结合. 且预处理方法不仅可以与有限差分法搭配, 也可以与有限体积法[39]、间断有限元法[40]搭配, 此外也可以与双时间步技术结合用于计算非定常问题[41].

    本文提出一种新的预处理矩阵, 该矩阵引入了两个关于Mach数的函数bML, 使得方程组的刚性进一步降低, 在确保(甚至能提高)精度和稳定性前提下加速了收敛速度, 并且在高速与低速流动之间过渡更加光滑(其中ML在有黏和无黏情况下拥有不同的形式). 通过数值实验, 初步证明了本文方法的可靠性, 并与其他方法相对比, 体现本文方法的优势.

    为了方便实现数值实验的相似模拟, 本文对变量采取了如下无量纲化处理:

    x=xL, y=yL, z=zL, ¯t=tL/c,u=uc, v=vc,w=wc, g=gg,p=pρc2, ρ=ρρ, E=eρc2,c=cc, T=TT, μ=μμ,

    其中, x, y, z代表空间直角坐标系的三个坐标分量; L代表参考长度; t代表时间; u, v, w分别代表三个坐标轴方向上的速度; g代表重力加速度; ρ代表密度; E为单位体积流体的总能量; c代表声速; T代表温度; μ为黏性系数; 上标“ * ”代表有量纲量, 下标“ ∞ ”代表参考值; 下文2.2节中的Re为来流Reynolds数, Re=ρcL/μ.

    Navier-Stokes方程组是流体动力学中最重要的基本方程, 它是黏性流体微团应用牛顿第二定律得到的运动微分方程. 以三维可压缩流动的情形为例, 忽略外加热源和彻体力的无量纲化方程:

    \frac{{\partial {{\boldsymbol{Q}}}}}{{\partial t}} + \frac{{\partial {{\boldsymbol{E}}}}}{{\partial x}} + \frac{{\partial {{\boldsymbol{F}}}}}{{\partial y}} + \frac{{\partial {{\boldsymbol{G}}}}}{{\partial z}} = \frac{1}{{Re}}\left( {\frac{{\partial {{{\boldsymbol{E}}}_\nu }}}{{\partial x}} + \frac{{\partial {{{\boldsymbol{F}}}_\nu }}}{{\partial y}} + \frac{{\partial {{{\boldsymbol{G}}}_\nu }}}{{\partial z}}} \right) \text{, } (1)

    其中

    \begin{split} &{{E}}=\frac{p}{\gamma -1}+\frac{\rho {\left|U\right|}^{2}}{2}\text{ }, \\ &{{\boldsymbol{Q}}}={\left(\rho ,\rho u,\rho v,\rho w,E\right)}^{\text{T}}\text{ }, \\ &{{\boldsymbol{E}}}={\left(\rho u,\rho {u}^{2}+p,\rho uv,\rho uw,\left(E+p\right)u\right)}^{\text{T}}\text{ }, \\ &{{\boldsymbol{F}}}={\left(\rho v,\rho uv,\rho {v}^{2}+p,\rho vw,\left(E+p\right)v\right)}^{\text{T}}\text{ }, \\ &{{{\boldsymbol{{G}}}}}={\left(\rho w,\rho uw,\rho vw,\rho {w}^{2}+p,\left(E+p\right)w\right)}^{\text{T}}\text{ }, \\ &{{{\boldsymbol{E}}}}_{\nu }=\left(\begin{array}{c}0\\ {\tau }_{xx}\\ {\tau }_{xy}\\ {\tau }_{xz}\\ u{\tau }_{xx}+v{\tau }_{xy}+w{\tau }_{xz}-{q}_{x}\end{array}\right)\text{ }, \\ &{{{\boldsymbol{F}}}}_{\nu }=\left(\begin{array}{c}0\\ {\tau }_{yx}\\ {\tau }_{yy}\\ {\tau }_{yz}\\ u{\tau }_{yx}+v{\tau }_{yy}+w{\tau }_{yz}-{q}_{y}\end{array}\right)\text{ }, \\ &{{{\boldsymbol{G}}}}_{\nu }=\left(\begin{array}{c}0\\ {\tau }_{zx}\\ {\tau }_{zy}\\ {\tau }_{zz}\\ u{\tau }_{zx}+v{\tau }_{zy}+w{\tau }_{zz}-{q}_{z}\end{array}\right)\text{ }. \end{split}

    黏性应力项与热传导流通量分别为

    \begin{split} &{\tau }_{ik}=\mu \left[\left(\frac{\partial {u}_{i}}{\partial {x}_{k}}+\frac{\partial {u}_{k}}{\partial {x}_{i}}\right)-\frac{2}{3}{\delta }_{ik}\frac{\partial {u}_{j}}{\partial {x}_{j}}\right]\text{ }, \\ &{q}_{j}=\frac{-\mu }{\left(\gamma -1\right)M{a}_{\infty }^{2}Pr}\frac{\partial T}{\partial {x}_{j}}\text{ }. \end{split}

    其中当i = j时, δij = 1, 如果ij, δij = 0; Pr是Prandtl数; U代表速度矢量, 对于无黏流动, (1)式的右端为零. 在实际的应用中, 经常会用到曲线坐标系形式的方程组, 具体如下:

    \frac{{\partial {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{Q}}} }}}}{{\partial \tau }} + \frac{{\partial {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{E}}} }}}}{{\partial \xi }} + \frac{{\partial {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{F}}} }}}}{{\partial \eta }} + \frac{{\partial {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{G}}} }}}}{{\partial \zeta }} = \frac{1}{{Re}}\left( {\frac{{\partial {{{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{E}}} }}}_\nu }}}{{\partial \xi }} + \frac{{\partial {{{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{F}}} }}}_\nu }}}{{\partial \eta }} + \frac{{\partial {{{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{G}}} }}}_\nu }}}{{\partial \zeta }}} \right) . (2)

    这里 \left( {\xi , \eta , \zeta } \right) 为曲线坐标系.

    \begin{split} &J=\frac{\partial \left(\xi ,\eta ,\zeta \right)}{\partial \left(x,y,z\right)},\;{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{Q}}} }}=\frac{1}{J}{\boldsymbol{Q}}\text{ }, \\ &{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{E}}} }}=\frac{1}{J}\left({\xi }_{t}{\boldsymbol{Q}}+{\xi }_{x}{\boldsymbol{E}}+{\xi }_{y}{\boldsymbol{F}}+{\xi }_{z}{\boldsymbol{G}}\right)\text{ }, \\ &{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{F}}} }}=\frac{1}{J}\left({\eta }_{t}{\boldsymbol{Q}}+{\eta }_{x}{\boldsymbol{E}}+{\eta }_{y}{\boldsymbol{F}}+{\eta }_{z}{\boldsymbol{G}}\right)\text{ }, \\ &{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{G}}} }}=\frac{1}{J}\left({\zeta }_{t}{\boldsymbol{Q}}+{\zeta }_{x}{\boldsymbol{E}}+{\zeta }_{y}{\boldsymbol{F}}+{\zeta }_{z}{\boldsymbol{G}}\right)\text{ }, \\ &{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{E}}} }}_{\nu }=\frac{1}{J}\left({\xi }_{x}{{\boldsymbol{E}}}_{\nu }+{\xi }_{y}{{\boldsymbol{F}}}_{\nu }+{\xi }_{z}{{\boldsymbol{G}}}_{\nu }\right)\text{ }, \\ &{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{F}}} }}_{\nu }=\frac{1}{J}\left({\eta }_{x}{{\boldsymbol{E}}}_{\nu }+{\eta }_{y}{{\boldsymbol{F}}}_{\nu }+{\eta }_{z}{{\boldsymbol{G}}}_{\nu }\right)\text{ }, \\ &{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{G}}} }}_{\nu }=\frac{1}{J}\left({\zeta }_{x}{{\boldsymbol{E}}}_{\nu }+{\zeta }_{y}{{\boldsymbol{F}}}_{\nu }+{\zeta }_{z}{{\boldsymbol{G}}}_{\nu }\right)\text{ }. \end{split}

    本文采用的是方程组(2), 并取τ = t, 后文将省略该方程组中变量的上标“ \frown ”.

    使用与时间相关的可压缩流动数值方法来求解不可压缩流动时, 方程组的特征根量级差异过大(也称刚性过大), 这会严重影响计算的收敛性. 基于虚拟压缩法原理的预处理法可以有效地解决这一问题, 即在时间导数项前乘上个预处理矩阵, 改变方程组的特征系统. 虽然改变了方程组形式, 但对于定常问题而言, 经过足够长的时间后取得的收敛解不会受此影响. 为了更好地计算黏性问题, 通常在带预处理矩阵的控制方程中使用原始变量 {{\boldsymbol{Q}}_T} = {\left( {p, u, v, T} \right)^{\text{T}}} , 下面以二维带预处理矩阵的有黏性控制方程为例:

    {\boldsymbol{\varGamma}}\frac{{\partial {{\boldsymbol{Q}}_T}}}{{\partial t}} + \frac{{\partial {\boldsymbol{E}}}}{{\partial \xi }} + \frac{{\partial {\boldsymbol{F}}}}{{\partial \eta }} = \frac{1}{{Re}}\left( {\frac{{\partial {{\boldsymbol{E}}_\nu }}}{{\partial \xi }} + \frac{{\partial {{\boldsymbol{F}}_\nu }}}{{\partial \eta }}} \right) \text{, } (3)

    其中各变量与通量意义同前文所述. Γ是预处理矩阵, 其形式有多种, 常见的形式有Weiss-Smith矩阵[36]:

    {{\boldsymbol{\varGamma}}_{{\text{WS}}}} = \left( {\begin{array}{*{20}{c}} \varTheta &0&0&{{\rho _T}} \\ {\varTheta u}&\rho &0&{{\rho _T}u} \\ {\varTheta v}&0&\rho &{{\rho _T}v} \\ {\varTheta H - 1}&{\rho u}&{\rho v}&{{\rho _T}q} \end{array}} \right) \text{, } (4)

    其中

    \begin{split} & q = \frac{{{u^2} + {v^2}}}{2}, ~~ H = \frac{{{c^2}}}{{\gamma - 1}} + q, \hfill \\ \end{split}
    \begin{split} & \varTheta = \frac{1}{{U}_{\text{r}}^{{2}}} + \frac{\gamma -1}{{c}^{2}},\\ & {U}_{\text{r}} = \min\left\{\max\left\{\left|{\boldsymbol{U}}\right|,{k}_{0}\left|{{\boldsymbol{U}}}_{\infty }\right|\right\},c\right\} . \end{split} (5)

    k0通常取1, 如果是有黏方程, 还要限制:

    {U_{\text{r}}} = \max \left\{ {{U_{\text{r}}},\frac{\mu }{{\rho \Delta L}}} \right\} . (6)

    Weiss与Smith[36]构造参考速度Ur, 是为了既能在Ma较大时, 让预处理矩阵还原成非预处理状态, 又能Ma较小时, 减小方程组刚性. 此外, 对于黏性流动而言, 还需要限制Ur不小于局部扩散速度μ/(ρΔL), 这种限制在扩散作用为主导且网格间距较小的情况下是有必要的. 对预处理后的特征根的讨论详见3.2节.

    Pletcher-Chen矩阵[37]:

    {{\boldsymbol{\varGamma}} _{{\text{PC}}}} = \left( {\begin{array}{*{20}{c}} {{\varOmega _{{\text{PC}}}}}&0&0&{{\rho _T}} \\ {{\varOmega _{{\text{PC}}}}u}&\rho &0&{{\rho _T}u} \\ {{\varOmega _{{\text{PC}}}}v}&0&\rho &{{\rho _T}v} \\ {{\varOmega _{{\text{PC}}}}H - 1}&{\rho u}&{\rho v}&{{\rho _T}q} \end{array}} \right){\text{ ,}} (7)

    其中

    {\varOmega _{{\text{PC}}}} = \frac{{\gamma \left( {\gamma - 1} \right)M{a^2} + 1}}{{\gamma {{\left| {\boldsymbol{U}} \right|}^2}}} = \frac{1}{{\gamma {{\left| {\boldsymbol{U}} \right|}^2}}} + \frac{{\gamma - 1}}{{{c^2}}} . (8)

    Choi-Merkle矩阵[33]:

    {{\boldsymbol{\varGamma}} _{{\text{CM}}}} = \left( {\begin{array}{*{20}{c}} {\dfrac{1}{{\beta Ma_{\text{r}}^{\text{2}}}}}&0&0&0 \\ {\dfrac{u}{{\beta Ma_{\text{r}}^{\text{2}}}}}&\rho &0&0 \\ {\dfrac{v}{{\beta Ma_{\text{r}}^{\text{2}}}}}&0&\rho &0 \\ {\dfrac{H}{{\beta Ma_{\text{r}}^{\text{2}}}} - 1}&{\rho u}&{\rho v}&{\dfrac{\rho }{{\gamma - 1}}} \end{array}} \right) (9)

    其中

    \begin{split} \beta Ma_{\text{r}}^{\text{2}} =\;& \min \Bigg\{ {c^2},\max \Bigg\{ {c^2}M{a^2}\Bigg( 1 \\ &+ \frac{{1 - M{a_0}^2}}{{M{a_0}^4}}M{a^2} \Bigg),{k_2}^2{{\left| {{U_\infty }} \right|}^2} \Bigg\} \Bigg\}{\text{ }}.\end{split} (10)

    Ma0是参考Mach数, k2是常数, 通过大量实验发现, Ma0取0.5, k2在Euler方程时取0.5, 在NS方程时取1, 这样有利于长时间运算的稳定性. 该方案是Choi与Turkle[31]提出的, 其作用是为避免驻点附近预处理矩阵的奇异性, 对βMar2实施一定的人为控制.

    如果不预处理, 则方程(3)应该为

    \frac{{\partial {\boldsymbol{Q}}}}{{\partial {{\boldsymbol{Q}}_T}}}\frac{{\partial {{\boldsymbol{Q}}_T}}}{{\partial t}} + \frac{{\partial {\boldsymbol{E}}}}{{\partial \xi }} + \frac{{\partial {\boldsymbol{F}}}}{{\partial \eta }} = \frac{1}{{Re}}\left( {\frac{{\partial {{\boldsymbol{E}}_\nu }}}{{\partial \xi }} + \frac{{\partial {{\boldsymbol{F}}_\nu }}}{{\partial \eta }}} \right) . (11)

    将(11)式等号左端全部替换成以QT为变量的形式:

    \begin{split} &\frac{{\partial {\boldsymbol{Q}}}}{{\partial {{\boldsymbol{Q}}_T}}}\frac{{\partial {{\boldsymbol{Q}}_T}}}{{\partial t}} + \frac{{\partial {\boldsymbol{E}}}}{{\partial {{\boldsymbol{Q}}_T}}}\frac{{\partial {{\boldsymbol{Q}}_T}}}{{\partial \xi }} + \frac{{\partial {\boldsymbol{F}}}}{{\partial {{\boldsymbol{Q}}_T}}}\frac{{\partial {{\boldsymbol{Q}}_T}}}{{\partial \eta }} \\ =\;& \frac{1}{{Re}}\left( {\frac{{\partial {{\boldsymbol{E}}_\nu }}}{{\partial \xi }} + \frac{{\partial {{\boldsymbol{F}}_\nu }}}{{\partial \eta }}} \right) .\end{split} (12)

    \begin{split} &\frac{{\partial {{\boldsymbol{Q}}_T}}}{{\partial t}} + {P_0}^{ - 1}A\frac{{\partial {{\boldsymbol{Q}}_T}}}{{\partial \xi }} + {P_0}^{ - 1}B\frac{{\partial {{\boldsymbol{Q}}_T}}}{{\partial \eta }} \\ =\;& \frac{{{P_0}^{ - 1}}}{{Re}}\left( {\frac{{\partial {{\boldsymbol{E}}_\nu }}}{{\partial \xi }} + \frac{{\partial {{\boldsymbol{F}}_\nu }}}{{\partial \eta }}} \right) , \end{split}\tag{12a}

    其中守恒变量Q到原始变量QT的Jacobi变换矩阵为

    {{\boldsymbol{P}}_0} = \left( {\begin{array}{*{20}{c}} {{\rho _p}}&0&0&{{\rho _T}} \\ {{\rho _p}u}&\rho &0&{{\rho _T}u} \\ {{\rho _p}v}&0&\rho &{{\rho _T}v} \\ {{\rho _p}H - 1}&{\rho u}&{\rho v}&{{\rho _T}q} \end{array}} \right) . (13)

    下面以直角坐标系的 ξ 方向为例分析预处理前后方程组的特征系统:

    {\boldsymbol{A}} = \left( {\begin{array}{*{20}{c}} {\dfrac{{\gamma U}}{T}}&{\rho {\xi _x}}&{\rho {\xi _y}}&{ - \dfrac{{\rho U}}{T}} \\ {\dfrac{{\gamma uU}}{T} + {\xi _x}}&{\rho \left( {U + {\xi _x}u} \right)}&{\rho u{\xi _y}}&{ - \dfrac{{\rho uU}}{T}} \\ {\dfrac{{\gamma vU}}{T} + {\xi _y}}&{\rho v{\xi _x}}&{\rho \left( {U + {\xi _y}v} \right)}&{ - \dfrac{{\rho vU}}{T}} \\ {\dfrac{{\gamma UH}}{T}}&{\rho \left( {{\xi _x}H + uU} \right)}&{\rho \left( {{\xi _y}H + vU} \right)}&{ - \dfrac{{\rho Uq}}{T}} \end{array}} \right) \text{, } (14)

    其中

    \begin{split} & U={\xi }_{x}u+{\xi }_{y}v,~~ q= ({{u}^{2}+{v}^{2}})/{2},\\ & H=\frac{\gamma p}{\left(\gamma -1\right)\rho }+q , \end{split}\tag{15a}
    h={\lambda }_{\mathrm{max}}\Delta t,\;{\lambda }_{\mathrm{min}}\Delta t=\frac{h}{{C}_{N}} .\tag{15b}

    可以求得P_0^{ - 1}A的特征根为

    {\lambda }_{1,2}=U,\;{\lambda }_{3,4}=U\pm {C}_{\xi } . (16)

    特别地, 当 \xi =x, \eta =y 时有

    {\lambda }_{1,2}=u,\;{\lambda }_{3,4}=u\pm c . \tag{16a}

    条件数通常用来衡量方程组的刚性大小, 当u → 0时:

    {C_N} = \frac{{\left| {{\lambda _{\max }}} \right|}}{{\left| {{\lambda _{\min }}} \right|}} = \frac{{\left| u \right| + c}}{{\left| u \right|}} = 1 + \frac{1}{{M{a_x}}} . (17)

    假如快波传输了1个网格的长度, 则有

    h={\lambda }_{\mathrm{max}}\Delta t,\;{\lambda }_{\mathrm{min}}\Delta t=\frac{h}{{C}_{N}} . (18)

    可见, 当条件数非常大时, 相同时间内快慢波传播的距离会相差很多数量级, 这给方程的求解造成很大困难. 若使用预处理矩阵替换P0, 则由Choi[31], Pletcher[37]和Weiss[36]等提出的预处理法得到的特征根都有相同的形式:

    \frac{{1 + f}}{2}u \pm \sqrt {{{\left( {\frac{{1 + f}}{2}u} \right)}^2} + \left( {{c^2} - {u^2}} \right)f} \text{, }\tag{19a}

    其中f是关于Ma的函数, 虽然每种预处理法都不一样, 但该函数都是改变特征根的关键所在. 以Weiss-Smith形式为例:

    \begin{split} &{\lambda }_{1,2}=u,\\ &{\lambda }_{3,4}=\frac{\left(1+M{a}_{\text{WS}}{}^{2}\right)u}{2}\\ &\quad\pm \frac{1}{2}\sqrt{{\left(1-M{a}_{\text{WS}}{}^{2}\right)}^{2}{u}^{2} + 4M{a}_{\text{WS}}{}^{2}{c}^{2}} , \end{split}\tag{19b}

    其中Ur同(5)式:

    M{a_{{\text{WS}}}} = \frac{{{U_{\text{r}}}}}{c} . (20)

    当Mach数很小时, 特征根依然能保持在相近的量级范围内, 刚性得到降低, 条件数的取值范围被限制在1 < CN ≤ 2内. 为避免驻点附近预处理矩阵的奇异性, Turkle[30]对预处理参数引入了(10)式的处理方法. 但是, 将经(10)式处理后的特征根看作Ma的函数时, 该函数在Ma0处连续但不可导, 这会导致当速度接近Ma0c时, 控制方程从预处理到关闭预处理的过度不够光滑, 可能导致误差放大.

    对此, 本文设计了一种新的预处理矩阵, 使得方程组在预处理与非预处理之间的过度更加光滑, 并进一步降低了特征系统的条件数, 从而增加收敛效率, 并且拥有良好的精度和稳定性.

    Turkle[30]曾在Wiess-Smith矩阵[36]基础上加以改进, 增加一个参数从而提高预处理矩阵的灵活性, 其矩阵具体如下:

    {{\boldsymbol{\varGamma}} _{{\text{Tur}}}} = \left( {\begin{array}{*{20}{c}} {{\varOmega _{{\text{Tur}}}}}&0&0&{\dfrac{{{C_p}}}{T}\left( {\dfrac{\delta }{{{c^2}}} - \dfrac{\rho }{{{C_p}}}} \right)} \\ {{\varOmega _{{\text{Tur}}}}u}&\rho &0&{u\dfrac{{{C_p}}}{T}\left( {\dfrac{\delta }{{{c^2}}} - \dfrac{\rho }{{{C_p}}}} \right)} \\ {{\varOmega _{{\text{Tur}}}}v}&0&\rho &{v\dfrac{{{C_p}}}{T}\left( {\dfrac{\delta }{{{c^2}}} - \dfrac{\rho }{{{C_p}}}} \right)} \\ {{\varOmega _{{\text{Tur}}}}H - 1}&m&n&{\dfrac{\delta }{{{c^2}}} + \dfrac{{M{a^2}}}{2} \left( {\dfrac{\delta }{{{c^2}}} - \dfrac{\rho }{{{C_p}}}} \right)} \end{array}} \right) \text{, } (21)

    式中

    {\varOmega _{{\text{Tur}}}} = \frac{1}{{\beta M{a_{\text{r}}}^2}} - \frac{1}{{\gamma p}}\left( {\frac{\delta }{{{c^2}}} - \frac{\rho }{{{C_p}}}} \right) \text{, } (22)

    其中 δ 为根据求解需要选定的0—1之间的常数, βMar2同(10)式. 本文受Turkel引入调节参数 δ 的启发, 引入调节函数b1, b2ΩL, 这些函数会随着流场中某些物理量的变化而变化, 从而可实现对预处理矩阵动态调控, 具体形式如下:

    {{\boldsymbol{\varGamma}} _{{\text{Liu}}}} = \left( {\begin{array}{*{20}{c}} {{\varOmega _L}}&0&0&{{\rho _T}} \\ {\left( {{\varOmega _L} - \dfrac{{{b_1}}}{{{c^2}{M_L}^2}}} \right)u}&\rho &0&{{\rho _T}u} \\ {\left( {{\varOmega _L} - \dfrac{{{b_2}}}{{{c^2}{M_L}^2}}} \right)v}&0&\rho &{{\rho _T}v} \\ {{\varOmega _L}H - 1}&{\rho u}&{\rho v}&{{\rho _T}\dfrac{{{u^2} + {v^2}}}{2}} \end{array}} \right) (23)

    其中

    {\varOmega _L} = \frac{1}{{{c^2}{M_L}^2}} + \frac{{\gamma - 1}}{{{c^2}}} \text{, } \tag{24a}
    M_L =\min\{\max\{Ma,\varepsilon_m\},1\}.\tag{24b}

    εm是防止ML = 0的一个小量, 本文取εm = 10–6. 若Reynolds数较小, 则需限制其不小于局部扩散速度, 同时既要避免驻点附近的奇异性, 又要保证ML函数的光滑性, 还要保证后文中伪声速 C'_x 的光滑性, 转化为数学分析语言:

    1) ML函数在(0, 1)上为单调递增的至少C1连续函数, 且M_L'(1) = 0.

    2) 当x → 0时, ML(x) → 0; ML(1) = 1.

    3) 若ML μ/(ρcL), 则ML = μ/(ρcL); 若ML ≥ 1时, 则ML = 1.

    根据以上原则构造出如(24c)式的ML函数, 其中εm同(24b)式:

    {M_L} = \max \left\{ {\min \left\{ {\max \left\{ {Ma\sqrt {1 + M{a^2} - M{a^4}} ,{\varepsilon _m}} \right\},1} \right\},\frac{\mu }{{\rho c\Delta L}}} \right\} . \tag{24c}

    b1, b2是与Ma相关的函数, 可以相等也可以不相等, 在本文中取b1 = b2 = b, 具体的有

    b = 2B - M_L^2 - 1 . \tag{25a}

    为了在低速时进一步降低方程组刚性, 在高速时还原成原方程, 需使得

    \mathop {\lim }\limits_{Ma \to 0} \frac{{\left| {{\lambda _{\max }}} \right|}}{{\left| {{\lambda _{\min }}} \right|}} = 1 \text{, }
    Ma \geqslant m{a_0} \gt 1 时,\;\frac{\left|{\lambda }_{\mathrm{max}}\right|}{\left|{\boldsymbol{U}}\right|}=1+\frac{1}{Ma},\; \frac{\left|{\lambda }_{\mathrm{min}}\right|}{\left|{\boldsymbol{U}}\right|}=1-\frac{1}{Ma}

    B函数应满足:

    1) 当Ma = 0时, B = 0; 当Mama0时, B = 1.

    2) 当0< Mama0时, B是关于Ma 的严格单调递增的至少C2连续函数.

    3) B'(0) = B''(0) = B'(ma0) = B''(ma0) = 0.

    4) 在全Mach数范围内, 需要满足λ3 > λ1,2 > |λ4|.

    5) 在Ma < ma0时, 要求λ3/λ1,2, |λ4|/λ1,2分别是关于Ma的单调递增, 递减函数.

    6) 在Ma > ma0时, 要求λ3/λ1,2, |λ4|/λ1,2分别逼近未经预处理时的λ3/λ1,2, |λ4|/λ1,2.

    7) 使B函数在左右端点Ma = 0和Ma = ma0附近应保持变化缓慢, 从而抑制速度u在低Mach数和临界点处由于预处理作用而出现的剧变.

    8) 与(24c)式的ML匹配, 使得后文中伪声速C_x' 具备良好的光滑性.

    按照以上8条要求, 本文构造了如(25b)式的B函数:

    B{\text{ = }}\max \left\{ {\frac{{M{a^{{n_1} + 1}}/m{a_0}}}{{M{a^{{n_1}}} - Ma \cdot m{a_0}^{{n_1} - 2}\left( {m{a_0} - Ma} \right) + {C_L}{{\left( {m{a_0} - Ma} \right)}^{{n_2}}}}},1} \right\} \text{, } \tag{25b}

    其中ma0是事先给定的常数; n1, n2是正整数; CL是常数. 为了使B满足上述5)—7)性质, 且尽可能使特征根差异最小, 并使经与处理后的特征根满足λ3 > λ1,2 > |λ4|, 计算无黏和黏性很小的流动时, 选择:

    n_1=0,\;n_2=4,\;C_L=0.5,\;ma_0=1.73 \tag{26a}

    如果黏性不可忽略, 可以令

    n_1=1,\;n_2=3,\;C_L=1,\;ma_0=1.73 \tag{26b}

    函数B的图像可见图1(d). 通过简单运算可知该矩阵的行列式为

    图 1 经不同预处理方法后的特征系统(对于每种预处理后的速度有, U' = (λ3+λ4)/2, C' = |λ3–λ4|/2, 均为无量纲化速) (a) 条件数CN; (b) 伪速度U'; (c) 伪声速C'; (d) B函数; (e) 本文预处理法得到的特征根\r\nFig. 1. Characteristic system of the governing equations obtained after different preconditioning: (a) Condition number; (b) pseudo-speed; (c) pseudo-sound speed; (d) function B; (e) the eigenvalues obtained after preconditioning in this paper
    图 1  经不同预处理方法后的特征系统(对于每种预处理后的速度有, U' = (λ3+λ4)/2, C' = |λ3λ4|/2, 均为无量纲化速) (a) 条件数CN; (b) 伪速度U'; (c) 伪声速C'; (d) B函数; (e) 本文预处理法得到的特征根
    Fig. 1.  Characteristic system of the governing equations obtained after different preconditioning: (a) Condition number; (b) pseudo-speed; (c) pseudo-sound speed; (d) function B; (e) the eigenvalues obtained after preconditioning in this paper
    \left| {{{\boldsymbol{\varGamma}} _{{\text{Liu}}}}} \right| = \frac{{{\rho ^3}\left[ {1 + b\left( {\gamma - 1} \right)M{a^2}} \right]}}{{\left( {\gamma - 1} \right){c^2}{M_L}^{\text{2}}}} \gt 0 . (27)

    可见, 该矩阵恒为可逆矩阵. 此时的预处理矩阵在计算低速问题时效果较好, 如果用于跨声速和全速域问题的计算, 可以选取ma0 = Mamax (此最大Mach数是实验前的估计值).

    3.4.1   特征值和方程组刚性

    下面来定量分析该处理法得到的特征系统. 在二维曲线坐标系 \left( {\xi , \eta } \right) 中, 以 \xi 方向为例, 求出经ΓLiu预处理后Euler方程的特征根:

    {\lambda }_{1,2}=U,\;{\lambda }_{3,4}={U}^{\prime }\pm {C}_{\xi' }{} , (28)

    其中伪速度和伪声速分别为

    U' = \frac{{{M_L}^{\text{2}} + b + 1}}{2}U = BU ,\tag{29a}
    {C_\xi' } = \sqrt {{{\left( {BU} \right)}^2} + {M_L}^2\left( {{C_\xi }^2 - {U^2}} \right)} .\tag{29b}

    U, {C_\xi } 意义同(16)式, 预处理参数选用(26a)式, 且U在(0, ma0U)上时, {\lambda _3} 为关于Ma的单调递增函数, 与未经预处理时特征根随速度U增加而变化的趋势一致. 经过ΓLiu预处理后的特征根受两个函数BML调控, 形式上比Weiss, Pletcher和Choi等得到的特征根(19a)式拥有更多自由度. 当Ma → 0时有

    \underset{Ma\to 0}{\mathrm{lim}}\frac{{\lambda }_{3}}{{\lambda }_{1,2}}=1,\;\underset{Ma\to 0}{\mathrm{lim}}\frac{{\lambda }_{4}}{{\lambda }_{1,2}}=-1 . (30)

    此时所有特征根在不考虑正负号的情况下为等价无穷小, 即在Ma很小的时候, 条件数趋于1. 先证明对于任意Ma > εm, 有λ3 > λ1,2 > |λ4|.

    Ma≤1时:

    \begin{split} \;& \frac{{{\lambda _3}}}{{{\lambda _{1,2}}}} = B + \sqrt {{B^2} + {M_L}^2\left( {\frac{1}{{M{a^2}}} - 1} \right)}\\ =\;& B + \sqrt {{B^2} + [ {1 + M{a^2}( {1 - M{a^2}} )} ]( {1 - M{a^2}} )} \gt 1 . \end{split}

    当1 < Ma ma0时:

    \begin{split} \frac{{{\lambda _3}}}{{{\lambda _{1,2}}}} =\;& B + \sqrt {{B^2} + {M_L}^2\left( {\frac{1}{{M{a^2}}} - 1} \right)} \\ =\;& B + \sqrt {{B^2} + \left( {\frac{1}{{M{a^2}}} - 1} \right)} \gt 1. \end{split}

    Ma > ma0时:

    \begin{split} \frac{{{\lambda _3}}}{{{\lambda _{1,2}}}} =\;& B + \sqrt {{B^2} + {M_L}^2\left( {\frac{1}{{M{a^2}}} - 1} \right)} \\ =\;& 1 + \sqrt {1 + \left( {\frac{1}{{M{a^2}}} - 1} \right)} \\ = \;& 1 + \frac{1}{{Ma}} \gt 1. \end{split}

    由此可知对于任意Ma > εmλ3 > λ1,2, 同理可证λ1,2 > |λ4|, 这也与未经预处理的特征根的大小关系一致, 图1(e)更直观地展示了预处理后的特征根大小关系. 如果 m{a_0} \gt \sqrt 3 则会出现Ma0m , 使得λ3 < λ1,2, 因此需要限制 m{a_0} \leqslant \sqrt 3 , 故上文选取ma0 = 1.73. λ3, λ1,2恒为正值. 当Ma < 1时, λ4 < 0; 当Ma > 1时, λ4 > 0, 与未经预处理时特征根的符号相同. 特殊地, 选取直角坐标系, 可以求出其特征系统的条件数满足:

    \begin{split}{C_N} =\;& \frac{{\left| {{\lambda _{\max }}} \right|}}{{\left| {{\lambda _{\min }}} \right|}} = \frac{{{\lambda _3}}}{{\left| {{\lambda _4}} \right|}}\\ =\;& \dfrac{{{M_L}^2\left( {\dfrac{1}{{M{a^2}}} - 1} \right)}}{{{{\left[ {\sqrt {{B^2} + {M_L}^2\left( {\dfrac{1}{{M{a^2}}} - 1} \right)} - B} \right]}^2}}} . \end{split}

    Ma > ma0时, 预处理矩阵退化成P0, 方程恢复成原控制方程. 图1为控制方程经ΓWS, ΓPC, ΓCM, ΓD以及ΓLiu预处理后系统的条件数随Ma的发展趋势. 从图1可见, ΓD M{a_\infty } 附近效果良好, 在驻点处刚性很大, 经ΓLiu处理后的系统刚性小于其他方法, 且特征根随着Mach数从附近增大到Ma > ma0时的变化过程是光滑的, 当Ma超过ma0后, 伪速度和伪声速都还原成真实速度和声速. 由于

    \Delta t = \frac{{{\text{CFL}}\min \left\{ {\Delta x,\Delta y} \right\}}}{{\left| {{\lambda _{\max }}} \right|}} \text{, } (31)

    其中CFL数是差分法中判断收敛的条件数, 当CFL数固定时, \left| {{\lambda _{\max }}} \right| 减小可以增大时间步长, 从而达到加速效果.

    3.4.2   特征根的连续性

    下面证明特征根 {\lambda _i} 关于 \left( {\xi , \eta } \right) 的连续性, 以直角坐标系的x方向为例, 注意到(28)式中 U', {\text{ }}{C_x'} 是关于Ma以1和ma0为分界点的分段函数, 只需要证明分界点处连续性. 经无量纲化后, 不考虑y方向的速度影响, 则有Ma = U = u, 从而 U', {C_x'} 均可视为Ma (或u)的函数, 那么有

    \left\{ \begin{aligned} & \frac{{\partial U'}}{{\partial x}} = \frac{{{\text{d}}U'}}{{{\text{d}}u}}\frac{{\partial u}}{{\partial x}}{ {,}} \hfill \\ & \frac{{{\partial ^2}U'}}{{\partial {x^2}}} = \frac{{{\text{d}}U'}}{{{\text{d}}u}}\frac{{{\partial ^2}u}}{{\partial {x^2}}} + \frac{{{{\text{d}}^2}U'}}{{{\text{d}}{u^2}}}{\left( {\frac{{\partial u}}{{\partial x}}} \right)^2}{\text{ }}{\text{. }} \end{aligned} \right. (32)

    u存在关于x的二阶连续偏导数时, 只需验证 U' 关于u的可导性. 对(29a)式和(29b)式分别在(0, 1), (1, ma0), (ma0, +∞)上关于u求导, 可得

    \frac{\text{d}{U}^{\prime }}{\text{d}u}=\frac{\text{d}B}{\text{d}u}u+B,\frac{{\text{d}}^{2}{U}^{\prime }}{\text{d}{u}^{2}}=\frac{{\text{d}}^{2}B}{\text{d}{u}^{2}}u+2\frac{\text{d}B}{\text{d}u} . (33)

    B在(0, +∞)上存在关于u的二阶连续导函数, 那么易证:

    \begin{split} \frac{\text{d}{U}^{\prime }}{\text{d}u}\Big|{}_{u\to {1}^-}=\;&\frac{\text{d}{U}^{\prime }}{\text{d}u} \Big|{}_{u\to {1}^+},\frac{{\text{d}}^{2}{U}^{\prime }}{\text{d}{u}^{2}}\Big|{}_{u\to m{a}_{0}{}^-}\\ =\;&\frac{{\text{d}}^{2}{U}^{\prime }}{\text{d}{u}^{2}}\Big|{}_{u\to m{a}_{0}{}^+} . \end{split} (34)

    U' 存在关于x的二阶连续偏导数, 同理可证 {C_x'} 也存在关于x的二阶连续偏导数. 即经ΓLiu预处理后得到的, 只要u存在关于x的二阶连续导数, {\lambda _i} 亦存在关于x的二阶连续导数. 从而克服了ΓWS, ΓPCΓCM预处理后的特征根, 在预处理和非预处理间过渡不够光滑的缺陷, 图1(a)(c)也可反映出这点.

    采用Roe的通量差分格式作为Riemann求解器[42], 下面以 \xi 方向介绍该方法, 其他方向与之同理. 带预处理的Roe格式可以表示为

    {{{\boldsymbol{E}}}_{i + \tfrac{1}{2}}} = \frac{1}{2}{\left[ {{{\boldsymbol{E}}}\left( {{{{\boldsymbol{Q}}}^{\text{L}}}} \right) + {{\boldsymbol{E}}}\left( {{{{\boldsymbol{Q}}}^{\text{R}}}} \right) - \tilde A\left( {{{{\boldsymbol{Q}}}^{\text{R}}} - {{{\boldsymbol{Q}}}^{\text{L}}}} \right)} \right]_{i + \tfrac{1}{2}}} , (35)

    其中

    \tilde A ={\boldsymbol{ \varGamma}} {M_{\boldsymbol{\varGamma}}}\left| {{{{\boldsymbol{\varLambda }}}_{\boldsymbol{\varGamma}}}} \right|M_{\boldsymbol{\varGamma}}^{ - 1}. (36)

    {{\boldsymbol{\varLambda}} _{\boldsymbol{\varGamma }}} ΓLiuA的特征根, 即(28)式组成的对角矩阵, A的意义同(14)式, MΓ是将其化为对角矩阵的变换矩阵, 即

    {{{\boldsymbol{\varLambda}} }_{\boldsymbol{\varGamma}}} = M_{\boldsymbol{\varGamma}}^{ - 1}{{\boldsymbol{\varGamma}}_{{\text{Liu}}}}A{M_{\boldsymbol{\varGamma}}} . (37)

    此处\left| {{{\boldsymbol{\varLambda}} _{\boldsymbol{\varGamma}} }} \right|表示将该矩阵所有元素取绝对值后组成的矩阵. 高精度的通量E(Q)LE(Q)R采用5阶WENO-JS格式来求得, 此过程可详见文献[43]. 对于黏性项的离散, 本文采取一种4阶紧致的中心差分格式, 具体可见文献[44].

    为了与空间离散的精度相匹配, 采取三阶显式Runge-Kutta法做时间推进[45]:

    \left\{ \begin{aligned} &{\boldsymbol{Q}}_j^{n\left( 1 \right)} = {\boldsymbol{Q}}_j^n + \Delta t{L_h}\left( {{\boldsymbol{Q}}_j^n} \right){\text{ ,}} \hfill \\ & {\boldsymbol{Q}}_j^{n\left( 2 \right)} = \frac{3}{4}{\boldsymbol{Q}}_j^n + \frac{1}{4}{\boldsymbol{Q}}_j^{n\left( 1 \right)} + \frac{{\Delta t}}{4}{L_h}\left( {{\boldsymbol{Q}}_j^{n\left( 1 \right)}} \right){\text{ ,}} \hfill \\ &{\boldsymbol{Q}}_j^{n + 1} = \frac{1}{3}{\boldsymbol{Q}}_j^n + \frac{2}{3}{\boldsymbol{Q}}_j^{n\left( 2 \right)} + \frac{{2\Delta t}}{3}{L_h}\left( {{\boldsymbol{Q}}_j^{n\left( 2 \right)}} \right){\text{ ,}} \end{aligned} \right. (38)

    其中 {L_h}\left( {{\boldsymbol{Q}}_j^n} \right) {\boldsymbol{Q}}_j^n 关于空间的离散格式.

    本文仅是对新预处理法的合理性和可靠性进行检验, 故选取较为简单的定常流动来验证. 如用于非定常流动计算, 预处理会破坏时间精度, 因此需要做特殊处理. 这里介绍一种应用较广泛的双时间步法, 其本质是在控制方程中填入一项关于伪时间τ的导数项, 并对其做预处理, 即

    {\boldsymbol{\varGamma}}\frac{{\partial {{\boldsymbol{Q}}_T}}}{{\partial \tau }} + \frac{{\partial {\boldsymbol{Q}}}}{{\partial t}} + \frac{{\partial {\boldsymbol{E}}}}{{\partial x}} + \frac{{\partial {\boldsymbol{F}}}}{{\partial y}} = \frac{1}{{Re}}\left( {\frac{{\partial {{\boldsymbol{E}}_\nu }}}{{\partial x}} + \frac{{\partial {{\boldsymbol{F}}_\nu }}}{{\partial y}}} \right){\text{ }}{\text{. }}

    其中 τt分别是伪时间和真实物理时间, 其余物理量同(3)式所述. 当 τ → ∞时, 上式因左边的第一项消失而复原为方程. 分别对 τt离散, 该方法包含两个循环, 即伪时间 τ 的内循环和物理时间t的外循环, 在每个物理时间步当作定常问题用伪时间推进求解, 无需时间精确的伪时间内迭代可以采用预处理加速收敛. 当解的残差变化稳定后, 即达到当前物理时间步的真实解, 随即物理时间t外循环推进至下一步, 然后进行伪时间的内迭代并重复上述步骤, 最终得到欲求时刻的非定常解.

    下面选取一维有精确解的方程组, 平板层流边界层, 方腔顶盖驱动, 凸鼓包管道流动等定常问题来验证本文方法的可靠性、收敛性和稳定性. 由于ΓD在远离Ma的效果不如其他方法, 文献[46]的实验说明了使用Weiss & Smith和Choi & Merkle矩阵的效果接近, 故本文选取Weiss & Smith, Pletcher & Chen和本文提出的预处理矩阵进行实验, 并对比得到的结果. 算例5.1采用matlab2019编程, 算例5.2—5.4采用fortran90编程.

    选取有定常精确解的一维Euler方程组, 以{{\boldsymbol{Q}}_T} = {\left( {p, u, T} \right)^{\text{T}}}为变量:

    \frac{{\partial {{\boldsymbol{Q}}}}}{{\partial t}} + \frac{{\partial {{\boldsymbol{Q}}}}}{{\partial {{\boldsymbol{W}}}}}\frac{{\partial {{\boldsymbol{E}}}}}{{\partial x}} = {{\boldsymbol{S}}} \text{, } (39)
    \begin{split} &{{\boldsymbol{Q}}}={\left(p,u,T\right)}^{\text{T}},\;{{\boldsymbol{W}}}={\left(\rho ,\rho u,E\right)}^{\text{T}},\\ &{{\boldsymbol{E}}}={\left(\rho u,\rho {u}^{2}+p,\left(\rho +E\right)u\right)}^{\text{T}},\;{{\boldsymbol{S}}}={\left({s}_{1},{s}_{2},{s}_{3}\right)}^{\text{T}},\end{split}
    \left\{ \begin{aligned} & p = \left( {1 + 0.2{{\text{e}}^{ - t}}} \right)/\gamma,\hfill \\ &u = \left( {1 + k - {{\text{e}}^{ - t}}} \right)\left( {0.5 + kx} \right), \hfill \\ & T = 1, \end{aligned} \right. (40)

    \left\{\begin{aligned} &{s}_{1}=k\left(\frac{{\text{e}}^{-t}}{5}+1\right)\left(k-{\text{e}}^{-t}+1\right)-\frac{{\text{e}}^{-t}}{5}\text{ }\text{, }\\ &{s}_{2}=\left(kx+\frac{1}{2}\right)\left\{\left(k-{\text{e}}^{-t}+1\right)+\left(\frac{{\text{e}}^{-t}}{5}+1\right)\left[{\text{e}}^{-t}+2k\left(k-{\text{e}}^{-t}+1\right)\left(k-{\text{e}}^{-t}\right)\right]\right\},\\ &{s}_{3}=k\left(k-{\text{e}}^{-t}+1\right)\left\{{\left(kx+\frac{1}{2}\right)}^{2}\left[\left(k+\frac{1}{2}\right){\left(k-{\text{e}}^{-t}+1\right)}^{2}+\frac{{\text{e}}^{-t}}{k}\right]+\frac{1}{\gamma \left(\gamma -1\right)}+\frac{\left( {{\text{e}}^{-t}}/{5}+1\right)}{{\gamma}}\right\}. \end{aligned}\right. (41)

    其计算域为0 < x < 1, 按照精确解给出源项及边界条件, 设网格数N = 100, 选取CFL = 1. 注意到t足够大后, p, uT在固定的x处均趋于常数, 可认为是定常问题. 选取k = 0.5, 0.04, 0.01, 0.005, 0.001, 分别使用本文预处理法和无预处理来计算该问题, 并计算到t = 100, 150, 200时刻, 得到的结果与精确解对比如表1所列, 预处理的效果与未进行预处理的对比如图2所示.

    表 1  数值解与精确解之间的误差
    Table 1.  Errors between numerical solutions and exact solutions.
    k tx = 0.2x = 0.4x = 0.6x = 0.8x = 1.0
    0.5exact solution0.892531.04251.19251.30501.4925
    errors of no preconditioning1003.9029×10–51.5695×10–52.5871×10–53.4728×10–54.2505×10–5
    1501.1399×10–59.3383×10–61.3694×10–51.8359×10–52.2459×10–5
    2006.7822×10–64.6281×10–67.3170×10–65.8126×10–66.0973×10–6
    errors of preconditioning1003.0175×10–69.8264×10–72.2705×10–61.8797×10–62.8140×10–6
    0.04exact solution0.527900.536220.544540.552860.56118
    errors of no preconditioning1009.3060×10–59.3411×10–59.3782×10–59.4174×10–59.4586×10–5
    1505.5757×10–55.5289×10–55.4841×10–55.4415×10–55.4010×10–5
    2004.5265×10–54.4483×10–54.3722×10–54.2983×10–54.2267×10–5
    errors of preconditioning1003.9460×10–63.1288×10–65.5530×10–72.5512×10–63.1288×10–6
    0.01exact solution 0.506920.508940.510960.512980.51500
    errors of no preconditioning1004.0176×10–44.0335×10–44.0494×10–44.0652×10–44.0811×10–4
    1502.6008×10–42.6108×10–42.6208×10–42.6308×10–42.6407×10–4
    2001.9108×10–41.9178×10–41.9249×10–41.9319×10–41.9389×10–4
    1003.3569×10–62.2214×10–67.5880×10–64.8149×10–66.3518×10–6
    下载: 导出CSV 
    | 显示表格
    图 2 数值方法得到的解曲线与精确解曲线 (a) k = 0.5; (b) k = 0.04; (c) k = 0.01; (d) k = 5×10–3; (e) k = 1×10–3; (f) k = 2×10–4\r\nFig. 2. Solution curves obtained by numerical solution and exact solution curves: (a) k = 0.5; (b) k = 0.04; (c) k = 0.01; (d) k = 5×10–3; (e) k = 1×10–3; (f) k = 2×10–4
    图 2  数值方法得到的解曲线与精确解曲线 (a) k = 0.5; (b) k = 0.04; (c) k = 0.01; (d) k = 5×10–3; (e) k = 1×10–3; (f) k = 2×10–4
    Fig. 2.  Solution curves obtained by numerical solution and exact solution curves: (a) k = 0.5; (b) k = 0.04; (c) k = 0.01; (d) k = 5×10–3; (e) k = 1×10–3; (f) k = 2×10–4

    表1可见, 当k = 0.5时, 速度u会经历从小于1 (无量纲化)到大于ma0的跨越, 使用本文的预处理法可以在保证精度的同时实现从预处理还原到不处理的连续过渡; 在相同的计算时间t = 100下, 使用预处理方法比未处理得到的数值解精度高出约1—2个量级. 增加一倍的计算时间, 到t = 200时刻未用预处理的解的精度才勉强达到t = 100时刻使用预处理的精度. 当k进一步减小时, 预处理的效果更加明显, 从图2(c)(f)可以清晰地看出, 预处理比不处理收敛速度更快. 这表明本文的预处理方法能够在保证精度的同时, 提高计算的效率.

    一长为L的平板静置在水平面上, 从左侧的与平板平行的均匀来流通过其上表面, 以板长为参考长度, 以来流处的声速为参考速度进行无量纲化, 给定来流速度u = 0.1, 基于板长的Reynolds数Re = 106, 设定来流处压强和温度以及出口的压强, 计算网格为180×50, 其中x方向为均匀网格, y方向随着y减小而加密, 贴近平板上表面的第1层网格厚度为0.002, CFL = 5. 计算到收敛后, 选取x = 0.8处的速度uy的分布, 并与Bulsius准解析解对比, 对比结果如图3所示, 其中

    图 3 Ma = 0.1时边界层流动的速度剖面\r\nFig. 3. Velocity profile of the boundary layer flow when Ma = 0.1.
    图 3  Ma = 0.1时边界层流动的速度剖面
    Fig. 3.  Velocity profile of the boundary layer flow when Ma = 0.1.
    R{e}_{x}=\frac{R{e}_{\infty }x}{L},\;\eta =\frac{y\sqrt{R{e}_{x}}}{x} . (42)

    本文预处理法的收敛速度同Weiss & Smith和Pletcher & Chen方法的对比如图4所示. 可见, 本文的预处理方法得到的数值解与Blasius解基本一致. 由图4可见, 本文方法的收敛效率略好于Weiss & Smith和Pletcher & Chen方法.

    图 4 边界层流动的收敛历程\r\nFig. 4. Convergence histories of the boundary layer flow when Ma = 0.1.
    图 4  边界层流动的收敛历程
    Fig. 4.  Convergence histories of the boundary layer flow when Ma = 0.1.

    此算例描述的是一边长为1 (此算例中变量均无量纲化)的正方形空腔, 初始Mach数Ma0 = 1, 顶盖以u0 = 1速度向右运动, Reynolds数分别为100, 1000, 10000. 计算网格为60×60成中心对称的非均匀网格, 并在壁面附近加密, CFL = 100, 分别使用本文预处理法和Weiss & Smith和Pletcher & Chen方法计算此问题. 图5图7是计算到收敛后得到的空腔内部流场线图, 可以观察到, 在空腔的几何中心附近产生一个大涡, 在底部两角附近产生两个较小的涡结构. 随着Reynolds数的增大, 大涡中心逐渐向空腔几何中心移动, 底部小涡逐渐增大, 当Reynolds数为10000时, 左上角附近也产生一个涡结构. 图8是本文水平与垂直中心线上速度与使用多重网格法的计算结果[47]的对比, 图9是三种预处理法的收敛速度对比.

    图 5 Re = 100时的空腔流线图 (a) 本文方法; (b) Weiss & Smith方法; (c) Pletcher & Chen方法\r\nFig. 5. Velocity streamline diagram of cavity, Re = 100: (a) The new method; (b) method of Weiss & Smith; (c) method of Pletcher & Chen.
    图 5  Re = 100时的空腔流线图 (a) 本文方法; (b) Weiss & Smith方法; (c) Pletcher & Chen方法
    Fig. 5.  Velocity streamline diagram of cavity, Re = 100: (a) The new method; (b) method of Weiss & Smith; (c) method of Pletcher & Chen.
    图 6 Re = 1000时的空腔流线图 (a) 本文方法; (b) Weiss & Smith方法; (c) Pletcher & Chen方法\r\nFig. 6. Velocity streamline diagram of cavity, Re = 1000: (a) The new method; (b) method of Weiss & Smith; (c) method of Pletcher & Chen.
    图 6  Re = 1000时的空腔流线图 (a) 本文方法; (b) Weiss & Smith方法; (c) Pletcher & Chen方法
    Fig. 6.  Velocity streamline diagram of cavity, Re = 1000: (a) The new method; (b) method of Weiss & Smith; (c) method of Pletcher & Chen.
    图 7 Re = 10000时的空腔流线图 (a) 本文方法; (b) Weiss & Smith方法; (c) Pletcher & Chen方法\r\nFig. 7. Velocity streamline diagram of cavity, Re = 10000: (a) The new method; (b) method of Weiss & Smith; (c) method of Pletcher & Chen.
    图 7  Re = 10000时的空腔流线图 (a) 本文方法; (b) Weiss & Smith方法; (c) Pletcher & Chen方法
    Fig. 7.  Velocity streamline diagram of cavity, Re = 10000: (a) The new method; (b) method of Weiss & Smith; (c) method of Pletcher & Chen.
    图 8 本文预处理后的中心线速度分布 (a)水平中心线上的速度v; (b)垂直中心线上的速度u\r\nFig. 8. Velocity along lines through geometric center caculated by the new method: (a) v-velocity along horizontal center line; (b) v-velocity along horizontal center line.
    图 8  本文预处理后的中心线速度分布 (a)水平中心线上的速度v; (b)垂直中心线上的速度u
    Fig. 8.  Velocity along lines through geometric center caculated by the new method: (a) v-velocity along horizontal center line; (b) v-velocity along horizontal center line.
    图 9 方腔流动的收敛历程对比 (a) Re = 100; (b) Re = 1000; (c) Re = 10000\r\nFig. 9. Convergence histories of the the laminar flow in a square cavity: (a) Re = 100; (b) Re = 1000; (c) Re = 10000.
    图 9  方腔流动的收敛历程对比 (a) Re = 100; (b) Re = 1000; (c) Re = 10000
    Fig. 9.  Convergence histories of the the laminar flow in a square cavity: (a) Re = 100; (b) Re = 1000; (c) Re = 10000.

    通过图8图9可知, 本文提出的方法精确度略高于Weiss & Smith和Pletcher & Chen方法(这两种方法的精度对比可参考文献[46]). 本文方法的收敛速度也更快一些, 且随着黏性效应增加(Reynolds数减小)效果越明显, 这表明本文格式可以实现对低速有黏问题的高精度高效率的模拟.

    此算例[48]目的在于验证本文提出的预处理方法在曲线坐标系下的计算性能, 故选择下表面带鼓包的二维管道流动问题, 该算例模型和流场相对简单, 便于对结果进行分析. 具体模型如下: 管道的长度为3 (单位均无量纲化), 高度为1, 凸鼓包位于下表面的中心位置, 长度为1, 其尺寸为y = 0.1sin2πx (1 < x < 2). 计算网格选取160 × 60, 并在下表面处加密, 具体见图10. 来流Mach数选取为Ma0 = 0.01, 0.05, 0.1和0.2, 设p0 = 1, T0 = 1, 取CFL = 5, 设置出口反压与来流值相等, 整个流场无黏, 故在壁面处的法向速度为0.

    图 10 二维鼓包流动问题的计算网格\r\nFig. 10. Computational grid for the two-dimensional bump flow problem.
    图 10  二维鼓包流动问题的计算网格
    Fig. 10.  Computational grid for the two-dimensional bump flow problem.

    图11为三种方法的残差收敛曲线对比. Ma0 = 0.05时三种方法得到的流场Mach数等值线分布见图12(a)(c). 图12(d)为在加密网格(600×200)下使用Weiss & Smith法计算得到的流场, 并将其作为准精确解. 在低速流动下, 该流场的Mach等值线接近轴对称. 可见本文方法的计算结果与准精确解基本一致, 相比另外两种方法精度更高, 尤其第3—5条等值线的位置. 另外本文方法的收敛效率也略高于其他方法, 虽然Ma0 = 0.2时由于刚性并不是很大, 加速收敛的效果比Ma0更低时明显, 但最终的残差均小于其他预处理法, 这说明本文格式在保证精度的同时, 拥有更良好的稳定性.

    图 11 在不同Mach数下计算二维凸包管道问题的收敛历程 (a) Ma0 = 0.01; (b) Ma0 = 0.05; (c) Ma0 = 0.1; (d) Ma0 = 0.2\r\nFig. 11. Convergence histories of the two-dimensional bump flow problem under different Mach numbers: (a) Ma0 = 0.01; (b) Ma0 = 0.05; (c) Ma0 = 0.1; (d) Ma0 = 0.2.
    图 11  在不同Mach数下计算二维凸包管道问题的收敛历程 (a) Ma0 = 0.01; (b) Ma0 = 0.05; (c) Ma0 = 0.1; (d) Ma0 = 0.2
    Fig. 11.  Convergence histories of the two-dimensional bump flow problem under different Mach numbers: (a) Ma0 = 0.01; (b) Ma0 = 0.05; (c) Ma0 = 0.1; (d) Ma0 = 0.2.
    图 12 Ma0 = 0.05时流场的等Mach线 (a) 精确解; (b) Weiss & Smith; (c) Pletcher & Chen; (d) 本文方法\r\nFig. 12. Mach contour of the two-dimensional bump flow problem, Ma0 = 0.05: (a) Exact solution; (b) Weiss & Smith; (c) Pletcher & Chen; (d) the new method in this paper.
    图 12  Ma0 = 0.05时流场的等Mach线 (a) 精确解; (b) Weiss & Smith; (c) Pletcher & Chen; (d) 本文方法
    Fig. 12.  Mach contour of the two-dimensional bump flow problem, Ma0 = 0.05: (a) Exact solution; (b) Weiss & Smith; (c) Pletcher & Chen; (d) the new method in this paper.

    针对低速流动问题, 本文基于虚拟压缩法的思想, 提出一种以当地Mach数、来流Mach数、密度、温度、每个维度的分速度和Reynolds数为变量的预处理矩阵, 相比Weiss, Choi, Dailey, Pletcher和Turkle等提出的矩阵, 把控制方程的刚性在Ma<0.5时进一步降低到1左右, 使得特征根之间的量级差异进一步减小, 从而提升了求解效率, 同时改进了从预处理到关闭预处理的过渡不够光滑的不足.

    展开数值实验验证了新方法的可靠性. 通过一维算例验证了新方法的准确性, 将预处理和不处理的结果加以对比, 证明了预处理方法可加速计算低速流动问题的收敛. 通过平板层流边界层和黏性方腔流动问题进一步验证了本文方法在二维低速流动问题中可以获得高精度数值解, 并且拥有更高效的收敛性, 随着黏性作用越强, 这种高效性越明显. 通过二维鼓包管道流动问题, 验证了本文方法在曲线坐标系下仍能保持良好的精度和收敛性, 而且具备更好的稳定性. 目前本文重点在于改进算法, 故选取算例的结构比较简单, 未来将会尝试模拟复杂网格, 非定常流动或引入湍流模型.

    感谢中国科学院力学研究所高温气体动力学国家重点实验室的李诗尧博士, 天津大学水利工程仿真与安全国家重点实验室的陈嘉禹硕士为本文提供的计算资源; 感谢天津大学数学学院2018级程启豪同学, 南开大学数学学院学习部2018级左晨琛、2019级的戚红利、2020级赵振岐等同学为本文的矩阵特征系统在曲线坐标系下数学性质以及特定几何结构从笛卡尔坐标系下到曲线坐标下变换涉及的复分析和拓扑问题的讨论; 感谢国防科技大学空天科学学院田正雨教授, 南京航空航天大学航空学院陈红全教授, 南京航空航天大学数学系张燕博士为本文提出建议.

    [1]

    Yin P, Liandrat J, Shen W 2021 J. Comput. Phys. 434 110207Google Scholar

    [2]

    Fernandez Fidalgo J, Nogueira X, Ramirez L, Colominas I 2018 Comput. Methods Appl. Mech. Eng. 335 91Google Scholar

    [3]

    Ahmed T, Rehman A, Ali A, Qamar S 2021 Results Phys. 23 104078Google Scholar

    [4]

    Zhang Y, Liu Y, Zhang Y, Wang W R, Han Y F 2021 Int. Commun. Heat. Mass Transfer 129 105688Google Scholar

    [5]

    Xie W J, Tian Z Y, Zhang Y, Yu H 2022 Comput. Fluids 233 105215Google Scholar

    [6]

    Ma Chao, Wu J, Yu H, Yang L 2022 Comput. Math. Appl. 105 13Google Scholar

    [7]

    Lehel F, Hona J 2021 Chin. J. Phys. 73 360Google Scholar

    [8]

    张庆海, 李阳 2021 物理学报 70 130201Google Scholar

    Zhang Q H, Li Y 2021 Acta Phys. Sin. 70 130201Google Scholar

    [9]

    Xie W, Luo Z B, Zhou Y, Gao T X, Wu Y, Wang Q 2021 Acta. Astronaut. 188 416Google Scholar

    [10]

    Barhoumi B, Bessrour J 2017 J. Comput. Phys. 21 86Google Scholar

    [11]

    Bykerk T, Verstraete D, Steelant J 2020 Aerosp. Sci. Technol. 103 105883Google Scholar

    [12]

    Huber S E, Trummer M R 2016 Comput. Math. Appl. 71 319Google Scholar

    [13]

    胡嘉懿, 张文欢, 柴振华, 施保昌, 汪一航 2019 物理学报 68 234701Google Scholar

    Hu J Y, Zhang W H, Chai Z H, Shi B C, Wang Y H 2019 Acta Phys. Sin. 68 234701Google Scholar

    [14]

    辛建建, 陈振雷, 石凡, 石伏龙 2020 物理学报 69 044702Google Scholar

    Xin J J, Chen Z L, Shi F, Shi F L 2020 Acta Phys. Sin. 69 044702Google Scholar

    [15]

    Imran M A, Shaheen A, Sherif E M, Rahimi-Gorji M, Seikh A H 2020 Chin. J. Phys. 66 60Google Scholar

    [16]

    尹纪富, 尤云祥, 李巍, 胡天群 2014 物理学报 63 044701Google Scholar

    Yin J F, You Y X, Li W, Hu T Q 2014 Acta Phys. Sin. 63 044701Google Scholar

    [17]

    牛海波, 易仕和, 刘小林, 霍俊杰, 冈敦殿 2021 物理学报 70 134701Google Scholar

    Niu H B, Yi S H, Liu X L, Huo J J, Gang D D 2021 Acta Phys. Sin. 70 134701Google Scholar

    [18]

    李高华, 王福新 2018 物理学报 67 054701Google Scholar

    Li G H, Wang F X 2018 Acta Phys. Sin. 67 054701Google Scholar

    [19]

    Fasel M 1976 J. Fluid. Mech. 78 355Google Scholar

    [20]

    Aziz K 1967 Phys. Fluids 10 314Google Scholar

    [21]

    Harlow F H, Welch J E 1965 Phys. Fluids 8 2182Google Scholar

    [22]

    Hirt C W, Nichols B D, Romero N C 1974 SOLA: A Numerical Solution Algorithm for Transient Fluid Flows (Los Alamos: Los Alamos Scientific Laboratory) Report5852

    [23]

    Patankar S V, Spalding D B 1972 Int. J. Heat. Mass Transfer 15 1787Google Scholar

    [24]

    Patankar S V 1981 Numer. Heat Transfer 4 409Google Scholar

    [25]

    Van Doormaal J P, Raithby G D 1984 Numer. Heat Transfer 7 147Google Scholar

    [26]

    Minkowycz W J, Sparrow E M, Pletcher R H, Schneider G E 1988 Handbook of Numerical Heat Transfer (New York: John Wiley & Sons) pp241–289

    [27]

    Issa I R, Gosman A D, Watkins A P 1986 J. Comput. Phys. 62 66Google Scholar

    [28]

    Davis G D V 1983 Int. J. Numer. Methods Fluids 3 249Google Scholar

    [29]

    Chorin A J 1967 J. Comput. Phys. 2 12Google Scholar

    [30]

    Turkel E 1993 Appl. Numer. Math. 12 257Google Scholar

    [31]

    Choi D, Merkel C L 1987 AIAA J. 23 581

    [32]

    Viviand H 1985 Numerical Methods for the Euler Equations of Fluid Dynamics (Philadelphia: SIAM) p519

    [33]

    Choi Y H, Merkle C L 1993 J. Comput. Phys. 105 205

    [34]

    Buelow P E O, Venkateswaran S, Charles L 1993 AIAA J. 32 2401Google Scholar

    [35]

    Godfrey A G, Walters R W, Leer B V 1993 31st Aerospace Sciences Meeting Reno, NV, USA, January 11–14, 1993 p535

    [36]

    Weiss J M, Smith W A 1994 Fluid Dynamics Conference Colorado Springs, CO, USA, June 20–23, 1994 p2209

    [37]

    Pletcher R H, Chen K H 1993 11th Computational Fluid Dynamics Conference Orlando, FL, USA, July 6–9, 1993 p3368

    [38]

    Dailey L D, Pletcher R H 1996 Comput. Fluids 25 791Google Scholar

    [39]

    成小磊 2007 硕士学位论文 (南京: 南京航空航天大学)

    Cheng X L 2007 M. S. Thesis (Nanjing: Nanjing University of Aeronautics and Astronautics) (in Chinese)

    [40]

    谭勤学, 任静, 蒋洪德 2015 清华大学学报(自然科学版) 55 134Google Scholar

    Tan Q X, Ren J, Jiang H D 2015 J. Tsinghua Univ. (Science and Technology) 55 134Google Scholar

    [41]

    Buelow P E G, Schwer D A, Feng F J, Merkle C L 1997 13th Computational Fluid Dynamics Conference Snowmass Village, CO, USA, June 29–July 2, 1997 p120

    [42]

    Roe P 1981 J. Comput. Phys. 43 357Google Scholar

    [43]

    Jiang G S, Shu C W 1996 J. Comput. Phys. 126 202Google Scholar

    [44]

    Sun Z S, Yu H U, Luo L, Yang Z W 2014 Sci. Chin. Phys. Mech. 57 971Google Scholar

    [45]

    Shu C W, Osher S 1988 J. Comput. Phys. 77 439Google Scholar

    [46]

    胡丽燕 2011 硕士学位论文 (南京: 南京航空航天大学)

    Hu L Y 2011 M. S. Thesis (Nanjing: Nanjing University of Aeronautics and Astronautics) (in Chinese)

    [47]

    Ghia U, Ghia K N, Shin C T 1982 J. Comput. Phys. 48 387Google Scholar

    [48]

    Delery J 1981 14th Fluid and Plasma Dynamics Conference Palo Alto, CA, USA, June 23–25, 1981 p1245

  • 图 1  经不同预处理方法后的特征系统(对于每种预处理后的速度有, U' = (λ3+λ4)/2, C' = |λ3λ4|/2, 均为无量纲化速) (a) 条件数CN; (b) 伪速度U'; (c) 伪声速C'; (d) B函数; (e) 本文预处理法得到的特征根

    Fig. 1.  Characteristic system of the governing equations obtained after different preconditioning: (a) Condition number; (b) pseudo-speed; (c) pseudo-sound speed; (d) function B; (e) the eigenvalues obtained after preconditioning in this paper

    图 2  数值方法得到的解曲线与精确解曲线 (a) k = 0.5; (b) k = 0.04; (c) k = 0.01; (d) k = 5×10–3; (e) k = 1×10–3; (f) k = 2×10–4

    Fig. 2.  Solution curves obtained by numerical solution and exact solution curves: (a) k = 0.5; (b) k = 0.04; (c) k = 0.01; (d) k = 5×10–3; (e) k = 1×10–3; (f) k = 2×10–4

    图 3  Ma = 0.1时边界层流动的速度剖面

    Fig. 3.  Velocity profile of the boundary layer flow when Ma = 0.1.

    图 4  边界层流动的收敛历程

    Fig. 4.  Convergence histories of the boundary layer flow when Ma = 0.1.

    图 5  Re = 100时的空腔流线图 (a) 本文方法; (b) Weiss & Smith方法; (c) Pletcher & Chen方法

    Fig. 5.  Velocity streamline diagram of cavity, Re = 100: (a) The new method; (b) method of Weiss & Smith; (c) method of Pletcher & Chen.

    图 6  Re = 1000时的空腔流线图 (a) 本文方法; (b) Weiss & Smith方法; (c) Pletcher & Chen方法

    Fig. 6.  Velocity streamline diagram of cavity, Re = 1000: (a) The new method; (b) method of Weiss & Smith; (c) method of Pletcher & Chen.

    图 7  Re = 10000时的空腔流线图 (a) 本文方法; (b) Weiss & Smith方法; (c) Pletcher & Chen方法

    Fig. 7.  Velocity streamline diagram of cavity, Re = 10000: (a) The new method; (b) method of Weiss & Smith; (c) method of Pletcher & Chen.

    图 8  本文预处理后的中心线速度分布 (a)水平中心线上的速度v; (b)垂直中心线上的速度u

    Fig. 8.  Velocity along lines through geometric center caculated by the new method: (a) v-velocity along horizontal center line; (b) v-velocity along horizontal center line.

    图 9  方腔流动的收敛历程对比 (a) Re = 100; (b) Re = 1000; (c) Re = 10000

    Fig. 9.  Convergence histories of the the laminar flow in a square cavity: (a) Re = 100; (b) Re = 1000; (c) Re = 10000.

    图 10  二维鼓包流动问题的计算网格

    Fig. 10.  Computational grid for the two-dimensional bump flow problem.

    图 11  在不同Mach数下计算二维凸包管道问题的收敛历程 (a) Ma0 = 0.01; (b) Ma0 = 0.05; (c) Ma0 = 0.1; (d) Ma0 = 0.2

    Fig. 11.  Convergence histories of the two-dimensional bump flow problem under different Mach numbers: (a) Ma0 = 0.01; (b) Ma0 = 0.05; (c) Ma0 = 0.1; (d) Ma0 = 0.2.

    图 12  Ma0 = 0.05时流场的等Mach线 (a) 精确解; (b) Weiss & Smith; (c) Pletcher & Chen; (d) 本文方法

    Fig. 12.  Mach contour of the two-dimensional bump flow problem, Ma0 = 0.05: (a) Exact solution; (b) Weiss & Smith; (c) Pletcher & Chen; (d) the new method in this paper.

    表 1  数值解与精确解之间的误差

    Table 1.  Errors between numerical solutions and exact solutions.

    k tx = 0.2x = 0.4x = 0.6x = 0.8x = 1.0
    0.5exact solution0.892531.04251.19251.30501.4925
    errors of no preconditioning1003.9029×10–51.5695×10–52.5871×10–53.4728×10–54.2505×10–5
    1501.1399×10–59.3383×10–61.3694×10–51.8359×10–52.2459×10–5
    2006.7822×10–64.6281×10–67.3170×10–65.8126×10–66.0973×10–6
    errors of preconditioning1003.0175×10–69.8264×10–72.2705×10–61.8797×10–62.8140×10–6
    0.04exact solution0.527900.536220.544540.552860.56118
    errors of no preconditioning1009.3060×10–59.3411×10–59.3782×10–59.4174×10–59.4586×10–5
    1505.5757×10–55.5289×10–55.4841×10–55.4415×10–55.4010×10–5
    2004.5265×10–54.4483×10–54.3722×10–54.2983×10–54.2267×10–5
    errors of preconditioning1003.9460×10–63.1288×10–65.5530×10–72.5512×10–63.1288×10–6
    0.01exact solution 0.506920.508940.510960.512980.51500
    errors of no preconditioning1004.0176×10–44.0335×10–44.0494×10–44.0652×10–44.0811×10–4
    1502.6008×10–42.6108×10–42.6208×10–42.6308×10–42.6407×10–4
    2001.9108×10–41.9178×10–41.9249×10–41.9319×10–41.9389×10–4
    1003.3569×10–62.2214×10–67.5880×10–64.8149×10–66.3518×10–6
    下载: 导出CSV
  • [1]

    Yin P, Liandrat J, Shen W 2021 J. Comput. Phys. 434 110207Google Scholar

    [2]

    Fernandez Fidalgo J, Nogueira X, Ramirez L, Colominas I 2018 Comput. Methods Appl. Mech. Eng. 335 91Google Scholar

    [3]

    Ahmed T, Rehman A, Ali A, Qamar S 2021 Results Phys. 23 104078Google Scholar

    [4]

    Zhang Y, Liu Y, Zhang Y, Wang W R, Han Y F 2021 Int. Commun. Heat. Mass Transfer 129 105688Google Scholar

    [5]

    Xie W J, Tian Z Y, Zhang Y, Yu H 2022 Comput. Fluids 233 105215Google Scholar

    [6]

    Ma Chao, Wu J, Yu H, Yang L 2022 Comput. Math. Appl. 105 13Google Scholar

    [7]

    Lehel F, Hona J 2021 Chin. J. Phys. 73 360Google Scholar

    [8]

    张庆海, 李阳 2021 物理学报 70 130201Google Scholar

    Zhang Q H, Li Y 2021 Acta Phys. Sin. 70 130201Google Scholar

    [9]

    Xie W, Luo Z B, Zhou Y, Gao T X, Wu Y, Wang Q 2021 Acta. Astronaut. 188 416Google Scholar

    [10]

    Barhoumi B, Bessrour J 2017 J. Comput. Phys. 21 86Google Scholar

    [11]

    Bykerk T, Verstraete D, Steelant J 2020 Aerosp. Sci. Technol. 103 105883Google Scholar

    [12]

    Huber S E, Trummer M R 2016 Comput. Math. Appl. 71 319Google Scholar

    [13]

    胡嘉懿, 张文欢, 柴振华, 施保昌, 汪一航 2019 物理学报 68 234701Google Scholar

    Hu J Y, Zhang W H, Chai Z H, Shi B C, Wang Y H 2019 Acta Phys. Sin. 68 234701Google Scholar

    [14]

    辛建建, 陈振雷, 石凡, 石伏龙 2020 物理学报 69 044702Google Scholar

    Xin J J, Chen Z L, Shi F, Shi F L 2020 Acta Phys. Sin. 69 044702Google Scholar

    [15]

    Imran M A, Shaheen A, Sherif E M, Rahimi-Gorji M, Seikh A H 2020 Chin. J. Phys. 66 60Google Scholar

    [16]

    尹纪富, 尤云祥, 李巍, 胡天群 2014 物理学报 63 044701Google Scholar

    Yin J F, You Y X, Li W, Hu T Q 2014 Acta Phys. Sin. 63 044701Google Scholar

    [17]

    牛海波, 易仕和, 刘小林, 霍俊杰, 冈敦殿 2021 物理学报 70 134701Google Scholar

    Niu H B, Yi S H, Liu X L, Huo J J, Gang D D 2021 Acta Phys. Sin. 70 134701Google Scholar

    [18]

    李高华, 王福新 2018 物理学报 67 054701Google Scholar

    Li G H, Wang F X 2018 Acta Phys. Sin. 67 054701Google Scholar

    [19]

    Fasel M 1976 J. Fluid. Mech. 78 355Google Scholar

    [20]

    Aziz K 1967 Phys. Fluids 10 314Google Scholar

    [21]

    Harlow F H, Welch J E 1965 Phys. Fluids 8 2182Google Scholar

    [22]

    Hirt C W, Nichols B D, Romero N C 1974 SOLA: A Numerical Solution Algorithm for Transient Fluid Flows (Los Alamos: Los Alamos Scientific Laboratory) Report5852

    [23]

    Patankar S V, Spalding D B 1972 Int. J. Heat. Mass Transfer 15 1787Google Scholar

    [24]

    Patankar S V 1981 Numer. Heat Transfer 4 409Google Scholar

    [25]

    Van Doormaal J P, Raithby G D 1984 Numer. Heat Transfer 7 147Google Scholar

    [26]

    Minkowycz W J, Sparrow E M, Pletcher R H, Schneider G E 1988 Handbook of Numerical Heat Transfer (New York: John Wiley & Sons) pp241–289

    [27]

    Issa I R, Gosman A D, Watkins A P 1986 J. Comput. Phys. 62 66Google Scholar

    [28]

    Davis G D V 1983 Int. J. Numer. Methods Fluids 3 249Google Scholar

    [29]

    Chorin A J 1967 J. Comput. Phys. 2 12Google Scholar

    [30]

    Turkel E 1993 Appl. Numer. Math. 12 257Google Scholar

    [31]

    Choi D, Merkel C L 1987 AIAA J. 23 581

    [32]

    Viviand H 1985 Numerical Methods for the Euler Equations of Fluid Dynamics (Philadelphia: SIAM) p519

    [33]

    Choi Y H, Merkle C L 1993 J. Comput. Phys. 105 205

    [34]

    Buelow P E O, Venkateswaran S, Charles L 1993 AIAA J. 32 2401Google Scholar

    [35]

    Godfrey A G, Walters R W, Leer B V 1993 31st Aerospace Sciences Meeting Reno, NV, USA, January 11–14, 1993 p535

    [36]

    Weiss J M, Smith W A 1994 Fluid Dynamics Conference Colorado Springs, CO, USA, June 20–23, 1994 p2209

    [37]

    Pletcher R H, Chen K H 1993 11th Computational Fluid Dynamics Conference Orlando, FL, USA, July 6–9, 1993 p3368

    [38]

    Dailey L D, Pletcher R H 1996 Comput. Fluids 25 791Google Scholar

    [39]

    成小磊 2007 硕士学位论文 (南京: 南京航空航天大学)

    Cheng X L 2007 M. S. Thesis (Nanjing: Nanjing University of Aeronautics and Astronautics) (in Chinese)

    [40]

    谭勤学, 任静, 蒋洪德 2015 清华大学学报(自然科学版) 55 134Google Scholar

    Tan Q X, Ren J, Jiang H D 2015 J. Tsinghua Univ. (Science and Technology) 55 134Google Scholar

    [41]

    Buelow P E G, Schwer D A, Feng F J, Merkle C L 1997 13th Computational Fluid Dynamics Conference Snowmass Village, CO, USA, June 29–July 2, 1997 p120

    [42]

    Roe P 1981 J. Comput. Phys. 43 357Google Scholar

    [43]

    Jiang G S, Shu C W 1996 J. Comput. Phys. 126 202Google Scholar

    [44]

    Sun Z S, Yu H U, Luo L, Yang Z W 2014 Sci. Chin. Phys. Mech. 57 971Google Scholar

    [45]

    Shu C W, Osher S 1988 J. Comput. Phys. 77 439Google Scholar

    [46]

    胡丽燕 2011 硕士学位论文 (南京: 南京航空航天大学)

    Hu L Y 2011 M. S. Thesis (Nanjing: Nanjing University of Aeronautics and Astronautics) (in Chinese)

    [47]

    Ghia U, Ghia K N, Shin C T 1982 J. Comput. Phys. 48 387Google Scholar

    [48]

    Delery J 1981 14th Fluid and Plasma Dynamics Conference Palo Alto, CA, USA, June 23–25, 1981 p1245

  • [1] 万兵兵, 胡伟波, 李晓虎, 黄文锋, 陈坚强, 涂国华. 高速钝锥对不同类型来流扰动的三维感受性. 物理学报, 2024, 73(23): 234701. doi: 10.7498/aps.73.20241383
    [2] 左娟莉, 杨泓, 魏炳乾, 侯精明, 张凯. 气力提升系统气液两相流数值模拟分析. 物理学报, 2020, 69(6): 064705. doi: 10.7498/aps.69.20191755
    [3] 闫晨帅, 徐进良. 超临界压力CO2在水平圆管内流动传热数值分析. 物理学报, 2020, 69(4): 044401. doi: 10.7498/aps.69.20191513
    [4] 杨玉晶, 赵汗青, 王鹏飞, 林婷婷. 绝热脉冲磁共振地下水探测技术数值模拟及影响分析. 物理学报, 2020, 69(12): 123301. doi: 10.7498/aps.69.20200015
    [5] 柴振霞, 刘伟, 杨小亮, 周云龙. 可变周期谐波平衡法求解周期性非定常涡脱落问题. 物理学报, 2019, 68(12): 124701. doi: 10.7498/aps.68.20190126
    [6] 焦小玉, 贾曼, 安红利. 一类扰动Kadomtsev-Petviashvili方程的雅可比椭圆函数解的收敛性探讨. 物理学报, 2019, 68(14): 140201. doi: 10.7498/aps.68.20190333
    [7] 华雪东, 王炜, 王昊. 考虑车与车互联通讯技术的交通流跟驰模型. 物理学报, 2016, 65(1): 010502. doi: 10.7498/aps.65.010502
    [8] 刘扬, 韩燕龙, 贾富国, 姚丽娜, 王会, 史宇菲. 椭球颗粒搅拌运动及混合特性的数值模拟研究. 物理学报, 2015, 64(11): 114501. doi: 10.7498/aps.64.114501
    [9] 陈勇, 郭隆德, 彭强, 陈志强, 刘卫红. 低速湍流模拟的预处理技术研究. 物理学报, 2015, 64(13): 134701. doi: 10.7498/aps.64.134701
    [10] 刘邱祖, 寇子明, 贾月梅, 吴娟, 韩振南, 张倩倩. 改性疏水固壁润湿性反转现象的格子Boltzmann方法模拟. 物理学报, 2014, 63(10): 104701. doi: 10.7498/aps.63.104701
    [11] 王新鑫, 樊丁, 黄健康, 黄勇. 双钨极耦合电弧数值模拟. 物理学报, 2013, 62(22): 228101. doi: 10.7498/aps.62.228101
    [12] 陈石, 王辉, 沈胜强, 梁刚涛. 液滴振荡模型及与数值模拟的对比. 物理学报, 2013, 62(20): 204702. doi: 10.7498/aps.62.204702
    [13] 陈峻, 范广涵, 张运炎. 选择性p型量子阱垒层掺杂在双波长发光二极管光谱调控中的作用. 物理学报, 2012, 61(8): 088502. doi: 10.7498/aps.61.088502
    [14] 柴争义, 刘芳, 朱思峰. 混沌量子克隆优化求解认知无线网络决策引擎. 物理学报, 2012, 61(2): 028801. doi: 10.7498/aps.61.028801
    [15] 赵啦啦, 刘初升, 闫俊霞, 蒋小伟, 朱艳. 不同振动模式下颗粒分离行为的数值模拟. 物理学报, 2010, 59(4): 2582-2588. doi: 10.7498/aps.59.2582
    [16] 朱昌盛, 王军伟, 王智平, 冯力. 受迫流动下的枝晶生长相场法模拟研究. 物理学报, 2010, 59(10): 7417-7423. doi: 10.7498/aps.59.7417
    [17] 蔡利兵, 王建国. 介质表面高功率微波击穿的数值模拟. 物理学报, 2009, 58(5): 3268-3273. doi: 10.7498/aps.58.3268
    [18] 王晓南, 邸洪双, 梁冰洁, 夏小明. 热连轧粗轧调宽轧制过程边角部金属流动三维数值模拟. 物理学报, 2009, 58(13): 84-S88. doi: 10.7498/aps.58.84
    [19] 张远涛, 王德真, 王艳辉. 大气压介质阻挡丝状放电时空演化数值模拟. 物理学报, 2005, 54(10): 4808-4815. doi: 10.7498/aps.54.4808
    [20] 丁伯江, 匡光力, 刘岳修, 沈慰慈, 俞家文, 石跃江. 低杂波电流驱动的数值模拟. 物理学报, 2002, 51(11): 2556-2561. doi: 10.7498/aps.51.2556
计量
  • 文章访问数:  5504
  • PDF下载量:  78
  • 被引次数: 0
出版历程
  • 收稿日期:  2022-01-14
  • 修回日期:  2022-02-20
  • 上网日期:  2022-06-15
  • 刊出日期:  2022-06-20

/

返回文章
返回