Exemple #1
0
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
Exemple #2
0
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()
Exemple #3
0
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
Exemple #4
0
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 = (
Exemple #5
0
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()
Exemple #7
0
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 = np.array(RHO0.vec)/np.array(RHO.vec)*rhocrit/rhocrit_REF #Ratio of MOLAR densities - here the molar masses cancel out to make phi non-dimensional