基于Excel VBA程序的平底水闸水力计算程序设计
2022-08-26谢天云刘志成
谢天云,刘志成
(1.珠江水文水资源勘测中心,广东 广州 510630;2.珠江水利委员会珠江水利科学研究院,广东 广州 510630)
水闸工程在水利工程中应用广泛,具有防洪挡潮、分洪排渍、拦河灌溉、河道通航等多种作用,广泛地应用于河道、水库、湖泊等水利设施及枢纽建设中。设计人员进行合理化方案设计,确定其规模对于水利工程发挥预期效用、避免设计过度及投资浪费等具有重要作用。由于水闸流态复杂,计算参数众多,进行公式计算工作量大,且容易出错,进行不同方案比选时更加困难。本文依据水利部发布的《水闸设计规范》(SL 265-2016)[1]、有关文献[2]及《水力学》[3],利用Microsoft Excel中集成的VBA程序[4],编程开发了一套平底水闸水力计算程序设计程序,可应用于不同平底闸门型式、不同流态的水力计算中,从而为水闸闸宽、闸型,河道的过闸特征水位等确定提供依据,以期协助水利设计人员准确合理化决策。
1 程序功能及说明
1.1 程序功能及特点
程序依据水利部发布的《水闸设计规范》(SL 265-2016)及《水力学》水闸水力计算公式编程开发,可适用于平底水闸单孔闸、多孔闸、自由堰流、淹没堰流;自由孔流、淹没孔流等多种闸门型式、多种水流流态的水力计算。并且由于其基于Excel界面开发,操作简便,参数输入、中间过程输出及结果输出等均直观可见。
1.2 程序说明
程序基于Excel VBA开发,对32 位或64 位Excel均可支持,打开该Excel文件启用宏权限即可应用,不需账户登陆。界面见图1。
图1 程序界面图
程序界面将水闸设计条件、中间成果、计算结果三部分分开,并辅以参数介绍,计算参数示意图,方便用户进行参数校正和调算,具有良好的数据可视性、易用性和流程性。
1.3 程序参数
根据平底水闸的不同类型,均对应设计条件中的各项计算参数,用户在使用过程中选取所对应的水闸参数值即可。主要参数包括闸底板高程Z1、渠道上游底宽b1、渠道上游边坡m、下游水位Zt、水闸孔数N、闸孔总净宽B0、孔口高度he、上游水位Z、闸孔胸墙底圆弧半径r等,若多孔闸还需设置中闸墩厚度dz,中闸孔净宽dz,中闸孔净宽b0,边闸孔净宽b01等参数,见图2。
图2 输入参数界面
2 计算过程
2.1 计算流程介绍
根据上述输入参数,程序即可进行灵活判断,以不同计算模块进行计算,并将计算过程中的数据反馈到软件中,软件计算流程见图3。
图3 程序计算流程图
即软件根据所输入的数据,不需人为做判定和求解,即可自动判别在何种模块中计算,完成对堰流孔流等多种流态下的水力计算,方便快捷。
当出现参数不合理,则无法进行计算,程序将会显示#VALUE#,提示设计者重新调整参数,见图4。
图4 参数不合理报错显示示意图
2.2 计算模块化代码介绍
程序集成了不同流态下的模块化代码,该代码与中间数据、计算成果紧密结合,做到了无需点击按钮,无需辅助输入,自动完成计算的效果,代码如下。
2.3 中间过程展示
程序设置中间过程,位于界面中段,当水闸过流为不同流态,代入不同计算模块时,即可输出该工况下的流态,及相关中间参数,示例见图5。
图5 程序中间过程示意图
2.4 计算结果展示
计算结果可直接展示在计算结果版块,包括过闸流量Q,上游全水头H0,上游流速V0,上游流速水头等,设计人员可通过此计算结果,与输入条件比对判断在某水闸设计尺寸下是否满足过流,是否因闸上水位过高需进一步扩大闸宽以降低闸上水位,灵活调整优化方案;或在某现状水闸尺寸下计算指定工况下的闸上水位,作为河道湖库整治起算水位依据,为河道湖库整治提供辅助。
3 结语
水闸工程建设应用面广、投资大、设计要求高、出险后产生不利影响程度大范围广,为水利工程建设的重点和难点。该程序软件集成在Excel中,易于操作上手,计算速度快,且严格按照水闸设计规范编制,集成了不同型式平底水闸的不同流态计算模块,适应性广,并且可实现输入参数、中间参数、输出结果全数据实时可视化展示,大大地提高了设计人员的工作效率和成果准确性,有助于指导水闸工程的建设。