关于 fluid-property-calculator
fluid-property-calculator 面向需要快速估算流体性质和流动参数的工程人员与学习者,使用经验关联式和解析公式,无需外部数据文件,并标明适用范围。
主要功能
- 01水和空气性质估算
- 02气体与液体黏度关联式
- 03蒸气压计算
- 04雷诺数计算
- 05管道摩擦因子计算
- 06理想气体性质计算
适用场景
- 01为初步设计估算水的性质
- 02计算管流状态和摩擦因子
- 03检查特定温度下的蒸气压或气体黏度
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ soljourner/ claude-engineering-skills --skill fluid-property-calculator安装后在 Claude Code 中输入/fluid-property-calculator确认已加载。
附带文件calc.pyreference.md
详细介绍
流体属性计算器
使用经验关联式和解析公式快速计算流体属性。无需外部数据库或数据文件,即可即时估算属性。
概述
此辅助工具使用成熟可靠的经验关联式,快速计算常见流体的属性。所有公式均包含适用范围,并已通过参考数据验证。
可用计算
水的属性(0-100°C)
计算液态水随温度变化的属性:
- 密度(kg/m³)- 多项式关联式
- 动力黏度(Pa·s)- Vogel 方程
- 运动黏度(m²/s)- 根据动力黏度推导
- 热导率(W/m·K)- 多项式关联式
- 比热容(J/kg·K)- 多项式关联式
- 蒸气压(Pa)- Antoine 方程
- 普朗特数 - 无量纲传热参数
适用范围:大气压下 0-100°C 典型精度:大多数属性为 ±1-2%
空气属性(标准大气)
计算大气压下空气随温度变化的属性:
- 密度(kg/m³)- 理想气体定律
- 动力黏度(Pa·s)- Sutherland 公式
- 运动黏度(m²/s)- 根据动力黏度推导
- 热导率(W/m·K)- 多项式关联式
- 比热容(J/kg·K)- 温度相关关联式
- 普朗特数 - 无量纲传热参数
适用范围:101.325 kPa 下 -50 至 200°C 典型精度:大多数属性为 ±1-3%
黏度关联式
Sutherland 公式(气体)
气体的温度相关黏度:
μ = μ₀ × (T/T₀)^(3/2) × (T₀ + S)/(T + S)
可用于:
- 空气(S = 110.4 K)
- 氮气(S = 111 K)
- 氧气(S = 127 K)
- 二氧化碳(S = 240 K)
Andrade 方程(液体)
液体的温度相关黏度:
μ = A × exp(B/T)
使用自定义参数,为各种液体提供经验关联式。
蒸气压(Antoine 方程)
计算饱和蒸气压:
log₁₀(P) = A - B/(C + T)
可用于:
- 水
- 乙醇
- 甲醇
- 丙酮
- 苯
- 甲苯
单位:温度以 °C 为单位;压力以 mmHg 或 Pa 为单位(取决于常数)
无量纲数
雷诺数
计算流态指标:
Re = ρ × V × L / μ = V × L / ν
其中:
- ρ = 密度(kg/m³)
- V = 速度(m/s)
- L = 特征长度(m)
- μ = 动力黏度(Pa·s)
- ν = 运动黏度(m²/s)
解释:
- Re < 2300:层流(管道)
- 2300 < Re < 4000:过渡流
- Re > 4000:湍流(管道)
摩擦因子计算器
层流(Re < 2300):
f = 64 / Re
湍流 - 光滑管道(Blasius): 适用于 Re < 100,000:
f = 0.316 / Re^0.25
湍流 - 粗糙管道(Colebrook-White): 以下公式的迭代解:
1/√f = -2 log₁₀(ε/3.7D + 2.51/(Re√f))
其中:
- ε = 绝对粗糙度(m)
- D = 管道直径(m)
Swamee-Jain 近似式(非迭代):
f = 0.25 / [log₁₀(ε/3.7D + 5.74/Re^0.9)]²
理想气体属性
使用理想气体定律和分子运动理论计算属性:
- 密度:ρ = P/(R×T)
- 比热比:γ(常见气体的值)
- 声速:a = √(γ×R×T)
- 摩尔质量:M(常见气体的值)
使用示例
示例 1:20°C 时水的属性
from calc import water_properties
props = water_properties(20)
print(f"Density: {props['density']:.2f} kg/m³")
print(f"Viscosity: {props['dynamic_viscosity']:.6f} Pa·s")
print(f"Thermal conductivity: {props['thermal_conductivity']:.4f} W/m·K")
示例 2:管道流动的雷诺数
from calc import reynolds_number, water_properties
T = 25 # °C
V = 1.5 # m/s
D = 0.05 # m
props = water_properties(T)
Re = reynolds_number(V, D, props['kinematic_viscosity'])
print(f"Reynolds number: {Re:.0f}")
示例 3:摩擦因子计算
from calc import friction_factor
Re = 50000
roughness = 0.045e-3 # 0.045 mm for commercial steel
diameter = 0.1 # m
f = friction_factor(Re, roughness, diameter)
print(f"Friction factor: {f:.5f}")
示例 4:水的蒸气压
from calc import antoine_vapor_pressure
T = 80 # °C
P_vap = antoine_vapor_pressure('water', T)
print(f"Vapor pressure at {T}°C: {P_vap/1000:.2f} kPa")
示例 5:使用 Sutherland 公式计算空气黏度
from calc import sutherland_viscosity
T = 100 # °C
mu = sutherland_viscosity('air', T + 273.15) # Convert to Kelvin
print(f"Air viscosity at {T}°C: {mu:.6f} Pa·s")
快速参考
常见水的物性
| T (°C) | ρ (kg/m³) | μ (mPa·s) | ν (mm²/s) | k (W/m·K) | Pr |
|---|---|---|---|---|---|
| 0 | 999.8 | 1.787 | 1.787 | 0.561 | 13.5 |
| 20 | 998.2 | 1.002 | 1.004 | 0.598 | 7.0 |
| 40 | 992.2 | 0.653 | 0.658 | 0.631 | 4.3 |
| 60 | 983.2 | 0.467 | 0.475 | 0.654 | 3.0 |
| 80 | 971.8 | 0.355 | 0.365 | 0.670 | 2.2 |
| 100 | 958.4 | 0.282 | 0.294 | 0.680 | 1.8 |
常见空气的物性(101.325 kPa 下)
| T (°C) | ρ (kg/m³) | μ (μPa·s) | ν (mm²/s) | k (W/m·K) | Pr |
|---|---|---|---|---|---|
| 0 | 1.293 | 17.16 | 13.27 | 0.0243 | 0.71 |
| 20 | 1.205 | 18.24 | 15.14 | 0.0257 | 0.71 |
| 50 | 1.093 | 19.57 | 17.90 | 0.0279 | 0.71 |
| 100 | 0.946 | 21.67 | 22.90 | 0.0314 | 0.71 |
局限性
- 温度范围:关联式仅在指定范围内有效
- 压力影响:大多数关联式假设处于大气压下
- 纯物质:混合物需要采用不同方法
- 精度:经验公式给出的是估算值(典型误差为 ±1-5%)
- 相变:相变附近的物性可能不够准确
何时使用此辅助工具
适用场景:
- 快速工程计算
- 初步设计工作
- 教育用途
- 无法使用数据库时
- 快速原型开发
不适用场景:
- 高精度科学研究
- 超出有效范围的物性
- 非标准条件(高压等)
- 复杂混合物
- 要求精度优于 ±1% 时
最佳实践
- 使用任何关联式前,先检查有效范围
- 核对单位——大多数函数使用 SI 单位(Sutherland 公式中的温度用 K,其他公式中用 °C)
- 尽可能将结果与参考数据进行比较
- 根据关联式的精度使用适当的有效数字
- 在计算中记录假设条件
其他资源
参见 reference.md,了解:
- 完整的关联式方程
- 文献来源
- 验证数据
- 精度比较
- 其他形式的公式
评论
支持 Markdown