本软件为免费分享的非商业性工具,仅供水面线计算思路与方法的交流学习使用。软件未经全面、系统的验证,不保证计算结果的准确性、完整性或适用性。
任何情况下,使用者均应自行对计算结果进行独立校核与验证,并对基于本软件结果做出的所有决策承担全部责任。作者不对因使用本软件产生的任何直接或间接损失负责。
一、软件简介
(一)普通断面水面线计算
基于曼宁公式(Manning’s Equation)计算断面过流能力:

其中:A 为过水面积,R 为水力半径,S 为能坡(近似等于水面比降),n 为糙率。
采用二分法迭代求解水位,确保流量平衡精度(默认收敛误差≤ 0.0001 m)。
自动识别左滩、主槽、右滩分区(依据糙率 n突变点),分别计算各分区水力要素。
(二)桥断面壅水分析
采用《洪水影响评价技术导则》(SLT808-2025)的桥断面壅水公式进行桥断面的水位推算。
支持三类土质(松软土、中等土、密实土)的冲刷特性建模:
松软土:
中等土:
密实土:
计算关键参数:
冲刷系数
(桥前收缩过水面积 / 桥下实际过水面积)
壅水高度
(η为壅水系数,由用户输入)
自动将壅水高度叠加至上游普通断面水位,作为桥断面计算水位。
(三)堰流断面水头计算
采用宽顶堰自由出流公式直接解析求解堰上水头:

其中:
m:流量系数(默认 0.385)
ε:侧收缩系数(默认 0.9)
σ:淹没系数(默认 1.0,即按自由流计算)
b:堰宽(自动取断面 X 坐标范围)
堰顶高程自动取断面最低点高程(深泓),水位 = 堰顶高程 + H。
三、安装与运行
源代码需要相关的Python 环境和依赖库(PyQt5>=5.15.0、matplotlib>=3.5.0、pandas>=1.3.0、openpyxl>=3.0.0、numpy>=1.21.0)。
四、输入数据格式
本软件通过 Excel 文件(.xlsx) 导入河道断面数据。为确保程序正确解析,请严格遵循以下格式要求。所有输入均基于 SI 单位制(长度:米,流量:m³/s)。
重要提示:
文件必须包含名为原始数据的工作表(Sheet)。
程序不依赖列标题,仅按固定列位置读取数据。
空单元格或无效值将被自动填充默认参数(见下文说明)。
可以用开发的其他程序“数据格式转换”进行测量数据的直接转换。
(一)Excel 文件结构说明
整体布局
第1行为基础参数,依次是河流名称、目标流量、起始水位、初始比降。
列 (A) | 列 (B) | 列 (C) | 列 (D) | 列 (E) | 列 (F~G) |
河流名称 | (留空) | 目标流量 Q | 固定起始水位 Z₀ | 初始比降 S₀ | (留空) |
(文本) | (数值,m³/s) | (数值,m) | (数值,无量纲) |
固定起始水位:
若填 >0 的数值 → 软件将下游边界水位固定为此值(适用于已知尾水位场景)。
若填 0 或留空 → 软件自动反算下游边界水位(基于曼宁公式)。
初始比降:仅在自动反算模式下作为迭代初值(建议取河道平均比降,如 0.0001)。
第2行,(可选)空行,程序会自动跳过空行。
第3行起,断面数据块,每个断面由1行头信息 + N行地形点 组成。
行类型 | 列 (A) | 列 (B) | 列 (C) | 列 (D) | 列 (E) | 列 (F) | 列 (G) |
头信息行 | 桩号 | 参数1 | 参数2 | 参数3 | 识别码 | 地形点数量 | 断面名称 |
(数值,m) | (0/1/3) | (整数) | (文本) | ||||
地形点行 | X坐标 | 高程 Y | 糙率 n | (留空) | (留空) | (留空) | (留空) |
(数值,m) | (数值,m) | (数值) |
首先根据E列(5列)识别码判断断面类型。
识别码 | 断面类型 | 必填参数(对应头信息行列 B~D) | 默认值 | 说明 |
0 | 普通断面 | B: 动能修正系数 α | α=1.0, ξ=0.0 | 标准河道断面,按曼宁公式计算 |
C: 局部阻力系数 ξ | ||||
D: (未使用) | ||||
1 | 桥断面 | B: 壅水系数η | η=0.0 | 土质需填“松软土”/“中等土”/“密实土” |
C: 土质类型 | 土质="" | |||
D: 水流交角(°) | 交角=0° | |||
3 | 堰流断面 | B: 流量系数 m | m=0.385 | 按宽顶堰公式计算水头 |
C: 侧收缩系数ε | ε=0.9 | |||
D: 淹没系数σ | σ=1.0 | |||
D: 堰顶高程 | 默认最低高程点 |
示例文件已包括在下载目录里。
五、软件界面
本软件采用单窗口多标签页设计,界面简洁直观,所有核心功能均集中在主窗口内完成。以下按区域逐项说明。
(一)主窗口布局

顶部区域为文件上传区,
按钮可以上传编辑好的输入数据格式的excle文件。
右上角为断面选择,导入数据后会显示桩号和断面名称。

中部区域为① 参数调整 ② 计算结果表格 ③ 断面信息编辑 ④ 图表查看。
底部区域为功能操作栏,主要包括:
【计算水面线】:执行核心算法
【下载计算结果】:保存计算输出
【重置参数】:恢复到原始导入数据状态
【导出数据】:修改断面或流量相关参数后导出为excle数据(相当于编辑保存功能),可供下次计算使用
(二)参数调整标签页

成功导入excle表格后,会自动读取对应参数。
控件 | 默认值 | 说明 |
目标流量 Q (m³/s) | 读取自 Excel C1 | 若留空则需在此手动输入 |
初始比降 S₀ | 读取自 Excel E1 | 仅用于自动反算边界水位的迭代初值 |
下游固定水位 Z₀ (m) | 读取自 Excel D1 | 填 >0 值则锁定尾水位;填 0 或空则启用自动反算 |
流量段设置可调整起始断面和结束断面,更改不同河段的流量。
(三)断面信息编辑
(三)断面信息编辑
提供所见即所得的断面数据编辑能力。

支持删除和添加断面,可以对断面的距离、高程和糙率进行修改。也可以修改识别码,选择不同识别码会自动切换相关参数。
(四)图表查看
(四)图表查看
包含横断面图与纵断面图两个子视图,支持交互分析。

在未计算状态只显示断面形状,点击计算后会根据断面数据显示左滩、主槽、右滩范围以及计算水位。点击纵断面的桩号会自动切换到对应横断,方便修改调整断面参数。

(五)计算结果表格
(五)计算结果表格
展示每个断面的详细水力计算结果,支持排序与导出。

链接:https://pan.quark.cn/s/6848dec44b57
提取码:ntA2
夜雨聆风