當前位置:編程學習大全網 - 編程語言 - 水庫調洪計算的計算方法

水庫調洪計算的計算方法

衣秀勇

(天津勘測設計研究院,天津300222)

1使用AutoCAD VBA進行水庫調洪計算

VBA(Visual Basic for Application)是Microsoft公司集成在Microsoft office系列軟件中的超級開發工具,AutoCAD在R14及以上版本中也集成了VBA作為自己的壹個二次開發工具。AutoCAD VBA與Office VBA是同壹工具同壹環境,不同的是AutoCAD VBA集成於AutoCAD中。

在手工進行水庫調洪計算的時代,人們使用試算法和圖解法進行計算,其中圖解法因其比較直觀精確而且不需多次試算而受到青睞。後來在PC-1500機、微機和Basic語言普及的時代,因試算法較適合編程進行叠代計算,試算法又得到了廣泛使用。

現在隨AutoCAD的逐漸普及和AutoCAD二次開發工具的日益豐富,尤其是從R14開始增加的VBA開發工具為圖解法的發展應用提供了可能。

使用AutoCAD VBA進行水庫調洪計算有以下優點:

⑴AutoCAD是專業的工程繪圖軟件,因此用它繪制圖解法的圖形就十分簡單方便,使得計算具有了圖解法精確的優點。

⑵VBA是Microsoft Visual Basic的壹個子集,而B又是從Basic升級而來的,因此不需要花太多的精力去另外學習壹門編程語言。

⑶AutoCAD VBA與Office VBA是同壹環境,這又方便了AutoCAD與Office的通訊,例如程序的輸入和輸出文件都可以是Excel文件。

⑷AutoCAD 與VBA結合使用,可以輕松輸出精確的圖形結果,例如調洪計算可以輸出實際入庫和泄流過程線。

本文將具體介紹使用AutoCAD VBA進行水庫調洪計算的方法。

2水庫調洪計算圖解法的原理[1]?

⒉1水庫調洪計算的實用公式

水庫調洪計算的實用公式如下:?

⒉2水庫調洪計算圖解法的原理

式⑴比較適合使用試算法進行水庫的調洪計算,要使用圖解法進行水庫調洪計算需要將式⑴改寫為以下形式:?

式中,、q、/Δt-q/2和/Δt+q/2均可與水庫水位Z建立函數關系。因此,可根據選定的計算時段Δt、已知的水庫水位容積關系曲線以及根據水力學公式算出的水位下泄流量關系曲線,事先計算並繪制以下4條曲線:?

其中,C是水位下泄流量關系曲線,D是水庫水位~容積關系曲線,A、B是圖解法中的兩根輔助曲線。繪制示例圖形如圖1所示。

參照圖1,調洪計算的步驟是:

⑴根據已知的入庫洪水流量過程線及選定的計算時段Δt算出各時段的平均入庫流量並定出初始的Z1、q1、1值。

⑵在圖1的水位坐標軸上量取第壹時段的Z1得a點,從a點做水平線ab交曲線A於b點,從b點延長ab至c點並使bc=因曲線A是(/Δt-q/2)=f1(Z),a點代表Z1,因此ac就應等於+(1/Δt-q1/2),按圖解法的公式ac也等於(2/Δt+q2/2)。

⑶從C點做垂線交曲線B於d點,過d點做水平線de交水位坐標軸於e點,顯然de=ac=(2/Δt+q2/2)。因曲線B是(/Δt+q/2)=f2(Z),d點在曲線B上,e點就應代表Z2。

⑷de交曲線C於f點,過f點做垂線交q坐標軸於g點。因曲線C是q=f3(Z),e點代表Z2,於是ef應是q2,即從g點可以讀出q2的值。

⑸過d點做de的延長線dh交曲線D於h點,過h點做垂線交坐標軸於i點。因曲線D是= f4(Z),e點代表Z2,於是eh應是2,即從i點可以讀出2的值。

⑹將e點代表的Z2值、g點代表的q2值和i點代表的2值分別作為第二時段Z1、q1、1,按上述同樣方法進行圖解計算,又可求出第二時段的Z2、q2、2等值,依次循環就可完成全部計算。

3在AutoCAD中調洪計算的方法和步驟

在AutoCAD中進行調洪計算遵循上述圖解法的原理,其具體的實現方法如下(見圖2):

⒊1創建壹個AutoCAD BA工程

進入AutoCAD2000,在“工具”菜單的“宏”子菜單中單擊“isual Basic編輯器”進入BA的編程環境。在“isual Basic編輯器”中單擊“插入”菜單中的“添加模塊”菜單項,BA將為您添加壹個新的模塊,接著您要為模塊添加壹個過程,如:?

⒊2 在BA中編寫調洪程序

在過程的Sub和End Sub之間編寫調洪程序。

⒊2.1定義程序中使用的主要變量

⑴定義庫容曲線和水位泄流曲線的點數以及入庫洪水過程的點數。入庫洪水過程線各點之間要保證時間間隔相同。在使用該程序時,首先都要根據實際情況對這兩個變量進行賦值。程序如下:

⑵將如圖1中的四條曲線即水位庫容、水位泄流、雙輔助線分別定義為AutoCAD中的多段線,同時定義4條曲線的頂點坐標數組,這些坐標數組所含數值將作為在AutoCAD中畫4條曲線的依據。

⑶定義計算過程中臨時使用的輔助線及其坐標數組。臨時使用的輔助線即圖1中的ab、bc、de等線,在這裏將它們定義為構造線。

⑺根據庫容曲線和水位泄流曲線的點數以及入庫洪水過程的點數重新定義各數組的維數

⑻定義存放調洪計算原始數據的Excel文件並打開它,在程序執行過程中將從該文件中讀取原始數據,並將計算的結果寫到該文件中。在這裏我們假設Excel文件為“g:\th\”文件夾中的th001.xls。

⒊2.2從Excel文件取得調洪計算的原始數據

在這裏我們假設th001.xls含有名字分別為1、2、3***3個工作表,且1工作表中從第2行開始分別在A、B、C、D、E列中存放了水位及該水位對應的庫容、下泄流量以及(/Δt-q/2)和(/Δt+q/2)的數值;2工作表中從第3行開始在第D列中存放了該時段的平均入庫流量;3工作表的第2行的C、D、E列中存放了調洪計算初始的Z1、q1、1,其他行將用來存放調洪計算的結果。

⒊2.3在Autocad中畫出圖解法調洪計算的曲線

⒊2.4調洪計算

以Z1為兩個y坐標做構造線,以該構造線與/Δt-q/2(t1)交點的x坐標加上該時段的平均入庫流量為兩個x坐標做第二條構造線,第二條構造線與/Δt+q/2(t2)交點的y坐標即為Z2。

以Z2為兩個y坐標做構造線,該構造線與泄流曲線的交點的x坐標即為q2,與庫容曲線的交點的x坐標即為2。

4結語

本文僅介紹了使用AutoCAD BA進行最簡單的調洪計算的方法和程序實現,而且程序也缺少圖形界面;但是有了本文介紹的框架,您可以很容易為它添加或修改壹些功能,如:增加限泄功能、增加求實際最大下泄流量及其對應的時間、水位、庫容的功能、增加繪制實際入庫和泄流過程曲線及坐標系統的功能、將水位泄流曲線修改為泄流公式以及修改程序的界面等等,有興趣的讀者不妨自己去完善它。

  • 上一篇:喬布斯的經典語錄欣賞
  • 下一篇:簡單編程
  • copyright 2024編程學習大全網