python 调用 CoolProp 计算介质的物性
之前常用的物性计算软件是 Nist Refprop,在 Excel 中计算时调用起来非常好使。
但是计算方程组求解时 Excel 就不太好用了。。
发现了一个开源软件:CoolProp,它支持多种程序或语言的调用,接口比较好;
对 python 的支持也非常方便。
1. 安装 CoolProp
直接使用 pip 安装:
1
pip install CoolProp
或者安装开发版(稳定版偶尔有编译问题,导致安装失败):
1
2# install the latest nightly release version
pip install -vvv --pre --trusted-host www.coolprop.dreamhosters.com --find-links http://www.coolprop.dreamhosters.com/binaries/Python/ -U --force-reinstall CoolProp
2. 基本使用
2.1 参数说明
D, DMASS | kg/m^3 | Mass density | 密度 |
H, HMASS | J/kg | Enthalpy | 焓 |
P | Pa | Pressure | 压力 |
Q | mol/mol | Mass vapor quality | 气体占比 |
T | K | Temp | 温度 |
A, SPEED_OF_SOUND | m/s | Speed of sound | 声速 |
CONDUCTIVITY, L | W/m/K | Thermal conductivity | 热导率 |
CVMASS, O | J/kg/K | Mass specific constant volume specific heat | 定容比热容 |
C, CPMASS | J/kg/K | Mass specific constant pressure specific heat | 定压比热容 |
I, SURFACE_TENSION | N/m | Surface tension | 表面张力 |
M, MOLARMASS | kg/mol | Molar mass | 摩尔质量 |
PCRIT | Pa | Pressure at the critical point | 临界压力 |
TCRIT | K | Temperature at the critical point | 临界温度 |
V, VISCOSITY | Pa·s | Viscosity | 粘度 |
Z | Compressibility factor | 压缩系数 |
示例1:
1
2
3
4
5
6
7from CoolProp.HumidAirProp import HAPropsSI
from CoolProp.CoolProp import PropsSI
p = 101325
t = PropsSI('T', 'P', p, 'Q', 0, 'Water')
print('\n-------------CoolProp-------------')
print('- 在 {} Pa(abs) 时,水的饱和温度: {:.2f} K \n'.format(p, t)) # 373.12 K示例2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15from CoolProp.HumidAirProp import HAPropsSI
from CoolProp.CoolProp import PropsSI
paras = {'D': 'kg/m^3',
'H': 'J/kg',
'A': 'J/kg/K',
'L': 'W/m/K',
'O': 'J/kg/K',
'C': 'J/kg/K',
'M': 'kg/mol',
'V': 'Pa.S',
'Z': '-'}
for (k, v) in paras.items():
v1 = CP.PropsSI(k, 'T', 273.15+20, 'P', 101325, 'water')
print(f' {k}: {v1:10.4f} {v}')
2.2 直接定义一个类,方便调用
1 | from CoolProp.CoolProp import PropsSI |
3. 湿空气计算
CoolProp 可以直接计算 湿空气的物性。
- 参数说明:
P | Pa | Pressure | 压力 |
T | K | Dry-Bulb Temp | 干球温度 |
Twb | K | Wet-Bulb Temp | 湿球温度 |
Tdp | K | Dew-Point Temp | 露点温度 |
R | Relative humidity | 相对湿度 | |
W | kg/kga | Humidity Ratio | 含湿量 |
H | J/kga | Mixture Enthalpy | 比焓 |
- 示例:
1
2
3
4
5
6
7
8
9
10
11from CoolProp.HumidAirProp import HAPropsSI
w = HAPropsSI('W', 'T', 273.15+25, 'P', 101325, 'R', 0.5)
t_dp = HAPropsSI('Tdp', 'T', 273.15+25, 'P', 101325, 'R', 0.5)
h = HAPropsSI('H', 'T', 273.15+25, 'P', 101325, 'R', 0.5)
print('\n-------------CoolProp-------------')
print('在 25℃ , 101325Pa 时,相对湿度为 50% 的湿空气, ')
print('- 含湿量为 {:>8.2%} kg/kga'.format(w)) # 0.99%
print('- 露点为 {:>8.2f} ℃'.format(t_dp-273.15)) # 13.87
print('- 比焓为 {:>8.2f} kJ/kg'.format(h/1000)) # 50.42
更多用法见官网 : http://www.coolprop.org/coolprop/wrappers/Python/index.html#python