燃氣管網水力計算程序的開發(fā)

摘 要

通過對燃氣管網拓撲結構的研究,開發(fā)了基于面向對象技術的可視化燃氣管網水力計算程序。通過實例證明,計算程序應用方便,通用性強,可以大幅提高燃氣管網水力計算的效率。

摘要:通過對燃氣管網拓撲結構的研究,開發(fā)了基于面向對象技術的可視化燃氣管網水力計算程序。通過實例證明,計算程序應用方便,通用性強,可以大幅提高燃氣管網水力計算的效率。
關鍵詞:燃氣管網;水力計算;Auto CAD接口;節(jié)點自動編號;點捕捉;線捕捉
Development of Hydraulic Calculation Program for Gas Network
ZHANG Ning,TIAN Guansan,LI Chengle,XIE Donglai
AbstractThrough the analysis of topology structure of gas network,a visual hydraulic calculation program for gas network based on object-oriented technology is developed.A case shows that the calculation program can be applied conveniently and has considerable generality,and it can greatly improve the hydraulic calculation efficiency of gas network.
Key wordsgas network;hydraulic calculation;Auto CAD interface;automatic numbering of nodes;point snapping;line snapping
    目前我國面臨能源結構的調整,越來越多的居民使用熱效率高、清潔環(huán)保的管輸天然氣。隨著西氣東輸、川氣東送、沿海LNG等項目的開展,天然氣輸配工程在城市基礎設施建設中將占據越來越重要的地位。燃氣管網水力計算是進行管網設計和運行的理論基礎,是順利完成輸配任務的保證。計算機應用技術的普及促使水力計算程序代替了傳統(tǒng)的手工平差計算。目前大多基于Windows界面利用可視化語言研制計算程序,在對話框中以表格的形式進行數據的輸入、輸出,盡管計算用時和精度與手工平差相比有了很大的進步,但是水力計算圖的拓撲結構全部抽象為數字表達,沒有根本改變與管網結構圖相分離的問題,設計人員在實際操作中很容易出錯[1]。也有利用Auto CAD的Auto LISP、VBA等二次開發(fā)技術編寫程序,在Auto CAD平臺下進行水力計算,雖然可以方便地在圖形界面下進行水力計算圖的輸入和輸出,但是其在數據處理和數值計算方面還有欠缺,功能比較單[2~4]。針對目前天然氣管網水力計算現狀,有必要開發(fā)計算精度高、通用性強、自動化程度高的可視化燃氣管網水力計算軟件。
1 燃氣管網水力計算程序的結構設計
    燃氣管網水力計算程序利用Visual C++和Fortran混合編程技術,基于Visual C++強大的圖形處理能力和人機交互功能,開發(fā)了用戶操作窗口,并結合Fortran強大的數值運算功能,研制了水力計算內核,程序在Windows操作環(huán)境下運行,用戶操作方便、快捷。
1.1 程序的數據結構
    管網數據結構是各種管網數據在記錄中的邏輯編排方式和數據文件的組織方法,反映了管網數據間的邏輯關系。燃氣管網水力計算系統(tǒng)采用數組和鏈表的數據結構。燃氣管網的屬性數據(包括管段號、起點號和坐標、終點號和坐標、管長、管徑、管材、管段流量等管段數據,節(jié)點號和坐標、節(jié)點流量、節(jié)點壓力等節(jié)點參數)采用數組的數據結構,可以方便、條理清楚地儲存和調用管網數據。管網的圖形數據(包括管段、節(jié)點、環(huán)的拓撲結構關系)采用雙向鏈表的數據結構,每一條管段作為一個鏈節(jié)按繪制順序分布在鏈表中,可以方便地進行管段的截斷、刪除、添加等操作,通過管段鏈表的依次搜索,實現對管段和節(jié)點迅速、準確地編號和查找。
1.2 程序的結構設計
    燃氣管網水力計算程序的系統(tǒng)結構見圖1。用戶通過系統(tǒng)界面上的選單欄、工具欄、單文檔界面客戶區(qū)等對系統(tǒng)進行操作,操作的執(zhí)行者為主框架類、視圖類和其他對話框類,完成燃氣管網圖形數據和屬性數據的人機對話輸入,進行管網水力計算后,計算的結果通過文檔類保存至Access數據庫或打印輸出,相應的數據保存在磁盤中,以方便下次查閱。
 

1.3 程序的功能模塊設計
    燃氣管網水力計算程序的功能模塊見圖2。管網輸入和管網組件模塊用來輸入管網的拓撲結構和管網計算參數,管網編輯和觀察模塊方便管網結構的變更和動態(tài)觀察,管網計算模塊根據計算參數對低壓或者高中壓燃氣管網進行水力計算,管網標注和計算結果模塊讀取計算結果并標注在水力計算圖上,最后通過Auto CAD自動輸出計算結果圖。
 
 
2 燃氣管網水力計算程序的功能介紹
2.1 計算數據的輸入
程序首先根據用戶選擇的管網壓力級別進入相應的程序模塊。在可視化界面由用戶利用鼠標繪制管網結構圖,在用戶點擊鼠標確定起點后,會有一條隨鼠標移動可自由伸縮的“橡皮線”幫助定位,當再次點擊鼠標確定,就繪制了連接兩點的管道,同時在管道中間繪制從起點到終點的流向三角形,在管段鏈表中建立一個鏈節(jié),狀態(tài)欄中實時顯示鼠標當前位置的橫、縱坐標以方便用戶精確繪圖。在繪制管道的同時,為了水力計算的需要,程序自動對節(jié)點進行編號[5]。正交繪制功能可以輔助用戶繪制水平或豎直管道。針對由Auto CAD繪制的大型或特大型管網圖中管段特別多、輸入管網拓撲結構圖工作量大的特點,程序利用Auto CAD的DXF文件作為數據接口,可以根據選擇的圖層、線寬、線型、顏色等管段屬性信息選擇性地自動導入管網拓撲結構圖。
    定義以管道為中心線且平行于管道的小面積矩形為線捕捉區(qū)域,以節(jié)點為圓心的小面積圓形為點捕捉區(qū)域,鼠標在上述區(qū)域內雙擊會分別彈出節(jié)點屬性和管段屬性對話框帕J,見圖3、4,為相應的節(jié)點輸入流量或壓力,為相應的管段輸入管長、管徑、管材。對于多氣源管網還需輸入氣源屬性,程序通過節(jié)點編號重排使得壓力基準點編號最大,定壓點隨基準點居后編排,便于節(jié)點方程組的求解。點捕捉和線捕捉技術實現了管網圖和數據的緊密結合,更加直觀、形象,輸入大量管段和節(jié)點參數時,很大程度上減少了輸入的差錯,提高了效率。
 

    程序具有窗口放大、縮小和平移等管網觀察功能,用戶滾動鼠標的滾輪實現管網的無級縮放,按下鼠標左鍵拖動鼠標就可方便地實現管網圖的平移。為實現某一節(jié)點或管段在管網中的迅速定位,在管段和節(jié)點查詢對話框中輸入其編號,程序即可將其移至屏幕的中心。
2.2 燃氣管網水力計算
    燃氣是多種氣體的混合物,程序可以根據其組成和溫度計算密度和運動黏度,見圖5。在進行水力計算時,需要輸入管網的水力計算參數,見圖6。各個參數說明如下:已知壓力參考點的編號和壓力值,其他節(jié)點的壓力以壓力參考點為基準,通過管段壓力降計算得出。節(jié)點流量比例系數是各個節(jié)點如圖3所示輸入的節(jié)點流量和計算時節(jié)點流量的比值,一般情況下此值取1,當進行不同流量負荷下的管網水力計算時可以取相應比值。局部阻力系數是局部阻力與沿程阻力的比例,用來計算管網壓力降。燃氣的密度和運動黏度可以通過圖5所示間接計算得到或者作為已知條件直接輸入。對于多氣源管網,定壓點數量和已知流量節(jié)點數量可以區(qū)分氣源點是已知壓力還是已知流量氣源點[7]。
 

    由Fortran語言編寫的水力計算程序讀取管網的節(jié)點和管段計算參數,采用經濟流速和管徑得出管段初設流量,利用解節(jié)點方程法對由管段壓力降、節(jié)點流量、環(huán)能量方程組成的方程組進行多次迭代求解,直到相鄰兩次的節(jié)點流量差的絕對值滿足計算精度要求為止,并依次計算各節(jié)點壓力和流量、管段流量和壓力降等水力計算結果。該方法與解環(huán)方程法和解管段方程法相比較,數據輸入量小,計算用時少,精度高[8~9]
2.3 計算結果的標注
    程序讀取水力計算結果,沿管段走向標注管徑、管長、管段的流量和壓力降,在節(jié)點處用引線標注流量和壓力,如果計算的管段壓力降是負值,則說明該管段的實際流向與初設流向相反,程序可以用背影色覆蓋管段原有流向三角形并重新繪制反方向流向三角形,自動修改不合適的管段初設流向。如果管網結構需要變更,可以通過刪除管段、打斷管段在中間增加節(jié)點、增加管段,改變管段流向,程序同時會自動對管段的相應數據進行修改并進行計算,也能夠改變管段顏色使需要重點考察的管段更加醒目。計算結果可以隨圖形保存,方便日后查閱。
    程序還具有Auto CAD輸出接口,水力計算結果和節(jié)點坐標記錄在DAT數據文件中,利用Auto CAD中Auto LISP二次開發(fā)技術,讀取上述數據文件,自動在Auto CAD中繪制管段和節(jié)點并標注計算結果,輸出水力計算結果圖。程序同時可以根據用戶選擇的圖紙?zhí)?,自動調整其縮放比例。
3 水力計算實例
    某低壓燃氣管網,已知數據如下:節(jié)點數為18,管段數為18,氣源點壓力為3000Pa,局部阻力系數為0.05,管材為鋼管,管網計算溫度為10℃,氣體密度為0.81kg/m3,運動黏度為1.27×10-5m2/s。
    圖7為燃氣管網水力計算結構,進行水力計算后在Auto CAD中自動輸出的水力計算結果標注圖見圖8。
 

4 結論
利用Visual C++開發(fā)了基于面向對象技術的可視化燃氣管網水力計算程序,利用解節(jié)點方程法對非線性節(jié)點方程組進行迭代求解,實現了管網拓撲結構圖的鼠標輸入和Auto CAD圖紙自動導入,管段節(jié)點自動編號,人機對話輸入管段和節(jié)點參數;針對管網變更所造成的管網結構變化,程序具有刪除、添加、打斷、改變顏色、流向等管段編輯功能;水力計算結果圖可隨隨Auto CAD自動輸出,真正實現了管網輸入與拓撲結構圖的緊密結合,提高了燃氣管網水力計算的效率和自動化水平。
參考文獻:
[1] 謝子超.燃氣管網設計計算程序的研制[J].煤氣與熱力,1985,5(1):33-38.
[2] 姜東琪,杜建梅,崔建華,等.燃氣管網水力計算及水力計算圖的繪制[J].煤氣與熱力,2001,21(5):453-455.
[3] 丁國玉,田貫三.AutoCAD VB(VBA)二次開發(fā)在燃氣管網水力計算中的應用[J].城市燃氣,2008(1):15-18.
[4] 魯國文,馮良.基于Auto CAD的燃氣管網水力計算和自動繪圖系統(tǒng)的研究[J].上海煤氣,2006(1):26-29.
[5] 李成樂,田貫三.燃氣管網水力計算圖節(jié)點計算機自動編號的方法[J].山東建筑工程學院學報,2005,20(4):51-54.
[6] 李成樂,田貫三.燃氣管網水力圖計算機輸入的探討[J].煤氣與熱力,2005,25(2):32-35.
[7] 張寧,解東來,田貫三,等.多氣源燃氣管網水力計算程序的開發(fā)[J].煤氣與熱力,2009,29(6):B05-B08.
[8] 田貫三,張增剛,江億.城鎮(zhèn)天然氣管網水力分析數學模型與計算方法[J].天然氣工業(yè),2002,22(3):96-98.
[9] 田貫三,劉燕,江億.燃氣管網水力計算研究[J].哈爾濱工業(yè)大學學報,2003,35(7):770-772.
 
(本文作者:張寧1 田貫三2 李成樂3 解東來1 1.華南理工大學 化學與化工學院 廣東廣州 510640;2.山東建筑大學 熱能工程學院 山東濟南 250101;3.北京航天愛銳科技有限責任公司 北京 100176)