APP下载

利用计算机编程计算水闸收缩断面水深初析

2015-12-26俊褚俊杰朱文娟江苏省江都水利工程管理处扬州500金坛市城市防洪工程管理处金坛300

治淮 2015年7期
关键词:试算水深运算

马 俊褚俊杰朱文娟(.江苏省江都水利工程管理处 扬州 500 .金坛市城市防洪工程管理处 金坛 300)

科技论坛

利用计算机编程计算水闸收缩断面水深初析

马 俊1褚俊杰2朱文娟2
(1.江苏省江都水利工程管理处 扬州 225200 2.金坛市城市防洪工程管理处 金坛 213200)

概要阐述了“始流时闸下安全水位~流量关系曲线”中关于收缩断面水深hc的人工试算过程,以及通过计算机编程解决的计算收缩断面水深hc的方法,重点对人工试算和计算机运算在精度、效率、成本三个方面进行了分析比较,得出计算机运算比人工试算更有优势的结论。

收缩断面水深 人工试算 计算机编程

1 设计与运用的背景

根据《江苏省节制闸技术管理办法》的要求,闸门操作运用的基本要求是:过闸流量应与下游水位相适应,使水跃发生在消力池内;当初始开闸或较大幅度增加流量时,应采取分次开启办法,每次泄放的流量应根据“始流时闸下安全水位~流量关系曲线”确定,并根据“闸门开高~水位~流量关系曲线”确定闸门开高;每次开启后需等下游水位稳定后才能再次增加开启高度。因此在金坛城市防洪工程管理处创建“省一级”的过程中,根据需要对所管辖的节制闸工程设计了相应的两种“流量关系曲线”。

石桥水利枢纽工程采用闸站结合形式布置,其节制闸工程为一座6m净宽的节制闸及交通桥,采用6m升卧式平面钢闸门,由绳股式卷扬启闭机控制。根据金坛市城市防洪工程管理处石桥水利枢纽节制闸工程的具体情况,以其“始流时闸下安全水位~流量关系曲线”为例,该曲线设计的目的是保证每次开闸时所产生的水跃都发生在消力池内,以达到安全开闸的目的。其中计算共轭水深hc″和水跃长度Lj需要知道弗劳德数Frc及收缩断面水深hc,而弗劳德数Frc也是通过收缩断面水深hc计算得出的,因此“始流时闸下安全水位~流量关系曲线”绘制的重点在于收缩断面水深hc的试算,通过对人工试算收缩断面水深hc过程进行研究,发现试算过程中存在的问题,以计算机编程的方式进行解决,以达到提供工作效率为目的。试算所使用数据为工程正向运用时的数据。

2 收缩断面水深的计算与分析

2.1 一般情况下收缩断面水深的计算

以金坛市城市防洪工程管理处石桥枢纽的节制闸工程为例,其应属于平板闸门下底孔出流,根据其闸前断面0-0及收缩面c-c的能量方程:

式中:ξ—0-0断面至c-c断面间的水头损失系数;

E0—以收缩断面底部为基准面的坝前水流总比能;

αc—c-c断面的动能修正系数;

vc—c-c断面的平均流速;

hc—收缩断面水深;

g—重力加速度。

以vc=代入上式得:

式中:g—重力加速度;

Ac—矩形断面。

对于矩形断面,Ac=bhc。取q为单宽流量计算,则:

图1 石桥枢纽安全始流水位流量关系曲线

表1 收缩断面水深试算表

在不考虑行近水头损失的情况下:

E0=H0≈H+d

式中:H—上游水位;

H0—上游总水头;

d—坎高。

由公式进行转变,E0-H-d=0,则:

2ghc32-q2-2ghc3(2H+d)=0

设参数Z,使得

式中:Z—计算式设定参数。

将收缩断面水深hc取值带入(4)式中进行计算,因为计算式为三次方程式,一般情况下需要就行试算法求解,通过Excel列表,以便于检查错误及逐次逼近。

2.2 人工试算收缩断面水深hc发现的问题

2.2.1 大多数情况下,不能找到满足参数Z正好为零的收缩断面水深hc,这是三次方程的特性决定的,因此在选择收缩断面水深hc的解时,需要比较参数Z时正负两组解的绝对值的大小,以取得最优解。

2.2.2 某些情况会出现一个使参数Z无限接近某个有理数的解。

2.3 利用计算机编程计算收缩断面水深hc

2.3.1 程序设计的思路和过程

因为跃前水深计算式为三次方程式,人工一般情况下需要就行试算法求解,一般试算的方法为二分查找法,如果按人工试算的思路设计算法,算法的复杂度会比较大,代码的可读性也比较差。在不考虑计算效率的情况下,利用计算机强大的运算能力,可利用穷举法进行计算,同时在算法设计的过程中,必须合理地将人工试算的过程中发现的三个方面的问题进行解决。

表2 计算收缩断面水深hc运算表

在程序设计的过程中设计了3个主要的函数进行运算,importNum()函数用作数据输入,trial()函数用作数据运算,OperationNum()函数用作数据比较。importNum()函数在编写的时候需要注意指针传递。trial()函数在编写时需要利用其返回值。三个函数的具体实现过程本篇文章不做详述。

部分代码如下:

#include

#include

void importNum(float*q,float*h,float*tc)//数据输入函数定义

float trial(float a,float s,float c,float q,float h)//数据运算函数定义

void OperationNum(float a,float b,float s,float c,float q,float h,float tc,float ya,float yc)

//数据比较函数定义

int main()

{

float a=0,b=0,s=0.98,c=0,ya=0,yc=0;//s为流速系数,a,b,c,ya,yc为零时变量

float q=0,h=0,tc=0.1;//q为单宽流量,h为上游总水头,tc为预设精度

importNum(&q,&h,&tc);//数据输入函数

a=Trial(a,s,c,q,h);//数据首次进行运算

OperationNum(a,b,s,c,q,h,tc,ya,yc);//输入参数进行比较直至输出结果

return 0;

}

程序编写完成后进行数据计算,计算的过程通过输入单宽流量和上游总水头,自动运算出相适应的收缩断面水深hc。然后将计算的结果输入Excel中,以便于生成“始流时闸下安全水位~流量关系曲线”。

2.3.2 计算机运算的结果

计算机运算的收缩断面水深hc数值是根据程序中设置的精度来的,此次计算的精度精确到10-6;求解(4)式值Z时与试算过程的解接近。说明计算机编程运算的结果为正确的。

3 人工试算和计算机运算的分析比较

3.1 两种计算方式的精度的比较

本文列举的人工试算和计算机运算的结果都在参数Z精度10-2条件下得出的,因此具有相同的准确度,通过比较表1和表2可以看出,人工试算的精度为10-3,而计算机运算的精度为10-6,计算机运算比人工试算精确到高1000倍。同时参数Z的精度决定了收缩断面水深hc的值,在参数Z的精度要求逐渐变高后,收缩断面水深hc的人工试算也变得更加费时,而对计算机运算的影响却很小,因此在某些对精度有特殊要求的场合中运用时,计算机运算的结果比人工试算更有优势。

3.2 两种计算方式的效率的比较

以石桥枢纽节制闸工程需要的数据精度为例,现编制一张“安全始流水位~流量关系曲线”需要50组数据,人工试算需要不停计算,逐次逼近,由于经验及运算技巧的不同,花费时间也是因人而异,根据比较表1和表2可以看出,试算一组数据需要的平均时间66s,50组数据共计需要55min。计算机运算一组数据的耗时为由人工输入时间,计算机运算的平均时间为8.26s,50组数据共计6'53"。单从时间上看,通过计算机运算大大节约了时间,提高了效率。

3.3 两种计算方式成本的比较

针对不同的工程,因工程的独特性,其绘制的“始流时闸下安全水位~流量关系曲线”图均不一样,但原理相同。人工试算每次都要进行计算,唯一可以提高效率的方式是通过多人分段试算,当然也会增加人力资源成本,已经逐渐不符合当今水利发展的要求;通过计算机完成针对此次水利工程运用的代码编写后,可以移植到其他水利工程继续使用,节约了时间成本,同时可以对程序进一步开发、完善,以达到输入数据后可以自动进行计算并生成“始流时闸下安全水位~流量关系曲线”图,相比人工试算,将极大地节约时间、人力等各项成本。

4 结语

目前水利工程运行管理与计算机和信息化技术紧密结合,通过计算机对水利工程运行管理中产生的数据进行分析只是其中一种应用,本文列举了利用计算机编程计算节制闸闸门开启时产生水跃的收缩断面水深hc的一种方式,可以更加快捷高效地绘制“始流时闸下安全水位~流量关系曲线”图。目前“始流时闸下安全水位~流量关系曲线”运用还比较局限,一般工程是将其绘制成图表上墙,由节制闸操作人员根据上墙的曲线图反映的具体数值进行闸门的开度控制。但若该工程已经建设了自动化控制系统,可以在控制软件中编制“始流时闸下安全水位~流量关系曲线”程序,根据实时采集的上下游水位,自动计算闸门始流时最大开启高度,操作人员根据提示进行闸门开启控制,确保工程安全运行,提高节制闸工程的管理的先进性

猜你喜欢

试算水深运算
书法静水深流
基于水深分段选择因子的多光谱影像反演水深
重视运算与推理,解决数列求和题
这道题很难吗
有趣的运算
马运石头
基于蒙特卡洛方法搜索边坡临界滑裂面的方法
“整式的乘法与因式分解”知识归纳
拨云去“误”学乘除运算
GPS RTK技术在水深测量中的应用