NO IMAGE

【Python,蒸気表】Pythonで飽和蒸気表の作成(iapws.iapws97)

pythonで飽和蒸気表を作成には、『iapws.iapws97』というモジュールを使用します。

このモジュールは、国際規格であるIAPWS-IF97に基づいた計算になります。

ここでは、以下を紹介します。

  • 飽和圧力から飽和温度の導出
  • 飽和温度から飽和圧力の導出
  • 気液二相流の見かけの物性値(h,v,s)
  • 飽和条件のその他物性値(Cp,Cv,w,alfav,kt)

別途、こちらの記事も書きました。飽和条件以外を扱う場合はこちらをオススメします。

準備

まず、iapwsをインストールします。

pip intall iapws
import iapws

飽和圧力から飽和温度の導出

飽和圧力(絶対圧 MPaA)を『iapws.iapws97._TSat_P』に代入します。ただし、圧力は0.00061121 ≤ P ≤ 22.064 が適用範囲です。

圧力がゲージ圧を代入したい場合には、P = P +0.1013で補正して使用します。

import iapws

# 飽和圧力から飽和温度の導出
P = pressure # MPaA  0.00061121 ≤ P ≤ 22.064
T = iapws.iapws97._TSat_P(P) # K

飽和温度から飽和圧力の導出

飽和温度(ケルビン K)を『iapws.iapws97._PSat_T』に代入します。ただし、温度は273.15 ≤ T ≤ 647.096が適用範囲です。

温度が℃の場合は、T= T +273.15で補正して使用します。

import iapws

# 飽和温度から飽和圧力の導出
T = tempareture # K 273.15 ≤ T ≤ 647.096
P = iapws.iapws97._PSat_T(T) #MPaA

気液二相流の見かけの物性値(h,v,s)

蒸気と水の二相流における見かけの比エンタルピーと比エントロピーと比体積を求めます。これらの物性値の水は存在せず、乾き度を用いて計算した平準化数値を導出している。

関数は、『iapws.iapws97._Region4(P, x)』を使用します。圧力と乾き度を与える必要があります。

import iapws

# 気液二相流の見かけの物性値(h,v,s)
P = pressure # MPaA  0.00061121 ≤ P ≤ 22.064 飽和圧力
x =  Vapor quality # 乾き度 0.0 ≤ x ≤ 1.0

properties = iapws.iapws97._Region4(P, x)
Specific_volume = properties['v'] # [m³/kg] 比体積
Specific_enthalpy = properties['h'] # [kJ/kg] 比エンタルピー
Specific_entropy = properties['s'] # [kJ/kgK] 比エントロピー
Saturated_temperature = properties['T'] # K 飽和温度

飽和条件のその他物性値(Cp,Cv,w,alfav,kt)

その他飽和条件の物性値として、定圧比熱(Cp)、定積比熱(Cv)、膨張係数(alfav)、等温圧縮率(kt)について求めます。これらは、上記のような見かけの物性値はないので、飽和熱水と飽和蒸気それぞれで導出します。

そのため、飽和曲線上(Region4)で計算を行うモジュールにはこれらの物性値はないので、水と蒸気条件を飽和になるように入れて求めます。

# 飽和条件のその他物性値(Cp,Cv,w,alfav,kt)
P = pressure # MPaA  0.00061121 ≤ P ≤ 22.064 飽和圧力
T = iapws.iapws97._TSat_P(P) # K 飽和温度

#飽和熱水の物性値
properties_water = iapws.iapws97._Region1(T, P)

Specific_volume = properties_water['v'] # [m³/kg] 比体積
Specific_enthalpy = properties_water['h'] # [kJ/kg] 比エンタルピー
Specific_entropy = properties_water['s'] # [kJ/kgK] 比エントロピー
Cp = properties_water['cp'] # [kJ/kgK] 定圧比熱
Cv = properties_water['cv'] # [kJ/kgK] 定積比熱
alfav = properties_water['alfav'] # [1/K],Cubic expansion coefficient
kt = properties_water['kt '] # [1/MPa],Isothermal compressibility

#飽和蒸気の物性値
properties_steam = iapws.iapws97._Region2(T, P)

Specific_volume = properties_steam['v'] # [m³/kg] 比体積
Specific_enthalpy = properties_steam['h'] # [kJ/kg] 比エンタルピー
Specific_entropy = properties_steam['s'] # [kJ/kgK] 比エントロピー
Cp = properties_steam['cp'] # [kJ/kgK] 定圧比熱
Cv = properties_steam['cv'] # [kJ/kgK] 定積比熱
alfav = properties_steam['alfav'] # [1/K],Cubic expansion coefficient
kt = properties_steam['kt '] # [1/MPa],Isothermal compressibility

作成したwebアプリケーション

以下、Flaskで作成したアプリケーションです。

http://isenthalpiccalc.com/steam/table_temp

http://isenthalpiccalc.com/steam/table_pre

まとめ

詳しいドキュメントは、以下に掲載されていますので、ご覧ください

iapws’s documentation

iapws.iapws97 module documentation

NO IMAGE
最新情報をチェックしよう!