孫 科,郭佳男,劉 濤
(中國飛行試驗研究院,西安 710089)
流體網絡是一種廣泛應用的計算方法,其將系統簡化由各元件相連組成的網絡,其中元件的計算方法一般來源于理論推導或者數值模擬、大量試驗數據。形成流體網絡計算程序是對已有工作很好的總結,將其應用于工程設計,具有計算快速、結果準確等特點。
國內外學者應用流體網絡法進行了廣泛研究。RR公司采用流體網絡法對斯貝MK202發動機空氣系統進行了詳細計算;劉松齡對發動機冷卻空氣系統的工程計算方法及流體網絡的求解方法進行了詳細描述,對流體網絡系統中的元件及其進、出口進行編號;吳丁毅介紹了流體網絡算法,同樣對相應元件及進、出口進行編號;文獻[4-6]將流體網絡法應用于航空發動機空氣系統中;胡肖肖等采用蒙特卡羅法求解發動機空氣系統。孫科等采用流體網絡法求解高壓壓氣機級間封嚴結構的泄漏、風阻溫升特性;Benra等應用流體網絡法針對預旋空氣系統進行了研究;呂亞國等設計了一種航空發動機空氣系統通用分析軟件,并對某航空發動機內流空氣系統進行了計算分析,獲得了空氣壓力和溫度分布以及各支路的流量分配;潘耘峰將空氣網絡模型應用于燃氣輪機透平冷卻空氣系統;陸霄露提出了內燃機1維流動計算方法;周克峰采用壓力修正法求解了高溫氣冷堆模擬機的熱工水力過程;梁璇璣等建立了成品油官網的流體網絡模型;王思瑩將流體網絡法應用于供熱系統水力計算中。
以上研究多集中于流體網絡系統求解及元件計算方法,而對系統在計算機中的數據結構表達方式方面,文獻[2-3]對流體網絡中元件及進、出口編號進行了說明,且均采用數組存儲編號,而這種數據結構在使用時使得輸入繁雜,有必要對這種原理簡單但工作量大的表達方法進行改進。
本文采用新型數據結構在計算機中表示流體網絡系統,在計算人員輸入參數、程序調試等方面都有較大改進提升。
在傳統流體網絡模型的數據結構中,采用對元件進出口節點編號的形式構建整個網絡。其中相鄰的2個元件,上游元件的出口節點編號與下游元件的進口節點編號保持一致的方式,表達這2個元件的有向連接方式。對各元件也按照由小到大的順序,依次編號。應用這種數據結構,對各個元件及其進出口節點編號是1項較繁重的工作,如果對網絡進行調整,增加或減少元件時,需要對一些元件及節點的編號進行重新定義,工作同樣較為繁重。因此設計了一種二元有向圖-雙向鏈表-繼承類元素的數據結構。
將整個流體網絡分解為各分支,在分支中流體從1個元件流出只能流入到另一個惟一元件,且通過各元件的流量相等。使用二元有向圖表達網絡的整體結構,將一個個分支有向連接起來。簡單的流體網絡如圖1所示,其中分支與分支間有向連接。

圖1 簡易流體網絡
圖中所示的二元有向圖可用2維整形數組表示(見表1),用數組元素[][]=1表達分支+1到分支+1間存在的有向連接關系,這個數組稱為鄰接矩陣,是網絡最頂層的數據結構。在具體構建鄰接矩陣時只需將少量的具有連接關系的元素值設置為1,其余大量的數組元素為0,簡單快捷。

表1 網絡鄰接矩陣A[i][j]
分支由一個個獨立的元件組成,其中元件與元件間存在線性連接關系,本文使用雙向鏈表表達分支結構,1個簡易的分支如圖2所示。其中各元件有pnext和plast2個指針,pnext指向下游相鄰元件,plast指向上游相鄰元件。網絡中有多少個元件,即分配相應的空間,有效節省計算機內存。程序中依次對相鄰的元件進行計算,在程序調試的監視窗口中,指針指向上下游元件,則只需單擊該指針即可方便顯示上下游相鄰元件,方便查看元件計算參數。

圖2 分支數據結構
從圖中可見指向上游相鄰元件的指針plast及指向下游相鄰元件的指針pnext,在監視窗口中點擊pnext及plast即可查看相鄰元件中的相關參數。在傳統數據結構中,當程序調試需要查看元件參數時,則要在監視窗口中添加相應的參數。
分支中存在不同類型的元素,而采用鏈表只能將數據類型一致的元件連接起來。對此采用一種升級的鏈表方式,應用面向對象編程,專門定義了標準類(Standard Class),各類元件模型由標準類繼承得到(如圖3所示),從標準類中繼承出管元件類(Tube)及損失元件類(Partloss)等。標準類中定義了元件的計算函數(Cal_element)及各重要的參數:進口壓力(Pin)、出口壓力(P-out)、進口溫度(T-in)、出口溫度(T-out)等;管元件中增加定義了管長(Tube length)、管徑(Diameter)等參數;損失元件類中增加定義了面積(Area)、損失系數(Loss Coefficient)等參數。

圖3 標準類及繼承類
在繼承類即各元件類中具體實現各自計算函數,因不同元件類具有相同的成員函數名Cal_element(),因而在代碼編寫過程中可應用1條代碼實現不同元素計算函數調用,而在原有數據結構下的程序中需要對每類元件定義相應的計算函數,如Cal_element_1()表示第1類元件的計算函數,Cal_element_2()表示第2類元件的計算函數。在新型數據結構下元件類型擴展時也無需增加代碼。比如管元件的計算函數為微元長度的管元件進口與出口的總壓差

式中:為氣體總壓;為氣體總溫;為絕熱指數;為靜壓;為密度;為摩阻系數;為管截面積;為氣體流量;為管微元長度;為水利直徑。
計算函數中摩阻系數在不同流動狀態和管壁粗糙度下有不同取值,通過典型流體力學實驗得到。在雷諾數較低時,即流速較小、管徑較小、黏度較大時常為層流狀態。本文中摩阻系數為

式中:為氣流速度;為流體的動力黏度。
閥門元件也有專門的計算函數,其中的流動存在阻塞流和非阻塞流2種狀態,由閥門前后壓差比決定,為閥門壓降Δ與入口壓力之比。當≥時,出現阻塞流;當<時,為非阻塞流。其中為臨界壓差比,對于特定的閥門,當產生阻塞流時,其壓差比是固定常數,對本文所用的球閥取0.75;為比熱比系數,對于空氣=1,對非空氣介質=/1.4。
對于阻塞流,進口總壓為

式中:=/,為氣體標準狀態下的體積流量,為氣體質量流量,為氣體標準狀態下的密度;為閥門的流量系數,定義是溫度為5~40℃的水在10Pa壓降下,1 h內流過閥的水量(m);為閥門入口的絕對溫度;為氣體的相對密度;為壓縮系數;為絕熱指數。
當出現阻塞流時,進口總壓為

進行流體網絡計算前,需對閥門特性-流量系數進行研究,對閥門前后氣流壓力、流量進行測量。在試驗過程中閥門工作時閥前壓力為297595.84 Pa,閥后壓力為276277.06 Pa,流量為1.11 kg/s,氣流溫度為480.15 K。由式(4)計算得到閥門的流量系數為645.482,將其寫入閥門計算函數中。
某型發動機起動機為空氣渦輪,試車臺中使用氣源車為其供應高壓氣體,針對該系統建立流體網絡模型,如圖4所示。該模型中共有1個進口,1個出口,共有13個元件,分別為~。因由高壓氣源車供氣,壓力相對穩定,可視為流體網絡系統的入口,高壓氣通過與氣源車相連的管路為起動機供應氣體,因此在該系統的流體網絡計算模型中,最關鍵元件為管元件。閥門(Value)作為調控流量的工具,也是非常重要的元件,其通過調節開度(Opening)控制系統。另外管路系統中還有拐彎(bend)、突縮(sudden contraction)、突擴(sudden expansion)等,因而還有損失元件。

圖4 供氣系統流體網絡模型
以該流體網絡為例,解釋新型流體網絡數據結構的優勢。例如,因初次建模未考慮高壓氣源車氣罐與閥門間的突縮損失,如需在此加入1個損失元件,只需將新加入元件參數在管元件參數前寫入輸入文件中。而原有數據結構因對每個元件及元件的進、出口進行了編號,定義其之間上下游順序,在此加入新元件需要把下游元件(Number of element)及進、出口編號(Inlet node number/Outlet node number)進行更改。此例中除需要將損失元件自有參數輸入外,還需對下游12個元件編號及這些元件的進、出口共12個節點的編號進行更改。在模型(圖5)中,因采用新型數據結構,無需定義元件的進、出口節點編號使得計算機自動識別元件有向連接,而直接通過鏈表將元件連接,方便輸入文件的編寫。該模型較為簡單,在一些復雜網絡模型中,新型數據結構在網絡輸入文件方面將體現更大的優勢。
該供氣系統為空氣起動機供應壓縮氣體,因而該系統出口壓力、溫度較為重要。在計算中出口壓力取起動機所需壓力值,通過流體網絡計算得到該系統的流量,以及各元件進、出口(即各中間節點)的壓力和溫度值。從而判斷流量是否滿足起動機所需。該流體網絡的沿程壓力計算結果如圖5所示,并見表2。圖中展示了無量綱壓力即沿程各點壓力與入口壓力的比值隨氣流流向下游時的變化。流量計算結果與試驗結果的比值為1.02,即計算結果的偏差為2%,可滿足工程計算精度需要。

圖5 流體網絡的沿程壓力計算結果

表2 流體網絡的沿程壓力計算結果
(1)將數據結構應用于某供氣系統流體網絡模型,初次建模有1個進口、1個出口、12個元件,修正模型時,需在進口與原1號元件之間增加1個元件,新型數據結構只需在原1號元件前輸入損失系數、截面積等屬性參數,而原有數據結構除需要將屬性參數寫入輸入文本文件外,還需將原12個元件及12個元件的12個進口節點編號進行更改。對該流體網絡進行計算,得到沿程各點的壓力及系統流量,并與試驗結果進行對比,偏差為2%。
(2)在新型數據結構中,各元件間通過指針將其連接,分支定義為1個雙向鏈表,計算時依次對相鄰元件進行計算,在調試的監控窗口里查看相關參數,計算完1個元件時,只需單擊其指針元素就可以查看下一個元件的計算參數。
(3)各元件類由標準類繼承而來,不同元件的計算函數名統一為標準類的函數成員,在程序代碼的編寫中,無需對元件進行區分,只需寫1條代碼可代表所有元件的計算函數,在對元件庫進行擴充時,也無需對此進行修改。