在进行热力循环分析、流动传热计算时,需获得水和水蒸汽的物性参数。网上主流的水蒸汽物性计算程序是上海成套所的杨宇教授开发的,有Fortran、C、C#、VB等多个语言版本,还有桌面版本,被本专业学生和研究人员广泛使用。可以说杨教授为同行的便利做了很大贡献,本想贴一下他的个人博客的,但发现他的博客链接挂了。
最近打算使用混合编程,写个Python版本的水蒸汽物性计算的接口程序,搞个在线查询的web,然而google后发现已经有了用于水和水蒸汽物性计算的Python模块——iapws,不得不安利给大家。其实工科领域用Python的不多,要是有人用的话希望别重复造轮子。
1、简介
iapws是IAPWS标准的Python实现,包含一下几个模块:
IAPWS-IF97——水蒸汽
IAPWS-95——水蒸汽
IAPWS-06——冰
IAPWS-08——海水
IAPWS-17—— 重水
......
iapws依赖于numpy-scipy科学计算模块。本文主要介绍IAPWS-IF97模块的使用。IAPWS-IF97实现了5个区域的基本方程(下图)。可以看出压力、温度的范围是很宽的,足够满足工程需要。
2、使用
直接在控制台执行:pip install iapws,安装iapws时会自动安装numpy scipy这两个模块。
2.1 IAPWS97类
可以使用该IAPWS97类创建一个特定热力学状态的对象,该类的构造函数的关键字参数包括:
T:温度[K]
P:压力[MPa]
h:比焓[kJ/kg]
s:比熵[kJ/kgK]
x:干度[-]
有效的参数组合有:
T, P: 对两相无效
P, h
P, s
h, s
T, x: 仅适用于两相
P, x: 仅适用于两相
计算的物性参数如下表所示。我将自己认为常用的参数列在前面了。许多参数不知道什么意思,翻译也不知道有没有问题。可参考:http://iapws.readthedocs.io/en/latest/iapws.iapws97.html