mirror of
https://github.com/CoolProp/CoolProp.git
synced 2026-01-12 07:28:10 -05:00
74 lines
2.5 KiB
Python
74 lines
2.5 KiB
Python
from CoolProp.Plots.Plots import hs
|
|
import CoolProp
|
|
from CoolProp.CoolProp import Props
|
|
import matplotlib.pyplot as plt
|
|
import numpy as np
|
|
|
|
Fluid = 'Nitrogen'
|
|
|
|
fig = plt.figure()
|
|
ax = fig.add_subplot(111)
|
|
|
|
for Fluid in CoolProp.__fluids__:
|
|
|
|
if Fluid == 'SES36':
|
|
continue
|
|
|
|
ax.cla()
|
|
|
|
h_crit = Props('H', 'T', Props(Fluid, "Tcrit"), 'D', Props(Fluid, "rhocrit"), Fluid)
|
|
s_crit = Props('S', 'T', Props(Fluid, "Tcrit"), 'D', Props(Fluid, "rhocrit"), Fluid)
|
|
|
|
hL_Tmin = Props('H', 'T', Props(Fluid, "Tmin"), 'Q', 0, Fluid)
|
|
hV_Tmin = Props('H', 'T', Props(Fluid, "Tmin"), 'Q', 1, Fluid)
|
|
sL_Tmin = Props('S', 'T', Props(Fluid, "Tmin"), 'Q', 0, Fluid)
|
|
sV_Tmin = Props('S', 'T', Props(Fluid, "Tmin"), 'Q', 1, Fluid)
|
|
|
|
hs(Fluid, axis=ax)
|
|
plt.plot(s_crit, h_crit, 'rd')
|
|
plt.plot([sL_Tmin, sV_Tmin], [hL_Tmin, hV_Tmin], '--')
|
|
plt.gca().axhline(h_crit)
|
|
plt.gca().axhline(hV_Tmin)
|
|
|
|
# Two-Phase
|
|
for T in np.linspace(Props(Fluid, "Tmin") + 0.1, Props(Fluid, "Tcrit") - 1e-3, 30):
|
|
for Q in np.linspace(0, 1, 30):
|
|
try:
|
|
h = Props("H", 'Q', Q, 'T', T, Fluid)
|
|
s = Props("S", 'Q', Q, 'T', T, Fluid)
|
|
T = Props("T", 'S', s, 'H', h, Fluid)
|
|
# ax.plot(s,h,'o',mfc='none')
|
|
except ValueError as VE:
|
|
print(T, Q, '|||', '"T","S",', s, ',"H",', h, ',"' + Fluid + '"', '|||', VE)
|
|
ax.plot(s, h, 'o', mfc='none')
|
|
|
|
for h in np.linspace(hL_Tmin, hV_Tmin + 1500, 100):
|
|
for s in np.linspace(sL_Tmin + 0.01, sV_Tmin, 100):
|
|
try:
|
|
h_pmax = Props('H', 'S', s, 'P', 6 * Props(Fluid, 'pcrit'), Fluid)
|
|
except ValueError:
|
|
h_pmax = 0
|
|
htriple_s = (hV_Tmin - hL_Tmin) / (sV_Tmin - sL_Tmin) * (s - sL_Tmin) + hL_Tmin
|
|
if h < htriple_s or h > h_pmax: continue
|
|
try:
|
|
T = Props("T", 'S', s, 'H', h, Fluid)
|
|
# ax.plot(s,h,'o',mfc='none',ms=6)
|
|
except ValueError:
|
|
ax.plot(s, h, 's', mfc='none')
|
|
|
|
|
|
# if Fluid =='Propane':
|
|
## ps = Props("P",'T',300,'Q',0,Fluid);
|
|
## hL = Props("H",'Q',0,'T',300,Fluid);
|
|
## sL = Props("S",'Q',0,'T',300,Fluid);
|
|
## h = Props("H",'P',ps,'T',299.5,Fluid);
|
|
## s = Props("S",'P',ps,'T',299.5,Fluid);
|
|
# print s,h,sL,hL
|
|
# plt.plot(s,h,'o')
|
|
# plt.plot(sL,hL,'d')
|
|
# plt.gca().axvline(s)
|
|
# plt.gca().axhline(268.75968916316691)
|
|
|
|
fig.savefig('figs/' + Fluid + '.png', dpi=200)
|
|
fig.savefig('figs/' + Fluid + '.pdf')
|