陳 爍,張絲葦
(上海勘測設(shè)計(jì)研究院有限公司,上海 200434)
防洪排澇規(guī)劃作為城鎮(zhèn)總體規(guī)劃的重要內(nèi)容,是搞好城市防洪排澇基礎(chǔ)設(shè)施建設(shè)的前提和基礎(chǔ),若規(guī)劃設(shè)計(jì)不到位,則會(huì)導(dǎo)致城鎮(zhèn)防洪排澇能力下降,在一定程度上制約城市經(jīng)濟(jì)的可持續(xù)性發(fā)展[1]。排澇計(jì)算作為防洪排澇規(guī)劃的重要內(nèi)容,其計(jì)算成果決定著區(qū)域泵站及其他排澇設(shè)施的規(guī)模,確定適當(dāng)?shù)囊?guī)模有助于平衡工程投資與治澇效益之間的關(guān)系,而工程前期往往有多個(gè)方案,有時(shí)不可避免進(jìn)行多次排澇計(jì)算,依據(jù)割平頭法的排澇傳統(tǒng)計(jì)算方法計(jì)算效率不高且受限于原理可能出現(xiàn)差錯(cuò),同時(shí)依據(jù)割平頭法傳統(tǒng)排澇計(jì)算方法的可移植性不強(qiáng),往往改變了設(shè)計(jì)雨型,則后續(xù)計(jì)算過程也要發(fā)生較大變化。基于此,突破因原理而帶來的計(jì)算限制,開發(fā)一個(gè)能實(shí)現(xiàn)排澇自動(dòng)計(jì)算的軟件,可減輕工作量并提高效率,其在生產(chǎn)設(shè)計(jì)中,具有一定的應(yīng)用價(jià)值。
割平頭法的計(jì)算公式為:
該計(jì)算方法又分圖解法與表解法兩種。圖解法先假定m 初值,得到排澇模數(shù),之后在圖上畫出排澇流量,看排澇流量所割河道入流過程線的時(shí)段是否與m 的初值相同。若相同,則m 對應(yīng)的排澇模數(shù)為所求值;反之,重新假定m。表解法從數(shù)學(xué)和排澇的現(xiàn)實(shí)入手,從數(shù)學(xué)上看,在 k 和 Δh 一定時(shí),M 只與 m 有關(guān),因而 m=1,2,3…,24 時(shí),可得一系列Mm值;而對排澇計(jì)算而言,排澇應(yīng)將澇水盡快排出去,故M=max(Mm)[2]。圖解法與表解法計(jì)算結(jié)果一致。
Qt 是跨平臺(tái)C++圖形界面應(yīng)用程序開發(fā)框架,其使用特殊的代碼生成擴(kuò)展以及一些宏,并允許真正地組件編程,其主要使用信號(hào)與槽機(jī)制來連接事件與函數(shù)間的關(guān)系,使界面與代碼完美配合[3]。本文介紹了基于Qt 進(jìn)行界面設(shè)計(jì)、使用C++語言進(jìn)行編程實(shí)現(xiàn)割平頭法排澇流量、排澇模數(shù)的自動(dòng)計(jì)算的基本情況。
該軟件界面設(shè)計(jì)包括五部分:(1)輸入?yún)^(qū)域;(2)輸出區(qū)域;(3)割平頭法計(jì)算按鈕;(4)導(dǎo)出計(jì)算說明書按鈕;(5)一張圖片,如圖1 所示。
其輸入?yún)^(qū)域(即初始所需資料)包括:(1)24 小時(shí)設(shè)計(jì)暴雨過程(mm);(2)計(jì)算區(qū)域面積(km2);(3)水面率;(4)調(diào)蓄水深(m);(5)綜合徑流系數(shù);(6)管網(wǎng)設(shè)計(jì)雨強(qiáng)(mm/h)。
其輸出區(qū)域(即計(jì)算結(jié)果)包括:(1)排澇模數(shù)(m3/s/km2);(2)排澇流量(m3/s)。
軟件設(shè)計(jì)全部流程共包括7 個(gè)部分:(1)界面設(shè)計(jì);(2)獲取輸入?yún)?shù);(3)求設(shè)計(jì)凈雨過程;(4)求河道入流過程;(5)求求排澇模數(shù)、排澇流量;(7)計(jì)算說明書導(dǎo)出設(shè)計(jì),如圖2 所示。
軟件主要計(jì)算設(shè)計(jì)步驟包括三大部分:(1)輸入?yún)?shù)的獲?。唬?)河道入流過程計(jì)算;(3)排澇計(jì)算。
針對割平頭法排澇流量、排澇模數(shù)的計(jì)算軟件設(shè)計(jì),首先需要通過獲取輸入的參數(shù)然后進(jìn)行代碼編程計(jì)算,獲取輸入?yún)?shù)的主要代碼如下:
圖2 軟件設(shè)計(jì)流程圖
河道入流過程計(jì)算可分為2 步,第1 步求解設(shè)計(jì)凈雨過程,第2 步求解河道入流過程。
第1 步:根據(jù)獲取的24 小時(shí)設(shè)計(jì)暴雨過程和綜合徑流系數(shù),這里采用簡化方法,認(rèn)為兩者相乘即為設(shè)計(jì)凈雨過程,其主要代碼為:
第2 步:城市(鎮(zhèn))包圍片陸域澇水主要通過管網(wǎng)匯集進(jìn)入河道,當(dāng)管網(wǎng)設(shè)計(jì)雨強(qiáng)大于設(shè)計(jì)暴雨產(chǎn)生的設(shè)計(jì)凈雨時(shí),澇水可以通過管網(wǎng)全部排除,其河道入流即為設(shè)計(jì)凈雨;當(dāng)管網(wǎng)設(shè)計(jì)雨強(qiáng)小于設(shè)計(jì)暴雨產(chǎn)生的設(shè)計(jì)凈雨時(shí),其河道入流為管網(wǎng)設(shè)計(jì)雨強(qiáng)對應(yīng)的凈雨深,其余凈雨深在下一時(shí)段排除。該步驟主要代碼為:
在河道入流過程計(jì)算結(jié)果的基礎(chǔ)上,通過表解法先求占用可調(diào)蓄凈雨深時(shí)段的總?cè)肓鲀粲晟钤偾笈艥衬?shù),排澇流量即為排澇模數(shù)×區(qū)域面積。
割平頭法的表解法,是通過計(jì)算出從m=1 至24 時(shí)段所有的表示假設(shè)占用可調(diào)蓄凈雨深的時(shí)段為m 個(gè)),再得到相應(yīng)m 值下排澇模數(shù),所求的排澇模數(shù)即為所有m 值相應(yīng)排澇模數(shù)中的最大值。
該部分代碼主要設(shè)計(jì)難點(diǎn)在于分別求出m=1、2、3……24 時(shí)段也就是計(jì)算所有連續(xù)m 個(gè)時(shí)段河道入流Q[i]的和,并取其最大值,比如m=3 時(shí),需要分別計(jì)算河道入流 Q[1]+Q[2]+Q[3]、Q[2]+Q[3]+Q[4]、Q[3]+Q[4]+Q[5]、……、Q[22]+Q[23]+Q[24]共 22 個(gè)數(shù)值,并取其中最大值,該值即為該代碼詳細(xì)設(shè)計(jì)思路如圖3 所示。
按照上述代碼設(shè)計(jì)思路,采用3 層循環(huán)嵌套的方式,并創(chuàng)建了1 個(gè)二維數(shù)組R[m][j]作為中間變量,主要代碼如下所示:
以宜興某小包圍片(圩區(qū))為例,在軟件中輸入該片區(qū)面積3.77km2、水面率6.0%、調(diào)蓄水深0.8m、綜合徑流系數(shù)0.65 以及20 年一遇設(shè)計(jì)暴雨過程,并點(diǎn)擊“割平頭計(jì)算”按鈕,在輸出區(qū)可得計(jì)算結(jié)果,如圖4 所示。
圖4 實(shí)例計(jì)算結(jié)果
表1 計(jì)算過程表
為驗(yàn)證軟件計(jì)算結(jié)果準(zhǔn)確性,點(diǎn)擊“導(dǎo)出計(jì)算說明書按鈕”可導(dǎo)出計(jì)算過程進(jìn)行檢查,如表1 所示,表中最大排澇模數(shù)M 值即為所求值。
基于Qt 的割平頭法排澇計(jì)算軟件,可自動(dòng)計(jì)算城市(鎮(zhèn))包圍片某一標(biāo)準(zhǔn)24h 設(shè)計(jì)暴雨下相應(yīng)的排澇模數(shù)與區(qū)域排澇流量,大大提高了城市(鎮(zhèn))包圍片排澇計(jì)算的計(jì)算效率和可靠性,其結(jié)果的合理性可通過計(jì)算說明書中的計(jì)算過程加以驗(yàn)證,該軟件的實(shí)現(xiàn)突破了因原理帶來的計(jì)算限制,具有一定的應(yīng)用價(jià)值。