Excel表格在水库调洪演算中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Excel 表格在水库调洪演算
中的应用
伊布拉音·米吉提 刘丽 (巴州水利水电勘测设计院)
【摘要】
水库的洪水调节计算在设计阶段主要是用来确定泄洪建筑物的尺寸,而在蓄水运行阶段则是为洪水调度提供依据的重要手段。
调洪计算的基本原理是水库水量平衡。计算方法主要有“列表试算法、半图解法、图解法、简化三角形法”等,其中列表试算法具有概念清楚、易于理解,精度高等优点,但存在计算繁琐、反复查图、速度较慢的缺点。随着计算机应用的普及,笔者针对试算法进行了探索,利用Excel 表格强大的计算、差值功能,简化调洪演算方法,取消了人工查图、差值、手工反复试算的过程,极大地提高了计算速度。
一、试算法调洪的原理
试算法的基础就是求解如下联立方程:
⎪⎩⎪⎨⎧=-=∆+-∆+)
()(21)(211
22121V f q V V t q q t Q Q
式中:21Q Q 、——时段t ∆始末
的入库流量,米3/秒;
21q q 、——时段t ∆始末的出库流量,米3/秒;
21V V 、——时段t ∆始末的水库蓄水量,米3;
t ∆——时段长,小时。
时段入库流量,由设计洪水过程线提供。时段末的出库流量,可根据水库下泄流量变化趋势,假定数值进行试算。起调时,一般011==q Q ,假定一个2q ,就能根据2Q 求出时段的蓄水增量12V V V -=∆。再从q ~V 关系曲线上由2V 查出2q 。如果这个
2q 与原假设的2q 相等,可继续下一
个时段的计算,否则,需重新假定
2q ,直到两者相符为止。由此可见
手工进行试算法调洪是相当麻烦的。
目前利用Excel 表格将上述计算所需的公式逐一输入相应的表格,可实现假设泄量试q 至水库蓄水量V 逐栏的自动计算,然后根据假设蓄水量查q ~V 曲线,再计算出下泄流量与假设的泄量比较。如此,仍然是比较
麻烦的。见下图:
二、应用Excel调洪计算的必要条件
下面仅莫呼查汗水库导流期为例说明洪水调节计算的方法和过程(之所以选导流期,是因为本方法更加适合水位变幅较大的调洪演算)。
1.水库蓄水量V是水库水位G的函数,但由于水库形状极不规则,无法列出)
(G
f
V 方程式的代数式,因此,必须将实测所得的G~V曲线由图形转化为数字格式,并制成表格,以便调洪演算时,通过内插得相应的水位及库容。
2.将上述表中的库容输入Excel 表格的A列,相应的水位输入B 列。
3.同样将导流洞不同水位及对应的下泄流量输入直C和D列。三、计算方法
如上所述,水库入库洪量、导流洞下泄流量,直接让围堰水位变化,而围堰水位变化,将导致导流洞下泄能力,因此这是一个循环过程,而调洪演算的任务是找到该时段的最终库水位,本文主要采用线性插值方法,将该繁琐的循环过程利用excel来完成。计算步骤如下:
1、定义名称:
为便于计算,分别将定义名称围堰水位、围堰库容、围堰、导流洞水位、导流洞流量及导流洞。
定义方法:将该名称对应的单元格区域选定后,在名称框中输入对应的名字即可。
2、输入公式:
在J5单元格输入公式:
=IF(COUNTIF(导流洞水位,O5)=1,VLOOKUP(O5,导流洞,2),(INDEX(导流洞流量,MATCH(O5,导流洞水位,1)+1,1)-INDEX(导流洞流量,MATCH(O5,导流洞水位,1),1))/(INDEX(导流洞水位,MATCH(O5,导流洞水位,1)+1,1)-INDEX(导流洞水位,MATCH(O5,导流洞水位,1),1))*(O5-INDEX(导流洞水位,MATCH(O5,导流洞水
位,1),1))+INDEX(导流洞流量,MATCH(O5,导流洞水位,1),1))
在P5单元格输入公式: =IF(COUNTIF(围
堰
库容
,N5)=1,VLOOKUP(N5,
围
堰,2),(INDEX(围堰水位,MATCH(N5,围堰库容,1)+1,1)-INDEX(围堰水位,MATCH(N5,围堰库容
,1),1))/(INDEX(
围
堰
库
容,MATCH(N5,围堰库容,1)+1,1)-INDEX(围堰库容,MATCH(N5,围堰库容,1),1))*(N5-INDEX(围堰库容,MATCH(N5,围堰库容
,1),1))+INDEX(
围
堰
水
位,MATCH(N5,围堰库容,1),1))
3、说明:
(1)名称说明:围堰水位、围堰库容、围堰、导流洞水位、导流洞流量及导流洞为前面定义的单元格区域。
(2)公式思路:若需要找的水位在相应的区域里有,则流量或库容即为该区域改水位对应的值,若没有该值则进行插值计算;计算公式为:
1
0100101)
()
()()()( y x x x x y x x x x x P --+--=
(3)函数说明:
Match 函数可在单元格区域中搜索指定项,然后返回该项在单元格区域中的相对位置
Index 返回表格或中的元素值,此元素由行号和列号的索引值给定。
Vlookup 函数搜索某个单元格区域的第一列,然后返回该区域相同行上指定单元格中的值。
Countif 函数对区域中满足单个指定条件的单元格进行计数。
If 如果指定条件的计算结果为 TRUE ,IF 函数将返回某个值;如果该条件的计算结果为 FALSE ,则返回另一个值。
四、使计算方法程序化
通过以上步骤,列表试算法的计算表格基本完成,此时只需单变量求解的方法使试算差为0即可,但往往洪水过程较长,如本例莫呼查汗水库工程,洪水过程长达7天,即160小时,此过程单纯利用单变量求解来完成,也是需要较长时间,若将利用excel 的VBA 功能编写一个小程序,即可快速完成此过程。
按Alt+F11打开VBA 编辑器,输入以下代码:
Sub thjs()
'采用牛顿二分法求解法进行试