LoginSignup
4
2

More than 5 years have passed since last update.

REFPROPをpythonから呼び出す(簡易版)

Last updated at Posted at 2019-02-06

REFPROPをpythonから呼び出す@Qiitaという記事を書きましたが、ビルドから始まっていて難しいように見えたようなので、Windowsからインストールした場合の簡単な使い方を書いておきます。

インストール

REFPORPをインストーラーからインストールした場合は、以下の通りでpythonからREFPROPの関数が使えます。

pip install ctREFPROP

でctREFPROPをインストール。

pythonスクリプトファイルと同じフォルダにREFPROP64.DLLファイル、FLUIDSフォルダ、MIXTURESフォルダを置いておいて、以下を実行。

sample_REFPROP.py
from ctREFPROP.ctREFPROP import REFPROPFunctionLibrary
RP = REFPROPFunctionLibrary('.')
MOLAR_BASE_SI = RP.GETENUMdll(0, "MOLAR BASE SI").iEnum
MASS_BASE_SI = RP.GETENUMdll(0, "MASS BASE SI").iEnum

# 水の大気圧での沸点[K]
p_Pa = 101325
Q = 0.0
r = RP.REFPROPdll("Water","PQ","T",MOLAR_BASE_SI,0,0,p_Pa,Q,[1.0])
print(r.Output[0])

# メタンの大気圧下沸点近辺での液相の密度[kg/m3]
t_K = 111
p_Pa = 101325
r = RP.REFPROPdll("METHANE","TP","D",MASS_BASE_SI,0,0,t_K,p_Pa,[1.0]) 
print(r.Output[0])

さらなる詳細

一番参考になるのは公式ドキュメントです。
https://pages.nist.gov/REFPROP-docs/
https://trc.nist.gov/refprop/REFPROP.PDF

日本語でもう少し詳細&関連リンクは以下にまとめています。
REFPROPをpythonから呼び出す@Qiita

さらに簡単にREFPROPみたいなことがしたいときには近い機能が実装されている(と言っている)CoolpropのWebアプリを使うと値一つだけ取り出すとかは簡単です。
http://ibell.pythonanywhere.com/

おまけ

REFPROP有料で使えない,という声も聞こえてきました.
無料で似たような機能を持つCoolPropというプログラムもあります.こちらはC++で実装されていながらpythonなどのラッパーがあります.完全に網羅するわけではないようですが,こちらで満足する人はCoolPropが良いかと思います.
http://www.coolprop.org/

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2