劉 崢,董傲霜,張 丹
(遼寧工業(yè)大學(xué) 土木建筑工程學(xué)院,遼寧 錦州 121001)
供暖系統(tǒng)水力計算是暖通工程設(shè)計中非常重要的設(shè)計環(huán)節(jié),計算結(jié)果的準確性直接影響到供暖系統(tǒng)的初投資,同時還對運行階段的供暖效果和運行能耗產(chǎn)生較大影響。因此,正確合理的水力計算在暖通設(shè)計中占有重要地位。
將供暖系統(tǒng)水力計算基于C#語言開發(fā)成計算機程序,可以很好地減輕設(shè)計人員的工作量,避免大量的繁瑣工作,并且避免了由于手工計算所產(chǎn)生的人員操作誤差。
水力計算程序主要流程圖,如圖1所示。
圖1 水力計算程序主要流程圖
熱水供暖系統(tǒng)管路水力計算的基本公式[1]:
式中:△P-計算管段的壓力損失,Pa;△Py-計算管段的沿程損失,Pa;△Pj-計算管段的局部損失,Pa;R-每米管長的沿程損失,Pa/m;l-計算管段的長度,mm。
計算每米管長的沿程損失(比摩阻)可用流體力學(xué)的達西·維斯巴赫公式:
式中:λ-管段的摩擦阻力系數(shù);d-管道內(nèi)徑,m;ν-熱媒在管道內(nèi)流速,m/s;ρ-熱媒的密度,kg/m3。
因此,求解過程演變?yōu)閷δΣ磷枇ο禂?shù)λ的計算,常見的計算方式主要有以下2種:
a.柯列勃洛克公式是規(guī)范與設(shè)計手冊推薦的計算公式:
式中:Re-雷諾數(shù);K-管壁的當量絕對粗糙度,m。
b.哈蘭德公式[2]是工程計算顯式公式:
由公式(3)可知,柯列勃洛克公式是隱函數(shù),方程等號左右同時存在λ,計算時需要反復(fù)試算或者作圖求解,如果計算管段較多,會導(dǎo)致計算量過大。國內(nèi)目前較為廣泛的做法是設(shè)計者查詢設(shè)計手冊中的水力計算表,然后通過插值運算求得該管段對應(yīng)流量下的流速與比摩阻,實際操作過程依舊較為繁瑣,且計算溫度或計算溫差與設(shè)計手冊不一致時,只能套用近似值,使用起來局限性較大。
國外為方便工程技術(shù)人員應(yīng)用,業(yè)界也經(jīng)常采用容易求解的顯函數(shù)經(jīng)驗公式,如上述的哈蘭德公式,此公式也是常見的BIM建模軟件Revit內(nèi)部預(yù)設(shè)的水力計算方法之一。哈蘭德公式與柯列勃洛克公式之間存在一定的計算偏差,因此本程序依舊采用計算相對更為精準且計算結(jié)果廣為業(yè)界承認的柯列勃洛克公式進行求解。
公式(3)中雷諾數(shù)Re的計算方法如下:
式中:γ-熱媒的運動粘滯系數(shù)。
熱媒的運動粘滯系數(shù)γ與流體的溫度存在一定的對應(yīng)關(guān)系,本程序中流體的溫度采用工程上常用熱媒平均溫度,其計算公式如下:
式中:tpj-熱媒的平均溫度,℃;tgs-熱媒的供水溫度,℃;tn-室內(nèi)供暖計算溫度,℃;ths-熱媒的回水溫度,℃。
由此可見,熱媒的供、回水溫度與室內(nèi)供暖計算溫度都會對計算結(jié)果產(chǎn)生影響。實際計算過程當中,如果不考慮上述條件,不同的熱力工況會對最終的設(shè)計管徑以及管道阻力產(chǎn)生很大的計算偏差。由于設(shè)計手冊不可能記錄所有的設(shè)計工況,因此需要在程序內(nèi)部預(yù)先設(shè)定好其對應(yīng)關(guān)系。
下列代碼即為C#語言中對于采暖熱媒密度和運動粘滯系數(shù)的選定過程:
在程序中對平均溫度數(shù)值進行取整到10位的計算,然后通過上述代碼取出對應(yīng)的熱媒密度和運動粘滯系數(shù),其中,熱媒溫度對運動粘滯系數(shù)有較大影響。
由上述可知,水力計算最大的工作量出現(xiàn)在柯列勃洛克公式的摩擦阻力系數(shù)λ求解中,因此需要解決該步驟計算量過大的問題。當Re、K/d取值在熱水供暖系統(tǒng)管路水力計算常規(guī)取值范圍內(nèi)時,摩擦阻力系數(shù)均滿足0.008≤λ≤0.08[3]。本程序采用迭代計算的方式求解λ值,從而進一步取得其他所需計算值。
下列代碼即為C#語言中對于λ值的求解過程:
一旦求解過程計算值收斂,即使用break語句退出循環(huán),加快整個程序運行效率。
在完成管道管徑、摩擦阻力系數(shù)λ、流速與比摩阻等數(shù)據(jù)計算后,采取雙擊程序計算表格控件中的局部阻力系數(shù)列,通過彈出新窗口的方式進行計算。水力計算程序主界面,如圖2所示。
圖2 水力計算程序主界面
由于局部阻力系數(shù)在手工計算中需要查詢大量表格,且對應(yīng)的數(shù)據(jù)很多均與該管段選定的管徑一一對應(yīng)。因此,在程序內(nèi)部建立相應(yīng)的計算規(guī)則,當管段管徑已由程序自動計算或由人員手工指定完畢后,局部阻力系數(shù)表的計算數(shù)據(jù)則僅顯示并計算該管徑規(guī)格之下的局部阻力系數(shù)之和,最終返回計算結(jié)果給主界面中的表格控件。局部阻力系數(shù)計算窗口,如圖3所示。
圖3 局部阻力系數(shù)計算窗口
同時,記錄設(shè)計者在各管段所選擇的阻力件,其數(shù)據(jù)返回給主界面,以便于記錄和檢查設(shè)計人員所添加的阻力件是否與該工程實際管路中情況相吻合。局部阻力件明細,如圖4所示。
圖4 局部阻力件明細表
工程計算中的計算結(jié)果需要輸出為常規(guī)Word、Excel等文檔格式,以方便技術(shù)人員進行打印裝訂,便于工程資料紙質(zhì)版文件的保存。因此,程序的計算數(shù)據(jù)保存即可分成兩個方向。第一種是以SQLite、Access等小型數(shù)據(jù)庫為依托的存檔方式,輸出文件為Word、Excel等文檔格式。第二種是存檔文件直接采用Excel格式的文件進行交互,輸出文件為Word、Excel等文檔格式。
在本程序大量的實際使用過程中,逐漸形成了使用者以第二種方式為主要的使用形式。因為第一種方式的主要問題在于,一旦存檔文件離開其使用環(huán)境后,工程技術(shù)人員就不方便再進行計算結(jié)果的查看了,因此交互性較差。而第二種方式輸出與讀取皆為同一個Excel格式的文件,無論是否存在數(shù)據(jù)庫讀取環(huán)境,只需安裝有Excel軟件即可實現(xiàn)數(shù)據(jù)計算結(jié)果的查閱和打印。
本程序通過添加引用OleDb類實現(xiàn)對Excel格式文件讀寫的技術(shù)路線,在實際使用環(huán)節(jié)中發(fā)現(xiàn)設(shè)計者有對生成的Excel格式計算書進行二次編輯的需求,在Excel格式文檔編輯結(jié)束后,再由程序重新讀取修改后的存檔再次進行計算。由于Excel格式文檔包含有.xls和.xlsx兩種格式,不同設(shè)計者的Excel版本和使用習(xí)慣均不相同,因此程序內(nèi)部需要對這兩種不同的文件格式加以區(qū)分。
下列代碼即為C#語言中對Excel存檔文件格式區(qū)分的方法[4]:
識別格式后通過創(chuàng)建new DataSet即可將文件重新讀取回來,進行再次編輯。
在暖通設(shè)計中傳統(tǒng)的水力計算工作量較大,通過計算機程序開發(fā)可以極大地提高設(shè)計效率,甚至可以將水力計算程序與CAD繪圖程序結(jié)合起來使用,更進一步地提高工作效率和計算準確性。