SuperAPI AI 工具集

unit-converter

通用与其它

查看项目

更新于 10-16 02:44

技能介绍

用途

Unit Converter 是一个面向工程工作的单位换算技能,使用 Python 的 Pint 库完成流量、压力、黏度等常见工程单位的转换。它结合量纲分析与一致性检查,帮助在工程计算中正确处理物理量与单位。

主要能力

Pint 库提供以下能力:单位注册表(单位及其关系的中央注册表)、Quantity 对象(数值与单位的组合)、自动换算(在兼容单位之间转换)、量纲分析(验证量纲一致性)、自定义单位(允许定义领域专用单位)、上下文管理(处理 SI、英制等不同单位体系)。

技能覆盖的换算类型包括:

  • 流量:m³/s、m³/h、L/min、gpm(加仑/分钟)、cfm(立方英尺/分钟)等,常用于流体力学与过程工程、暖通空调、气体流量等场景。
  • 压力:Pa、kPa、bar、psi、mmHg、atm,涉及液压系统、真空测量、轮胎压力等。
  • 黏度:动力黏度(Pa·s、cP、P)与运动黏度(m²/s、cSt、St),并给出动力黏度与运动黏度的换算关系:ν = μ / ρ。
  • 长度:m、mm、cm、ft、in,用于管道直径、建筑尺寸、板材厚度等。
  • 功率:W、kW、HP、MW,用于电机、泵、发电机等。
  • 温度:K、°C、°F,用于工艺温度、低温、环境温度等。
  • 其他工程单位:面积、体积、速度、质量流量、密度、能量。

此外,技能支持量纲分析,例如计算雷诺数并确认其为无量纲量,以及验证力=质量×加速度、压力=力/面积、功率=力×速度等关系。Pint 会自动检查单位一致性,对不兼容的加减或比较操作抛出错误。

使用方式

安装:pip install pint

基本用法:导入 pint,创建 ureg = pint.UnitRegistry(),用数值乘以单位创建数量(如 100 * ureg.liter / ureg.minute),再通过 .to('gallon/minute') 转换为目标单位并格式化输出。

技能附带 converter.py 模块,提供便捷函数:convert_flow、convert_pressure、convert_viscosity_dynamic、convert_length、convert_power、convert_temperature、check_dimensional_consistency 以及 ureg。

示例:flow_gpm = convert_flow(100, 'L/min', 'gal/min');pressure_bar = convert_pressure(150, 'psi', 'bar');check_dimensional_consistency('m/s', 'ft/min') 返回 True,而 check_dimensional_consistency('m', 'kg') 返回 False。

适用场景

适用于需要在工程计算中进行单位换算和量纲校验的场景,例如流体与过程工程、暖通空调、液压、真空测量、材料与结构尺寸、动力设备参数、温度换算等。

限制

资料中仅提供 Pint 库的用法与示例,未说明该技能是否包含图形界面、是否支持批量文件处理、是否提供在线服务、是否收费或价格、性能与精度上限等信息,这些暂未提供。使用前需自行安装 Pint;对不兼容单位进行运算会抛出 DimensionalityError,对未知单位会抛出 UndefinedUnitError,生产代码中建议用 try-except 包裹转换。

最佳实践(来自资料)

始终显式指定单位;在复杂计算中使用基本单位(.to_base_units());检查量纲;小心处理单位字符串;在生产代码中用 try-except 处理 UndefinedUnitError、DimensionalityError 等异常;在注释和变量名中记录单位;计算中保持单位一致;在计算全程保留单位,仅在最后转换为显示单位。