李 廣,張小華
(三峽大學(xué) 理學(xué)院,湖北 宜昌 443002)
淺水波方程已經(jīng)被廣泛應(yīng)用于海洋和水利工程以及地球物理流,如河流、潮汐、流動(dòng)的水庫(kù)和明渠等[1],該系統(tǒng)將其描述為帶有附加源項(xiàng)的守恒律.然而對(duì)于雙曲守恒律,即使具有光滑的初始條件和邊界條件,也可能在計(jì)算域內(nèi)產(chǎn)生不連續(xù)解[2].因此,淺水波方程的數(shù)值模型需要能夠捕獲這些不連續(xù)性,DG方法是一種解決這類(lèi)問(wèn)題的適當(dāng)選擇.它具有精度高、并行效率高和易于處理邊界條件等優(yōu)點(diǎn),在計(jì)算流體力學(xué)的框架下,已經(jīng)被廣泛地應(yīng)用于空氣聲學(xué)、粒狀流、磁流體動(dòng)力學(xué)、氣象學(xué)、海洋學(xué)、湍流、粘彈性流動(dòng)、淺水建模以及天氣預(yù)報(bào)等領(lǐng)域.
最早的DG方法是由 Reed和Hill于1973年在一個(gè)報(bào)告中提出來(lái)的,并解出了與時(shí)間無(wú)關(guān)的中子輸運(yùn)線性雙曲方程[3].Cockburn和舒其望等人對(duì)其發(fā)展作出了非常重要的貢獻(xiàn),即建立了一個(gè)易于求解且與時(shí)間相關(guān)的非線性雙曲守恒律的框架[4-10].在這個(gè)框架中,時(shí)間離散使用的是高階龍格-庫(kù)塔(RK)格式,空間離散來(lái)自于有限元方法,數(shù)值通量一般使用的是Lax-Friedrichs通量,并且在時(shí)間步進(jìn)格式中的每一步后都使用一次全局變分有界(TVB)限制器.
DG方法的一個(gè)重要組成部分是基于精確或近似黎曼求解器的數(shù)值通量,同時(shí)借鑒了有限差分法和有限體積法.一般情況下,通量的定義不是唯一的,取而代之的是一個(gè)數(shù)值通量.因此,必須選取一種正確的解,我們把這個(gè)解稱為數(shù)值通量[11].通量的作用是運(yùn)用所求方程的信息流動(dòng)來(lái)保證所構(gòu)造的DG格式的穩(wěn)定性,數(shù)值通量的選取也是構(gòu)造各種DG格式的關(guān)鍵,因此必須保證數(shù)值通量是相容的.關(guān)于數(shù)值通量的另一要求是選取的通量必須是單調(diào)的,即既要對(duì)第一變量非遞減,又要對(duì)第二變量非遞增[12].在大多數(shù)研究DG的文獻(xiàn)中,Lax-Friedrichs 通量因其簡(jiǎn)單性而被廣泛使用.本文主要研究使用基于各種不同數(shù)值通量的DG法在求解一維淺水波方程中的性能,比如Lax-Friedrichs通量[12-13]、Rusanov通量[14]、Harten-Lax-van Leer通量[2,15]以及Roe通量[2].
在一維空間中考慮淺水波方程,其形式如下:
(1)
其中,h為水流深度,u為x方向上平均水深的速度,g是重力加速度,S0與Sf分別是底部床坡與斜坡摩擦,下標(biāo)t和x分別表示關(guān)于時(shí)間t和坐標(biāo)x的偏導(dǎo)數(shù).該系統(tǒng)考慮了由于底部地形和斜坡摩擦引起的源項(xiàng),還可以加入其他源項(xiàng),比如粘性應(yīng)力、科氏力、潮汐勢(shì)力和風(fēng)表面應(yīng)力等影響.先將方程(1)改寫(xiě)成如下守恒形式為
其中,U=[h,hu]T為保守變量的向量,F(xiàn)=[f1,f2]T=[hu,hu2+0.5gh2]T是通量向量,源項(xiàng)向量是S=[0,gh(S0-Sf)]T,上標(biāo)T表示矩陣的轉(zhuǎn)置.一般情況下,假定穩(wěn)態(tài)流動(dòng)的斜坡摩擦在非定常流態(tài)下是有效的,其中n為曼寧粗糙度系數(shù),于是底部與斜坡摩擦項(xiàng)可以分別近似為
(2)
對(duì)K個(gè)單元都成立, 但是方程(2)還不能用于求解整體解. 假設(shè)試驗(yàn)函數(shù)光滑但跨界面不連續(xù),對(duì)方程(2)關(guān)于空間變量分部積分,所得格式就是經(jīng)典弱形式下的節(jié)點(diǎn)DG方法
(3)
2.2.1 Lax-Friedrichs (LF)通量LF通量是DG方法和高階有限體積法最簡(jiǎn)單、應(yīng)用最廣泛的基本部分之一.然而,LF通量的數(shù)值黏性在標(biāo)量問(wèn)題的單調(diào)通量中也是最大的.其定義和最大波速度分別為
2.2.2 Rusanov(RUS)通量定義為
2.2.3 Harten-Lax-van Leer (HLL)通量Harten,Lax和Van Leer于1983年提出了HLL黎曼求解器,該求解器具有三個(gè)恒定狀態(tài),分別被兩個(gè)波隔開(kāi).淺水波方程的HLL通量為
2.2.4 ROE通量一維矩形河道淺水流動(dòng)的Roe通量函數(shù)為
Roe通量函數(shù)中的變量為
時(shí)間步長(zhǎng)被記為Δt,且Δt=tn+1-tn,則Un+1=U(t=tn+1).此處采用文獻(xiàn)[13]中的三階三步總變差遞減-龍格庫(kù)塔格式,也被稱為保強(qiáng)穩(wěn)定的龍格庫(kù)塔格式.這種格式既能夠保證高精度又能保證在時(shí)間積分過(guò)程中不會(huì)引進(jìn)額外的振蕩.因此,適用于淺水波方程的具有最優(yōu)三階精度的SSP-RK格式為
即使在初始條件是光滑的情況下,非線性守恒律的解也會(huì)出現(xiàn)不連續(xù)甚至產(chǎn)生振蕩,這給數(shù)值求解帶來(lái)了很大的困難,所以在SSP-RK時(shí)間步進(jìn)格式中每一步之后都使用一次斜率限制器是一種很好的選擇.限制器既能夠獲得高效、可靠的重建策略,又能夠獲得更好的數(shù)值解,還能節(jié)省計(jì)算成本.雖然可以在DG方法中使用多種限制器,但是對(duì)各種不同的問(wèn)題,沒(méi)有一種確切的限制器明顯優(yōu)于其他限制器[11].
2.4.1 Minmod梯度限制器(MD)梯度限制器重構(gòu)的方法是基于守恒定律的單調(diào)上游格式和分段拋物線法.為尋求一個(gè)具體修改解的局部均值以保證TVDM性質(zhì),定義minmod函數(shù)m(·)為
如果k個(gè)變量取為k個(gè)單元上解的梯度,那么當(dāng)所有梯度不同號(hào)時(shí),minmod函數(shù)將梯度設(shè)置為零,這表明一個(gè)振蕩;否則,minmod函數(shù)取為最小的梯度.
2.4.2 改進(jìn)的梯度限制器(MM)簡(jiǎn)單利用梯度限制器可能會(huì)破壞光滑區(qū)域上的高階精度,而廣義梯度限制器雖然可以改進(jìn)在解的光滑區(qū)域處的精度,但是不能克服在局部極值附近精度的損失.本文使用改進(jìn)的一種minmod梯度限制器.其處理方法是放松全局變分的衰減條件,只要求平均的全局變分有界,即TVBM條件.對(duì)此,需要稍微修改minmod函數(shù)m(·)的定義為
則滿足TVBM條件.常數(shù)M是在局部極值處二階導(dǎo)數(shù)的一個(gè)上界,一般取M=20 .
表1 DG方法計(jì)算水深h所得的L1, L2和L∞誤差
表1分別提供了基于四種不同通量的DG格式關(guān)于水深h的L1,L2和L∞誤差.將通量為“X”的DG方案表示為DG—X,例如通量為L(zhǎng)F的DG方案表示為DG—LF.當(dāng)使用梯度限制器時(shí),其他方案關(guān)于水深h的L1,L2和L∞誤差分別約是DG—LF方案的95%,96%,95%.當(dāng)使用改進(jìn)的梯度限制器時(shí),其他方案關(guān)于水深h的L1,L2和L∞分別約是DG—LF方案的91.3%,88.7%,86.2%.相比之下,當(dāng)限制器相同時(shí),使用ROE通量計(jì)算所得的誤差在所有方案中最小.
可以看出,使用改進(jìn)的梯度限制器計(jì)算出了水深h與水流速度u分別在DG—LF,DG—RUS, DG—ROE和DG—HLL方案下同一網(wǎng)格上的數(shù)值解(包含接觸不連續(xù)).可以看出,由DG—RUS, DG—HLL和DG—ROE方案計(jì)算的結(jié)果略優(yōu)于DG—LF方案.關(guān)于不連續(xù)的解,以上幾種方案的計(jì)算效果類(lèi)似.
本文系統(tǒng)地研究和比較了DG方法的四種不同數(shù)值通量,并對(duì)一維淺水波方程進(jìn)行了模擬,結(jié)果表明ROE通量和改進(jìn)的梯度限制器可能是DG方法的較好選擇.本文僅對(duì)線性三角形單元和一維平底淺水波方程進(jìn)行了測(cè)試,擴(kuò)展到非平底河床和高維淺水波方程的研究,以及與現(xiàn)有模型相結(jié)合,將是下一步的工作.
湖北文理學(xué)院學(xué)報(bào)2020年8期