python物性库能调用哪些物质_Python 调用 CoolProp 计算介质的物性
python物性库能调用哪些物质_Python 调用 CoolProp 计算介质的物性
之前常用的物性计算软件是 Nist Refprop,在 Excel 中计算时调用起来非常好使。
但是计算方程组求解时 Excel 就不太好用了。。
发现了一个开源软件:CoolProp,它支持多种程序或语言的调用,接口比较好;
对 python 的支持也非常方便。
1. 安装 CoolProp
直接使用 pip 安装:
pip install CoolProp
或者安装开发版(稳定版偶尔有编译问题,导致安装失败):
# 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 参数说明
参数
单位
说明
备注
P
Pa
Pressure
压力
T
K
Temp
温度
D
kg/m^3
Mass density
密度
Q
mol/mol
Mass vapor quality
气体占比
H
J/kg
Enthalpy
焓
示例:
from 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.2 直接定义一个类,方便调用
from CoolProp.CoolProp import PropsSI
class WaterProp(object):
# 求特定压力下的物性
def __init__(self, p=101325):
self.T = PropsSI('T', 'P', p, 'Q', 0, 'Water') # 饱和温度
self.C = PropsSI('C', 'P', p, 'Q', 0, 'Water') # 比热容
self.D_l = PropsSI('D', 'P', p, 'Q', 0, 'Water') # 液体密度
self.D_v = PropsSI('D', 'P', p, 'Q', 1, 'Water') # 蒸汽密度
self.H_l = PropsSI('H', 'P', p, 'Q', 0, 'Water')
self.H_v = PropsSI('H', 'P', p, 'Q', 1, 'Water')
self.H = self.H_v - self.H_l # 汽化潜热
self.L_l = PropsSI('L', 'P', p, 'Q', 0, 'Water') # 导热系数
self.I_l = PropsSI('I', 'P', p, 'Q', 0, 'Water') # 表面张力
self.U_l = PropsSI('V', 'P', p, 'Q', 0, 'Water') # 动力粘度
self.V_l = self.U_l / self.D_l # 运动粘度
self.Prl = PropsSI('Prandtl', 'P', p, 'Q', 0, 'Water') # 普朗特数
self.print_prop()
def print_prop(self):
print('\n-------------CoolProp-------------')
print('- {}: {:>10s} {:<10}'.format('介质名称', 'Water', '单位'))
print('- {}: {:>10.2f} {:<10}'.format('计算压力', p, 'Pa'))
print('- {}: {:>10.2f} {:<10}'.format('饱和温度', self.T, 'K'))
print('- {}: {:>10.2f} {:<10}'.format('液体密度', self.D_l, 'kg/m3'))
print('- {}: {:>10.4f} {:<10}'.format('蒸汽密度', self.D_v, 'kg/m3'))
print('- {}: {:>10.2f} {:<10}'.format('汽化潜热', self.H, 'J/kg'))
print('- {}: {:>10.4f} {:<10}'.format('导热系数', self.L_l, 'W/m.K'))
print('- {}: {:>10.4e} {:<10}'.format('运动粘度', self.V_l, 'm2/s'))
print('- {}: {:>10.4f} {:<10}'.format('普朗特数', self.Prl, '-'))
WaterProp(p=101325)
'''
- 介质名称: Water 单位
- 计算压力: 101325.00 Pa
- 饱和温度: 373.12 K
- 液体密度: 958.37 kg/m3
- 蒸汽密度: 0.5977 kg/m3
- 汽化潜热: 2256471.59 J/kg
- 导热系数: 0.6772 W/m.K
- 运动粘度: 2.9389e-07 m2/s
- 普朗特数: 1.7533
'''
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
比焓
示例:
from 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