陶俊波,段秋华,2,黄 昊
(1.广西大学 工程防灾与结构安全教育部重点实验室,广西 南宁530004;2.广西大学 土木建筑工程学院,广西 南宁530004;3.中国水利水电科学研究院,北京100038)
溢洪道是一种常见的泄水建筑物,用于宣泄超标准洪水,保证大坝安全。溢洪道的数值计算和建筑信息模型的研究,前人已经做了很多工作:陈群等[1]引入VOF 模型对鱼背山水库岸边阶梯溢洪道流场进行了三维数值模拟。Song 等[2]利用显式有限元方法对隧洞式溢洪道进行了计算。Nlls 等[3]利用k-ε模型计算N-S 方程,对溢洪道水流进行了计算。谭毅源等[4]采用Excel 电子表格与VBA 程序相结合的计算方法得到溢洪道水面曲线的特点。马智亮等[5]构筑了一个建筑施工项目信息化管理系统的框架模型,同时举例说明了这些模型的应用方法。姚俊淦等[6]分析了城市道路信息管理中存在的安全问题并建立了城市道路管理协同工作的安全机制。王珩玮等[7]分析了BIM 的模型信息范围与表达形式,开发了BIM 模型三维浏览与信息管理系统。胡振中等[8]构建了施工现场及设施实体的四维时空模型,提出了施工现场物理碰撞检测的算法。张建平等[9]基于空间分解和空间占用这两种应用最为广泛的预处理方法,提出了一种集成、高效的精确碰撞检测算法。张建平等[10]基于分析和管理施工期的冲突和安全问题的整体解决方案,提出和确立了四维结构信息模型。
三维建筑模型自动绘制参考相应的设计规范,编写的程序在读入工程数据后实现自动进行几何和力学计算并绘制二维和三维图。三维图要比二维图更直观和形象,使得三维图对于工程的设计和施工方更具有参考价值。三维底流消能的溢洪道的自动绘制就是在这方面进行的尝试。计算机软硬件的飞速发展使得这个尝试成为可能。自动绘制程序根据溢洪道的设计规范编写。程序参考了DL/T 5166-2002的溢洪道设计规范及相关的工具书。
编程语言采用的是MATLAB 的M 语言,MATLAB(矩阵实验室)是MATrix LABoratory 的缩写,是一款由美国The MathWorks 公司出品的商业数学软件。MATLAB 是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB 还可以用来创建用户界面及与调用其他语言(包括C、C++、Java、Python 和FORTRAN)编写的程序。
输入的数据获取可设计为读取txt、dat 或xlsx 格式的文件。程序要求使用者输入参数:是否绘制水面线;是否对水面着色;底坡角度;重力加速度;各桩号的右侧坡比;各桩号的左侧坡比;槽身糙率系数;各分段泄槽长;各桩号的底宽;泄槽下泄流量;安全加高;建筑物绘图线宽;水面线线宽;水面线计算迭代次数;掺气水深修正系数;泄槽进口高程;泄槽进口桩号;溢洪道底板厚;消力池出口宽;流速系数;消力池出口下游水深;消力池底板厚和三维坐标显示范围。
本文引用例1 和例2 的数据输入,其中两个算例的重力加速度为9.81 m2/s,建筑物绘图线宽和水面线宽为1.125 和1.25,水面线计算迭代次数为500,掺气水深修正等数为1.2,泄槽进口高程为70 m,泄槽进口桩号为20 m,溢洪道底板厚为0.3 m,流速系数为0.9,消力池出口下游水深为2 m,消力池底板厚为0.5 m。例1 与例2 的不同参数见表1。表1 中的ones(1,10)代表1 行10 列的矩阵,矩阵元素取值1;Zeros(1,10)代表1 行10 列的矩阵,矩阵元素取值0。
表1 两个算例的输入数据Tab.1 Input data of two examples
根据能量方程,用分段求和法计算,计算公式如下:
式(1),Δl1-2为分段长度,m;h1、h2为分段始、末断面水深,m;v1、v2为分段始、末断面平均流速,m/s;α1、α2为流速分布不均匀系数,取1.05;θ 为泄槽底坡坡角,i=tgθ;式(2)中为分段内平均摩阻坡降;n 为泄槽的槽身糙率系数;v 为分段平均流速为分段平均水力半径(R1+R2)/2,m。
关键计算还包括水力半径、收缩断面水深、共轭水深、消力池的池深和池长。程序流程图见图1。
水平面图的y 坐标反映溢洪道的宽,x 坐标反映溢洪道的长-桩号位置。纵剖面图的y 坐标反映溢洪道的高程,x 坐标反映溢洪道的长。纵剖面图的泄槽段的挡墙上部是多段折线;纵剖面图的消力池段的挡墙上部是水平线。根据溢洪道设计规范,消力池段的挡墙高度取水跃高度的1.05 倍。泄槽段的挡墙高度不小于消力池段的挡墙高度。泄槽段的溢洪道纵剖面图的挡墙高度考虑两种情况:当泄槽段的挡墙高度高于消力池段的挡墙高度,泄槽段的挡墙高度不用修正。当泄槽段的挡墙高度低于消力池段的挡墙高度,泄槽段的挡墙高度修正为消力池段的挡墙高度。
图1 程序流程图Fig.1 Program flow chart
绘制以梯形横断面的泄槽和扩散型平面形式的消力池来说明:
①泄槽出口的梯形横断面过渡到消力池出口的矩形横断面,消力池的横断面不能完全看成是矩形。水平面图的消力池底部是扩散型平面形式。各横断面的消力池上部和底部的宽都要进行线性插值计算得到。各横断面消力池存在坡比。
②各横断面消力池的坡比通过对应横断面的消力池上部和底部的宽的差和消力池段的挡墙高得到。
③在纵剖面图中,泄槽出口水深和收缩断面水深间水面线、收缩断面水深和共轭水深间水面线、共轭水深和下游出口水深间水面线近似的按抛物线计算。
④某一段消力池的水面宽通过相应的坡比、水深和消力池底部的宽插值得到。
通过纵剖面图的直线挡墙(消力池)和折线挡墙(泄槽)相连接部分和水平面图的相连接部分的图形信息来检测相连接部分的水平面图和纵剖面图的数据是否一致。
水平面图的桩号处的挡墙上部和底部的高程信息用于绘制水面线,通过线性插值得到相应两桩号间的挡墙相交部分的上部和底部的高程y1和y2。在纵剖面图,水平面图的挡墙上部和底部的高程y1和y2信息通过平行于x 轴的两条直线(y=y1、y=y2)来绘制。在纵剖面图,水平面图的挡墙相交部分的横坐标x1信息通过平行y 轴的直线(x=x1)来绘制。纵剖面图共有两处满足3 线共点:y=y1、x=x1和折线挡墙的上部实现3 线共点;y=y2、x=x1和折线挡墙的底部实现3 线共点。图2 包括三线共点的全局图和局部放大图。三线共点说明泄槽和消力池相交部分的水平面图和纵剖面图的数据是对等的。
图2 三线共点及局部放大Fig.2 Results of Three lines in one point and zoom
水面线迭代计算的MATLAB 的M 代码与EXCEL 计算结果通过两个工程算例比较。输入的数据见表1。算例1 的计算结果见表2,共10 个桩号;算例2 的计算结果见表3,共6 个桩号。计算结果的最大差别接近10%。误差原因是EXCEL 计算结果是手动试算修改若干次而得到的,而M 代码程序计算结果是编程中经过多次迭代小于一定误差自行终止或达到程序设置的最大迭代次数。
表2 算例1 的计算结果比较Tab.2 Comparisons of example 1 results
表3 算例2 的计算结果比较Tab.3 Comparisons of example 2 results
出图结果可根据需要绘制溢洪道的水面线,对水面着色及考虑无水情况的溢洪道。绘图能调整水面线和溢洪道的绘制线形的粗细和颜色。水面线的绘制颜色为蓝色。水面的着色为蓝色。水体的着色采用了MATLAB 的patch 命令,二维情况patch(X,Y,C);三维情况patch(X,Y,Z,C)。C 表示颜色;X、Y、Z 代表坐标。溢洪道的绘制颜色为黑色。每一个桩号的溢洪道的横剖面、泄槽的纵剖面、泄槽的水平面都可出图,但限于篇幅,这些二维出图已省略了很多。
对应算例1,图3 给出了矩形横断面的泄槽和矩形平面形式的消力池。由于泄槽是矩形横断面,水平面图的水面线和混凝土的轮廓线重合。
对应算例2,图4 给出了梯形横断面的泄槽和扩散型平面形式的消力池。由于泄槽是梯形横断面,水平面图的水面线没有和混凝土的轮廓线重合。水平面图的泄槽段的水面线是折线。水平面图的消力池段的水面线是曲线,消力池段的水面线纵剖面是抛物线。
MATLAB 命令view(90,0)、view(90,90)和view(0,0)可转换三维角度分别显示得到纵剖面图、水平面图及从下游正视上游图。但程序考虑到以后的二维图的自动线性标注,还是编写了全局纵剖面图和水平面图。三维view(90,0)命令和纵剖面图的绘图对比也能检查代码中的错误。在图3 的三维视图中,工程技术人员通过选择三维转动按钮后按住鼠标左键移动能从不同角度查看三维溢洪道建筑模型。
图3 矩形横断面的泄槽和矩形平面形式的消力池Fig.3 Rectangular cross-section chute and rectangular plane stilling basin
图4 梯形横断面的泄槽和扩散型平面形式的消力池Fig.4 Trapezoidal cross-section chute and diffusive plane stilling basin
编写的程序可应用于实际工程。MATLAB 的M 代码已经在网上进行了开源。但结果还是存在以下的不足:
①如果CATIA、AutoCAD 和Revit 的二次开发实现三维底流消能溢洪道的自动绘制,就不仅局限在研究,将更广泛的满足实际工程需要。
②编写的程序的界面化方便工程技术人员的使用,有助于进一步推广。
③二维图形的实现自动线性标注,将具有更广泛的工程运用的价值。
④程序只考虑单一坡角的泄槽计算,而实际工程中的泄槽可能存在多坡角的情况;并且实际工程的溢洪道有可能存在弯曲段。
⑤程序的需要更多实际工程算例来进行验证。
⑥程序进一步的改进应当对溢洪道进行着色。
[1] 陈群,戴光清.鱼背山水库岸边阶梯溢洪道流场的三维数值模拟[J].水力发电学报,2002,78(3):62-72.
[2] CHARLES C,SONG S,ZHOU Fa-yi.Simulation of free surface flow over spillway[J].Journal of Hydraulic Engineering,1999,125(9):959-967.
[3] NILS R B.Three-dimensional numerical flow modeling for estimation of spillway capacity[J].Journal of Hydraulic Research,1998,36(5):775-784.
[4] 谭毅源,李寿禄,杨黎明,等.ExcelVBA 在溢洪道水面曲线计算中的应用[J].广东水利水电,2010(7):24-25,37.
[5] 马智亮,莫方彬,陈娟.建筑施工项目信息化管理系统的面向对象建模[J].土木工程学报,2001,34(2):105-110.
[6] 姚俊淦,马智亮,江见鲸.城市道路管理协同工作中的安全机制研究[J].计算机工程与应用,2002,38(2):1-3,10.
[7] 王珩玮,胡振中,林佳瑞,等.面向Web 的BIM 三维浏览与信息管理[J].土木建筑工程信息技术,2013,5(3):1-7.
[8] 胡振中,张建平,张新.基于4D 时变空间模型的施工现场物理碰撞检测[J].清华大学学报:自然科学版,2010,50(6):820-825.
[9] 张建平,李丁,胡振中.一种集成空间分解与占用的精确碰撞检测算法及其在建筑工程中的应用[J].工程力学,2014,31(5):79-85.
[10]ZHANG Jian-ping,HU Zhen-zhong.BIM-and 4D-based integrated solution of analysis and management for conflicts and structural safety problems during construction:1.Principles and methodologies[J].Automation in construction,2011,20(2):155-166.