蒸気表 iapws IF-97

【Python,iapws】iapws97を用いた蒸気表と水と蒸気の物性値

蒸気表

Pythonには、『iapws』という蒸気表と物性値を求めることがライブラリがあります。
以前は、飽和条件における記事を出しましたが、今回はそれの改訂版になります。

前記事と同様に主にIF-97を中心に紹介します。

今回、紹介するライブラリはiapws.iapws97.IAPWS97(**kwargs)のみです。これだけでほぼ網羅できることがわかりましたので、これだけを重点的に解説します。

公式ドキュメント

iapws.iapws97.IAPWS97(**kwargs)

このライブラリは、蒸気や水の物性値やエンタルピーをIAPW97に沿って、算出してくれます。

また、蒸気(Region②)、(Region①)、飽和二相流(Region④)、臨界状態(Region③)、いずれの場合において扱うことができます。
ただし、飽和条件以外も扱える関数のため、必ず2変数を与える必要があります

ちなみに、『**kwargs』 とは、パラメータとして2つ与えてくださいということです。
与えることができるパラメータは、以下の6種類です。

Parameter パラメータ

T (float) – 温度, Temperature, [K]

P (float) – 絶対圧力, Pressure, [MPa]

h (float) – 比エンタルピー, Specific enthalpy, [kJ/kg]

s (float) – 比エントロピー, Specific entropy, [kJ/kgK]

x (float) – 乾き度, Vapor quality, [-]

パラメータの組み合わせと組み合わせによる算出制限

どの2つのパラメータを選ぶかによって、蒸気、水、または臨界条件など異なる物性値が返されます。どの2つを選択するのかは、制限があります。また、選択したパラメータによっては、regionが制限されます。
以下の6パターンです。

T,P(温度、圧力)

温度、圧力の場合、二相流の領域(Region④)は扱えません。

飽和条件の場合、温度(圧力)が決まれば、圧力(温度)が一意に決まるので、温度と圧力が選択されると必然的に他の領域になります。

T,x(温度、乾き度)、またはP,x(圧力、乾き度)

乾き度を選択した場合、蒸気と熱水が共存することになります。その領域は、二相流の領域(Region④)に限定されます。

ただし、乾き度を0(x=0)にすれば、飽和水の物性値を出すことができます。regionはなぜか①になります。

乾き度を1(x=1)に設定した場合も同様に、飽和蒸気の物性値を出すことができます。こちらもregionはなぜか②になります。

P, h(圧力、比エンタルピー)、P, s(圧力、比エントロピー)、h, s(比エンタルピー、比エントロピー)

この場合は、どの領域でも対応可能です。

求めることができる物性値

ここでは主に使用する物性値だけを記載してあります。。
詳細、その他物性値については、公式ドキュメントをご確認ください。

項目英語表記記述表記単位
圧力PressureP[MPa]
温度TemperatureT[K]
ギブス自由エネルギー Specific Gibbs free energyg[kJ/kg]
ヘルムホルツ自由エネルギーSpecific Helmholtz free energya[kJ/kg]
比体積Specific volumev[m³/kg]
密度Densityrho[kg/m³]
比エンタルピーSpecific enthalpyh[kJ/kg]
比エントロピーSpecific entropys[kJ/kg]
定圧比熱Specific isobaric heat capacitycp[kJ/kg·K]
定積比熱Specific isochoric heat capacitycv[kJ/kg·K]
等エントロピー指数 Isentropic exponentgamma[-]
粘性係数Dynamic viscositymu[Pa·s]
動粘性係数Kinematic viscositynu[m²/s]
熱伝導率Thermal conductivityk[W/m·K]
表面張力Surface tensionsigma[N/m]
流体の領域Regionregion

記述方法

記述方法は、二相流領域では水か蒸気を指定する必要がありますが、それ以外では非常にシンプルです。

二相流(Region④)の場合は、蒸気(Vapor)か水(Liquid)か選択する必要があります。

from iapws import iapws97 as if97

# 単相の場合
parameter1 = if97.IAPWS97(P=10,h=800)
print(parameter1.region)
>>> 1 # region1
print(parameter1.T)
>>> 460.49837652065094 # [K]
print(parameter1.rho)
>>> 885.0590565967536 # [kg/m³]

# 二相流(飽和蒸気&飽和水)の場合
parameter2 = if97.IAPWS97(T=120+273.15,x=0.5)
print(parameter2.region)
>>> 4 # region4
print(parameter2.P)
>>> 0.19866539973930203 # [MPa]
print(parameter2.Vapor.rho)
>>> 1.1219517174818008 # [kg/m³]
print(parameter2.Liquid.rho)
>>> 943.105677458354 # [kg/m³]

自動計算サイト

二相流には対応していませんが、圧力と温度から蒸気 or 熱水の物性値を取得できるWebサービスを作成しました。

https://www.isenthalpiccalc.com/steam/steam_property

RenderというSaasを無料で使用しているため、サーバーがすぐに寝てしまいます。表示に時間がかかります。ご了承ください。

まとめ

変数が少なく、多くの物性値が得られるため、非常に使いやすいライブラリになります。
前記事で紹介した飽和条件では、平均比体積や二相流状態での比エンタルピーを計算してくれるメリットがある一方で、返してくれる物性値が少ないです。
物性値を出したいときは、こちらのライブラリをオススメします。

蒸気表 iapws IF-97
最新情報をチェックしよう!