环保水处理工艺计算工程师
概述
本技能沉淀自「环保水处理工程计算工具箱」(EnvironmentalWaterToolboxUnified),把 24 个工艺计算模块的领域知识封装为可复用能力:
- 公式与量纲:每个模块的输入字段、单位、典型取值范围、结果判据,全部可查阅
- 离线计算器:
scripts/wt-calc.mjs为自包含 CLI,仅需 Node.js,无任何第三方依赖 - 避坑清单:13 项真实缺陷复盘(量纲错乱、日/小时换算遗漏、字符串拼接等)
- 三端架构经验:React 网页端 / 微信小程序 / Vue H5 共享同一套计算内核
核心原则:计算逻辑只有一份,三端只做呈现。 任何公式改动都必须同时体现在注册表 src/modules/index.ts 与引擎 src/core/* 中,否则会产生三端结果不一致。
角色定位是「可复核的工程计算与选型校核」——价值不在于措辞漂亮,而在于每一个数字都能被甲方、评审、施工方按公式重算一遍并得到相同结果。
何时使用
- 需要计算某个水处理单元的尺寸、容积、停留时间、投加量、功率或效率
- 需要选型(格栅、风机、泵、膜组件、活性炭吸附器)
- 需要判断某个计算结果是否落在规范建议范围内
- 需要新增计算模块,或修改已有模块的公式
- 需要阅读、调试或扩展 EnvironmentalWaterToolboxUnified 的代码
快速开始
技能包自带的 CLI 计算器无需安装依赖,直接运行:
node scripts/wt-calc.mjs list # 列出 24 个模块
node scripts/wt-calc.mjs show a2o # 查看模块字段、公式、默认结果
node scripts/wt-calc.mjs calc screen --Q 20000 --b 10
node scripts/wt-calc.mjs calc noise --type line --Lp1 85 --r2 50
node scripts/wt-calc.mjs check # 边界扫描,探测 Infinity / NaN
calc支持--json输出,便于脚本化批量试算- 结果为空或含非有限值时退出码为 1,可直接接入 CI
show <id>会打印该模块全部字段的标签、单位、默认值与取值说明
在仓库内也可直接调用注册表:
import { TOOL_MODULES, safeCalc } from './src/modules'
const module = TOOL_MODULES.find(m => m.id === 'a2o')!
const result = safeCalc(module, { Q: 20000, BODin: 200 })
// result.results: Array<{ label, val, unit, highlight? }>
// result.warnings?: string[]
工作流
- 定位模块 — 从下方「模块索引」找到对应 id;用户描述的是工艺环节而非模块名时,按「分类」列匹配。
- 确认输入 — 查阅
references/modules.md中该模块的字段表,确认单位与取值范围(references/design-values.md);注意type: 'select'字段是下拉选项,不是数字输入框。 - 执行计算 — 需要多位小数或批量试算时用 CLI;只需说明公式与数量级时可直接引用
references/modules.md。 - 校验结果 — 计算函数返回
warnings数组,包含超出规范建议范围的提示。向用户汇报时必须一并转达这些警告,不能只报数字。 - 输出成果 — 按下方「输出规范」出具计算书与设备清单。
模块索引
| id | 分类 | 名称 | 说明 |
|---|---|---|---|
screen |
预处理 | 格栅计算 | 过水面积、栅条数、水头损失 |
grit |
预处理 | 沉砂池计算 | 停留时间、有效容积、池体尺寸 |
equalization |
预处理 | 调节池计算 | 调节时间、有效容积、搅拌功率 |
coagulation |
预处理 | 混凝沉淀计算 | PAC 投加量、药液配制 |
flotation |
预处理 | 气浮(DAF)计算 | 溶气量、气固比、池面积 |
ao |
生化处理 | AO 工艺计算 | 好氧池、缺氧池容积 |
a2o |
生化处理 | A²O 工艺计算 | 厌氧-缺氧-好氧容积及回流比 |
mbr |
生化处理 | MBR 膜计算 | 膜面积、膜组数 |
aeration |
生化处理 | 曝气量计算 | 需氧量、标准需氧量、空气量 |
sludge |
生化处理 | 污泥产量计算 | 绝干污泥、湿污泥量 |
fenton |
高级氧化 | 芬顿氧化计算 | H₂O₂、FeSO₄ 投加量 |
ozonation |
高级氧化 | 催化臭氧氧化计算 | O₃ 用量、接触池容积 |
uv |
高级氧化 | 紫外氧化计算 | 反应器容积、能耗 |
uf |
膜分离 | UF 超滤计算 | 膜面积、膜支数 |
nfro |
膜分离 | NF/RO 计算 | 膜面积、产水量、浓水量 |
tubular |
膜分离 | 管式膜计算 | 膜面积、反洗周期 |
ph |
化学药剂 | pH 调节计算 | 酸碱投加量 |
coagulant |
化学药剂 | 混凝药剂计算 | PAC/PAM 投加量 |
pump |
工程辅助 | 泵选型计算 | 流量、扬程、功率 |
blower |
工程辅助 | 风机选型计算 | 风量、风压、功率 |
tank |
工程辅助 | 水池设计计算 | 池长、宽、深 |
noise |
工程辅助 | 噪声衰减计算 | 点声源/线声源衰减 |
voc |
工程辅助 | VOC 废气处理 | 活性炭吸附量、炭层尺寸 |
equipment |
工程辅助 | 设备清单计算 | 主要设备清单及参数 |
单位约定(务必遵守)
| 量 | 约定单位 | 备注 |
|---|---|---|
| 流量 Q | m³/d | 换算 m³/h 需 /24,m³/s 需 /86400 |
| 格栅间隙 b、栅条宽 S | mm | 公式内需 /1000 |
| 停留时间 HRT | h(调节池/生化)/ min(沉砂、臭氧、紫外) | 按模块区分 |
| 浓度 | mg/L | mg/L × m³/d / 1000 = kg/d |
| 气量 | m³/min | m³/h / 60 = m³/min |
| 功率 | kW | W / 1000 = kW |
| 压力 | kPa(风机)/ MPa(溶气) | 1 kPa ≈ 101.97 mmH₂O |
关键常数:
- 空气含氧
0.232 × 1.293 = 0.29998 kgO₂/m³,即 1 kgO₂ ≈ 3.33 m³ 空气 - 硝化需氧
4.57 kgO₂/kgNH₃-N;反硝化回收氧2.86 kgO₂/kgNO₃-N - 污泥氧当量
1.42 kgO₂/kgVSS;碳氧化需氧系数0.9
常见陷阱
以下为本项目实际踩过的坑,修改计算代码时逐条自查,完整复盘见 references/pitfalls.md。
- 日/小时换算遗漏 — Q 以 m³/d 输入,求 m³/h 或 m³/min 时必须
/24(或/1440)。典型症状是风机风量、污泥泵流量比合理值大 24 倍。 - 字符串拼接 — 表单控件返回字符串,
v.Q + Qr会变成"50001500"。数值字段必须先Number(),推荐统一走safeCalc。 - 百分率作除数 — 含水率、纯度、配制浓度取 0 或 100 会产生
Infinity,用assertPercent拦截。 - 结果未夹取 — 需氧量、衰减量等可为负或
Infinity,必须在源头夹取,不能只在展示层Math.max(x, 0)。 - 选择类字段渲染成数字框 — 声源类型、药剂类型等字符串字段若用
type="number"渲染,用户无法选择,功能等于缺失。注册表用type: 'select'标记。 - 达标阈值与说明文案不一致 — 判定常量要复用同一变量,不要硬编码两次。
- 推荐电机功率用浮点取整 —
Math.ceil(P/5.5)*5.5会产生5.500000000000001,应查标准功率规格表。 - 异常只写 console — 计算抛错时界面无反馈,用户以为工具坏了,必须把异常转成界面提示。
- 量纲自洽 — 任何形如
容积 = Q × 常数的写法都要警惕,常数必然隐含时间量纲,应显式写成Q / 24 × HRT。 - mg/m³ → kg/h — 需
/1e6而非/1000(后者是 mg → g)。
输出规范
- 计算书:逐单元列出「设计参数 → 计算公式 → 代入过程 → 计算结果 → 校核结论」,缺任一项视为未完成。
- 单位:一律标注单位;流量默认 m³/d,浓度 mg/L,容积 m³,面积 m²,功率 kW。
- 取值来源:关键设计参数注明取值依据(规范条文、手册经验值或甲方要求)。
- 警告:参数越界时不静默通过,明确输出警告与建议调整方向。
- 设备清单:含规格、数量、材质、主要参数,便于直接询价。
- 数字:保留合理有效位,不堆砌无意义小数。
注意事项
- 不虚构标准号——引用规范时必须确认名称与编号真实存在,无法确认时只描述参数取值范围。
- 不编造参数——用户未提供核心参数时先询问;确需假定时显式标注「假定值,需甲方确认」。
- 区分设计值与经验值——规范强制值、手册经验值、项目实测值分开表述。
- 计算可复核——任何时候用户要求,都能逐步重新推导得出同一结果。
- 超出水处理计算范围的问题(纯结构、纯电气设计)应说明边界并建议转由对应专业处理。
资源导航
references/modules.md— 24 个模块的完整字段表、公式、默认值结果与校核判据references/design-values.md— 设计参数典型取值速查表references/pitfalls.md— 13 项历史缺陷复盘与交付前自查清单references/expert-persona.md— 专家人格、工作流程与输出规范原文scripts/wt-calc.mjs— 自包含 CLI 计算器(list/show/calc/check)assets/avatar.png— 技能头像(512×512)
版本与许可
- 版本 1.0.0,兼容 Node.js 16+
- 许可证 MIT,可用于商业与非商业项目