Пример #1
0
 def calculo(self):
     ind1 = self.Comp1.currentIndex()
     ind2 = self.Comp2.currentIndex()
     if ind1 != ind2:
         zi = arange(0.025, 1., 0.025)
         id1 = self.indices[ind1]
         id2 = self.indices[ind2]
         x = [0]
         y = [0]
         for z in zi:
             try:
                 fraccion = [0.] * len(self.indices)
                 fraccion[ind1] = z
                 fraccion[ind2] = 1 - z
                 mez = Mezcla(tipo=3,
                              fraccionMolar=fraccion,
                              caudalMasico=1.)
                 tb = mez.componente[0].Tb
                 corr = Corriente(T=tb, P=101325., mezcla=mez)
                 T = corr.eos._Dew_T()
                 corr = Corriente(T=T, P=101325., mezcla=mez)
                 while corr.Liquido.fraccion[0] == corr.Gas.fraccion[
                         0] and corr.T < corr.mezcla.componente[1].Tb:
                     corr = Corriente(T=corr.T - 0.1, P=101325., mezcla=mez)
                 x.append(corr.Liquido.fraccion[0])
                 y.append(corr.Gas.fraccion[0])
             except:
                 pass
         x.append(1)
         y.append(1)
         self.rellenar(x, y)
Пример #2
0
        a7, b7 = 0.0705233, -0.044448
        a8, b8 = 0.504087, 1.32245
        a9, b9 = 0.0307452, 0.179433
        a10, b10 = 0.0732828, 0.463492
        a11, b11 = 0.006450, -0.022143

        Bo = (a1 + b1 * cmp.f_acent) * cmp.Vc
        Ao = (a2 + b2 * cmp.f_acent) * R_atml * cmp.Tc * cmp.Vc
        Co = (a3 + b3 * cmp.f_acent) * R_atml * cmp.Tc**3 * cmp.Vc
        gamma = (a4 + b4 * cmp.f_acent) * (cmp.Vc)**2
        b = (a5 + b5 * cmp.f_acent) * (cmp.Vc)**2
        a = (a6 + b6 * cmp.f_acent) * R_atml * cmp.Tc * (cmp.Vc)**2
        alfa = (a7 + b7 * cmp.f_acent) * (cmp.Vc)**3
        c = (a8 + b8 * cmp.f_acent) * R_atml * cmp.Tc**3 * (cmp.Vc)**2
        Do = (a9 + b9 * cmp.f_acent) * R_atml * cmp.Tc**4 * cmp.Vc
        d = (a10 + b10 * cmp.f_acent) * R_atml * cmp.Tc**2 * (cmp.Vc)**2
        Eo = (a11 + b11 * cmp.f_acent *
              exp(-3.8 * cmp.f_acent)) * R_atml * cmp.Tc**5 * cmp.Vc

        return Ao, Bo, Co, Do, Eo, a, b, c, d, alfa, gamma

_all = [BWRS]

if __name__ == "__main__":
    from lib.mezcla import Mezcla
    mezcla = Mezcla(2,
                    ids=[10, 38, 22, 61],
                    caudalUnitarioMolar=[0.3, 0.5, 0.05, 0.15])
    eq = BWRS(340, 101325, mezcla)
    print(eq.x)
Пример #3
0
    __doi__ = {
        "autor": "Twu, C.H., Coon, J.E., Cunningham, J.R.",
        "title": "A New Generalized Alpha Function for a Cubic Equation of "
        "State Part 1. Peng-Robinson equation",
        "ref": "Fluid Phase Equilibria 105 (1995) 49-59",
        "doi": "10.1016/0378-3812(94)02601-v"
    },

    OmegaA = 0.457235528921
    OmegaB = 0.0777960739039

    def _alfa(self, cmp, T):
        Tr = T / cmp.Tc

        alpha0 = Tr**(-0.171813) * exp(0.125283 * (1 - Tr**1.77634))  # Eq 11
        alpha1 = Tr**(-0.607352) * exp(0.511614 * (1 - Tr**2.20517))  # Eq 12

        # Eq 9
        alpha = alpha0 + cmp.f_acent * (alpha1 - alpha0)

        return 0, alpha


if __name__ == "__main__":
    from lib.mezcla import Mezcla
    mix = Mezcla(5, ids=[4], caudalMolar=1, fraccionMolar=[1])
    eq = PRTwu(300, 9.9742e5, mix)
    print('%0.0f %0.1f' % (eq.Vg.ccmol, eq.Vl.ccmol))
    eq = PRTwu(300, 42.477e5, mix)
    print('%0.1f' % (eq.Vl.ccmol))
Пример #4
0
    # f_acent = (0.01100, 0.02200, -0.00200)
    # x = (0.50000, 0.30000, 0.20000)
    from lib.mezcla import Mezcla
    from lib.compuestos import Componente

    ch4 = Componente(2)
    ch4.Tc, ch4.Pc, ch4.f_acent = 190.564, 4599200, 0.011

    o2 = Componente(47)
    o2.Tc, o2.Pc, o2.f_acent = 154.581, 5042800, 0.022

    ar = Componente(98)
    ar.Tc, ar.Pc, ar.f_acent = 150.687, 4863000, -0.002

    mix = Mezcla(5,
                 customCmp=[ch4, o2, ar],
                 caudalMolar=1,
                 fraccionMolar=[0.5, 0.3, 0.2])
    print(2222)
    eq = PRMathiasCopeman(800, 34933409.8798343, mix)
    print(eq._phir(800, 5000, eq.yi))

    from lib.mezcla import Mezcla
    from lib.compuestos import Componente
    ch4 = Componente(2)
    ch4.Tc, ch4.Pc, ch4.f_acent = 190.564, 4599200, 0.011
    o2 = Componente(47)
    o2.Tc, o2.Pc, o2.f_acent = 154.581, 5042800, 0.022
    ar = Componente(98)
    ar.Tc, ar.Pc, ar.f_acent = 150.687, 4863000, -0.002
    mix = Mezcla(5,
                 customCmp=[ch4, o2, ar],
Пример #5
0
    # mix = Mezcla(5, ids=[46, 2], caudalMolar=1, fraccionMolar=[0.2152, 0.7848])
    # eq = SRK(144.26, 2.0684e6, mix)
    # print(eq.rhoL.kmolm3)

    # # Ejemplo 6.6, Wallas, pag 340




    # mezcla = Mezcla(2, ids=[1, 2, 40, 41], caudalUnitarioMolar=[0.3177, 0.5894, 0.0715, 0.0214])
    # P = unidades.Pressure(500, "psi")
    # T = unidades.Temperature(120, "F")
    # eq = SRK(T, P, mezcla)
    # print(T)
    # print(eq.x)
    # print([x*(1-eq.x)*5597 for x in eq.xi])
    # print([y*eq.x*5597 for y in eq.yi])
    # print(eq.Ki)

    # Example 6.6 wallas
    P = unidades.Pressure(20, "atm")
    mix = Mezcla(5, ids=[23, 5], caudalMolar=1, fraccionMolar=[0.607, 0.393])
    eq1 = SRK(300, P, mix)
    eq2 = SRK(400, P, mix)
    print(eq1._Dew_T(P))
    print(eq2._Dew_T(P))

    # eq = SRK(500, P, mezcla)
    # print(eq._Dew_T(P))
 
Пример #6
0
        kw["a"] = self.tita
        kw["dat"] = damt
        kw["datt"] = damtt
        kw["dattt"] = damttt

        print(tau, delta, kw)
        p = CubicHelmholtz(tau, delta, **kw)
        p["tau"] = tau
        p["delta"] = delta
        print("fir: ", p["fir"])
        print("fird: ", p["fird"] * delta)
        print("firt: ", p["firt"] * tau)
        print("firdd: ", p["firdd"] * delta**2)
        print("firdt: ", p["firdt"] * delta * tau)
        print("firtt: ", p["firtt"] * tau**2)
        print("firddd: ", p["firddd"] * delta**3)
        print("firddt: ", p["firddt"] * delta**2 * tau)
        print("firdtt: ", p["firdtt"] * delta * tau**2)
        print("firttt: ", p["firttt"] * tau**3)
        print("P", (1 + delta * p["fird"]) * R * self.T * self.rho - self.P)
        self.fir = p


if __name__ == "__main__":
    from lib.mezcla import Mezcla
    mix = Mezcla(tipo=5,
                 caudalMolar=1,
                 ids=[2, 47, 98],
                 fraccionMolar=[0.5, 0.3, 0.2])
    eq = PRMathiasCopeman(800, 34937532, mix)
Пример #7
0
        self.Bi = [bi*self.P/R/self.T for bi in self.bi]
        self.Ai = [ai*self.P/(R*self.T)**2 for ai in self.ai]

    def _lib(self, cmp, T):
        a0 = 0.42747*R**2*cmp.Tc**2/cmp.Pc
        alfa = (self.T/cmp.Tc)**-0.5
        b = 0.08664*R*cmp.Tc/cmp.Pc
        return a0*alfa, b

    def _GEOS(self, xi):
        am, bm = self._mixture("RK", xi, [self.ai, self.bi])

        delta = bm
        epsilon = 0
        return am, bm, delta, epsilon


if __name__ == "__main__":
    from lib.mezcla import Mezcla
    from lib import unidades

    # mix = Mezcla(2, ids=[10, 38, 22, 61],
    #              caudalUnitarioMolar=[0.3, 0.5, 0.05, 0.15])
    # eq = RK(340, 101325, mix)

    mezcla = Mezcla(2, ids=[1, 2, 40, 41],
                    caudalUnitarioMolar=[0.31767, 0.58942, 0.07147, 0.02144])
    P = unidades.Pressure(485, "psi")
    T = unidades.Temperature(100, "F")
    eq = RK(T, P, mezcla, flory=1)
Пример #8
0
        # Eq 21
        bptr = 1 - 0.1519*cmp.f_acent - 3.9462*cmp.f_acent**2 + \
            7.0539*cmp.f_acent**3
        bpt = bptr * bc

        mb = bptr - 1  # Eq 17
        apt = 29.7056 * bpt * R * Tpt  # Eq 19

        b = bc * (1 + mb * (1 - Tita))  # Eq 16

        ma = (apt / ac)**0.5 - 1  # Eq 11
        a = ac * (1 + ma * (1 - Tita**0.5))**2  # Eq 10

        return a, b


if __name__ == "__main__":
    from lib.mezcla import Mezcla
    mix = Mezcla(5, ids=[4], caudalMolar=1, fraccionMolar=[1])
    eq = Nasrifar(300, 9.9742e5, mix)
    print('%0.1f' % (eq.Vl.ccmol))
    eq = Nasrifar(300, 42.477e5, mix)
    print('%0.1f' % (eq.Vg.ccmol))

    mix = Mezcla(5,
                 ids=[46, 2],
                 caudalMolar=1,
                 fraccionMolar=[0.04752, 0.95248])
    eq = Nasrifar(105, 5e7, mix)
    print(eq.rhoL.kmolm3)