水库调洪演算程序

版本 1.4
输入库容曲线 · 泄流曲线 · 多个洪水过程线 · 起调水位,可选自由泄流、闸门控泄保正常蓄水位、有闸控制分级控泄(设汛限水位)三种运行方式: 逐工况给出最高库水位、最大泄流量、削峰流量与闸门全开/关闸时刻,并生成多工况成果对比表,一键导出 Excel
梯形平均式隐式试算· 直线 / 四点三次插值· 分级控泄分段求解· 2026年10月23日· Copyright © longlong

1基本参数起调/汛限水位与正常蓄水位须落在库容曲线与泄流曲线的节点范围内

各工况共用同一调洪起始水位
控泄工况:涨水段随来水开大闸门维持水位,来水超过泄流能力后闸门全开、自由溢流
默认梯形平均式,三种格式解同一水量平衡方程
库容、泄流、洪水过程线三条曲线同时生效

2基础资料输入直接从 Excel 复制两列粘贴即可,Tab / 空格 / 逗号均识别

库容曲线0 节点
水位 Z (m)库容 V (万 m³)
水位递增;可加第 3 列水面面积(万 m²)
泄流曲线0 节点
水位 Z (m)泄流量 q (m³/s)
即 q = q(Z),自由泄流关系
洪水过程线0 节点
工况名称
时间 t (h)入库流量 Q (m³/s)
时间递增,首末宜为 0;每个工况一条洪水过程线,末节点即该工况洪水历时
计算方法与公式说明

一、基本方程。水库水量平衡的微分形式为

ƒ(z)·dz/dt = Q(t) − q(z)

式中 ƒ = ƒ(z) 为库水面面积;z = z(t) 为库水位;Q = Q(t) 为入库流量;q = q(z) 为出库流量。 移项并定义调洪函数

F(t, z) = [Q(t) − q(z)] / ƒ(z) , dz/dt = F(t, z),z(t₀) = z₀

程序按所选方法对该初值问题逐步积分;ƒ(z) 由库容曲线对水位求导得到(也可在库容表第 3 列直接给水面面积)。

二、梯形平均式(隐式试算,默认)。工程上最常用的差分格式,对相邻两时段取平均:

ΔV = [ (Q₁+Q₂)/2 − (q₁+q₂)/2 ] · Δt

由于 q₂ 依赖 V₂(即依赖未知的 Z₂),方程为隐式。程序逐时段迭代:假定 V₂ → 由库容曲线反查 Z₂(二分法) → 插值求 q₂ → 回代上式更新 V₂,直到相邻两次迭代的 V₂ 之差小于 1×10⁻¹¹ 万 m³,收敛后再推进下一时段。

三、多工况计算。每个洪水过程线为一个独立工况(如 100 年一遇设计洪水、2000 年一遇校核洪水), 共用同一库容曲线、泄流曲线与起调水位,各自以自身洪水历时为计算终止时间并行计算, 成果汇总成对比表,可直接得到设计洪水位、校核洪水位及其相应下泄流量。

四、插值口径。下拉框选择后对库容曲线、泄流曲线、洪水过程线同时生效:

· 直线插值(默认):节点间线性连接,稳定、无过冲,与手工查图习惯一致,洪水总量守恒;
· 四点三次多项式:取目标点相邻 4 个节点做拉格朗日三点式(三次)插值,曲线更平滑, 首末区间固定取前 4 点或末 4 点。节点少于 4 个时自动退化为直线插值。
  注:节点稀疏时三次插值会在节点间产生轻微过冲,洪水总量与节点直线积分略有差异,比对已有成果时建议先用直线。

五、计算步长。Δt 不需人工输入,由程序按各工况洪水过程线的节点最小间隔自动确定 (取其 1/2 后就近取常用值 0.005 / 0.01 / 0.02 / 0.025 / 0.05 / 0.1 / 0.2 / 0.25 / 0.5 / 1 / 2 / 5 h); 末时段按实际剩余时长收尾,使成果表最后一行的绝对时间正好等于该工况的洪水历时。

六、单位与量纲。Q、q 为 m³/s,Δt 为 h,V 为万 m³,则

ΔV (万m³) = Q (m³/s) × Δt (h) × 3600 / 10000 = 0.36·Q·Δt

七、成果校核。表中"水量平衡差"列为该时段 ΔV 与方程右端之差,梯形隐式格式下应为 0(仅存舍入误差); 若用龙格—库塔或改进欧拉,该列给出该时段积分格式与梯形平均式的偏差,可用于判断时段步长是否足够小。 全过程校核:入库总量 − 出库总量 = 末库容 − 起调库容。

八、运行方式二:闸门控泄(不设防洪库容)。适用于不设防洪库容、不设汛期限制水位、从正常蓄水位起调的水库。 此时泄流设施为闸门控制,调洪过程按三段求解,程序中以"控泄/自由溢流"两种状态交替标识(状态由程序在每时段自动判别,无需人工分段):

① 控泄段(涨水段)。随来水增大开大闸门,按"下泄流量 = 入库流量"运行,库水位维持正常蓄水位不变, 即 q(t) = Q(t)、dV/dt = 0;该段下泄过程线与入库过程线重合,图表中以橙色虚线表示。
② 自由溢流段(闸门全开)。当来水超过正常蓄水位对应的泄流能力 q(Z₀) 时,闸门已全开而水位仍上涨, 多余水量 ΔW = ∫[Q(t) − q(Z₀)]dt 蓄在库内;水位每升高一点,泄流能力随之增大,此后按自由泄流 q = q(Z) 计算。 水位一直升到 q(Z) = Q 时达到最高,故最高库水位出现在洪峰之后不远处。
③ 退水段。洪峰过后来水减小:当来水大于该水位对应的泄流能力时,库水位继续升高;当来水与泄流能力相等时, 库水位达到最高;其后来水小于泄流能力,库水位降低、自流溢流;直至水位降至正常蓄水位, 此后闸门重新控制、按来多少放多少(q = Q)继续维持正常蓄水位,直至洪水过程结束。

判据:控泄段满足 Q(t) ≤ q(Z₀) 且 V = V(Z₀);一旦时段末蓄量 V₂ > V(Z₀) 即转入自由溢流(闸门全开); 自由溢流段一旦 V₂ ≤ V(Z₀) 即判定水位已回落至正常蓄水位,自动转回控泄段。为使回落时刻准确, 程序对 V = V(Z₀) 的穿越点按时段内线性插值回查,精度优于一个计算步长。

该工况的评价指标与自由泄流不同:最高库水位即设计/校核洪水位;最大下泄流量为闸门全开时的最大泄流能力; 最大超蓄水量 = 最高水位库容 − 正常蓄水位库容,属洪水期临时超蓄(不占防洪库容),洪后可全部腾空; 闸门全开时刻为控泄段结束、开始自由溢流的时刻;回落至正常蓄水位时刻为自由溢流结束、重新转入控泄的时刻, 两者之差即闸门全开历时。因退水段仍按来多少放多少运行,全过程入库总量与下泄总量相等,水量平衡可完整闭合。

注:控泄工况的分段判据依赖状态记忆,故计算方法固定采用梯形平均式 (控泄段为解析式、自由溢流段为隐式试算),选择龙格—库塔或改进欧拉时程序自动改用梯形平均式并给出提示。 若正常蓄水位处泄流能力为 0(泄流曲线该点 q = 0,相当于无闸控制的自由溢洪道),则控泄段不存在, 来水一出现即自由溢流,结果与自由泄流工况基本一致。

九、运行方式三:有闸控制 · 分级控泄(设汛限水位)。这是汛前降至防洪限制水位、按下游安全泄量分级控制的调洪方式。 参数为:防洪限制水位 Zlim(起调水位)、下游防洪安全泄量 Q安、闸门全开控制流量 Q全, 并按 6 条调度规则逐时段自动判别:

① 来水 Q ≤ Q安。开启闸门、按来水流量泄洪,闸门开度随来水调整,坝前维持防洪限制水位不变, 即 q = Q、dV/dt = 0;该段下泄过程线与入库过程线重合,图中以橙色虚线表示。
② Q安 < Q ≤ Q全。来水已超过下游安全泄量,闸门收小,按 q = Q安 控制泄洪, 超出部分拦蓄在库内,库水位自防洪限制水位壅高,防洪库容开始充蓄(图中紫色实线)。
③ Q > Q全(设计/校核洪水)。闸门全开,按泄流曲线 q = q(Z) 泄洪;此时下泄量由库水位决定, 水位每升高一点泄流能力就大一点,直到 q(Z) = Q 时达到最高库水位,其后随来水减小水位回落(图中青色实线)。
④ 退水段。闸门保持全开自流泄洪,库水位逐降;当水位降至防洪限制水位时关闭闸门、停止泄流,调洪结束。

三段判据由程序逐时段识别:控泄段满足 Q ≤ Q全;来水在某时段内跨越 Q全 时,按 Q(t) = Q全 插值求出闸门全开时刻并把该时段拆成"控泄 + 全开"两段分别积分; 退水时按 V = V(Zlim) 插值回查关闸时刻,同样拆段积分。因此全过程水量平衡严格闭合(起调与终止水位相同, 入库总量 = 下泄总量),成果表最后一行为关闸时刻。

该工况的评价指标:最高库水位(即设计/校核洪水位)、最大下泄流量(应 ≤ Q安 或由全开泄流能力控制)、 削峰流量与削峰率、闸门全开时刻、关闸时刻、 最大超蓄水量 = V(Zmax) − V(Zlim)。 若同时填写正常蓄水位 Zs,则另给出防洪库容 Wf = V(Zs) − V(Zlim) 与 库容利用率 = 最大超蓄 / Wf:利用率 ≤ 100% 说明防洪库容够用,> 100% 说明最高水位已超正常蓄水位, 超出部分须由坝顶超高或非常泄洪设施承担。

注:① 若防洪限制水位处闸门全开泄流能力小于 Q安,则该水位无法按 Q安 控泄, 程序自动按实际泄流能力控制并提示;② 若来水从未超过 Q全,则全程闸门控泄、不会全开; ③ 若洪水过程线尾部不够长、水位未回落到防洪限制水位,程序会提示延长退水段; ④ 本方式假定有闸门控制,无闸自由溢洪道应改用"自由泄流"方式。

十、导出 Excel。工作表为:库容曲线、泄流曲线、洪水过程线(各工况并列)、 调洪成果(单工况时即该工况成果表;多工况时为汇总对比 + 每个工况一张明细表), 明细表列式为:时间、入流量、出流量、库水位、库容、库容变差,闸门调度工况另加"泄流状态"列 (控泄保水位/控泄蓄洪/闸门全开/关闸停止)(原《水库洪水调节计算成果表》中的"下游控制断面流量"列在自由泄流条件下与出流量相同、恒为空白,已略去)。

说明:自由泄流工况按 q = q(Z) 计算,不含闸门控制、机组过流与下游防洪补偿等约束; 闸门调度工况按"保正常蓄水位"或"下游安全泄量分级控泄"规则计算,不含机组过流、预泄过程、逐级加大泄量等运行要求; 若需按入库流量分级控泄,可另在 q(Z) 曲线上按控制条件分段给定,或辅以人工试算。