rhomax = CP.Props('D', 'T', Ttriple, 'Q', 0, fluid) #Build a database of "experimental" data for T in np.linspace(Ttriple, Tcrit + 50, 80): for rho in np.linspace(1e-10, rhomax, 80): T0, rho0 = CP.conformal_Trho(fluid, fluid_REF, T, rho) p = CP.Props('P', 'T', T, 'D', rho, fluid) ar = CP.DerivTerms("phir", T, rho, fluid) ar_REF = CP.DerivTerms("phir", T0, rho0, fluid_REF) Z = CP.DerivTerms("Z", T, rho, fluid) Z_REF = CP.DerivTerms("Z", T0, rho0, fluid_REF) #goodstate = ((T > Tcrit and p > pcrit) or (T<Tcrit and rho > CP.rhosatL_anc(fluid,T) )) goodstate = (T > Tcrit or rho > CP.rhosatL_anc(fluid, T) or rho < CP.rhosatV_anc(fluid, T)) #goodstate = True #Want positive value, and single-phase if ((T0 / T) > 0.1 and T / T0 * Tcrit_REF / Tcrit < 3 and T0 / T < 1e6 and goodstate): if abs((ar - ar_REF) * 2 + (Z - Z_REF)**2) > 1e-5: print("%s %s" % (ar - ar_REF, Z - Z_REF)) TTT << T RHO << rho TTT0 << T0 RHO0 << rho0 tau = Tcrit / np.array(TTT.vec) delta = np.array(RHO.vec) / rhocrit
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()
m = 3 NP = 1 Nb = 0 N = (n - 1) * (m + 1) + 3 + Nb mu, mu_dilute, RHO, TTT = Collector(), Collector(), Collector(), Collector() rhomax = CP.Props("D", "T", Ttriple, "Q", 0, fluid) # Build a database of "experimental" data for T in np.linspace(Ttriple, Tcrit + 30, 400): for rho in np.linspace(1e-10, rhomax, 400): muval = CP.Props("V", "T", T, "D", rho, Rfluid) mudilute = CP.viscosity_dilute(fluid, T, rho, e_k, sigma) # Want positive value, and single-phase if muval > 0 and T > Tcrit or rho > CP.rhosatL_anc(fluid, T) or rho < CP.rhosatV_anc(fluid, T): mu << muval mu_dilute << mudilute TTT << T RHO << rho from CoolProp.Plots.Plots import Trho Trho(fluid) plt.plot(RHO.vec, TTT.vec, ".") plt.show() # tau = np.array(TTT.vec)/Tcrit tau = np.array(TTT.vec) / Tcrit delta = np.array(RHO.vec) / rhocrit Tstar = np.array(TTT.vec) / e_k
m = 3 NP = 1 Nb = 0 N = (n - 1) * (m + 1) + 3 + Nb mu, mu_dilute, RHO, TTT = Collector(), Collector(), Collector(), Collector() rhomax = CP.Props('D', 'T', Ttriple, 'Q', 0, fluid) # Build a database of "experimental" data for T in np.linspace(Ttriple, Tcrit + 30, 400): for rho in np.linspace(1e-10, rhomax, 400): muval = CP.Props('V', 'T', T, 'D', rho, Rfluid) mudilute = CP.viscosity_dilute(fluid, T, rho, e_k, sigma) # Want positive value, and single-phase if (muval > 0 and T > Tcrit or rho > CP.rhosatL_anc(fluid, T) or rho < CP.rhosatV_anc(fluid, T)): mu << muval mu_dilute << mudilute TTT << T RHO << rho from CoolProp.Plots.Plots import Trho Trho(fluid) plt.plot(RHO.vec, TTT.vec, '.') plt.show() #tau = np.array(TTT.vec)/Tcrit tau = np.array(TTT.vec) / Tcrit delta = np.array(RHO.vec) / rhocrit Tstar = np.array(TTT.vec) / e_k
rhomax = CP.Props("D", "T", Ttriple, "Q", 0, fluid) # Build a database of "experimental" data for T in np.linspace(Ttriple, Tcrit + 50, 80): for rho in np.linspace(1e-10, rhomax, 80): T0, rho0 = CP.conformal_Trho(fluid, fluid_REF, T, rho) p = CP.Props("P", "T", T, "D", rho, fluid) ar = CP.DerivTerms("phir", T, rho, fluid) ar_REF = CP.DerivTerms("phir", T0, rho0, fluid_REF) Z = CP.DerivTerms("Z", T, rho, fluid) Z_REF = CP.DerivTerms("Z", T0, rho0, fluid_REF) # goodstate = ((T > Tcrit and p > pcrit) or (T<Tcrit and rho > CP.rhosatL_anc(fluid,T) )) goodstate = T > Tcrit or rho > CP.rhosatL_anc(fluid, T) or rho < CP.rhosatV_anc(fluid, T) # goodstate = True # Want positive value, and single-phase if (T0 / T) > 0.1 and T / T0 * Tcrit_REF / Tcrit < 3 and T0 / T < 1e6 and goodstate: if abs((ar - ar_REF) * 2 + (Z - Z_REF) ** 2) > 1e-5: print ar - ar_REF, Z - Z_REF TTT << T RHO << rho TTT0 << T0 RHO0 << rho0 tau = Tcrit / np.array(TTT.vec) delta = np.array(RHO.vec) / rhocrit THETA = np.array(TTT.vec) / np.array(TTT0.vec) * Tcrit_REF / Tcrit PHI = (
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()
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()