李云,馬慧俊
(浙江省建筑設(shè)計研究院,杭州 310006)
減壓孔板是一種對流體動壓力進(jìn)行減壓的裝置,在民用建筑消防設(shè)計中被廣泛使用。GB 50974—2014《消防給水及消火栓系統(tǒng)技術(shù)規(guī)范》[1]中7.4.12條規(guī)定:消火栓栓口動壓力不應(yīng)大于0.50 MPa;當(dāng)大于0.70 MPa時必須設(shè)置減壓裝置。GB 50084—2017《自動噴水滅火系統(tǒng)設(shè)計規(guī)范》[2]中8.0.7條規(guī)定:配水管道的布置,應(yīng)使配水管入口的壓力均衡。輕危險級、中危險級場所中各配水管入口壓力均不宜大于0.40 MPa。為滿足上述條文要求,在目前的工程設(shè)計中,尤其是高層建筑的設(shè)計,在某一消防系統(tǒng)分區(qū)的低樓層部位常需采用大量的減壓孔板[3],以抵消系統(tǒng)中的超壓。減壓孔板的選取以孔口直徑大小為參照,而孔口直徑計算公式復(fù)雜,非常規(guī)計算過程能夠求解,工程設(shè)計中常使用第三方軟件或Excel迭代計算,有些操作略顯繁瑣。
Python是一種解釋型、面向?qū)ο蟆討B(tài)數(shù)據(jù)類型的交互式高級程序設(shè)計語言,目前已被應(yīng)用于Web開發(fā)、軟件開發(fā)、人工智能、科學(xué)計算和統(tǒng)計等諸多領(lǐng)域。Python簡單易用、學(xué)習(xí)成本低,也越來越被非計算機專業(yè)背景的人所接受和應(yīng)用。
減壓孔板的正確設(shè)置與計算,是消防設(shè)計中的一項重要內(nèi)容,因此本文針對減壓孔板的計算難點,結(jié)合Python編程的計算功能,編程實現(xiàn)減壓孔板孔口直徑的快速計算。
GB 50974—2014中10.3.1條 及GB 50084—2017中9.3章節(jié)對減壓孔板的設(shè)置作出了詳細(xì)的要求,要點如下:①應(yīng)設(shè)在直徑不小于50 mm的水平直管段上,前后管段的長度均不宜小于該管段直徑的5倍;②孔口直徑不應(yīng)小于設(shè)置管道直徑的30%,且不應(yīng)小于20 mm;③應(yīng)采用不銹鋼板材制作。同時,規(guī)范要求減壓孔板的水頭損失[2]按下式計算:
式中:Hk為減壓孔板的水頭損失,10-2MPa;Vk為減壓孔板后管道內(nèi)水的平均流速,m/s;g為重力加速度,m/s2;ξ為減壓孔板的局部阻力系數(shù);dk為減壓孔板的孔口計算內(nèi)徑,mm;dj為管道的內(nèi)徑,mm。
從公式可知,dk和dj對水頭損失影響較大。目前,不同規(guī)范中對dk的取值存在矛盾之處,在GB 50084—2017中是按減壓孔板孔口直徑確定,而GB 50974—2014中規(guī)定按孔口直徑減1 mm確定,考慮到孔板孔口對流體截面的影響[4-5],建議按GB 50974—2014的取值方式為宜(本文中也是按此取值方式計算減壓孔板孔口直徑)。
為正確編程計算,須分析減壓孔板水頭損失的公式特點。以管徑為DN 150 mm、流量為40 L/s繪制dk—Hk曲線,見圖1。在dk變化時,Hk隨dk的遞增而單調(diào)遞減,即一定的水頭損失下減壓孔板的孔口直徑是唯一值,這也為Python計算提供了理論條件。
圖1 減壓孔板水頭損失的d k—H k曲線Fig.1 Head loss d k—H k curve of pressure reducing pore plate
1.2.1 編程原理
Python編程可充分利用計算機強大的計算能力,對減壓孔板的水頭損失公式以dk為未知數(shù)作多次迭代,從而求得合適的孔口直徑。
對減壓孔板水頭損失公式作如下調(diào)整:
式中:△h為減壓孔板水頭損失與目標(biāo)減壓值的差,10-2MPa;h為目標(biāo)減壓值,10-2MPa;其余參數(shù)同減壓孔板水頭損失公式。
根據(jù)GB 50974—2014中10.3.1條規(guī)定的減壓孔板設(shè)置要點,以dk=20 mm為起始值,并以0.1 mm為遞增值迭代計算上式,△h=0時dk將有唯一解。為滿足工程計算精度需要,設(shè)定當(dāng)△h<0第一次出現(xiàn)時停止迭代運算,此時的dk值就是所求的減壓孔板孔口計算內(nèi)徑,另附加1 mm即為減壓孔板孔口直徑。
1.2.2 編程代碼
運行該程序,可以實現(xiàn)自動計算目標(biāo)減壓值下的減壓孔板孔口直徑。在消防設(shè)計中,偶爾會出現(xiàn)目標(biāo)減壓值較大,此時計算出的減壓孔板孔口直徑偏小,即不滿足GB 50974—2014中10.3.1條的要求“孔口直徑不應(yīng)小于設(shè)置管段直徑的30%”,需要設(shè)置多組減壓孔板串聯(lián)以滿足減壓要求。為減少該情況出現(xiàn)時的多次輸入?yún)?shù)操作,將目標(biāo)減壓值均勻分配于每一個減壓孔板,對程序代碼進(jìn)一步優(yōu)化,以期實現(xiàn)程序能自動匹配出合適的減壓孔板個數(shù)并計算出每個減壓孔板的孔口直徑,代碼如下:
運行上述代碼,程序會反復(fù)迭代計算,在滿足目標(biāo)減壓值的前提下匹配出最少的減壓孔板數(shù)量,并計算出每個孔板的孔口直徑。
本文以2組試驗參數(shù)檢驗程序的運行,試驗參數(shù)分別為:①管徑為DN 150 mm,流量為40 L/s,目標(biāo)減壓水頭為10 m;②管徑為DN 150 mm,流量為40 L/s,目標(biāo)減壓水頭為100 m,運行結(jié)果見圖2。
圖2 2組試驗參數(shù)的程序運行結(jié)果Fig.2 Running results of two group test parameters
另外,將試驗參數(shù)同時用于某軟件計算及Excel計算中,Python編程計算結(jié)果同二者的對比見表1。
表1 不同計算途徑下的減壓孔板孔口直徑比較Tab.1 Comparison of pressure reducing pore plate orifice diameters obtained with different calculation methods
Python編程計算結(jié)果與其他2種計算方式的結(jié)果無明顯差異,細(xì)微的差值(約1mm)應(yīng)該是減壓孔板計算內(nèi)徑取值方式及計算精度不同所致。通過外部驗證其他2種計算方式的結(jié)果,證明了Python編程計算方式的可靠性;另外,以Python程序計算的孔口直徑反向驗算減壓孔板的水頭損失,其值與目標(biāo)減壓水頭一致,同樣證明該程序符合計算要求。
將減壓孔板孔口直徑計算程序發(fā)布后,會生成EXE可執(zhí)行文件,可將該編程成果供相關(guān)工程設(shè)計人員在其他電腦上使用。Python編程計算在一次參數(shù)輸入后能準(zhǔn)確匹配出合適的減壓孔板數(shù)量,快速便捷;但某軟件及Excel計算時,需另行單獨計算出目標(biāo)減壓值均分給多個減壓孔板后的新減壓值,再重算孔口直徑,計算過程冗余,操作不便。
(1)計算機編程的應(yīng)用逐漸滲入社會生活的方方面面,而Python作為一類簡單易學(xué)的計算機語言,更易被非計算機專業(yè)的工程設(shè)計人員所接受,將其合理利用則能在某些方面解放人工勞動,提高工作效率。
(2)通過Python編程,實現(xiàn)了減壓孔板孔口直徑的快速計算,對大目標(biāo)減壓值情況下的多級減壓孔板串聯(lián)計算能一次性完成,大大減少設(shè)計人員的工作量和避免人為計算失誤,提高孔口直徑計算的準(zhǔn)確率。
(3)目前該程序仍有不足,沒有實現(xiàn)多組目標(biāo)減壓值時的一次性參數(shù)輸入和計算,這也是接下來程序優(yōu)化需要解決的重點問題之一。