SuperAPI AI 工具集

thermo-package

数据与分析

查看项目

更新于 10-16 02:41

技能介绍

Thermo Package Skill 是一个面向化学工程与机械工程的热力学计算 Python 技能,围绕 thermo 库构建,用于处理热力学性质与相平衡问题。其核心定位是为工程师提供经过验证的关联式计算能力,尤其适用于涉及泵的应用场景。

一、用途 该技能用于计算纯组分热力学性质、混合物性质、气液相平衡(VLE)、焓、熵、热容,以及温度相关的流体性质和状态方程(EOS)实现。资料将其描述为「泵应用中涉及温度相关性质、混合物和多相流」的重要工具。

二、主要能力 资料列出的能力包括:温度相关黏度计算、泵功率随温度的修正、混合物性质计算、蒸气压与 NPSH 计算、泵分级的焓计算、多相泵的相平衡分析,以及 Peng-Robinson(PR)和 Soave-Redlich-Kwong(SRK)等状态方程应用。技能内置 20000 多种化学品数据库,可通过名称或 CAS 号访问,涵盖工业流体(水、油、乙二醇)、烃类(甲烷、丙烷、汽油)、制冷剂(R-134a、氨)、酸碱(HCl、NaOH)和有机溶剂(乙醇、丙酮)等。主要模块包括:thermo.chemical(纯组分性质接口,如黏度、密度、热导率、蒸气压、热容、焓与熵)、thermo.mixture(混合物性质、混合规则、偏摩尔性质、超额性质)、thermo.stream(过程流计算、质量与能量平衡、闪蒸、相分率、流焓)、thermo.eos(状态方程实现)。

三、使用方式 安装命令为 pip install thermo chemicals,其中 chemicals 是必需依赖,提供化学数据库与纯组分性质关联式。使用时通过 from thermo.chemical import Chemical 创建对象并指定 T 和 P,例如 Chemical('water', T=298.15, P=101325)。资料强调在创建 Chemical 对象时始终同时指定 T 和 P,并在使用液体性质前检查相态。为提升迭代计算性能,可缓存 Chemical 对象。所有物性均采用 SI 单位:温度 K、压力 Pa、密度 kg/m³、黏度 Pa·s、焓 J/kg、热容 J/kg·K。

四、典型应用场景 资料给出的示例包括:随温度变化的黏度与密度(如水的黏度随温度升高而下降)、按设计温度与实际温度进行泵功率校正、乙醇-水等混合物性质计算、用蒸气压计算可用汽蚀余量(NPSHa)并评估汽蚀风险、多级锅炉给水泵因效率损失导致的温升与焓升计算、判断泵内是否发生闪蒸或两相流,以及高压天然气混合物的 PR 状态方程闪蒸计算。

五、集成与配合 thermo 可与 fluids 库配合完成完整泵分析:thermo 提供温度相关物性(ρ、μ、Psat),fluids 用于水力计算(摩擦、扬程损失)。资料示例展示了从 thermo 获取物性后,用 fluids.core.Reynolds 与 fluids.friction.friction_factor 计算雷诺数和摩擦系数。

六、限制与注意事项 资料明确列出的限制与最佳实践包括:部分关联式适用温度范围有限(有的限于 150°C 以下);使用前应检查相态,并用蒸汽表、RefProp 或 NIST 数据校验;高压应用(>20 bar)应选用合适的状态方程;应关注 Chemical.Tmin、Chemical.Tmax 以确认有效温度范围;混合物计算需验证质量或摩尔分数之和为 1.0,并注意缺失交互参数会导致结果不真实;闪蒸计算可能因初值或 EOS 参数问题失败,可改用理想气体等更简单模型或调整初值。属性返回 None 通常表示该化学品无此性质或超出有效范围。

七、参考资料 资料列出的参考来源包括 DIPPR 801 数据库、NIST Chemistry WebBook、Poling 等的《The Properties of Gases and Liquids》(第 5 版)、Perry 化学工程师手册(第 9 版)以及 Peng 与 Robinson 1976 年关于状态方程的论文。官方文档地址为 https://thermo.readthedocs.io/ ,chemicals 文档为 https://chemicals.readthedocs.io/ ,源代码位于 https://github.com/CalebBell/thermo 。