Files
CoolProp/dev/scripts/test_R245_fit.py
2014-05-14 12:46:24 +02:00

32 lines
1.0 KiB
Python

from CoolProp import CoolProp as CP
from PDSim.misc.datatypes import Collector
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fluid = 'R245fa'
Ttriple = CP.Props(fluid,'Ttriple')
Tcrit = CP.Props(fluid,'Tcrit')
RHO,TTT,RHO0,TTT0,ERR = Collector(),Collector(),Collector(),Collector(),Collector()
rhomax = CP.Props('D','T',Ttriple,'Q',0,'R245fa')
#Build a database of "experimental" data
for T in np.linspace(Ttriple,Tcrit+50,80):
for rho in np.linspace(1e-10,rhomax,80):
if (T > Tcrit or rho > CP.rhosatL_anc(fluid,T) or rho < CP.rhosatV_anc(fluid,T) ):
h = CP.Props('H','T',T,'D',rho,'R245fa')
p = CP.Props('P','T',T,'D',rho,'R245fa')
RHO << rho
TTT << T
ERR << h
TTT0 << p
fig = plt.figure()
ax1 = fig.add_subplot(121, projection='3d')
ax1.scatter(np.array(RHO.vec),np.array(TTT.vec),ERR.vec)
ax2 = fig.add_subplot(122, projection='3d')
ax2.scatter(np.array(RHO.vec),np.array(TTT.vec),TTT0.vec)
plt.show()