lib.EoS.Grayson_Streed module¶
- class lib.EoS.Grayson_Streed.Grayson_Streed(T, P, mezcla, **kwargs)[source]¶
Bases:
EoSHybrid model for vapor-liquid equilibria in hydrocarbon mixtures using three diferent parameters, given in [1].
\[K_i = \frac{\nu_i^o\gamma_i}{\Phi_i^V}\]The fugacity coefficient of pure liquid is calculate4d with a Curl-Pitzer corresponding state correlation:
\[\begin{split}\begin{array}[t]{l} \log{\nu_i^o} = \log{\nu_i^{(0)}} + \omega\log{\nu_i^{(1)}}\\ \log{\nu_i^{(0)}} = A_0 + \frac{A_1}{T_r} + A_2T_r + A_3T_r^2 + A_4T_r^3 + \left(A_5+A_6T_r+A_7T_r^2\right)P_r + \left(A_8+A_9T_r\right)P_r^2 - \log{P_r}\\ \log{\nu_i^{(1)}} = B_1 + B_1T_r-\frac{B_3}{T_r} + B_4T_r^3 - B_5\left(P_r-0.6\right)\\ \end{array}\end{split}\]The modified parameters of correlation are given in [2]
Liquid solution are considered regualar solutions, and the liquid activity coefficient are calculated using the Scatchard-Hildebrand correlation:
\[\begin{split}\begin{array}[t]{l} \ln{\gamma_i} = \frac{V_i\left(\delta_i-\bar{\delta}\right)^2}{RT}\\ \bar{\delta} = \frac{\sum_i{x_iV_i\delta_i}}{\sum_j{x_jV_j}}\\ \end{array}\end{split}\]Optionally can use the Flory-Huggins extension as is given in [3]:
\[\begin{split}\begin{array}[t]{l} \ln{\gamma_i} = \frac{V_i\left(\delta_i-\bar{\delta}\right)^2}{RT} + \ln{\Theta_i} + 1 - \Theta_i\\ \Theta_i = \frac{V_i}{\sum_i{x_iV_i}}\\ \end{array}\end{split}\]The fugacity coefficient of vapor is calculated using the Redlich-Kwong cubic equation of state.
This model is applicable to systems of non-polar hydrocarbons, for vapor- liquid equilibrium. It’s use the value of gas density from Redlich-Kwong equation, but don’t support the liquid density or the enthalpy calculation.
- Parameters:
- floryboolean
Use the Flory-Huggins extension to regular solutions
Examples
Example 7.2 from [4], pag 279, liquid-vapor flash equilibrium of a mixture of hydrogen, methane, benzene and toluene.
>>> from lib.corriente import Mezcla >>> from lib import unidades >>> zi = [0.31767, 0.58942, 0.07147, 0.02144] >>> mix = Mezcla(2, ids=[1, 2, 40, 41], caudalUnitarioMolar=zi) >>> P = unidades.Pressure(485, "psi") >>> T = unidades.Temperature(100, "F") >>> eq = Grayson_Streed(T, P, mix, flory=0) >>> "β = %0.4f" % eq.x 'β = 0.9106' >>> "xi = %0.4f %0.4f %0.4f %0.4f" % tuple(eq.xi) 'xi = 0.0043 0.0576 0.7096 0.2286' >>> "yi = %0.4f %0.4f %0.4f %0.4f" % tuple(eq.yi) 'yi = 0.3485 0.6417 0.0088 0.0011'