python物性库能调用哪些物质_Python获取流体热物性(1):CoolProp和python-refprop
在热力学、传热学计算中涉及到大量的物性参数。对于Python而言,也有一些方法调用物性参。
1.Python第三方库:CoolProp
coolprop 是一个开源物性参数获取工具,其本身就包含了各种流体的物性参数数据,还可以通过其refprop接口调用refprop程序。
coolprop支持多种程序调用,支持的编程语言如下:
1.1安装
pip install CoolProp
但实际安装可能出现问题,比如我在安装时就出现了无法正常编译的现象。
此时可能需要安装最新的开发版,
pip install -vvv --pre --trusted-host www.coolprop.dreamhosters.com --find-links http://www.coolprop.dreamhosters.com/binaries/Python/ -U --force-reinstall CoolProp
假如还不行的话,还可以尝试下载后手动安装,
安装包页面:
需要根据Python版本和电脑系统选择正确安装包
CoolProp-6.1.1.dev0-cp36-cp36m-win_amd64.whl
如上面这个适用于python3.6版本,win 64-bit;下载后直接安装即可。
pip install CoolProp-6.1.1.dev0-cp36-cp36m-win_amd64.whl
详细内容参见Python Wrapper - CoolProp 6.1.0 documentationwww.coolprop.org
1.2使用
通过PropsSI函数可以获取物性,
# Import the PropsSI function
In [1]: from CoolProp.CoolProp import PropsSI
# Saturation temperature of Water at 1 atm in K
In [2]: PropsSI('T','P',101325,'Q',0,'Water')
Out[2]: 373.1242958476844
例如上面的例子是给定水的压力求饱和温度,即沸点。
实际上给出任意两个参数都可以得到其他参数,这里是部分可用的参数。全部参数见High-Level Interface - CoolProp 6.1.0 documentationwww.coolprop.org
Pure and Pseudo-Pure fluid propertieswww.coolprop.org
部分流体见下
1.3混合物
自定义混合物时采用的是摩尔分数,如R410A表示为'HEOS::R32[0.697615]&R125[0.302385]'
# Using properties from CoolProp to get R410A density
In [44]: PropsSI('D','T',300,'P',101325,'HEOS::R32[0.697615]&R125[0.302385]')
Out[44]: 2.986886779635724
1.4调用refprop
这一部分我这里没调用成功。。囧。。
# Using properties from REFPROP to get R410A density
In [45]: PropsSI('D','T',300,'P',101325,'REFPROP::R32[0.697615]&R125[0.302385]')
Out[45]: 2.9868825938765213
2.直接调用refprop
上面可以通过coolprop调用refprop,不过我现在还没成功。实际上可以通过动态编译库dll调用refprop,在NIST官网上有相关说明,包含了各种程序调用的方法。不过上面的有些方法和文件可能已经过时了。
在Python部分有一个Ben Thelen提供的调用脚本,文件有点老了,直接在github上可以找到相对新一点的版本,地址见下:BenThelen/python-refpropgithub.com
其中包含了python2.7和python3.2两个版本。我试了下py3.2版本,可以使用。
2.1python-refprop使用
在refprop.py文件中已经提供了详细示例和说明,参照使用即可,这里看几个示例
示例一
import refprop as rp
#定义流体
rp.setup('def','argon')
#给定压力、密度、组分求取温度等
#'pD'为给定的参数,后面是对应的数值,注意单位转换,最后一项是摩尔分数,单质为1
prop=rp.flsh('pD',2*1000,15/rp.wmol([1])['wmix'],[1])
#温度
T=prop['t']
print(prop)
#输出结果
{'x': [1], 'p': 2000.0, 'q': 3.598595014001103, 'kph': 1, 't': 637.377588657857, 'D': 0.37548813457494745, 'Dliq': 0.37548813457494745, 'Dvap': 0.37548813457494745, 'xliq': [1.0], 'xvap': [1.0], 'e': 7905.926715642425, 'h': 13232.326715642423, 's': 145.66418486785653, 'cv': 12.499081845920108, 'cp': 20.947050592992625, 'w': 473.925521521264, 'hfld': ['ARGON'], 'nc': 1, 'hrf': 'DEF', 'hfmix': 'HMX.BNC'}上面出现了flsh函数,从输出结果可以看到,这是一个字典,其中包含了我们所需要的各项物性值,取出即可。
rp.wmol([1])['wmix']为单质的摩尔质量
示例二
import refprop as rp
#定义流体
rp.setup('def','CO2')
#给定温度压力、组分求取物性
prop=rp.flsh('tp',300,101.325,[1])
print(prop)
#密度
D=prop['D']*rp.wmol([1])['wmix']
print(D)
结果:{'x': [1], 'p': 101.325, 'q': 998.0, 'kph': 1, 't': 300.0, 'D': 0.04082354605979431, 'Dliq': 0.04082354605979431, 'Dvap': 0.04082354605979431, 'xliq': [1.0], 'xvap': [1.0], 'e': 19849.305258122084, 'h': 22331.328741618327, 's': 120.67828662408958, 'cv': 29.017749085012724, 'cp': 37.5237802709575, 'w': 269.3829019748082, 'hfld': ['CO2'], 'nc': 1, 'hrf': 'DEF', 'hfmix': 'HMX.BNC'}
1.7966360973823357
示例三:传输特性
import refprop as rp
rp.setup('def','CO2')
T=300 #K
P=101.325 #kPa
#摩尔密度,mol/L;
rho=rp.tprho(T,P,[1])['D']
#参数为t,K;摩尔密度,mol/L;组分摩尔分数
prop=rp.trnprp(T,rho,[1])
print(prop)
#黏度,μPa-s;
mu=prop['eta']
#热导率W/m-K
lam=prop['tcx']
示例四:自定义混合物
import refprop as rp
#定义组分
rp.setup('def','CO2','nitrogen')
x=[0.5,0.5] #定义组分,摩尔分数
#prop=rp.xmole(x) #质量分数转摩尔分数
prop=rp.xmass(x) #摩尔分数转质量分数
print(prop)
x=prop['x'] #质量分数
wmix=prop['wmix'] #摩尔质量
#基本物性,t,p,D,cp,cv,wm
prop=rp.flsh('tp',250,220*wmix,x)
print(prop)
#传输特性,ets,tcx
prop=rp.trnprp(t=250,D=prop['D'],x=x)
print(prop)
3.总结
通过上面两种方法都可以实现在Python中调用物性,不过可能还有一些坑。使用时要注意各物理量的单位,比如上述两种方法就相差极大。
coolprop使用中有问题可到github上提问
python-refprop只能用于32位python
coolprop github页面:CoolProp/CoolPropgithub.com
coolprop官方文档Welcome to CoolPropwww.coolprop.org
nist官网关于refprop调用的说明http://trc.nist.gov/refprop/LINKING/Linking.htm#PythonApplicationstrc.nist.gov
python物性库能调用哪些物质_Python获取流体热物性(1):CoolProp和python-refprop相关推荐
- python物性库能调用哪些物质_Python获取热物性(2)使用ctREFPROP调用refprop
前面一篇文章介绍了通过python-refprop和coolprop调用refprop.不过前者需要使用32位Python,后者我之前尝试遇到了bug暂时没法用.这里提供另一个python包ctREF ...
- python物性库能调用哪些物质_用于水和水蒸汽物性计算的Python模块——iapws
在进行热力循环分析.流动传热计算时,需获得水和水蒸汽的物性参数.网上主流的水蒸汽物性计算程序是上海成套所的杨宇教授开发的,有Fortran.C.C#.VB等多个语言版本,还有桌面版本,被本专业学生和研 ...
- python标准库os.path中用来_Python标准库os.path中用来判断指定文件是否存在的方法是_____________。...
Python标准库os.path中用来判断指定文件是否存在的方法是_____________. 答:exists() 通常,我们称脾为( ? ?) 答:后天之本 智慧职教: 生物与非生物的主要区别在于 ...
- python查看类的属性和方法_Python 获取对象的属性和方法—dir 函数
工作中,我们使用一些之前没用到过的模块,使用时需要了解一下这个模块中的一些类的方法或属性,怎么做呢?目前我比较常用的两款IDE"Pycharm"和"VSCode" ...
- Python标准库中os模块的environ获取系统的环境变量
应用背景:我们想要用Python获取到一些有关系统的各种环境变量信息的时候可以考虑使用Python标准库中的os模块的environ.什么是环境变量,环境变量是程序和操作系统之间的通信方式.有些字符不 ...
- python开发技术详解pdf下载_python开发技术详解附源码-python开发技术详解电子书pdf下载高清去水印版-精品下载...
Python开发技术详解适合Python爱好者.大中专院校的学生.社会培训班的学生以及用Python语言进行系统管理.GUI开发.Web开发.数据库编程.网络编程的人员使用. 内容提要 Python是 ...
- python程序设计基础第二版pdf下载_Python程序设计基础董付国课后答案-Python程序设计基础第二版清华大学出版社PDF电子版完整高清版-精品下载...
Python程序设计基础(第2版)完全面向Python 3.x,全部案例代码使用Python 3.5.x和Python 3.6.x编写,大部分内容也同样适用于Python 3.4.x.本书对Pytho ...
- Python:opencv库实现调用摄像头拍照并保存到本地
导入 opencv-python库,复制代码即可运行 import cv2def picture_shoot(image_name='img.png', image_path=r'E:/') -> ...
- python标准库os中用来列出_Python 标准库 os 中用来列出指定文件夹中的文件和子文件夹列表的方式是listdir()。_高职高专数字资源平台答案_学小易找答案...
[单选题]生物膜主要成分是脂与蛋白质,它们主要是通过什么键相连.( ) (2.0分) [单选题]卵磷脂分子是由甘油.脂酸.磷酸.( )基团组成. (2.0分) [名词解释]活力单位 [单选题]1. 脂 ...
- python标准库os中的方法_python中OS常用方法
下面列出了一些在os模块中比较有用的部分.它们中的大多数都简单明了. os.sep可以取代操作系统特定的路径分隔符.windows下为 "\\" os.name字符串指示你正在使用 ...
最新文章
- tar -cvPf new.tar `rpm -ql vsftpd` 建议不要用绝对路径'/'
- layui table 列覆盖
- 疯子的算法总结(七) 字符串算法之 manacher 算法 O(N)解决回文串
- tomcat启动报:No Spring WebApplicationInitializer types detected on classpath
- SpringMVC路径匹配规则AntPathMatcher(转)
- 给年薪不到48w的程序员提个醒!!
- qq浏览器翻译功能启用划词插件教程
- Airflow 中文文档:管理连接
- 2021了,不会还有测试人员认为Jmeter就等于性能测试吧!
- 笔记-配置博客园客户端代码高亮(2016.08.20)
- @ Before,@ BeforeClass,@ BeforeEach和@BeforeAll之间的区别
- python 调用 c 模块
- 记一次联想Y7000P安装黑apple系统地经历
- java数字时钟_java Swing数字时钟
- Windows快捷键
- 计算机其它离的360云盘,多台电脑无缝共享文件 360云盘无限保存
- Mac关闭fn切换输入法功能
- 在开发板上显示彩虹c语言(800*480屏幕)
- C++图片格式转换:BMP转JPEG
- 亚历山大对马其顿士兵的演说(经典演说
热门文章
- 早教机器人刷固件_父母不要再盲目去买智能儿童早教机器人,知道这几点事半功倍!...
- 模拟银行转账(java+mysql+tomcat +JDBC+ druid连接池 + Servlet + Ajax)
- LWIP协议栈详解(2)_网络接口层与协议栈初始化
- 51单片机跑马灯c语言,51单片机——跑马灯详解(示例代码)
- 【Python】基于VB、Python、PythonGUI的BMI计算器小程序
- (转)互利主义:道德经济人的基本行为准则
- 《Word排版艺术》读后感——兼谈与LaTeX的比较
- 软件下载地址900款正版
- SQL Server数据库出现恢复挂起时的解决办法
- C# MD5算法实现对文件校验