水塘算法
㈠ 水库调洪计算的计算方法
衣秀勇
(天津勘测设计研究院,天津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: h”文件夹中的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进行最简单的调洪计算的方法和程序实现,而且程序也缺少图形界面;但是有了本文介绍的框架,您可以很容易为它添加或修改一些功能,如:增加限泄功能、增加求实际最大下泄流量及其对应的时间、水位、库容的功能、增加绘制实际入库和泄流过程曲线及坐标系统的功能、将水位泄流曲线修改为泄流公式以及修改程序的界面等等,有兴趣的读者不妨自己去完善它。
㈡ 水库水域平均水深怎么确定
最简单的办法就是得知整个水库的贮水量,然后再以水库水面的表面处计算所占面积数,然后用贮水量除以面积数,就能得出平均的水深高度。这个是初步的估算法。至于具体的则需要用各种测量工具进行测量。
测量步骤:
第一步:根本水库存起初注水量,计算出来水库的总体贮水量。
第二步,利用贮水存的外表,看贮水库属于什么形状,圆形则以圆来计算其表面积,方形则以方形计算,其他形状以其他形状计算。
第三步,通常我们知道,柱体的体积是底面积乘以高,所以,直接用贮水量(体积)除以计算出来的表面各,最终得出来的结果,就是水库的大概深度。
㈢ 水库回水计算的计算方法
非恒定流计算法 库区水流形态受入库洪水和坝址下泄量变化的影响,属于非恒定流范畴。为此,和水库调洪计算一样,可通过圣维南方程组(见明渠非恒定流)求解,严格推求不同时间库区沿程各断面的水位变化。为进行某一洪水标准下的水库回水计算,通常可采用入库洪水过程线为其上边界条件,采用由调度方式规定的坝前水位和泄量过程,或水位与泄量关系为其下边界条件,并取调洪开始时的入库流量与坝址泄量相等,即库区沿程处于恒定流状态下的流量及水位为初始条件,求出整个洪水过程中水库库区的流态,然后连接各断面的最高水位,即是所求洪水标准的水库回水线。
简化计算法 将库区水流状态近似假定为渐变恒定流。先通过推求各种极限条件的同时水面线,再取它们的包线作为所求回水线的近似解。由于恒定流不考虑流速对时间的变率,则圣维南方程组中的动力方程可简化为式(1)所示的有限差形式;如局部损失相对较小,则可进一步简化成式(2):
(1) 式中z上、z下分别为计算河段上下断面水位;嬞、坴、噖分别为计算河段上下断面的糙率、流量、断面特征模数的平均值;ΔL为计算河段的长度;v上、v下分别为计算河段上下断面的流速;g为重力加速度。
具体计算可采用试算法,如已知嬞、坴、z下、ΔL及断面特性,可先假定一个z'上值,求出噖,然后由式(2)求得相应的坴'。如坴'=坴,则原假定的z'上即为所求的z上。否则需重新假定并重复上述计算,以求出的下一河段的z上,作为上一河段的z下。自下而上逐河段计算,即可求得整个库区的回水线。实用上,也常采用图解法或半图解法代替试算过程。中国20世纪70年代以前,常采用的这类方法有艾斯考福法和H.M.别尔纳德斯基的控制曲线法。这些方法在规划设计中应用很广。用于推求库区淹没水面线时,一般先由规定频率的调洪成果给出起始条件,并视情况拟定必要的计算条件,如最高洪水位高于正常蓄水位,通常可取下列数值作为计算条件分别推求两条水面线,然后取其外包线作为所求频率的回水线:①坝前最高水位与相应时刻的入库流量;②入库最大洪峰流量与相应时刻的坝前水位。当洪水位低于正常蓄水位时,则还要以正常蓄水位与汛末相应频率的洪峰流量作为计算条件,推求一条水面线,而后再取包线。对于为分析枯水季节航运和引水条件所需的低水位回水线,一般可采用由死水位及相应于供水设计保证率的枯水期流量进行推算求得。
水库淤积回水推算 水库淤积将使库区沿程过水断面积减小,引起回水上延。通常可采用水库淤积计算方法,先求出不同淤积水平(年限)的库区淤积量与分布位置,据以求得淤积后的河道断面,然后再按上述方法推求淤积后的水库回水线。