劉 君, 韓 芳, 夏 冰
(大連理工大學(xué) 航空航天學(xué)院, 遼寧 大連 116024)
美國(guó)在《2030年CFD遠(yuǎn)景規(guī)劃》[1]中認(rèn)為,自適應(yīng)網(wǎng)格技術(shù)和誤差估計(jì)是復(fù)雜流動(dòng)和復(fù)雜幾何外形數(shù)值模擬的重大瓶頸技術(shù)。網(wǎng)格是計(jì)算流體力學(xué)(CFD)解決復(fù)雜外形工程應(yīng)用的關(guān)鍵,是該學(xué)科的重要內(nèi)容。在網(wǎng)格理論研究方面,除了傳統(tǒng)的生成算法外,近些年幾何守恒律(Geometric Conservation Law, GCL)問(wèn)題也受到關(guān)注。它直接影響計(jì)算結(jié)果精度,是解決“誤差估計(jì)”的基礎(chǔ)。
幾何守恒律的概念最早是Thomas和Lombard于1978年在AIAA會(huì)議上提出[2],隨后在AIAA期刊正式發(fā)表[3]。但對(duì)幾何守恒律問(wèn)題的研究,最早可見(jiàn)于1961年Trulio和Trigger的工作報(bào)告中對(duì)一維坐標(biāo)下“體積守恒(Conservation of Volume)”問(wèn)題的討論[4]。
對(duì)于笛卡爾坐標(biāo)系(t,x,y,z)的三維守恒型Euler方程:
(1)
應(yīng)用于復(fù)雜外形時(shí),需要進(jìn)行坐標(biāo)變換,在計(jì)算空間中(τ,ξ,η,ζ)形式如下:
(2)
其中:
對(duì)于流動(dòng)參數(shù)為常數(shù)的均勻流場(chǎng),以上方程變成:
(3)
這是Thomas針對(duì)有限差分法給出的微分形式的GCL方程,但未對(duì)此進(jìn)行深入討論,因?yàn)樗麄冎饕P(guān)注有限體積法在網(wǎng)格變形時(shí)涉及到的GCL問(wèn)題。對(duì)于有限體積法,基于ALE(Arbitrary Lagrange-Euler)描述下的三維Euler方程:
(4)
其中,Ω為控制體,?Ω為控制邊界,n為控制體邊界外法向向量,dσ為體積微元,ds為面積微元,xc為網(wǎng)格面的運(yùn)動(dòng)速度。把均勻流場(chǎng)參數(shù)代入,得到積分形式的GCL方程:
(5)
根據(jù)式(5),對(duì)于靜止網(wǎng)格xc=0,有限體積法不存在GCL問(wèn)題,即使是運(yùn)動(dòng)網(wǎng)格,如果沒(méi)有變形,式(5)也自動(dòng)滿(mǎn)足。國(guó)內(nèi)采用結(jié)構(gòu)網(wǎng)格與物體剛性固連運(yùn)動(dòng)開(kāi)展動(dòng)導(dǎo)數(shù)研究的文獻(xiàn)[5-8]和相關(guān)學(xué)術(shù)專(zhuān)著[9]采納了以上結(jié)論。但是,從本文推導(dǎo)來(lái)看,這種結(jié)論僅對(duì)梯度重構(gòu)界面通量的有限體積法成立,對(duì)于采用有限差分法重構(gòu)界面通量的高精度格式不一定正確。本文后面的例子表明,所有包含有四邊形的網(wǎng)格均存在幾何參數(shù)計(jì)算不相容引入誤差的風(fēng)險(xiǎn)。
下面考察有限差分法產(chǎn)生GCL問(wèn)題的數(shù)學(xué)本質(zhì)。推導(dǎo)物理空間(t,x,y,z)的守恒控制方程變換到計(jì)算空間(τ,ξ,η,ζ)得到如下原始形式:
=UIt+FIx+GIy+HIz=0
(6)
只是在時(shí)間和空間導(dǎo)數(shù)連續(xù)條件下,使用了式(3)及以下恒等式:
(7)
從理論上講,帶有源項(xiàng)的方程(6)才是原始方程(1)的等價(jià)形式,但坐標(biāo)變換系數(shù)大多采用網(wǎng)格位置的差分來(lái)近似求解,此時(shí)恒等式(3)和式(7)可能不成立,在這種情況下方程(2)與方程(1)不等價(jià),把它作為曲線(xiàn)坐標(biāo)系下的等價(jià)形式進(jìn)行CFD計(jì)算,得到的數(shù)值解必然存在誤差。研究GCL算法的目的是消除由于幾何參數(shù)計(jì)算引起的誤差。
在GCL研究領(lǐng)域,把涉及網(wǎng)格變形和時(shí)間導(dǎo)數(shù)的式(3)稱(chēng)為體積守恒律,把僅有空間導(dǎo)數(shù)的式(7)稱(chēng)為面積守恒律[10]。動(dòng)網(wǎng)格和靜網(wǎng)格均須考慮面積守恒律,這點(diǎn)已受到廣泛關(guān)注,亦是目前GCL研究的主要內(nèi)容。下面對(duì)相關(guān)研究文獻(xiàn)進(jìn)行綜述。
有限差分法GCL研究可以追溯到CFD應(yīng)用于復(fù)雜外形流場(chǎng)模擬的初期。1977年Steger[11]采用二階中心格式來(lái)計(jì)算坐標(biāo)變換系數(shù),發(fā)現(xiàn)即使對(duì)均勻來(lái)流也存在質(zhì)量不守恒的現(xiàn)象,后來(lái)Hindman[12-13]等人進(jìn)一步給出了這種誤差導(dǎo)致非物理解、引起數(shù)值振蕩的算例。此后,1978年Steger和Pulliam[14]采用一種加權(quán)平均算法計(jì)算坐標(biāo)變換系數(shù),解決了二階中心格式離散流動(dòng)方程時(shí)遇到的GCL問(wèn)題。隨著高精度格式進(jìn)入實(shí)用階段,人們發(fā)現(xiàn)Steger的算法難以推廣,GCL問(wèn)題重新引起重視。
2002年Visbal和Gaitonde[15]采用與流動(dòng)方程相同的高階離散格式計(jì)算坐標(biāo)變換系數(shù),成功解決了高階緊致格式(CS)的GCL問(wèn)題。2010年Nonomura等人把Visbal[16]的算法推廣到WCNS格式,但是在應(yīng)用于WENO格式時(shí)遇到難題,最后通過(guò)修改WENO格式來(lái)迎合GCL[17-18]。2011年,為解決緊致類(lèi)格式的GCL問(wèn)題,鄧小剛分析了構(gòu)建GCL算法的充分條件,提出坐標(biāo)變換系數(shù)的守恒算法(Conservative Metric Method: CMM)[19],并證明Steger等人的算法是CMM的二階精度特例,Visbal等人的算法是 CMM的高階精度應(yīng)用例證,并于2013年從計(jì)算幾何學(xué)角度提出坐標(biāo)變換系數(shù)計(jì)算結(jié)果唯一的對(duì)稱(chēng)守恒算法(Symmetrical Conservative Metric Method, SCMM)[20]。下面對(duì)這一算法簡(jiǎn)單介紹。
(8)
理論上導(dǎo)數(shù)乘積滿(mǎn)足交換律:yηzζ=zζyη,差商離散以后交換律不再成立。為解決這個(gè)離散過(guò)程產(chǎn)生出來(lái)的問(wèn)題,Steger等人和Thomas等人引入算子δ3構(gòu)造對(duì)稱(chēng)算法,例如導(dǎo)數(shù)yηzζ的差商采用
(9)
(10)
(11)
同時(shí)還有對(duì)J-1的計(jì)算要求,這里不再詳述。由于緊致格式可寫(xiě)成若干中心格式的組合,因此,按照上面離散坐標(biāo)變換系數(shù)的高階格式可以表示為幾個(gè)矢量面積的線(xiàn)性組合,很容易將SCMM推廣到高階精度緊致格式。但是對(duì)于其它不滿(mǎn)足以上算子條件的高精度格式,很難應(yīng)用。
關(guān)于有限差分下的體積守恒律問(wèn)題,Abe[21-22]等人借鑒Zhang[28]等人在有限體積框架下對(duì)GCL問(wèn)題所做的工作,通過(guò)改變與網(wǎng)格運(yùn)動(dòng)相關(guān)的坐標(biāo)變換系數(shù)的計(jì)算方式,使體積守恒律得到滿(mǎn)足。
綜上所述,有限差分法的GCL研究現(xiàn)狀是,鄧小剛等人成功地解決了面積守恒律問(wèn)題[18-19],Abe等人成功解決了體積守恒律問(wèn)題,但以上工作都是針對(duì)緊致格式等中心格式的,對(duì)其它格式缺乏普適性。
前面分析了GCL問(wèn)題的數(shù)學(xué)本質(zhì),下面通過(guò)具體實(shí)例討論在離散過(guò)程中幾何參數(shù)的誤差是如何產(chǎn)生的。以二維問(wèn)題為例,采用中心差分格式計(jì)算圖1中(i,j)點(diǎn)坐標(biāo)變換產(chǎn)生的導(dǎo)數(shù),其中Jocobi行列式為:
(12)
其余系數(shù)ξx、ξy、ηx和ηy也可以采用類(lèi)似的差分格式得到。在計(jì)算空間內(nèi)Δξ=Δη=1,內(nèi)層差分采用二階中心差分,外層考慮最簡(jiǎn)單的一階迎風(fēng)格式,對(duì)守恒律方程(6)進(jìn)行數(shù)值離散得到:
(13)
在任意曲線(xiàn)條件下難以保證Ix=0和Iy=0,如果這些參數(shù)隨空間變化產(chǎn)生的誤差不同,即使是均勻流場(chǎng)也無(wú)法維持均勻和穩(wěn)定。
(14)
對(duì)于不變形網(wǎng)格,在二維情況下三角形網(wǎng)格、三維情況下四面體網(wǎng)格,采用單元梯度來(lái)構(gòu)造二階或者更高精度的,計(jì)算過(guò)程中不涉及相鄰網(wǎng)格的幾何參數(shù),有限體積法的幾何參數(shù)計(jì)算表達(dá)式唯一且相容,不存在GCL問(wèn)題。但是對(duì)于結(jié)構(gòu)網(wǎng)格基礎(chǔ)上的有限體積法,通過(guò)式(13)可以看出,如果沿用有限差分法,采用擴(kuò)展模板的方法來(lái)構(gòu)造高精度格式,同樣存在不滿(mǎn)足GCL的風(fēng)險(xiǎn),因此,前述文獻(xiàn)關(guān)于“不變形結(jié)構(gòu)網(wǎng)格不存在GCL問(wèn)題”的結(jié)論值得進(jìn)一步討論。
近兩年國(guó)內(nèi)學(xué)者在WENO格式的GCL研究方面取得進(jìn)展[29-30],給出的均勻流場(chǎng)算例結(jié)果誤差曲線(xiàn)不能保持直線(xiàn),計(jì)算初期變化明顯,后期增長(zhǎng)變緩。從研究思路看,和SCMM類(lèi)似,采用調(diào)整坐標(biāo)變換系數(shù)的算法來(lái)滿(mǎn)足GCL,同樣面臨把系數(shù)的解析值代入不一定滿(mǎn)足的問(wèn)題。
為了便于理解本文針對(duì)有限差分法建立基于修正方程的GCL補(bǔ)償算法,下面簡(jiǎn)單介紹非結(jié)構(gòu)變形網(wǎng)格的GCL算法分類(lèi)和建立GCL算法的思路。
劉君等人對(duì)非結(jié)構(gòu)變形網(wǎng)格的GCL進(jìn)行了研究[23],提出如下觀點(diǎn):GCL方程(5)是流體力學(xué)在均勻流場(chǎng)條件下的退化方程,不是理論上必須滿(mǎn)足的新約束條件,而不滿(mǎn)足GCL產(chǎn)生非物理解的機(jī)理是計(jì)算過(guò)程中體積增量與面積運(yùn)動(dòng)形成的體積不等。采用圖3所示網(wǎng)格單元來(lái)說(shuō)明。
通過(guò)以上簡(jiǎn)單模型認(rèn)識(shí)到計(jì)算過(guò)程中體積增量與面積運(yùn)動(dòng)形成體積不等是產(chǎn)生非物理解的機(jī)理,以此來(lái)考察國(guó)內(nèi)外文獻(xiàn)構(gòu)造的多種GCL算法,本質(zhì)都是修改右端項(xiàng)使得面積運(yùn)動(dòng)形成的體積等于體積增量ΔV。
2015年,Chang等人[24]對(duì)現(xiàn)有的有限體積的幾何守恒律算法進(jìn)行了分類(lèi),按照誤差消除方式的不同,分為帶源項(xiàng)的“體積約束方法(Volume Constrained Method,VCM)”和不帶源項(xiàng)的“面積約束方法(Face Constrained Method,F(xiàn)CM)”。2016年,根據(jù)選擇的修正參數(shù)的不同,劉君[25]把以上算法進(jìn)一步細(xì)分為四類(lèi):
(1) 1978年Thomas等人[1]提出的修正面積的GCL算法,引入平均面積:
(15)
這類(lèi)算法對(duì)網(wǎng)格運(yùn)動(dòng)速度沒(méi)有限制,但僅適用于兩個(gè)時(shí)間層的格式。
(2) 1995年Farhat等人[26]構(gòu)造時(shí)間二階精度隱格式(BDF2)時(shí)遇到tn-1和tn+1時(shí)刻之間多套網(wǎng)格的 GCL問(wèn)題,提出修正速度的GCL算法。為了滿(mǎn)足幾何相容,計(jì)算過(guò)程中每個(gè)時(shí)間層根據(jù)面積計(jì)算速度,推導(dǎo)過(guò)程復(fù)雜,涉及20個(gè)參數(shù),增加了計(jì)算量。后來(lái)2006年Mavriplis等人[27]研究了Farhat算法,發(fā)現(xiàn)存在參數(shù)不唯一的問(wèn)題,針對(duì)BDF2格式,有些情況下并非全都嚴(yán)格滿(mǎn)足幾何相容條件,他們提出如下網(wǎng)格運(yùn)動(dòng)速度算法:
(16)
(3) 2004年Zhang等人[28]采用時(shí)間兩層隱式格式(Crank-Nicolson格式)構(gòu)造隱式格式,提出同時(shí)修正面積和網(wǎng)格速度的算法:
(17)
(4) 2009年劉君[23]基于以上機(jī)理認(rèn)識(shí),提出修正體積的第四類(lèi)GCL算法。例如對(duì)BDF2格式,采用如下體積代替tn+1時(shí)刻方程左端項(xiàng)的幾何體積Vn+1:
(18)
也可以選擇修正其它時(shí)間層的體積。
通過(guò)以上分類(lèi)比較,可以看出前三類(lèi)GCL算法(FCM方法)的思路是修改離散方程右端項(xiàng)中的幾何參數(shù)來(lái)滿(mǎn)足方程左端項(xiàng)的體積增量,劉君提出的第四類(lèi)GCL算法(VCM方法)直接根據(jù)方程兩側(cè)的幾何參數(shù)不相容量來(lái)消除誤差。按照以上思路來(lái)分析有限差分法:
(1) 首先,微分形式的GCL方程同樣是流體力學(xué)控制方程的退化方程,不是理論上必須滿(mǎn)足的新約束條件,離散過(guò)程后幾何參數(shù)不相容是GCL的機(jī)理;
(2) SCMM算法思路是通過(guò)構(gòu)造坐標(biāo)變換系數(shù)的離散格式滿(mǎn)足相容關(guān)系式:Ix=Iy=Iz=0,以此來(lái)消除曲線(xiàn)坐標(biāo)系下方程(6)的右端項(xiàng),類(lèi)似于有限體積法前三類(lèi)GCL算法;
守恒控制方程從物理空間(t,x,y)坐標(biāo)系變換到計(jì)算空間(τ,ξ,η)坐標(biāo)系的完整形式是:
(19)
(20)
如果不能保證以上GCL恒等式成立,離散以后和原始方程(1)不等價(jià),稱(chēng)為離散近似方程。
(21)
由于坐標(biāo)變換系數(shù)和流動(dòng)參數(shù)之間不相關(guān),因此,在連續(xù)空間求導(dǎo)數(shù),得到如下關(guān)系式:
(22)
實(shí)際上從式(1)到式(2)推導(dǎo)過(guò)程中也用到式(22):
如果采用相同的算子離散,忽略高階小量后,式(22)依然成立:
(23)
下面按照這個(gè)左右兩側(cè)格式相同的原則來(lái)推導(dǎo)一階迎風(fēng)格式的通量分裂:
(24)
按照式(23)展開(kāi)計(jì)算方程(24)中的分裂格式,以其中一項(xiàng)為例:
整理后寫(xiě)為:
(25)
這樣一來(lái),補(bǔ)償源項(xiàng)以后的修正方程的一階迎風(fēng)格式可以變成如下簡(jiǎn)潔形式:
(26)
上式與原始方程的一階迎風(fēng)格式比較,只是把所有離散點(diǎn)的坐標(biāo)變換系數(shù)換成(i,j)點(diǎn)的參數(shù)。從前面對(duì)基于梯度重構(gòu)的有限體積法在靜止網(wǎng)格上沒(méi)有GCL誤差的機(jī)理分析,本文提出的基于修正方程的GCL補(bǔ)償算法,盡管初始離散中包含有相鄰點(diǎn)的坐標(biāo)變換系數(shù),但是最終形式和計(jì)算過(guò)程中不受相鄰點(diǎn)的坐標(biāo)變換系數(shù)影響,二者的思路是一致的。
(27)
由于對(duì)一階顯式時(shí)間推進(jìn)
(28)
式(27)可進(jìn)一步簡(jiǎn)化為:
(29)
以上是針對(duì)一階格式進(jìn)行推導(dǎo)的,隨后,我們針對(duì)空間二階迎風(fēng)格式及Runge-Kutta等高階時(shí)間精度格式也進(jìn)行了推導(dǎo),公式同樣成立。但尚未對(duì)隱式時(shí)間格式進(jìn)行推導(dǎo)證明。
目前大家對(duì)GCL問(wèn)題的研究大多基于高精度格式,實(shí)際上最早的GCL是為了消除均勻流場(chǎng)在曲線(xiàn)坐標(biāo)系下計(jì)算時(shí)出現(xiàn)的因網(wǎng)格計(jì)算引起的誤差問(wèn)題。因此,對(duì)GCL問(wèn)題,有效的驗(yàn)證算例應(yīng)該是均勻流場(chǎng)問(wèn)題。對(duì)于均勻流場(chǎng)問(wèn)題,流場(chǎng)參數(shù)導(dǎo)數(shù)為0,因此高精度格式和一階格式的表現(xiàn)是一樣的,如果一階格式出現(xiàn)GCL誤差,高精度格式只能減小誤差,不能消除,如果一階格式?jīng)]有出現(xiàn)GCL誤差,則證明網(wǎng)格是均勻網(wǎng)格,高精度格式也應(yīng)該沒(méi)有誤差。綜上,本文選擇采用一階格式計(jì)算均勻流場(chǎng)問(wèn)題作為驗(yàn)證算例。
上下邊界條件為固壁,左右邊界條件是基于Riemann問(wèn)題求解的進(jìn)、出口邊界。
控制方程分別采用離散近似方程式(20)與離散等價(jià)方程式(19),并分別記為方法一與方法二。兩種計(jì)算方法皆分別采用包含F(xiàn)DS及FVS在內(nèi)的AUSM、HLLC、Roe、VanLeer四種格式計(jì)算,這四種格式都是CFD常用的基礎(chǔ)格式。
(30)
Δξ=1。時(shí)間離散采用一階顯式推進(jìn),CFL=0.9,輸出時(shí)間t=1.5。計(jì)算中皆采用無(wú)量綱的物理量。
對(duì)不同馬赫數(shù)Ma,計(jì)算非均勻網(wǎng)格圖4上的均勻流場(chǎng)問(wèn)題,方法一計(jì)算結(jié)果密度誤差云圖如圖5至圖8所示,而方法二計(jì)算誤差全為0,故在此不再顯示。
由圖5至圖8可以看出,在馬赫數(shù)為0時(shí),雖然四種格式計(jì)算的誤差各不相同,但都集中在網(wǎng)格中心圓周?chē)?,因此處網(wǎng)格尺度變化最大,且正交特性最差。隨著馬赫數(shù)的增加誤差向下游傳播,直到馬赫數(shù)Ma>1,誤差沿著馬赫錐方向向下游傳播。
四種格式中,HLLC格式與Roe格式密度誤差云圖分布最為相似,這是因?yàn)檫@兩種格式都是基于近似Riemann解的思路提出的。但在進(jìn)入超聲速后,兩者的區(qū)別越來(lái)越明顯,這是因?yàn)閷?duì)Riemann問(wèn)題,Roe格式認(rèn)為間斷的左右狀態(tài)之間形成的是激波,通過(guò)構(gòu)造一個(gè)中間狀態(tài)來(lái)模擬計(jì)算;HLLC格式則認(rèn)為間斷的左右狀態(tài)之間存在接觸間斷,通過(guò)構(gòu)造兩個(gè)中間狀態(tài)來(lái)進(jìn)行計(jì)算,更能夠精確地模擬接觸間斷。
對(duì)運(yùn)動(dòng)網(wǎng)格,設(shè)計(jì)網(wǎng)格運(yùn)動(dòng)情況如圖9所示,網(wǎng)格以圖4為基準(zhǔn),如圖9所示進(jìn)行每一時(shí)間步為5°的左右旋轉(zhuǎn)周期運(yùn)動(dòng),正向最大旋轉(zhuǎn)角度為順時(shí)針旋轉(zhuǎn)30°,如圖9(a)所示,反向最大旋轉(zhuǎn)角度為逆時(shí)針旋轉(zhuǎn)30°,如圖9(b)所示。
同樣針對(duì)不同馬赫數(shù)、四種格式下方法一及方法二計(jì)算結(jié)果密度誤差絕對(duì)值的變化曲線(xiàn)如圖10所示。由于方法二計(jì)算密度誤差在四種格式下全為0,所以將四條曲線(xiàn)合為一條,以Method_2表示。
(a)Ma=0
(b)Ma=0.9
(c)Ma=1.1
(d)Ma=2.0
圖10動(dòng)網(wǎng)格下密度誤差曲線(xiàn)
Fig.10Densityerrorsvarieswithtime
圖10所示的誤差曲線(xiàn),每一時(shí)間點(diǎn)的誤差值是圖4及圖9所示區(qū)域所有點(diǎn)的誤差絕對(duì)值的平均值。由圖10可以看出,方法一在四種格式下計(jì)算動(dòng)網(wǎng)格上的均勻流,均存在誤差,其中仍然是HLLC格式與Roe格式的計(jì)算結(jié)果最為接近。然后隨著馬赫數(shù)的逐漸增大,四種格式對(duì)誤差的計(jì)算結(jié)果也逐漸靠近。但對(duì)于方法二,不論采用何種格式,誤差總為0,因此可以用Method_2一條曲線(xiàn)表示。
通過(guò)理論推導(dǎo)和數(shù)值研究,得到如下結(jié)論:
(1)由于離散條件下坐標(biāo)變換恒等式不再成立,導(dǎo)致目前CFD領(lǐng)域廣泛使用的曲線(xiàn)貼體坐標(biāo)系下基本方程與直角坐標(biāo)系下原始方程可能不等價(jià)。等價(jià)方程應(yīng)該帶有源項(xiàng),由此提出離散等價(jià)方程概念。通過(guò)分析源項(xiàng)的產(chǎn)生機(jī)理,提出離散等價(jià)方程左右兩側(cè)格式需要滿(mǎn)足的準(zhǔn)則。
(2)在準(zhǔn)則指導(dǎo)下,根據(jù)坐標(biāo)變換系數(shù)和流動(dòng)參數(shù)之間呈線(xiàn)性關(guān)系的特點(diǎn),提出新的耦合算法,并且采用算子理論進(jìn)行證明。這種從經(jīng)典CFD角度看屬于凍結(jié)系數(shù)降低精度的算法,對(duì)于離散等價(jià)方程是保持格式精度并滿(mǎn)足幾何守恒律的。
(3)一階迎風(fēng)格式數(shù)值算例表明,新的幾何守恒律算法對(duì)坐標(biāo)變換系數(shù)沒(méi)有要求,可以直接使用準(zhǔn)確的解析解,適合于FDS和FVS通量分裂格式。原則上算子理論推導(dǎo)出來(lái)的結(jié)論與具體格式無(wú)關(guān),但用于高精度格式的效果還需要驗(yàn)證。