劉 崢,董傲霜,張 丹
(遼寧工業大學 土木建筑工程學院,遼寧 錦州 121001)
供暖系統水力計算是暖通工程設計中非常重要的設計環節,計算結果的準確性直接影響到供暖系統的初投資,同時還對運行階段的供暖效果和運行能耗產生較大影響。因此,正確合理的水力計算在暖通設計中占有重要地位。
將供暖系統水力計算基于C#語言開發成計算機程序,可以很好地減輕設計人員的工作量,避免大量的繁瑣工作,并且避免了由于手工計算所產生的人員操作誤差。
水力計算程序主要流程圖,如圖1所示。

圖1 水力計算程序主要流程圖
熱水供暖系統管路水力計算的基本公式[1]:

式中:△P-計算管段的壓力損失,Pa;△Py-計算管段的沿程損失,Pa;△Pj-計算管段的局部損失,Pa;R-每米管長的沿程損失,Pa/m;l-計算管段的長度,mm。
計算每米管長的沿程損失(比摩阻)可用流體力學的達西·維斯巴赫公式:

式中:λ-管段的摩擦阻力系數;d-管道內徑,m;ν-熱媒在管道內流速,m/s;ρ-熱媒的密度,kg/m3。
因此,求解過程演變為對摩擦阻力系數λ的計算,常見的計算方式主要有以下2種:
a.柯列勃洛克公式是規范與設計手冊推薦的計算公式:

式中:Re-雷諾數;K-管壁的當量絕對粗糙度,m。
b.哈蘭德公式[2]是工程計算顯式公式:

由公式(3)可知,柯列勃洛克公式是隱函數,方程等號左右同時存在λ,計算時需要反復試算或者作圖求解,如果計算管段較多,會導致計算量過大。國內目前較為廣泛的做法是設計者查詢設計手冊中的水力計算表,然后通過插值運算求得該管段對應流量下的流速與比摩阻,實際操作過程依舊較為繁瑣,且計算溫度或計算溫差與設計手冊不一致時,只能套用近似值,使用起來局限性較大。
國外為方便工程技術人員應用,業界也經常采用容易求解的顯函數經驗公式,如上述的哈蘭德公式,此公式也是常見的BIM建模軟件Revit內部預設的水力計算方法之一。哈蘭德公式與柯列勃洛克公式之間存在一定的計算偏差,因此本程序依舊采用計算相對更為精準且計算結果廣為業界承認的柯列勃洛克公式進行求解。
公式(3)中雷諾數Re的計算方法如下:

式中:γ-熱媒的運動粘滯系數。
熱媒的運動粘滯系數γ與流體的溫度存在一定的對應關系,本程序中流體的溫度采用工程上常用熱媒平均溫度,其計算公式如下:

式中:tpj-熱媒的平均溫度,℃;tgs-熱媒的供水溫度,℃;tn-室內供暖計算溫度,℃;ths-熱媒的回水溫度,℃。
由此可見,熱媒的供、回水溫度與室內供暖計算溫度都會對計算結果產生影響。實際計算過程當中,如果不考慮上述條件,不同的熱力工況會對最終的設計管徑以及管道阻力產生很大的計算偏差。由于設計手冊不可能記錄所有的設計工況,因此需要在程序內部預先設定好其對應關系。
下列代碼即為C#語言中對于采暖熱媒密度和運動粘滯系數的選定過程:


在程序中對平均溫度數值進行取整到10位的計算,然后通過上述代碼取出對應的熱媒密度和運動粘滯系數,其中,熱媒溫度對運動粘滯系數有較大影響。
由上述可知,水力計算最大的工作量出現在柯列勃洛克公式的摩擦阻力系數λ求解中,因此需要解決該步驟計算量過大的問題。當Re、K/d取值在熱水供暖系統管路水力計算常規取值范圍內時,摩擦阻力系數均滿足0.008≤λ≤0.08[3]。本程序采用迭代計算的方式求解λ值,從而進一步取得其他所需計算值。
下列代碼即為C#語言中對于λ值的求解過程:

一旦求解過程計算值收斂,即使用break語句退出循環,加快整個程序運行效率。
在完成管道管徑、摩擦阻力系數λ、流速與比摩阻等數據計算后,采取雙擊程序計算表格控件中的局部阻力系數列,通過彈出新窗口的方式進行計算。水力計算程序主界面,如圖2所示。

圖2 水力計算程序主界面
由于局部阻力系數在手工計算中需要查詢大量表格,且對應的數據很多均與該管段選定的管徑一一對應。因此,在程序內部建立相應的計算規則,當管段管徑已由程序自動計算或由人員手工指定完畢后,局部阻力系數表的計算數據則僅顯示并計算該管徑規格之下的局部阻力系數之和,最終返回計算結果給主界面中的表格控件。局部阻力系數計算窗口,如圖3所示。

圖3 局部阻力系數計算窗口
同時,記錄設計者在各管段所選擇的阻力件,其數據返回給主界面,以便于記錄和檢查設計人員所添加的阻力件是否與該工程實際管路中情況相吻合。局部阻力件明細,如圖4所示。

圖4 局部阻力件明細表
工程計算中的計算結果需要輸出為常規Word、Excel等文檔格式,以方便技術人員進行打印裝訂,便于工程資料紙質版文件的保存。因此,程序的計算數據保存即可分成兩個方向。第一種是以SQLite、Access等小型數據庫為依托的存檔方式,輸出文件為Word、Excel等文檔格式。第二種是存檔文件直接采用Excel格式的文件進行交互,輸出文件為Word、Excel等文檔格式。
在本程序大量的實際使用過程中,逐漸形成了使用者以第二種方式為主要的使用形式。因為第一種方式的主要問題在于,一旦存檔文件離開其使用環境后,工程技術人員就不方便再進行計算結果的查看了,因此交互性較差。而第二種方式輸出與讀取皆為同一個Excel格式的文件,無論是否存在數據庫讀取環境,只需安裝有Excel軟件即可實現數據計算結果的查閱和打印。
本程序通過添加引用OleDb類實現對Excel格式文件讀寫的技術路線,在實際使用環節中發現設計者有對生成的Excel格式計算書進行二次編輯的需求,在Excel格式文檔編輯結束后,再由程序重新讀取修改后的存檔再次進行計算。由于Excel格式文檔包含有.xls和.xlsx兩種格式,不同設計者的Excel版本和使用習慣均不相同,因此程序內部需要對這兩種不同的文件格式加以區分。
下列代碼即為C#語言中對Excel存檔文件格式區分的方法[4]:

識別格式后通過創建new DataSet即可將文件重新讀取回來,進行再次編輯。
在暖通設計中傳統的水力計算工作量較大,通過計算機程序開發可以極大地提高設計效率,甚至可以將水力計算程序與CAD繪圖程序結合起來使用,更進一步地提高工作效率和計算準確性。