国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于VBA和Excel的水庫調洪計算程序開發(fā)與應用

2024-02-20 11:38:46張躍馳龐金龍
中國水能及電氣化 2024年1期
關鍵詞:調洪二分法庫容

張躍馳 龐金龍

(中水北方勘測設計研究有限責任公司,天津 300222)

在水庫規(guī)劃設計階段,開展水庫調洪計算,主要是為了配合樞紐布置中泄洪建筑物形式、尺寸的選擇及確定滿足工程安全的防洪特征水位、最大下泄流量等指標。目前水庫調洪計算主要利用Excel及其迭代計算功能實現(xiàn),需要手動輸入公式并人工查找起蓄時刻和最高水位時刻,操作煩瑣,易于出錯且計算效率低。為提高調洪計算效率和準確性,本文在Excel開發(fā)環(huán)境的基礎上,利用VBA編程語言開發(fā)調洪計算自動化程序,僅需輸入基礎參數即可實現(xiàn)多套方案的快速計算。

1 調洪計算基本原理和方法

調洪計算屬于入庫和出庫水量平衡的計算問題,其計算原理可用圣維南方程組表示。但圣維南方程組在應用于水庫調洪計算中,常需要做一定的簡化,一般簡化為以下公式進行計算:

(1)

q=f(V)

(2)

式中Q1、Q2——計算時段初、末的入庫流量,m3/s;

q1、q2——計算時段初、末的出庫流量,m3/s;

V1、V2——計算時段初、末的水庫蓄水量,m3;

Δt——計算時段,s。

式(1)實際是水量平衡方程,即在一個計算時間段中,入庫水量與下泄水量之差即為該時段中水庫蓄水量的變化。式(2)為水庫下泄流量與庫容關系的曲線,取決于泄水建筑物的布置型式和尺寸等。

調洪計算方法有很多種,我國常用的是列表試算法和半圖解法。半圖解法通過與水庫水位建立函數關系,利用圖解代替試算,可有效降低計算量,是手動調洪計算的一種有效方法。隨著計算機技術的發(fā)展,雖然列表試算法計算量較大,但便于通過計算機編程實現(xiàn),是目前水庫規(guī)劃設計階段最普遍采用的計算方法。

列表試算法基本步驟如下:

a.引用某一場次設計洪水過程線,選取計算時段Δt和入庫流量Q1,Q2,Q3,…。

b.確定調洪起調水位Z0、起調庫容V0、泄流曲線q泄=f(Z)、庫容曲線Z=f(V)等基礎參數。

c.試算出庫流量qt對水量平衡方程進行求解,判斷其與入庫流量Qt和下泄能力q泄t的關系。

d.不斷試算qt直至得到滿足設定條件的解,同時計算蓄變量ΔVt時段末水位Zt、時段末庫容Vt等。

e.繼續(xù)計算下一時段,直至計算完整場洪水,累加ΔVt即得到調洪所需庫容,過程最高水位即為相應場次洪水最高壩前水位。

2 基于VBA和Excel程序開發(fā)的特點及優(yōu)勢

目前,水庫調洪計算普遍采用Excel軟件及其迭代計算功能實現(xiàn),由于設計洪水過程線一般以小時為時段,為保證計算精度,水庫水位起漲時刻和最高水位時刻需線性插值得到,此步驟需要手動操作,耗時較長,且每次只能完成單獨一組基礎參數的調洪計算,對于需要多個起調水位、多個頻率洪水及多條泄流曲線比選時,此方法耗時較長,且容易出錯。

VBA是由Visual Basic發(fā)展而來的一種宏語言,一般依附于如Excel等Office的應用程序中,用于拓展應用程序的功能,得益于VBA與主應用程序的這種依附關系,其與主程序之間的通信簡單且高效。并且VBA提供了面向對象的程序設計方法,提供了相當完整的程序設計語言,結合其強大的宏錄制功能,利用VBA可以在Excel內輕松開發(fā)出功能強大的自動化計算程序。

與僅利用Excel迭代功能進行調洪計算相比,利用VBA開發(fā)通用的調洪計算程序,可結合調洪計算的特點開發(fā)更有針對性的計算函數,并通過循環(huán)實現(xiàn)多套組合方案的快速調洪計算,同時輸出計算成果圖表到Excel中,操作簡單,基本不需要額外的學習成本即可掌握,可有效提高調洪計算的效率和準確性。

3 調洪計算程序設計

調洪計算程序開發(fā)以Excel和VBA開發(fā)環(huán)境為基礎,采用面向對象的編程方法?;A類包括插值函數類和基本參數類,其中插值函數類主要解決二元曲線線性插值問題。新編迭代函數,利用二分法解決迭代計算問題。利用Excel操作界面和新編繪圖函數完成參數的輸入和成果的輸出。調洪計算程序總體框圖見圖1。

圖1 調洪計算程序總體

以單次洪水調洪過程為例,以入庫流量和泄流能力為判別條件,逐時段進行調洪計算,對于典型單峰洪水,水庫起蓄時刻為入庫流量與最大泄流能力相等的時刻,此后入庫流量大于最大泄流能力,水庫水位上漲,直至入庫流量與最大泄流能力再次相等時,水庫達到最高水位Zmax,此后水庫水位開始回落。單次調洪計算流程見圖2。在單次調洪計算基礎上,增加循環(huán),可實現(xiàn)多個起調水位、多條泄流曲線和多場設計洪水等組合調洪計算。

圖2 單次調洪計算流程

二分法即一分為二的方法,其基本原理是每次將區(qū)間從中間分成兩部分,通過求解區(qū)間中間值判斷函數解所處子區(qū)間,然后在對應的子區(qū)間中繼續(xù)查找直至找到目標元素。采用二分法進行迭代計算可提高迭代計算效率。調洪計算涉及迭代計算分為兩類:?水位上漲時段,此時出庫流量qt等于最大下泄能力qmax,此時需要試算滿足條件的qt,計算流程見圖3。?水庫最高水位時刻,此時入庫流量Qt=qt=qmax,需在?的基礎上嵌套試算Qt=qt的迭代計算。

圖3 二分法迭代計算流程

4 工程應用實例

云南省清水河水庫的工程任務以供水和灌溉為主,兼顧發(fā)電。根據清水河水庫規(guī)模和壩型,校核洪水標準為P=0.05%。水庫溢洪道共2孔,凈寬5m,堰頂高程1386m。

調洪計算采用淤積50年庫容曲線,根據淹沒賠償標準和水庫防洪標準要求,本次對P=20%、P=5%、P=1%和P=0.05%四個洪水頻率分別進行調洪計算。調洪計算原理是基于水量平衡,時段入庫水量減時段出庫水量等于時段水庫蓄水變化量。采用靜庫容調洪,利用列表試算法進行洪水調節(jié)計算。

清水河水庫不承擔下游防洪任務,泄流設施為閘門控制溢洪道,水庫起調水位為正常蓄水位1392m。庫水位1392m時水庫最大泄流能力為302m3/s,當入庫洪水流量小于302m3/s時,按入庫流量控泄,庫水位保持1392m;當入庫洪水流量大于302m3/s時,水庫全部敞泄,水庫開始滯洪,庫水位上升。退水期入庫流量小于水庫泄流能力,水庫又轉入控泄階段,避免對下游形成人造洪峰,庫水位逐步降至1392m。利用調洪計算程序進行調洪計算,其校核洪水調洪過程見表1和圖4,各頻率洪水調洪成果見表2。

表1 校核洪水調洪計算過程

表2 不同頻率洪水調節(jié)計算成果對比

圖4 校核洪水調洪計算過程

采用基于VBA和Excel的水庫調洪計算程序,單次調洪計算時長約2s,經對比,計算成果與手動計算成果一致。通過循環(huán)計算,可實現(xiàn)多套組合方案快速計算,極大程度提高調洪計算效率。

5 結 語

a.與目前普遍采用的基于Excel的列表試算法調洪計算相比,本計算程序針對調洪計算的特點采用二分法進行迭代計算,可將原單次調洪計算的時間從5~10min降低2s,計算效率顯著提高。

b.本計算程序不需要手動設置公式,可有效避免人為錯誤,且易于拓展,通過循環(huán)計算可同時計算多套組合方案,通過Excel可直觀便捷地輸出成果圖表。

c.通過云南清水河水庫等工程實際應用,證實本程序計算成果與手動計算成果一致,可滿足工程應用要求。

猜你喜歡
調洪二分法庫容
基于二進制/二分法的ETC狀態(tài)名單查找算法
“二分法”求解加速度的分析策略
“二分法”求解加速度的分析策略
估算的妙招——“二分法”
瑪納斯河山區(qū)——平原水庫調洪過程及水位流量關系分析
全省已建成水庫總庫容
月潭水庫防洪庫容的確定
某尾礦庫調洪安全研究
調洪演算解析解法
零庫容梯級電站聯(lián)合調控策略研究
吉木乃县| 什邡市| 平潭县| 辰溪县| 普格县| 卢氏县| 三河市| 大冶市| 灵丘县| 鄢陵县| 桂东县| 水富县| 太保市| 南投市| 格尔木市| 青田县| 芜湖市| 新密市| 乐昌市| 建宁县| 阳西县| 开封市| 阳曲县| 永登县| 桃源县| 常宁市| 嫩江县| 遂宁市| 彩票| 江源县| 灌云县| 浦县| 长顺县| 闻喜县| 南靖县| 舞阳县| 古蔺县| 望谟县| 五大连池市| 长乐市| 神池县|