201 熱力学的物性値の参照方法

Refprop interfaceであるCoolpropを介して熱物性を参照する.

読み込み

In [1]:
import sys
sys.path.append(r'~\Lib\site-packages') # Path to library directory
import CoolProp
import CoolProp.CoolProp as CP
from CoolProp.Plots import PropertyPlot

import matplotlib.pyplot as plt
%matplotlib inline
import warnings
warnings.filterwarnings("ignore")

参照できる流体一覧

In [2]:
print('CoolProp fluids: ', CoolProp.__fluids__)
CoolProp fluids:  ['1-Butene', 'Acetone', 'Air', 'Ammonia', 'Argon', 'Benzene', 'CarbonDioxide', 'CarbonMonoxide', 'CarbonylSulfide', 'CycloHexane', 'CycloPropane', 'Cyclopentane', 'D5', 'D6', 'Deuterium', 'DimethylCarbonate', 'DimethylEther', 'Ethane', 'Ethanol', 'EthylBenzene', 'Ethylene', 'EthyleneOxide', 'Fluorine', 'HFE143m', 'HeavyWater', 'Helium', 'Hydrogen', 'HydrogenChloride', 'HydrogenSulfide', 'IsoButane', 'IsoButene', 'Isohexane', 'Isopentane', 'Krypton', 'MD2M', 'MD3M', 'MD4M', 'MM', 'Methane', 'Methanol', 'MethylLinoleate', 'MethylLinolenate', 'MethylOleate', 'MethylPalmitate', 'MethylStearate', 'Neon', 'Neopentane', 'Nitrogen', 'NitrousOxide', 'Novec649', 'OrthoDeuterium', 'OrthoHydrogen', 'Oxygen', 'ParaDeuterium', 'ParaHydrogen', 'Propylene', 'Propyne', 'R11', 'R113', 'R114', 'R115', 'R116', 'R12', 'R123', 'R1234yf', 'R1234ze(E)', 'R1234ze(Z)', 'R124', 'R125', 'R13', 'R134a', 'R13I1', 'R14', 'R141b', 'R142b', 'R143a', 'R152A', 'R161', 'R21', 'R218', 'R22', 'R227EA', 'R23', 'R236EA', 'R236FA', 'R245ca', 'R245fa', 'R32', 'R365MFC', 'R40', 'R404A', 'R407C', 'R41', 'R410A', 'R507A', 'RC318', 'SES36', 'SulfurDioxide', 'SulfurHexafluoride', 'Toluene', 'Water', 'Xenon', 'cis-2-Butene', 'm-Xylene', 'n-Butane', 'n-Decane', 'n-Dodecane', 'n-Heptane', 'n-Hexane', 'n-Nonane', 'n-Octane', 'n-Pentane', 'n-Propane', 'n-Undecane', 'o-Xylene', 'p-Xylene', 'trans-2-Butene', 'D4', 'Dichloroethane', 'DiethylEther', 'MDM', 'R1233zd(E)']

物性の図示

In [3]:
ts_plot = PropertyPlot('Air','Ts')
ts_plot.calc_isolines(CoolProp.iQ, num=6)
ts_plot.calc_isolines(CoolProp.iP, num=6)
ts_plot.show()

ph_plot = PropertyPlot('Air', 'Ph')
ph_plot.calc_isolines(CoolProp.iQ, num=11)
ph_plot.calc_isolines(CoolProp.iT, num=25)
ph_plot.calc_isolines(CoolProp.iSmass, num=15)
ph_plot.show()
../_images/materials_201_Thermodynamic_Properties_5_0.png
../_images/materials_201_Thermodynamic_Properties_5_1.png

空気の分子量

In [4]:
WF = 'Air'
T= 293
P= 1e5

cP  = CP.PropsSI('C','T',T,'P',P, WF)
cV  = CP.PropsSI('O','T',T,'P',P, WF)
gamma = cP/cV
M   = CP.PropsSI(WF, 'molemass')*1e-3  #kg/kmol

print('Fluid: {}'.format(WF))
print('Molar mass: {:.6f} kg/mol'.format(M))
print('gamma: {:.1f}'.format(gamma))
Fluid: Air
Molar mass: 0.000029 kg/mol
gamma: 1.4

Benzeneの粘度

In [5]:
WF = 'Benzene'
T_base = 273
t_index = range(10, 80)
v_list = []
for t in t_index:
    v_list.append(CP.PropsSI('viscosity','T',t+T_base,'P',P, WF)*10e+3)

plt.plot(t_index, v_list)
plt.xlabel('Temperature  $\degree$C')
plt.ylabel('Viscosity  mPa s')
plt.grid()
plt.show()
../_images/materials_201_Thermodynamic_Properties_9_0.png