Exemplo n.º 1
0
def testFluid():
    #f = Fluid('R134a')
    f = Fluid('Hydrogen')
    #f = Fluid('Water')
    BibTexKeys = [
        "EOS", "CP0", "VISCOSITY", "CONDUCTIVITY", "ECS_LENNARD_JONES",
        "ECS_FITS", "SURFACE_TENSION"
    ]
    for key in BibTexKeys:
        print("{0} : {1}".format(key, f.BibTeXKey(key)))
    print("Name: {0}".format(f.name()))
    print("Aliases: {0}".format(f.aliases()))
    print("{0} : {1}".format('EOS reference', f.EOSReference()))
    print("{0} : {1}".format('Transpor reference', f.TransportReference()))

    print("{0} : {1} [g/mol]".format('Molar mass', f.molarMass()))
    print("{0} : {1}".format('Accentric factor', f.accentricFactor()))
    print("{0} : {1}".format('Critical point', f.critical()))
    print("{0} : {1}".format('Tripple point', f.tripple()))
    print("{0} : {1}".format('Fluid limits', f.fluidLimits()))
    print("CAS: {0}".format(f.CAS()))
    print("ASHRAE34: {0}".format(f.ASHRAE34()))
    p = (f.critical()['p'] + f.tripple()['p']) / 2
    print("Saturation @ {0} bar {1}".format(p / 1e5, f.saturation_p(p)))

    T = (f.critical()['T'] + f.tripple()['T']) / 2
    print("Saturation @ {0} K {1}".format(T, f.saturation_T(T)))
Exemplo n.º 2
0
def testState():
    s1 = FluidState('ParaHydrogen')
    s1.update('P', 700e5, 'T', 288)
    print("p={0}".format(s1.p()))
    print("T={0}".format(s1.T()))
    print("rho={0}".format(s1.rho()))
    print("h={0}".format(s1.h()))
    print("s={0}".format(s1.s()))
    print("cp={0}".format(s1.cp()))
    print("cv={0}".format(s1.cv()))
    print("gamma={0}".format(s1.gamma()))
    print("dpdt_v={0}".format(s1.dpdt_v()))
    print("dpdv_t={0}".format(s1.dpdv_t()))
    print("beta={0}".format(s1.beta()))
    print("mu={0}".format(s1.mu()))
    print("lambfa={0}".format(s1.cond()))
    print("Pr={0}".format(s1.Pr()))

    s2 = FluidState('ParaHydrogen')
    s2.update_Tp(s1.T(), s1.p())
    print("update_Tp rho={0}".format(s2.rho()))
    s3 = FluidState('ParaHydrogen')
    s3.update_Trho(s1.T(), s1.rho())
    print("update_Trho p={0}".format(s3.p()))
    s4 = FluidState('ParaHydrogen')
    s4.update_prho(s1.p(), s1.rho())
    print("update_prho T={0}".format(s4.T()))
    s5 = FluidState('ParaHydrogen')
    s5.update_ph(s1.p(), s1.h())
    print("update_ph ={0}".format(s5.T()))
    s6 = FluidState('ParaHydrogen')
    s6.update_ps(s1.p(), s1.s())
    print("update_ps T={0}".format(s6.T()))
    s7 = FluidState('ParaHydrogen')
    s7.update_pq(1e5, 0)
    print("update_pq T={0}".format(s7.T()))
    s8 = FluidState('ParaHydrogen')
    s8.update_Tq(25, 0)
    print("update_Tq p={0}".format(s8.p()))
    print('--------------------')
    print('Initialize state from fluid')
    h2 = Fluid('ParaHydrogen')
    s9 = FluidState(h2)
    s9.update_Tp(s1.T(), s1.p())
    print("rho={0}".format(s9.rho()))
Exemplo n.º 3
0
    def compute(self):
        R = 8.314462
        mMol = Fluid(self.fluidName).molarMass / 1e3
        self.T = (self.T1 + self.T2) / 2
        state = FluidState(self.fluidName)
        state.update_Tp(self.T, self.p)

        self.rho = state.rho
        self.mu = state.mu
        self.c = np.sqrt(8 * R * state.T / (np.pi * mMol))
        self.l = (2 * self.mu) / (state.rho * self.c)

        self.Kn = self.l / self.d
        self.f = 16. / 15 * (1 / state.Pr) * (state.gamma / (state.gamma + 1))
        self.fct = 1. / (1 + 15. / 4 * self.Kn)  #* self.f

        self.qDot = self.fct * state.cond / self.d * np.abs(self.T1 - self.T2)

        Rg = R / mMol
        self.qDotFM = (state.cp - Rg / 2) * state.p / np.sqrt(
            2 * np.pi * Rg * self.T) * np.abs(self.T1 - self.T2)
Exemplo n.º 4
0
 def initCompute(self, fluid):
     # Create fluid points
     self.fluid = Fluid(fluid)
     self.fp = []  #[FluidState(fluid) for _ in range(numPoints)]
     self.flows = []
     self.solver.cycle = self
Exemplo n.º 5
0
 def __init__(self, fluidName):
     self.fluidName = fluidName
     self.fluid = Fluid(fluidName)
Exemplo n.º 6
0
'''
Created on Feb 23, 2015

@author: Atanas Pavlov
'''

import numpy as np
from smo.media.CoolProp.CoolProp import FluidState, Fluid

fluid = Fluid('Water')

dT = 1e-4
dq = 1e-3

f1 = FluidState(fluid)
f2 = FluidState(fluid)

f1.update_Tq(273.15 + 150, 0.5)

# dqdT_v
f2.update_Trho(f1.T + dT, f1.rho)
dqdT_v = (f2.q - f1.q) / (f2.T - f1.T)
print("dqdT_v() numerical: {:e}, analytical: {:e}".format(dqdT_v, f1.dqdT_v))

# dvdT_q
f2.update_Tq(f1.T + dT, f1.q)
dvdT_q = (f2.v - f1.v) / (f2.T - f1.T)
dvdT_q_1 = f1.q * f1.SatV.dvdT + (1 - f1.q) * f1.SatL.dvdT
print("dvdT_q() numerical: {:e}, analytical: {:e}, analytical2: {:e}".format(
    dvdT_q, f1.dvdT_q, dvdT_q_1))