污水管道水力计算书生成
依据 GB50014-2006《室外排水设计规范》(2016年版),从用水量推算设计污水量,
完成曼宁公式水力计算,逐条校核规范符合性,输出带原生 Word 公式与校核表的计算书。
何时使用
用户提出以下任一需求时:
- 生成污水/排水管道水力计算书
- 校核某管径管材是否满足《室外排水设计规范》
- 给出最高日用水量 + 最大时用水量,要求选管径、定坡度
- 比较两种管径方案并给出最终结论
必需输入
| 参数 | 单位 | 说明 |
|---|---|---|
| 最高日用水量 | m³/d | 用户提供 |
| 最大时用水量 | m³/h | 用户提供 |
可选参数(有则采用,无则用默认值,并在计算书中明示):
| 参数 | 默认值 | 说明 |
|---|---|---|
| 排水量折算系数 r | 0.9 | 生活污水常用区间 0.8~0.9 |
| 设计流量取法 | 最大时法 | 另有"最高日法 + Kz" |
| 管材 | 塑料类 / 钢筋混凝土 | 见下表材料键 |
| 坡度 i | 按规范最小坡度 | d200 强制 0.004;其余塑料 0.002 / 其他 0.003 |
| 管道类型 | 污水干管 | 另有"小区支管"(最小管径按 d200) |
材料键:塑料类(UPVC/PE/玻璃钢)、钢塑复合、钢筋混凝土、混凝土、金属
工作流程
第 1 步:确认输入参数
从用户输入中提取最高日用水量、最大时用水量、方案管径与管材。
若用户只给水量未给方案,不要追问,直接按"自动选径"处理(见第 3 步)。
第 2 步:准备运行环境
首次使用需安装 python-docx(已装则跳过):
PY=C:/Users/admin/.workbuddy/binaries/python/envs/default/Scripts/python.exe
$PY -m pip install python-docx -q
若该解释器不存在,用
C:/Users/admin/.workbuddy/binaries/python/versions/3.13.12/python.exe -m venv C:/Users/admin/.workbuddy/binaries/python/envs/default 创建。
第 3 步:调用生成脚本
脚本位于 scripts/gen_report.py,直接用 Bash 执行,不要手写公式——
引擎已完成精确几何解、充满度分档、粗糙系数取值和全部规范校核。
单方案:
$PY scripts/gen_report.py \
--project "XX污水管网" --qd 112.09 --qh 15.58 \
--scheme "推荐方案:d200:钢塑复合:0.004" \
--pipe-kind 小区支管 --out "输出路径.docx"
双方案对比(推荐做法,自动给出对比表与最终结论):
$PY scripts/gen_report.py \
--project "XX污水管网" --qd 112.09 --qh 15.58 \
--scheme "方案A:d300:钢筋混凝土:0.003" \
--scheme "方案B:d200:钢塑复合:0.004" \
--out "输出路径.docx"
不指定方案(自动选径):省略 --scheme,脚本自动按塑料管与钢筋混凝土管
各选一个最小可行管径进行对比。
关键参数:
| 参数 | 取值 | 说明 |
|---|---|---|
--scheme 格式 |
"标签:管径:材料:坡度" |
坡度可省略(自动取规范最小值);可重复多次 |
--mode |
max_hour(默认)/ max_day |
最大时法 / 最高日法+Kz |
--ratio |
默认 0.9 | 排水量折算系数 |
--pipe-kind |
污水干管(默认)/ 小区支管 |
影响最小管径校核(d300 / d200) |
独立试算(只需结果不需文档时,直接调用引擎):
$PY -c "import sys; sys.path.insert(0,'scripts'); import hydraulic_core as hc; \
Qh,Q=hc.flow_from_max_hour(15.58,0.9); r=hc.solve_scheme(Q,200,'钢塑复合',0.004,'小区支管','方案B'); \
print('v=%.3f Q=%.2f L/s'%(r['calc']['v'],r['calc']['Q_Ls']), r['compliance']['all_pass'])"
第 4 步:解读结果并回复用户
脚本 stdout 会输出各方案的 v、Q 与可行/不可行判定,以及推荐方案。
把这些具体数值(管径、粗糙系数、充满度、流速、过流能力、余量)
写进回复,不要只说"已生成"。
若某方案不可行,说明具体哪一项不满足(脚本返回 failed 列表),
并建议调整方向:放大管径 / 增大坡度 / 更换更光滑管材。
第 5 步:呈现文件
调用 present_files 把生成的 .docx 呈现给用户。
输出文档结构
生成的四/六段式计算书(段数随方案数变化):
- 一、设计参数 —— 水量、折算系数、设计污水量推算、规范控制指标表
- 二、计算公式 —— 曼宁公式 + 非满流圆管精确几何公式(原生 Word 公式对象)
- 三、水力计算 —— 每方案一张水力要素表 + 流速/流量代入 + 实际充满度反算 + 满流复核 + 逐条规范校核表
- 四、计算结论 —— 各方案逐条判定
- 五、方案对比与推荐(双方案时)—— 对比表 + 推荐
- 六、最终结论(或"五")—— 明确回答所选管径与管材是否满足规范要求
关键约定
- 充满度按管径分档:d200~300 → 0.55;d350~450 → 0.65;d500~900 → 0.70;d≥1000 → 0.75(表 4.2.4)
- d ≤ 300mm 必须满流复核(表 4.2.4 注)
- 最小流速 0.60 m/s 按设计充满度下的流速校核(4.2.8)
- 最大流速:金属 10.0、非金属 5.0 m/s(4.2.5)
- 最小管径:污水干管 d300;小区支管按 d200 工程惯例(表 4.2.10)
- d200 强制最小坡度 0.004(任意管材)—— 严于表 4.2.10 对塑料管的 0.002 要求,
优先于管材规则。省略坡度时 d200 自动取 0.004 - 几何一律用 θ 精确解,不要用 A=0.4426D²、R=0.2647D 这类仅在 h/D=0.55 成立的近似系数
详细条文与易错点见 references/gb50014_params.md,需要核对规范依据或向用户
解释某条校核时读取。
d200 坡度规则的处理方式
用户若显式传入 d200 且坡度小于 0.004,照实执行,不要静默改写——
脚本会把"最小设计坡度"判为不满足并在结论中列出。此时:
- 在回复中指出该项不满足,并给出
i = 0.004时的流速/过流能力作为建议值 - 若用户只是没给坡度(省略了第四段),脚本已自动取 0.004,无需干预
扩展用法
hydraulic_core.py 可单独作为库使用:
| 函数 | 用途 |
|---|---|
flow_from_max_hour(Qh, ratio) |
最大时用水量 → 设计污水量 |
flow_from_max_day(Qd, ratio, Kz) |
最高日用水量 + Kz → 设计污水量 |
total_variation_coefficient(q) |
按平均日流量插值取 Kz |
solve_scheme(Q, D, mat, slope, kind, label) |
单方案完整计算 + 校核 |
auto_select(Q, mat, slope, kind) |
自动选最小可行管径 |
compare_schemes(Q, schemes) |
多方案对比,返回最优 |
min_slope_for_velocity(D, n, v) |
反算满足目标流速的最小坡度 |
max_filling_ratio(D_mm) |
按管径取最大设计充满度 |
需要非标准计算(如指定充满度、反算实际充满度、批量试算多个管径)时,
直接调用这些函数,不要修改脚本源码。