基于半图解法的MATLAB程序和Excel在水库调洪演算中的联合运用

2019-05-27 09:57安航永赵文龙张雅萍
陕西水利 2019年4期
关键词:图解法库容插值

安航永,赵文龙,张雅萍

(1.广州禺山水务勘测设计股份有限公司,广东 广州 511400;2.黄河水利水电开发总公司,河南 郑州 450000;3.黄河建工集团有限公司,河南 郑州 450000)

调洪演算是水库规划设计中的重要内容之一,其目的是根据已知的水位~库容关系、洪水过程、调洪调度方案和起调水位,演算并输出各计算时段末的库水位、泄流量和库容变化量等[1]。调洪演算计算方法主要有试算法、半图解法、数值解法等,其中半图解法是最为简单、有效的演算方法[2]。但是,随着计算机的普及,适合编程的数值解法得到快速发展,半图解法逐渐在实用中淡出[3]。笔者借助MATLAB强大的数据处理和数据插值能力以及Excel友好的人机交互能力,程序化半图解法,使其能够更加高效、便捷的解决调洪演算问题。

1 MATLAB在数据插值方面的应用

MATLAB内置多种数据插值函数,可以进行一维数据插值(interp1)、二维数据插值(interp2)和三维数据插值(interp3)等。在工程计算中,较常用的插值函数为interp1,其运用的一般格式为:y=interp1(X,Y,x,method),其中 method 为插值方法[4]。常用的插值方法有:nearest(最近邻点插值)、linear(线性插值)、spline(三次样条函数插值)、pchip(分段三次Hermite插值)等,函数默认插值方法为linear。

2 半图解法基本原理

水库调洪演算的基本原理是求解水库的水量平衡方程[5]:

半图解法在求解过程中将水量平衡方程改写为[6]:

式中:Q1、Q2分别为计算时段初、末的入库流量,m3/s;q1、q2分别为计算时段初、末的下泄流量,m3/s;V1、V2分别为计算时段初、末水库的蓄水量,m3;Δt计算时段,s。

半图解法计算步骤如下:

(1)根据水位~库容关系、水位~泄流关系以及计算时段等绘制辅助曲线,见图1。

(2)确定起调水位 Z1,及相应的q1、V1,计算各时段平均入库流量Qp。

(3)在图1水位坐标轴上确定Z1位置,记为a点。作水平线ac交 A线于b点,使 bc=Qp。因A 线为(V/Δt-q/2)=f1(Z),则 ab 等 于 (V1/Δt-q1/2),ac 等 于 Qp+(V1/Δt-q1/2)=(V1/Δt+q1/2)。

(4)在c点做垂线交B线于d点,由d点作水平线de交Z坐标轴于 e点,可见 de=ac=(V2/Δt+q2/2)。因 B线为(V/Δt+q/2)=f2(Z),d 点位于 B 线上,则 e点为 Z2值。

(5)过de与C线交点f作垂线交q坐标轴于g点,则g点为q2值。

(6)根据Z2值,查水位~库容曲线可得V2。

(7)将 e点的 Z2值作为第二时段的 Z1,重复(2)~(6)即可得下一时段的特征值。由此逐时段进行计算,即可完成全部计算。

图1 半图解法辅助曲线

3 计算程序及使用方法

本方法由Excel完成基础数据的录入工作,然后通过MATLAB程序调用基础数据并完成调洪演算。

(1)数据录入

首先,根据程序要求创建名称为data的Excel文件。在data.xls内建立5个工作表,分别用来存储洪水过程(RuLiu)、水位 ~ 库容关系(KuRong)、水位 ~ 泄流关系(XieLiu)、起算条件(Set)以及演算结果(OutPut)。各工作表数据录入格式见图2~图5。

图2 洪水过程录入格式

图3 水位~库容关系录入格式

图4 水位~泄流关系录入格式

该程序通过MATLAB中xlsread函数自动调用data.xls中基础数据,采用interp1完成半图解法中的插值运算,然后通过xlswrite函数将演算结果输出至“OutPut”工作表,整个计算过程均由计算机完成,即提高了演算速度又避免了人工绘图和读数的误差。

4 应用实例

以官涌水库调洪演算为例,验证该方法的方便适用性。官涌水库位于广州市番禺区,为小(2)型水库,水库大坝为均质土坝,坝高9.53 m,坝顶高程19.97 m,设计洪峰流量为2.93 m3/s,校核洪峰流量为4.39 m3/s。官涌水库泄流建筑物为一座1.5 m×1.55 m(宽×高)开敞式溢洪道,溢洪道底高程16.82 m。

官涌水库设计洪水过程、水位~库容关系、水位~泄流关系见图6~图8,水库调度原则为敞泄,即起调水位为16.82 m。

图6 设计洪水过程线

图7 水位~库容关系曲线

图8 水位~泄流关系曲线

根据官涌水库设计洪水过程、水位~库容关系、水位~泄流关系及水库调度原则,在录入基础数据后运行MATLAB程序完成计算。程序输出结果包括入库流量(m3/s)、出库流量(m3/s)、时段蓄量(万 m3)、库容(万 m3)和水位(m),演算结果见图9~图10,结果输出格式如表1。

图9 调洪演算结果(出/入库流量)

图10 调洪演算结果(库水位)

表1 演算结果输出格式

5 结语

本文以官涌水库调洪演算为例,联合运用MATLAB程序和Excel,方便、快速的完成了官涌水库调洪演算工作。该方法不仅操作方便、计算迅速,而且避免了人工绘图和读数的误差,计算精度也得以提高。可见,以半图解法为理论基础,联合运用MATLAB程序和Excel解决水库调洪演算问题是一次成功的尝试,不仅解决了半图解法的程序化问题,而且为广大水利工程技术人员提供了一个解决水库调洪演算工作的方便、快捷的方法。

猜你喜欢
图解法库容插值
三峡-葛洲坝两坝间动库容概化计算研究
滑动式Lagrange与Chebyshev插值方法对BDS精密星历内插及其精度分析
基于HTML5的凸轮廓线图解法App教学软件研究
基于pade逼近的重心有理混合插值新方法
混合重叠网格插值方法的改进及应用
基于注水试验的土体渗透系数计算
图解法在高中地理课堂教学中的应用
图解法巧答政治主观试题
白龟山水库动用死库容应急供水研究
基于混合并行的Kriging插值算法研究