趙 越,周 領,劉德有,張永會,王家澤,曹 云,潘天文
(1.河海大學水利水電學院,江蘇 南京 210098; 2.國網新源控股有限公司白山抽水蓄能電站,吉林 吉林 132013)
在有壓管道系統中水力元件(如閥門、泵等)啟閉或啟停可能會產生危險的水錘現象,從而可能對管道產生破壞甚至造成人員傷亡等嚴重的事故,因此,水錘問題的計算分析對于管道系統的設計以及安全運行至關重要。特征線法(method of characteristics,MOC)具有簡單、準確的特點,在解決管道瞬變流問題時被廣泛應用。然而,實際工程中的管道系統常會出現不同材質的管段或支管(不同波速)、短管等問題,在采用固定網格的特征線法進行計算分析時可能需要通過改變波速或者網格長度來滿足庫朗特數條件,這就使得計算變得復雜而且可能引起較大的計算誤差。
近年來,有限體積法廣泛用于氣體動力學和淺水方程問題的模擬。在保證質量和能量守恒條件下,有限體積法對于不連續問題可提供合理的求解方案,并可有效避免虛假振蕩。Guinot[1]將有限體積法應用到水錘問題,得到了類似于帶內插特征線法的一階格式;余代廣等[2]為提高水錘計算精度,采用特征線法對摩阻項積分得到非恒定摩阻模型;Zhao等[3]在基于Godunov格式對水錘問題進行模擬時,應用Riemann求解器進行求解從而得到了一階和二階的格式;耿艷芬等[4-6]采用特征分解的格式構造出一階和二階的Godunov格式對水錘問題和淺水方程進行了分析,并基于無結構網格單元中心有限體積法對二維對流擴散方程進行離散;Yazdi等[7]將二階顯式有限體積法Godunov格式應用于水錘問題;潘存鴻[8]基于三角形網格的有限體積法建立具有空間二階精度的Godunov格式;張大偉等[9]建立了基于 Godunov格式的一維、二維潰壩水流耦合數學模型;姜曉明等[10]基于Riemann近似解格式的一維、二維水流數學模型通過堰流公式進行耦合;Hwang[11]采用二階精度格式對水錘問題進行分析;蔣明等[12]提出了一種求解管道耦合水力瞬變模型的 Godunov 計算格式;畢勝等[13]建立了Godunov格式下求解二維水流輸運方程的高精度耦合數學模型;向小華等[14]基于顯式的有限體積法以及TVD限制器構建了一維河網水流模型;Zhou等[15]通過等分控制體,并假定空穴僅出現在控制中心,實現了Godunov格式對管道內液柱分離現象的模擬分析。
本文采用Godunov格式和Riemann求解器對水錘方程進行數值求解,并提出了虛擬邊界的處理方法。基于對算例的模擬分析,驗證一階、二階Godunov格式在水錘模擬方面的準確性,研究庫朗特數等參數的敏感性,并與MOC方法的模擬結果進行對比。
描述管道水流狀態的運動方程和連續性方程[16]可以寫成矩陣的形式:
(1)
其中
式中:x為沿管軸線的距離;t為時間;H為測壓管水頭;V為管道內水流流速;a為波速;g為重力加速度;f為恒定摩阻系數;D為管道直徑。
式(1)采用Riemann問題的求解方法[17],可以近似的寫成如下形式:
(2)

有限體積法是將計算區域劃分為多個控制體來對方程進行離散,然后對每個控制體進行積分。對于第i個控制體(圖1),將式(2)沿x方向從控制邊界i-1/2到控制邊界i+1/2進行積分:
(3)
式中:fi-1/2為i-1/2界面數值通量;fi+1/2為i+1/2界面數值通量。

圖1 計算區域的離散網格
(4)
式中:Δt為時間步長;Δx為每個控制體的長度;下標n、n+1分別表示t和t+Δt時刻。
1.2.1 一階Godunov格式
每個單元控制體具有統一的物理變量值,但是在兩個單元控制體交界處的數值是間斷的。為了計算出Godunov格式中的離散通量,可采用Riemann問題的求解方法[17],具體如下:
(5)

(6)
式中:UL,n為n時刻u在i+1/2界面左側的平均值,UR,n為n時刻u在i+1/2界面右側的平均值。t∈[tn,tn+1]時刻所有控制體界面i+1/2處的通量為

(7)
其中UL,n=Ui,nUR,n=Ui+1,n
由于采用單元內變量平均分布值替代界面左右的值,因此此格式只有一階精度。
1.2.2 二階Godunov格式
采用MUSCL-Hancock方法[17]進行線性插值重構,從而獲得空間為二階精度的Godunov格式,用MUSCL-Hancock方法進行線性重構的步驟如下:
第1步數據重構。為避免二階格式在線性插值重構時出現虛假振蕩的現象,引入斜率限制器函數MINMOD(σj,n,σj-1,n):
Ui,L=Ui,n-0.5ΔxMINMOD(σj,n,σj-1,n)
(8)
Ui,R=Ui,n+0.5ΔxMINMOD(σj,n,σj-1,n)
(9)
式中:下標L表示x→xi-1/2且x>xi-1/2;下標R表示x→xi+1/2且x 第2步推進時間計算: (10) (11) 第3步Riemann問題的近似求解: (12) 將式(12)代入式(7)中即可得到二階Godunov格式在t∈[tn,tn+1]時刻所有控制體界面i+1/2處的通量。 在計算左右通量之后需要求n時刻到n+1時刻的解,對式(4)進行積分得: (13) 在有摩阻情況下采用顯式的二階龍格庫塔法: (14) (15) (16) 如果采用一階格式計算通量,則式(14)~(16)得到的格式在時間上為二階精度,在空間上為一階精度。如果采用二階格式計算通量,則式(14)~(16)得到的格式在時間和空間上均為二階精度。 時間步長應該滿足CFL收斂條件,即: (17) 式中:Cr為庫朗特數。 1.4.1 一階Godunov格式邊界處理 文獻[3]需要通過Riemann不變量方程單獨計算邊界處的通量,然后計算其他單元控制體的通量。本文提出虛擬邊界處理方法,可以使邊界和所有單元控制體的通量值統一計算,采取的模型包含上游邊界(上游水庫)以及下游邊界(末端閥門)。由式(7)可知,若想求得f1/2和fN+1/2,需要已知U0,n和UN+1,n,但是劃分控制體時只包含單元控制體1至單元控制體N,因此如圖2所示,在上游水庫入口左邊和管道末端閥門右邊分別加入虛擬單元0和虛擬單元N+1。 圖2 計算區域與虛擬網格 上游邊界: U0,n=U1/2 (18) 根據負向特征線以及Riemann不變量方程可得: (19) 下游邊界: UN+1,n=UN+1/2 (20) 根據正向特征線以及Riemann不變量方程可得: (21) 1.4.2 二階Godunov格式邊界處理 與一階Godunov格式類似,二階Godunov格式需要已知相鄰的兩個單元控制體內的數值,因此在上游水庫入口左邊和下游閥門右邊分別加入兩個虛擬單元0、-1和虛擬單元N+1、N+2(圖2)。 上游邊界: U-1,n=U0,n=U1/2 (22) 下游邊界: UN+2,n=UN+1,n=UN+1/2 (23) 其中U1/2和UN+1/2的處理方法和一階Godunov格式相同。 采用上游水庫-管道-閥門的簡化模型,管道長為1 000 m,計算區域單元數量為20,波速為a=1 000 m/s,上游水庫水位Hr=0 m,初始速度為0.05 m/s,重力加速度g=9.806 m/s2,計算時間為20.0 s,下游閥門瞬間關閉。在數值模擬過程中假定:①即使低于水體汽化壓力,也不發生液柱分離現象;②管道為無摩阻管道,則壓力計算結果衰減均為數值計算耗散(誤差)引起。 圖3 三種案例閥門處水頭變化 案例1:在初始速度V0為0.05 m/s的情況下,分別采用本文提出的虛擬邊界處理方法和文獻[3]的方法進行數值模擬,結果如圖3所示。由圖3(a)可知,雖然邊界處理的方法不同,但壓力計算曲線基本重合,說明本文提出的邊界處理方法和文獻[3]的計算精度相同,從而驗證了虛擬邊界的處理方法是準確可行的。而且文獻[3]需要通過Riemann不變量方程得到邊界處的通量值,然后將邊界與其他單元分別進行計算,而本文通過虛擬邊界的方法可以將邊界和其他單元統一計算,對于計算和編程來說都更加簡單方便。 案例2:基于MOC方法、Godunov的一階和二階格式計算Cr=1.0時閥門處的壓力水頭。由圖3(b)可知,當Cr=1.0時,Godunov的一階格式與MOC方法壓力計算結果曲線完全重合。由圖3(c)可知,當Cr=1.0時,Godunov的一階格式與二階格式壓力計算結果曲線完全重合。說明Cr=1.0時,Godunov的一階和二階格式與MOC方法壓力計算結果一致,再次驗證了Godunov格式的準確性。 案例2:基于MOC方法、Godunov的一階和二階格式計算Cr分別為0.5和0.1時閥門處的壓力水頭。由圖3(b)可知,在Cr分別為0.5和0.1時基于MOC方法與一階Godunov格式的模擬結果完全相同并發生數值耗散,而且耗散量在Cr為0.1時比Cr為0.5時更多,說明Cr<1.0時數值出現耗散情況,二者耗散量相同,并且Cr值越小耗散量越多。 由圖3(c)可知,在Cr=0.5和0.1時,一階Godunov和二階Godunov格式的模擬結果均出現數值耗散,且Cr值越小耗散量越明顯。值得注意的是,二階Godunov格式數值耗散遠小于一階Godunov格式的數值耗散,說明當Cr<1.0時,二階Godunov格式模擬結果更加穩定,具有較強的魯棒性。 綜上所述,Cr<1.0時,3種方法均出現數值耗散,Cr值越小數值耗散越嚴重;一階Godunov格式和MOC具有相同的計算精度,且均會產生較為嚴重的數值耗散,引起較大的計算誤差;二階Godunov格式能有效抑制數值耗散,具有較高的計算精度。 在一階和二階Godunov格式數值耗散相同的情況下,Cr=0.5,一階格式的單元數量為2 000,CPU計算時間為27.86 s;二階格式的單元數量為200,CPU計算時間為1.57 s。Cr=0.1時,一階格式單元數量為500,CPU計算時間為16.98 s;二階格式單元數量為50,CPU計算時間為1.36 s。上述結果說明,在計算精度相同的情況下,二階Godunov格式CPU計算時間遠小于一階格式計算時間,具有較高的計算效率。這是因為,當庫朗特數相同時,為了保證相同的計算精度(耗散量),二階格式在計算中需要劃分的單元數量比一階格式的單元數量少很多,二階格式需要很少的計算內存,因此,其計算速度快。 a. 根據Godunov格式的階數在邊界處增加相應數量的虛擬單元,使所有單元統一計算,無須在計算前單獨對邊界的數值進行處理,給水錘計算以及編程提供了方便,并且得到的模擬結果與文獻[3]采用的邊界處理方法得到的結果基本一致。這說明,本文提出的虛擬邊界處理方法既保證了計算精度又避免了繁瑣處理和計算,所以該方法可以廣泛應用于基于有限體積法Godunov格式的邊界問題的處理。 b. 分析庫朗特數對模擬結果的影響,庫朗特數Cr=1時,基于Godunov的一階和二階格式的模擬結果與MOC方法的模擬結果一致。庫朗特數Cr<1時,一階格式和MOC方法的數值耗散比二階格式更嚴重。由于二階格式進行了線性重構并且引入MINMOD函數,能夠有效抑制衰減,所以得到的模擬結果最為穩定。此外,在相同的計算精度(數值耗散)情況下,二階格式比一階格式計算效率更高。 c. 分別計算分析有無對流項對關閥水錘模擬結果的影響,在馬赫數(流速)較小時,對流項對結果幾乎無影響,可忽略不計;隨著馬赫數增大,對流項的影響變大。
1.3 時間積分


1.4 虛擬邊界

2 算例分析

2.1 模型準確性分析
2.2 參數敏感性分析
3 結 論