管道流量流速换算
下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-7kxaytzk--flow-pipe-calc.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-7kxaytzk/flow-pipe-calc。流量管道换算计算工具。当用户需要计算管道流量、管径、流速三者之间的换算,或进行气体标况(Nm³/h)与工况(m³/h)流量换算时使用此 skill。覆盖场景包括:已知流量和流速反算管径、已知管径和流速计算流量、已知管径和流量计算流速、气体标况/工况流量互转。同时支持液体(水/油)和气体(空气/蒸汽/天然气)介质,采用公制单位(mm/m³/h/m/s/MPa)。
触发关键词:流量、管径、流速、管道换算、标况工况换算、Nm³/h、管道选型、流量计算。此 skill 提供可直接调用的 Python 计算脚本,支持单次对话参数输入与 CSV 批量计算。
阅读全文 (展开查看完整说明)
概述
Flow Pipe Calc (流量管道换算)
Overview
本 skill 用于完成管道工程中流量、管径、流速三者的换算,以及气体标况/工况流量换算。核心依赖一个可直接执行的 Python 脚本 scripts/flow_pipe_calc.py,无需第三方依赖(仅标准库),通过命令行参数或 CSV 批量输入即可得到结果。
支持四种计算模式与两类流体介质:
| 模式 | 说明 |
|---|---|
flow2dia | 流量→管径:已知流量+流速,反算所需管道内径(mm) |
dia2flow | 管径→流量:已知管径+流速,计算管道流量 |
velocity | 流速计算:已知管径+流量,计算管内流速(m/s) |
gas-convert | 气体标/工况换算:Nm³/h(标况) ↔ m³/h(工况) |
流体介质:liquid(液体:水/油等不可压缩流体)、gas(气体:空气/蒸汽/天然气等可压缩流体)。
介质比重与质量流量
本 skill 支持引入介质比重(Specific Gravity, SG),让计算延伸到质量流量:
- 液体比重:相对水(ρ水=1000 kg/m³),如水=1.0、油≈0.85、汽油≈0.74
- 气体比重:相对空气标况(ρ空气=1.293 kg/m³),如空气=1.0、天然气≈0.554、蒸汽≈0.622、CO₂≈1.529
提供 --sg 后,所有模式会额外输出:工况密度 density_kg_m3 与质量流量 mass_flow_kgh。气体工况密度按 P/T 修正。
质量流量输入:用户给 kg/h 而非 m³/h 时,用 --mass-flow <kg/h> --sg <比重>,脚本自动换算为体积流量再计算。
管道材质规格选择
工程选管按公称直径 DN,但 DN 既非外径也非内径——真实内径 = 外径 − 2 × 壁厚,由材质和壁厚系列决定。本 skill 内置常见材质的标准管径系列(数据见 references/pipe_specs.md),指定材质后自动按真实内径计算,得到工程上更准确的结果。
可选材质(--material)与壁厚系列(--schedule):
| 材质 key | 说明 | 壁厚系列 |
|---|---|---|
carbon-steel | 碳钢/镀锌钢管 | Sch40, Sch80 |
stainless-steel | 不锈钢管 | Sch40s |
pvc | PVC-U 给水管 | PN1.6 |
pe | PE 给水管 (PE100) | SDR11 |
ppr | PPR 冷热水管 | S3.2 |
copper | 铜管 | standard |
用 --list-materials 可随时列出。两种使用方式:
- 已知 DN 反查内径:
--dn DN100 --material carbon-steel --schedule Sch40→ 解析出实际内径 102.26 mm(而非 100) - flow2dia 自动选型:算出理论内径后给
--material + --schedule,脚本自动匹配最接近的标准管径(向上取整到内径≥理论值的最小规格),并反算选用该管后的实际流速/流量
首次加载行为(重要)
当本 skill 在一次会话中首次被触发时,按以下顺序处理(同一会话内只执行一次,后续触发直接进入计算):
第 1 步:判断用户首条消息是否已是完整计算请求
- 完整请求(已含足够参数,如「DN100 流速 1.2 算流量」「1000 Nm³/h 20°C 0.5MPa 换算工况」)→ 先直接计算并给出结果,结果末尾再用一两句话提示「此 skill 支持 X/Y/Z,需要教程随时说」,不要打断计算。
- 非完整请求(仅说「流量管道换算」「这个怎么用」「帮助」或语义模糊)→ 进入第 2 步,主动展示使用说明。
第 2 步:展示使用说明(仅非完整请求时)
用简洁形式向用户展示能力地图,示例文案(可按需调整语气,但保持信息完整):
📦 flow-pipe-calc 流量管道换算已就绪
我能帮你完成 4 类计算(公制单位:mm / m³·h⁻¹ / m·s⁻¹ / MPa):
① 流量→管径 给我「流量 + 流速」,反算所需管道内径
② 管径→流量 给我「管径 + 流速」,算出流量
③ 流速计算 给我「管径 + 流量」,算出管内流速
④ 气体换算 标况 Nm³/h ↔ 工况 m³/h 互转(需温度+压力)
支持液体(水/油)和气体(空气/蒸汽/天然气);
支持单次对话提问,也支持丢一个 CSV/Excel 给我批量算。
怎么问都行,例如:
「DN100 管道流速 1.2 m/s 流量多少?」
「流量 50 m³/h 流速 1.5 m/s 要多大管径?」
「1000 Nm³/h,工况 20°C 0.5MPa,换算成工况流量」第 3 步:提问是否需要使用教程
展示说明后,紧接着询问用户是否需要教程引导(一句话即可,不要长篇):
需要我带你跑一个示例走一遍流程吗?(回复「要」即可)
- 用户回「要/yes/教程」等肯定 → 进入第 4 步教程。
- 用户直接抛出真实计算需求 → 跳过教程,直接计算。
第 4 步:使用教程(用户同意时执行)
用一个代表性示例带用户走完整流程,推荐用「管径→流量(液体)」最直观:
- 说明:「我们用 DN100 水管道、流速 1.2 m/s 来演示。」
- 执行:调用
--mode dia2flow --diameter 100 --velocity 1.2 --fluid liquid。 - 解读:把输出整理成表格,解释「截面积 A、流量 Q 是怎么来的」。
- 引导下一步:「你也可以试试反过来——给我流量和流速,我帮你选管径;或者给我气体工况,我做标/工况换算。」
教程结束后该会话内不再重复展示说明。
核心公式与单位约定
公制单位约定(务必遵循):
- 管径
d:mm(内径) - 流量
Q:m³/h(工况体积流量,液体/气体通用) - 标况流量:Nm³/h(仅气体,0°C / 0.101325 MPa 标准状态)
- 流速
v:m/s(管内平均流速) - 温度
t:°C(工况温度) - 压力
P:MPa(表压;绝压 = 表压 + 0.101325)
核心关系式与气体标/工况换算公式详见 references/formulas.md,遇到公式疑问或需要向用户解释推导时加载该文件。关键常数:
Q(m³/h) = 2.8274 × 10⁻³ × d²(mm) × v(m/s)重要:气体的流速必须用工况体积流量(m³/h)计算,不能直接用标况 Nm³/h 代入。脚本已自动处理此换算。
使用方式
Python 解释器路径
调用脚本时使用受管理的 Python 解释器,避免污染用户环境:
C:Usershchen-hw.workbuddybinariespythonversions3.13.12python.exe脚本路径:C:Usershchen-hw.workbuddyskillsflow-pipe-calcscriptsflow_pipe_calc.py
决策流程
- 判断用户给出的已知量 → 确定计算模式:
- 给了「流量 + 流速」求管径 →
flow2dia - 给了「管径 + 流速」求流量 →
dia2flow - 给了「管径 + 流量」求流速 →
velocity - 只要做气体标/工况换算 →
gas-convert
- 给了「流量 + 流速」求管径 →
- 判断介质是液体还是气体。气体需额外确认工况温度和压力(默认 20°C / 0 MPa 表压)。
- 确认流量单位:气体默认按 Nm³/h(标况),液体按 m³/h(工况)。用户明确说明单位时以用户为准。
- 介质比重判断:
- 用户提到比重/密度,或想知道质量流量(kg/h)→ 加
--sg <比重> - 用户直接给质量流量 kg/h → 用
--mass-flow <kg/h> --sg <比重>,自动转体积流量 - 不确定比重时,可查
references/formulas.md第 5 节或询问用户介质类型后按SG_REF默认值
- 用户提到比重/密度,或想知道质量流量(kg/h)→ 加
- 管道材质判断(让计算更准确的关键):
- 用户提到材质(碳钢/不锈钢/PVC/PE/PPR/铜)、提到 DN 公称直径、或问"选什么管" → 用
--dn + --material + --schedule - flow2dia 模式下用户想要选型 → 加
--material + --schedule,自动匹配标准管径并反算实际参数 - 不确定材质时主动问:"这是什么材质的管?碳钢/不锈钢/PVC/PE/PPR/铜?",列出可选可调
--list-materials
- 用户提到材质(碳钢/不锈钢/PVC/PE/PPR/铜)、提到 DN 公称直径、或问"选什么管" → 用
- 执行脚本,读取输出。若输出了
selected_dn / actual_velocity_ms,重点向用户说明"选了 DN几,实际流速变为多少"。 - 如需批量(用户给了多组参数或 Excel/CSV 文件),走批量模式。
单次计算命令示例
脚本可加 --json 输出 JSON,便于程序化读取;不加则输出人类可读文本。
PY="C:Usershchen-hw.workbuddybinariespythonversions3.13.12python.exe"
SCRIPT="C:Usershchen-hw.workbuddyskillsflow-pipe-calcscriptsflow_pipe_calc.py"
# 流量→管径(液体,水)
"$PY" "$SCRIPT" --mode flow2dia --flow 28.27 --velocity 1.0 --fluid liquid
# 流量→管径(气体,1000 Nm³/h,工况 20°C / 0.5 MPa表压,流速 10 m/s)
"$PY" "$SCRIPT" --mode flow2dia --flow 1000 --velocity 10 --fluid gas
--flow-unit Nm3/h --temp 20 --pressure 0.5
# 管径→流量(液体)
"$PY" "$SCRIPT" --mode dia2flow --diameter 100 --velocity 1.0 --fluid liquid
# 管径→流量(气体,同时输出工况 m³/h 和标况 Nm³/h)
"$PY" "$SCRIPT" --mode dia2flow --diameter 100 --velocity 1.0 --fluid gas
--temp 20 --pressure 0.5
# 流速计算(液体)
"$PY" "$SCRIPT" --mode velocity --diameter 100 --flow 28.27 --fluid liquid
# 流速计算(气体,标况流量输入)
"$PY" "$SCRIPT" --mode velocity --diameter 100 --flow 1000 --fluid gas
--flow-unit Nm3/h --temp 20 --pressure 0.5
# 气体标/工况换算:1000 Nm3/h → m3/h
"$PY" "$SCRIPT" --mode gas-convert --flow 1000 --fluid gas
--from-unit Nm3/h --to-unit m3/h --temp 20 --pressure 0.5 --json
# 气体标/工况换算:1000 m3/h → Nm3/h
"$PY" "$SCRIPT" --mode gas-convert --flow 1000 --fluid gas
--from-unit m3/h --to-unit Nm3/h --temp 20 --pressure 0.5 --json
# === 增强功能:介质比重 + 质量流量 ===
# 加比重输出质量流量(水 sg=1.0,DN100 流速 1.2)
"$PY" "$SCRIPT" --mode dia2flow --dn DN100 --material carbon-steel --schedule Sch40
--velocity 1.2 --fluid liquid --sg 1.0 --json
# 质量流量输入 1000 kg/h 水 → 反算管径(自动转体积流量)
"$PY" "$SCRIPT" --mode flow2dia --mass-flow 1000 --sg 1.0 --velocity 1.0 --fluid liquid --json
# === 增强功能:管道材质规格 ===
# 列出可选材质
"$PY" "$SCRIPT" --list-materials
# flow2dia 自动选型:流量 50 m³/h 流速 1.2,碳钢 Sch40 → 自动匹配 DN125 并反算实际流速
"$PY" "$SCRIPT" --mode flow2dia --flow 50 --velocity 1.2 --fluid liquid
--material carbon-steel --schedule Sch40 --json
# 已知 DN 反查真实内径算流量(DN100 碳钢 Sch40 实际内径 102.26mm,比用 100 更准)
"$PY" "$SCRIPT" --mode dia2flow --dn DN100 --material carbon-steel --schedule Sch40
--velocity 1.2 --fluid liquid --json批量计算(CSV)
当用户提供多组参数,或直接给 Excel/CSV 文件时,用批量模式。输入 CSV 列定义(按需填写,缺省用默认值:液体 temp=20、pressure=0):
| 列名 | 说明 | 示例 |
|---|---|---|
mode | 计算模式 | flow2dia / dia2flow / velocity / gas-convert |
fluid | 流体类型 | liquid / gas |
flow | 体积流量值 | 28.27 |
flow_unit | 体积流量单位 | m3/h / Nm3/h |
mass_flow | 质量流量 (kg/h),与 sg 配合 | 1000 |
sg | 介质比重(液体相对水/气体相对空气) | 1.0 |
velocity | 流速 (m/s) | 1.0 |
diameter | 管径数值 (mm),与 dn 二选一 | 100 |
dn | 公称直径标签,需配 material+schedule | DN100 |
material | 管道材质 | carbon-steel |
schedule | 壁厚系列 | Sch40 |
temp_c | 工况温度 (°C) | 20 |
pressure_mpag | 工况表压 (MPa) | 0.5 |
from_unit | gas-convert 源单位 | Nm3/h |
to_unit | gas-convert 目标单位 | m3/h |
注意:CSV 每行字段数必须与表头列数一致(15 列),用空值表示该行不使用该参数。切勿多写或少写逗号,否则字段错位。模板见
assets/batch_template.csv。
"$PY" "$SCRIPT" --batch assets/batch_template.csv --output <输出路径.csv>批量输出 CSV 含每行结果与 status 列(ok/error),出错行会带 error 字段而非中断整批。
验算基准(便于核对脚本输出正确性)
| 输入 | 期望输出 |
|---|---|
| d=100mm, v=1m/s, 液体 | Q ≈ 28.27 m³/h |
| Q=28.27 m³/h, v=1 m/s, 液体 | d ≈ 99.99 mm |
| 1000 Nm³/h, 20°C, 0.5 MPa表压 → 工况 | ≈ 180.84 m³/h |
| 1000 m³/h(工况), 20°C, 0.5 MPa表压 → 标况 | ≈ 5529.73 Nm³/h |
输出与交付
- 单次计算:直接把脚本输出(文本或 JSON 解析后)呈现给用户,必要时整理成表格或换算说明。
- 批量计算:把输出 CSV 路径通过 present_files 呈现给用户,并口头汇总行数与异常行。
- 若用户需要可视化(如管径-流量关系曲线),可基于脚本结果另行用 show_widget 渲染图表,不必修改本脚本。
边界与限制
- 公式基于圆形直管、理想气体假设;非圆管、高压真实气体偏差大时需引入压缩因子等修正(超出本 skill 范围)。
- 不计算沿程/局部阻力与压降(用户需求明确时再扩展)。
- 管径结果为理论内径,工程选型需对齐到标准管径系列并考虑壁厚/粗糙度。
- 质量流量换算需介质密度,参考值见
references/formulas.md第 5 节,实际工况密度须用户确认。