毛枚良, 姜 屹, 闵耀兵,*, 朱华君, 邓小刚
(1. 中国空气动力研究与发展中心, 绵阳 621000;2.军事科学院 系统工程研究院, 北京 100082; 3.军事科学院, 北京 100091)
近年来,随着计算机浮点运算能力的逐步提升,对湍流等包含时空多尺度流动结构的精细模拟成为研究热点,针对湍流流动的分离涡模拟(DES)[1-2]、大涡模拟(LES)[3-4]以及直接数值模拟(DNS)[5-6]等较为精细的数值模拟方法得到了进一步发展和完善。精细的湍流模拟方法需要严格控制所有离散过程中的数值误差,相较于传统的二阶精度计算方法,高阶精度的计算方法具有明显优势。
高阶精度应用场景的现实强烈需求催生了一系列的高阶精度计算方法。精度最高的谱方法[7]具有理想的指数阶精度,却难以应用于复杂外形的流动模拟中,目前谱方法多用于对其他高阶精度数值计算方法的考核与验证。其他的数值方法按照其离散框架大致可以分为基于有限差分方法的、基于有限体积方法的和基于有限元方法的高阶精度计算方法,以及近年来逐渐衍生出的DG方法[8-9]、谱差分方法[10-11]以及谱体积方法[12-13]。由于离散框架的不同,不同类型的高阶精度数值方法提高计算精度的方式迥异,尤其是在多维问题中。得益于逐维离散特性,有限差分方法能以较小计算代价实现多维问题的高阶精度计算[14-15],但适应复杂几何外形的能力较弱[16]。当网格不够光滑时,高阶精度有限差分方法还存在明显的降阶问题。因此,在相当长的一段时间内,基于有限差分方法的高阶精度算法多用于绕简单外形的类似于湍流等多尺度复杂流动问题的模拟中[17-18],鲜有在复杂外形流动中成功应用的例子。近年来的研究结果表明[19-22],基于有限差分方法的高阶精度计算格式对复杂网格的适应能力较差的主要原因是有限差分方法离散框架下的几何守恒律不易满足。
有限差分方法中几何守恒律(Geometry Conservation Law, GCL)的确切定义最早由Thomas和Lombard[23-24]于1978年提出,而由于几何守恒未满足而引起的几何守恒误差最早则由Steger于1977年发现[25-26]。几何守恒律一般可以分为体积守恒律(Volume Conservation Law,VCL)和面积守恒律(Surface Conservation Law,SCL)[27],体积守恒律表征了网格运动过程中网格变换雅克比和网格运动速度之间需满足的约束关系,面积守恒律则反映了网格变换导数各分量之间需满足的约束关系。
Thomas和Lombard[23-24]在首次明确几何守恒律概念时着重关注的正是运动网格下的体积守恒律问题。在有限差分离散框架下,Thomas等[23-24]在已知网格运动速度的情况下通过求解微分型的体积守恒律方程得到网格变换雅克比,从而使得体积守恒律得以满足。但网格变换雅克比在离散后的体积应由当前网格点的位置唯一确定,Thomas等通过求解体积守恒律方程得到的数值体积与其定义之间存在相容性的问题。针对有限差分方法中运动网格的体积守恒律问题,Abe等[28-29]通过改变与网格运动相关的导数(网格运动速度)的计算方式使得体积守恒律在有限差分离散下自动满足。在有限体积离散框架下,Wang[30]和Zhang[31]通过改变网格界面运动速度的计算方式来使得体积守恒律自动满足。最近Chang等[32]还对有限体积方法中运动网格的几种体积守恒解决方案进行了较为详细的分析与比较。从解决体积守恒律问题的角度,Abe等[28-29]的解决方案与Wang[30]和Zhang[31]的方案基本思路一致,只不过分别是在有限差分和有限体积的框架下实现的。
面积守恒律反映的是各网格变换导数分量之间需满足的约束关系。早在1977年Steger[25-26]就发现,在采用传统网格变换导数算法利用二阶中心有限差分格式离散计算坐标系下的守恒律方程时会面临自由流不守恒的问题,其守恒误差是以二阶精度趋于0的。传统的网格变换导数算法会导致流场中存在着完全由计算网格引起的误差源(Hindman[33-34]将其称为几何诱导误差),容易对计算流场产生非物理的干扰,严重时还会引起数值振荡[35]导致计算过程不稳定。为了有效解决这一问题,1978年Pulliam和Steger[36-37]给出了一种加权平均的网格变换导数算法,但美中不足的是Pulliam和Steger[36-37]的加权平均方法中同时包括二阶中心差分和二阶中心插值,其在网格块边界上的应用存在困难,且不具有普适性,不能直接推广到高阶精度有限差分方法的应用中。紧随其后,1979年Thomas和Lombard[24]首次提出了网格变换导数的守恒计算形式,并指出如果网格变换导数和对流通量导数均采用二阶中心差分离散,则能满足面积守恒律。尽管Thomas和Lombard[24]的面积守恒律解决方案是针对二阶精度有限差分格式提出的,但其在解决有限差分几何守恒律问题的历史上仍具有里程碑式的意义,其工作也被后续诸多研究人员所引用[27-29, 38-40]。关于高阶精度有限差分方法中的几何守恒律问题,直到二十多年后的2002年才由Visbal和Gaitonde[38]将Thomas和Lombard[24]的解决方案推广到高阶精度的有限差分格式计算中。Visbal和Gaitonde[38]再次重申了采用网格变换导数守恒计算形式的必要性,且明确指出网格变换导数和对流项必须采用相同的高阶差分格式离散,并成功将其应用到高阶紧致有限差分格式的计算中,后续研究人员将该解决思路称之为Visbal和Gaitonde的数值方法。2010年Nonomura等[39]将Visbal和Gaitonde的数值方法[38]首先应用到WCNS[41-43]中,模拟了三角翼的绕流问题,数值计算结果表明WCNS能够很好地满足面积守恒律。同时Nonomura等[39]还研究了有限差分的WENO格式[44-45]的面积守恒特性,发现由于在计算数值通量时采用了包含网格变换导数的混合通量分裂方法,导致非线性的WENO格式难以满足面积守恒律,其对复杂网格的适应能力不如WCNS[39]。为了能够适应绕复杂构型流动的数值模拟,计算格式必须满足面积守恒律[27]。为此Nonomura[46]和Jiang[47]均对WENO格式进行了一些改进,以便能够满足面积守恒律。
2011年Deng等[40]从理论上详细分析了面积守恒律的满足条件,并给出了满足几何守恒律的充分条件(Conservative Metric Method,CMM),同时还指出Thomas和Lombard[24]的解决方案是CMM条件的一个二阶精度特例,而Visbal和Gaitonde的数值方法[38]则是CMM条件的高阶精度紧致差分格式的应用实例,并首次将几何守恒律的满足范围从内点严格地扩展到边界和临近边界的计算点上。随后,Deng等[48]从几何意义的角度给出了满足几何守恒律的对称守恒网格导数算法(Symmetrical Conservative Metric Method,SCMM),解决了网格变换导数和雅克比计算形式的唯一性问题。
本文主要介绍有限差分方法中几何守恒律问题的研究进展,重点将集中在有限差分框架下的网格变换导数和雅克比的具体离散形式和几何守恒律对数值计算结果的影响。
笛卡尔坐标系(t,x,y,z)下的一般守恒律方程的微分形式可以表述为:
其中Q为流场变量,E、F和G为关于Q的通量。为了便于在贴体结构网格中进行有限差分离散,需对守恒律方程(1)进行坐标变换。
经坐标变换(2),计算坐标系下的守恒律方程可表述为:
其中:
以及:
网格变换导数的具体表达式:
以及网格变换雅克比为:
网格运动速度的具体表达式为:
为了简化公式的表达形式,将笛卡尔坐标系下的坐标表示为矢量形式:
r=xex+yey+zez
(9)
其中矢量ex、ey和ez分别为笛卡尔坐标系下的三个不变的坐标基,x、y和z分别为矢量r在笛卡尔坐标系下三个坐标基方向上的分量。将网格变换导数(6)表示为矢量的分量形式:
则容易得到坐标变换导数(6)更为紧凑的矢量形式为:
ξ=rη×rζ,η=rζ×rξ,ζ=rξ×rη
(11)
以及网格变换雅克比(7)的紧凑表达形式:
J-1=rξ·ξ=rη·η=rζ·ζ
(12)
类似的,网格运动速度(8)也可以表述为:
对于流场变量φ和φ,在(偏)微分算子d的作用下满足:
d(φφ)=φdφ+φdφ
(14)
在微分算子(14)作用下,将网格导数表达式(6)和(8)代入式(5)中,容易得到:
It=Ix=Iy=Iz=0
(15)
则可将计算坐标系下的守恒律控制方程(3)进一步表述为:
采用有限差分方法离散守恒律控制方程(16)需满足的一个基本条件是均匀流保持:如果在计算域内给定初值为均匀来流,且计算域的所有边界也都为均匀来流边界(则流场中任意一点的变量Q、E、F和G均为常数),则数值离散守恒律控制方程(16)应该依然得到与初始值相同的均匀流。容易看出,均匀流问题本身是笛卡尔坐标系下守恒律控制方程(1)的解,同时也是计算坐标系下守恒律控制方程(16)的解。对于均匀流动问题,计算坐标系下守恒律控制方程(16)退化为:
均匀流保持要求变量Q恒为常数,即∂Q/∂τ=0对于任意的流场变量Q恒成立。方程(17)右端在微分意义下恒为0,均匀流保持要求方程(17)在有限差分离散下亦恒成立。守恒律控制方程(16)在有限差分算子离散下可以表述为:
其中δ1为有限差分求导算子,下标表示求导方向。对于均匀流问题,式(18)退化为:
其中,
上标“N”表示有限差分离散。式(20)对于任意变量Q恒成立意味着:
一般情况下,差分算子δ具有以下性质:
δ(αφ)=αδφ
δ(φ+φ)=δφ+δφ
δξ(δηφ)=δη(δξφ)
(23)
其中α为常数。值得特别指出的是:差分算子δ一般还存在如下不等式:
δ(φφ)≠φδφ+φδφ
(24)
为了满足式(21),需要采用在数学上与网格导数(6)等价的守恒计算形式(以上标“S1”表示):
将网格导数的守恒计算形式(25)离散后代入式(20)有:
考虑到差分算子的性质(23),在满足下列条件:
在数学上与网格导数(6)等价的守恒计算形式并不唯一,类似于式(25),还存在另外一种守恒计算形式(以上标“S2”表示):
式(29)还可以表述为更为紧凑的矢量形式:
在网格变换导数(6)的几种能满足几何守恒律的守恒计算形式中,本文推荐使用其对称守恒计算形式S3(29)和(30),原因在于S3能够较好反映计算网格的特性(离散后的网格变换导数表现为计算网格单元的矢量面积)。
如果网格导数(6)的所有方向上的δ2算子均为二阶中心差分时,在O点的矢量面积如图1所示。
图1 网格变换导数(6)在二阶中心差分离散下的面积示意图
在对网格导数的守恒计算形式(25)、(28)和(29)进行离散时,记其内层的差分算子为δ3,当满足如下条件时:
结合CMM条件(27)容易得到:
δ1=δ2=δ3
(32)
类似的,如果网格导数的守恒计算形式(25)、(28)和(29)的所有方向上的δ2和δ3算子均为二阶中心差分时,在O点的矢量面积分别如图2和图3所示。对于质量不佳的网格分布情况,图3所示的矢量面积能更好地反映计算网格的离散特性。
图2 网格变换导数(25)和(28)在二阶中心差分离散下的面积示意图
图3 网格变换导数(29)在二阶中心差分离散下的面积示意图
以二阶中心差分算子离散网格变换雅克比(7),其在O点的体积如图4所示。基于网格变换雅克比的矢量形式(12)给出其对称计算形式:
图4 网格变换雅克比(7)在二阶中心差分离散下的体积示意图
在二阶中心差分算子离散下,网格变换雅克比的对称计算形式(33)在O点的体积由六个部分体积组成,为叙述简洁,本文仅给出其在ξ负方向上的部分体积,如图5所示。
网格变换导数离散后表现为计算网格单元的矢量面积,网格变换雅克比离散后为网格单元的体积,且应为由矢量面积封闭包围的体积。由图4和图5可以看出,基于网格变换雅克比的定义式(7)和对称计算形式(33)离散后的体积均不能被网格变换导数离散后的矢量面积封闭和包围,据此本文给出网格变换雅克比的对称守恒计算形式:
类似的,在二阶中心差分算子离散下,网格变换雅克比的对称守恒计算形式(34)在O点的体积也由六个部分体积组成,为叙述简洁,本文仅给出其在ξ负方向上的部分体积,如图6所示。不同于图4和图5所示的体积,基于网格变换雅克比的对称守恒计算形式(34)离散后的体积可由图3所示的网格变换导数的对称守恒计算形式(29)离散后的矢量面积完全封闭和包围。
图5 网格雅克比(33)在二阶中心差分离散下的部分体积示意图
鉴于采用了网格变换导数和网格变换雅克比的对称守恒计算形式,将上述满足几何守恒律的解决方案称之为网格变换系数的对称守恒计算方法[48](Symmetrical Conservative Metric Method,SCMM),其详细叙述如下:
(1) 网格变换导数采用其对称守恒计算形式S3(29)或(30);
(2) 网格变换雅克比采用其对称守恒计算形式(34);
(3) 方程(18)中通量差分算子和网格变换雅克比对称守恒计算形式(34)的外层差分算子δ1、网格变换导数的对称守恒计算形式(29)中外层差分算子δ2以及其内层差分算子δ3在同一计算坐标方向上完全相同,即同时满足条件(27)和(31)。
对称守恒网格导数算法(SCMM)是有限差分方法满足几何守恒律的充分条件,与网格质量无关。还可以进一步证明,在SCMM条件下采用高阶精度有限差分格式离散的网格变换导数和雅克比是若干个二阶精度格式离散值的线性组合[49-50]。
将结构网格技术应用于绕复杂构型的流动模拟时,单块网格的适应能力极其有限,需要采用多块对接结构网格技术。高阶精度有限差分方法对数值误差的严格控制决定了其对网格对接边界的处理方法的要求更为苛刻,因此发展了一种能够满足几何守恒律的特征对接边界处理技术[51]。
对于静止网格而言,将计算坐标系下的守恒律控制方程(16)中空间导数项归类写为:
经过系列特征分析[51],在网格对接边界两端(下标L和R)的离散方程可以分别表述为:
其中:
λi为网格对接方向上的特征值,PQV为守恒变量对特征变量的导数矩阵,其在计算坐标系下的详细表达形式可参见Kim和Lee关于广义特征边界条件的文章[52]。
如果方程(35)中的右端项还存在黏性耗散项,则在对接边界处的黏性项取其左右值的平均:
在上述离散下可以证明,QL和QR在数学上严格相等。在进行时间推进后将对边界上的流场变量Q取为左右值的算术平均以消除数值计算过程中舍入误差的影响:
基于上述特征对接边界处理技术和满足几何守恒律的WCNS-E-5格式,完成了若干复杂拓扑结构的对接网格算例,其中30P-30N三段翼的流动模拟结果如图7所示。
图7 30P-30N三段翼数值模拟结果(左:网格;右:压力)
由图7所示的流场等值线可以看出,即使网格对接不太光滑,由于采用了能够满足几何守恒律的特征对接边界处理技术,数值方法在边界附近也能保持精度不降,流场在对接边界附近也比较光滑(对接面两侧网格的粗细程度相差不大时)。
众所周知,高阶精度有限差分格式可以成功应用于简单几何外形流动的精细模拟,但在复杂几何外形上的应用却遇到了很大的困难。我们认为其根本原因是复杂几何外形的网格质量难以满足高阶精度差分格式的要求。由此出发,我们开展了非充分光滑网格下,几何守恒律误差对数值计算结果精度影响的理论分析工作[53]。
以二维情况下流场变量u对笛卡尔坐标x的导数∂u/∂x为例说明:
其在有限差分格式离散下的数值解∂uN/∂x可表述为:
其中网格变换雅克比在二维情况下的对称守恒计算形式为:
如果计算网格为M阶连续,不妨设网格坐标y对计算坐标系ξ方向的导数为M阶连续,即:
其余网格导数均足够光滑。通过Taylor展开,在N阶精度有限差分格式离散下,当几何守恒律不满足(δ1≠δ2)时,数值解的精度为:
(44)
(45)
为了验证几何守恒律误差对计算精度的影响,采用三角函数生成不同连续程度的网格[53-54],三角函数的指数n代表网格波动的连续程度,如图8所示。
图8 网格波动示意图
给定解析初场及其导数:
(46)
采用四阶中心差分格式计算得到导数∂uN/∂x,给出其相对于解析导数(46)的数值误差,逐步加密网格,其统计误差L∞范数的数值精度表现如图9所示。
图9 数值误差
通过图9所示的不同连续程度的网格下的数值精度可以看出,当计算网格不是足够光滑时,几何守恒律的满足能够有效提升数值解的离散精度,其数值精度相较于几何守恒律不满足时要高出一阶精度,同理论分析结论一致[53]。
采用高阶精度有限差分格式(HDCS)模拟对数值误差敏感的双圆柱散射问题,在同一时刻的脉动压力均方根如图10所示。
图10 脉动压力均方根云图
从图10可以看出,如果几何守恒律满足,声场光滑合理;如果几何守恒律不满足,声场会被几何守恒律误差所污染。σ较小时(σ≤1×10-3),污染主要集中在网格质量不佳的奇点附近;σ越大,声场被污染得越严重,σ>1×10-2时,整个声场都被污染,σ=1时声场已被严重污染而导致计算过程的不稳定。
通过对双圆柱散射问题的数值模拟,验证了几何守恒律对高阶精度有限差分格式计算的重要影响。当网格质量不佳时,由于几何守恒律不满足而引起的网格离散误差可能对流场产生比较明显的污染,严重时还可能引起计算过程的不稳定和计算结果的发散。几何守恒律的满足能够大幅提升高阶精度有限差分格式在复杂网格计算中的适应能力,计算结果也更为可信。
以实现高阶精度有限差分数值方法在绕复杂构型流动中的应用为目标,综合运用理论分析和数值验证手段,比较系统地研究了结构网格中高阶精度有限差分方法的几何守恒律问题,得到以下认识:
1) 满足几何守恒律的充分条件表明,不是所有的有限差分算子都能较为方便地满足几何守恒律,而邓小刚等提出的系列WCNS格式对于满足几何守恒律具有明显优势。
2) SCMM条件是满足几何守恒律的充分条件,同时网格变换导数和雅克比均采用其对称守恒计算形式,具有唯一性。基于SCMM条件离散的矢量面积(由网格变换导数分量组成)完全封闭,网格变换雅克比离散后体积恰好由矢量面积所围成,更符合计算网格的几何意义。
3) 自由流保持只是满足几何守恒律的一种表现形式,是几何守恒律满足的必要条件,而非充分条件。严格来讲,几何守恒律的本质含义应当包括矢量面积完全封闭、体积由矢量面积围成和确定以及在网格运动过程中依然维持上述关系等。在静止网格中SCMM条件能够完全满足几何守恒律。
4) 几何守恒律的满足能够有效提高高阶精度有限差分格式在质量欠佳网格中的计算精度,同时还能大幅提升高阶精度格式在复杂网格中的计算稳定性。
在下一步工作中,我们将继续完善几何守恒律的相关理论,同时重点开展几何守恒律研究成果的应用工作,如指导高阶精度有限差分格式的构造[55,57]、结构网格质量的检测等,以继续提升高阶精度有限差分算法在绕复杂构型流动数值模拟的应用能力。