miércoles, 25 de agosto de 2021

Ejemplo 3

 Como es costumbre ahora pondré en marcha la teoría.

import pandas as pd

import math as math

import numpy as np

 

i = ["N2","CH4","C2H6","C3H8","C4H10","C4H10","C5H12","C5H12","C6H14","C7+"]

Yi = [0.0138,0.9302,0.0329,0.0136,0.0023,0.0037,0.0012,0.0010,0.0008,0.0005]

Mi = [28.0134,16.0430,30.0700,44.0970,58.1230,58.1230,72.1500,72.1500,86.1770,142.2850]

Tci = [227.1600,343.0000,549.5900,665.7300,734.1300,765.2900,828.7700,845.4700,913.2700,1005.2522]

Pci = [493.1000,666.4000,706.5000,616.0000,527.9000,550.6000,490.4000,488.6000,436.9000,375.6633]

 

T = 650

P = 750

 

Diccionario = {"Componente":i,"Composición":Yi,"Mi":Mi,"Tci":Tci,"Pci":Pci}

 

df = pd.DataFrame(Diccionario)

 

if df["Composición"].sum() == 1:

 

                pass

 

else:

               

                df["Composición"] = df["Composición"]/df["Composición"].sum()

 

df["Mi*Yi"] = df["Composición"]*df["Mi"]

 

df["Tpci"] = df["Composición"]*df["Tci"]

 

df["Ppci"] = df["Composición"]*df["Pci"]

 

Ma = df["Mi*Yi"].sum()

 

YgM = Ma/28.96

 

# Tpc y Ppc para componentes pesados

 

df["Yi(Tc/Pc)"] = df["Composición"]*(df["Tci"]/df["Pci"])

 

df["Yi(Tc/sqrt(Pc))"] = df["Composición"]*(df["Tci"]/df["Pci"]**0.5)

 

df["Yi*sqrt(Tc/Pc)"] = df["Composición"]*(df["Tci"]/df["Pci"])**0.5

 

# Obtención de Ppc y Tpc

 

A = df["Yi(Tc/Pc)"].sum()

 

C = df["Yi*sqrt(Tc/Pc)"].sum()

 

K = df["Yi(Tc/sqrt(Pc))"].sum()

 

YCO2 = 0; YH2S = 0 ; YN2 = df.iloc[0:1,1:2]; YN2 = np.array(YN2); YH2O = 0

 

# SUTTON

 

YgHC = (YgM-1.1767*YH2S-1.5196*YCO2-0.9672*YN2-0.622*YH2O)/(1-YH2S-YCO2-YN2-YH2O)

 

PpcHC = 756.8-131*YgHC-3.6*YgHC**2

 

TpcHC = 169.2+349.5*YgHC-74*YgHC**2

 

PpcM = (1-YN2-YCO2-YH2S)*PpcHC+493*YN2+1071*YCO2+1306*YH2S+3200.1*YH2O

 

TpcM = (1-YN2-YCO2-YH2S)*TpcHC+227*YN2+548*YCO2+672*YH2S+1164.9*YH2O

 

TpcM = float(TpcM); PpcM = float(PpcM)

 

print("########################Información del Gas#############################")

print("#  Masa aparente...................................",round(Ma,4),"lbm/lbm-mol#")

print("#  Densidad........................................",round(YgM,4),"lbm/lbm-mol #")

print("#  Temperatura Pseudocritica.......................",round(TpcM,4),"°R        #")

print("#  Presión Pseudocritica...........................",round(PpcM,4),"psi       #")

 

def Brill(Tpr,Ppr):

 

                F = 0.3106 - (0.49*(Tpr)) + (0.1824*(Tpr)**2)

                E = 9*(Tpr-1)

                D = 10**F

                C = 0.132-0.32*np.log10(Tpr)

                B = (0.62-(0.23*Tpr))*Ppr + ((0.066/(Tpr-0.86))-0.037)*(Ppr**2) + (0.32/(10**E))*(Ppr**6)

                A = (1.39*(Tpr-0.92)**0.5)-(0.36*Tpr)-0.10

                z = A + ((1-A)/np.exp(B)) + (C*(Ppr**D))

 

                return z

 

Ppr = P/PpcM; Tpr = T/TpcM

 

print("#  Factor Z Brill..................................",round(Brill(Tpr,Ppr),4),"            #")

 

z = Brill(Tpr,Ppr)

 

Delta = -(3.52/(10**(0.9812*Tpr)))+((0.548*Ppr)/(10**(0.8157*Tpr)))

 

Cr = (1/Ppr)-(Delta/z)

 

Cg3 = Cr/680

 

print("#  Compresibilidad.................................",round(Cg3,4),"1/psi       #")

 

Pg = (1.4935*(10**-3))*((P*Ma)/(z*T))

 

X = 3.5 + (986/T)+0.01*Ma

 

K = ((9.4+0.02*Ma)*T**1.5)/(209+19*Ma+T)

 

Y = 2.4-0.2*X

 

Mg = (K*np.exp(X*Pg**Y))/10**4

 

print("#  Viscosidad......................................",round(Mg,4),"cp          #")

print("########################################################################")

 

 

El código entrega los siguientes resultados:

 

########################Información del Gas###########

#  Masa aparente................................... 17.5464 lbm/lbm-mol   #

#  Densidad........................................ 0.6059 lbm/lbm-mol        #

#  Temperatura Pseudocritica....................... 350.7439 °R          #

#  Presión Pseudocritica........................... 674.2558 psi             #

#  Factor Z Brill.................................. 0.9573                            #

#  Compresibilidad................................. 0.0014 1/psi               #

#  Viscosidad...................................... 0.0142 cp                       #

#######################################################

miércoles, 18 de agosto de 2021

Viscosidad del Gas

 

Hola de nuevo espero que te encuentres bien. Ahora abordare el tema de la viscosidad del gas. Para comenzar, la viscosidad de un líquido se define como la resistencia de un fluido a fluir, en un medio claro está.

Aunque no lo creas el gas tiene viscosidad. La viscosidad de un gas es menor que la de un líquido, tiene un comportamiento reológico Newtoniano y se rige por la ley de viscosidad de Newton. A continuación, te muestro una gráfica de presión vs viscosidad de su comportamiento.

Existen algunos factores que afectan la viscosidad:

1- A bajas presiones (menores de 1000 psi), a medida que aumenta la temperatura aumenta la viscosidad, esto se debe al incremento de la energía cinética de las moléculas que producen gran número de choques intermoleculares.

2- A elevadas presiones (mayores a 1000), a medida que aumenta la temperatura disminuye la viscosidad, debido a la expansión térmica de las moléculas.

3- A cualquier temperatura, la viscosidad de un gas aumenta con el incremento de presión debido a la disminución de las distancias intermoleculares.

4- A medida que un gas es más pesado, sus moléculas serán más grandes y por tanto su viscosidad será mayor.

Para obtener la viscosidad de un gas por medio de ecuaciones traigo el día de hoy la Correlación de Lee, A.L., González, M.H. y Eakin, B.E. Ellos midieron experimental mente la viscosidad de 4 gases naturales con impurezas (CO2, N2) a temperaturas desde 100 hasta 340 °F y presiones desde 100 a 8000 psi. A partir de los datos experimentales obtuvieron la siguiente expresión:


Donde Mg es la viscosidad del gas en cp, pg es la densidad del gas en gr/cc, M el peso molecular del gas en lbs/lbmol, z es el factor de compresibilidad del gas adimensional, p presión psi y T temperatura °R.

miércoles, 11 de agosto de 2021

Ejemplo 2

 

En esta entrada aplicaremos las correlaciones de la entrada anterior comenzando por la de Mattar, L., Brar,G.S. y Aziz, K.

import math as math

import numpy as np

 # Mattar, L., Brar,G.S. y Aziz, K.

 

A1 = 0.31506237

A2 = -1.0467099

A3 = -0.57832729

A4 = 0.53530771

A5 = -0.61232032

A6 = -0.10488813

A7 = 0.68157001

A8 = 0.68446549

 

z = 0.78970

Pr = 1.41826

Tpr = 1.35

Ppr = 5.60

 

Delta  = A1+(A2/Tpr)+(A3/(Tpr**3))+2*(A4+(A5/Tpr))*Pr+5*A5*A6*(Pr**4/Tpr)+((2*A7*Pr)/(Tpr**3))*(1+(A8*Pr**2)-(A8*Pr**2)**2)*math.exp(-A8*Pr**2)

 

Cr = (1/Ppr)-(0.27/((z**2)*Tpr))*(Delta/(1+(Pr/z)*Delta))

 

Cg1 = Cr/680

 

# Sarem, A.M.

 

X = -0.257

Y = -0.684

 

MM = np.array([[2.1434,0.0832,-0.0215,-0.0009,0.0043,-0.0017],[0.3313,-0.1340,0.0669,-0.0272,0.0089,-0.0022],[0.1057,-0.0504,0.0051,0.0106,-0.0073,0.0027],[0.0522,0.0443,-0.0193,0.0059,0.0015,-0.0028],[0.0197,-0.0264,0.0193,-0.0115,0.0043,-0.0081],[0.0053,0.0089,-0.0109,0.0096,-0.0060,0.0031]])

 

 

PX0 = np.array([[0],[0.16551],[0.641002*X],[0.379221*(5*(X**2)-1)],[0.716652*(7*(X**3)-3*X)],[0.594225*(21*(X**4)-14*(X**2)+1)]])

PY0 = np.array([[0.7071068],[1.224745*Y ],[0.7905695*(3*(Y**2)-1)],[0.9354145*(5*(Y**3)-3*Y)],[0.265165*(35*(Y**4)-30*(Y**2)+3)],[0.293151*(63*(Y**5)-70*(Y**3)+15*Y)]])

 

Delta = 0

 

for i in np.arange(0,6):

            for j in np.arange(0,6):

 

                        Delta = Delta+MM[i][j]*PX0[i]*PY0[j]

 

Cr = (1/Ppr)-(Delta/z)

 

Cg2 = Cr/680

 

# Papay, J.

 

Delta = -(3.52/(10**(0.9812*Tpr)))+((0.548*Ppr)/(10**(0.8157*Tpr)))

 

Cr = (1/Ppr)-(Delta/z)

 

Cg3 = Cr/680

 

# Hall, K.R. y Yarborough, L.

 

t = 485/(194+460)# Tpc/T

 

def DDF(Y,t):

 

            A = 0.06125*t*np.exp(-1.2*(1-t)**2)

            B = (14.76*t-9.76*t**2+4.58*t**3)

            C = (90.7*t-242.2*t**2+42.4*t**3)

            D = 2.18+2.82*t

            Y = -A*Ppr+((Y+(Y**2)+(Y**3)-(Y**4))/((1-Y)**3))-B*(Y**2)+C*(Y**D)

 

            return Y

 

Y = 0.01

conteo = 0

error = 1

 

while error > 0.00000001:

 

            dy = ((DDF(Y,t)+0.0001)-DDF(Y,t))/0.0001

            yn = Y-DDF(Y,t)/dy

 

            conteo = conteo + 1

 

            error = (yn-Y)/yn

 

            Y = yn

 

A = 0.06125*t*math.exp(-1.2*(1-t)**2)

B = 14.76*t-9.76*t**2+4.58*t**3

C = 90.7*t-242.2*t**2+42.4*t**3

D = 2.18+2.82*t

 

z = (A*Ppr)/Y

 

Delta = A*(((1-Y)**4)/(1+(4*Y)+(4*(Y**2))-(4*(Y**3))+(Y**4)-((1-Y)**4)*((2*B*Y)-C*D*Y**(D-1))))

 

Delta = (A/Y)-(A*Ppr)/(Y**2)*(Delta)

 

Cr = (1/Ppr)-(Delta/z)

 

Cg4 = Cr/680

 

# Brill, J.P. y Beggs, H.D.

 

F = 0.3106 - (0.49*(Tpr)) + (0.1824*(Tpr)**2)

E = 9*(Tpr-1)

D = 10**F

C = 0.132-0.32*np.log10(Tpr)

B = (0.62-(0.23*Tpr))*Ppr + ((0.066/(Tpr-0.86))-0.037)*(Ppr**2) + (0.32/(10**E))*(Ppr**6)

A = (1.39*(Tpr-0.92)**0.5)-(0.36*Tpr)-0.10

z = A + ((1-A)/np.exp(B)) + (C*(Ppr**D))

 

Delta = ((1-A)/(((0.62-0.23*Tpr)+(((0.132/(Tpr-0.86))-0.74)*Ppr)+((1.92*Ppr**5)/10**(9*(Tpr-1))))+np.exp(B)))+C*D*(Ppr**(D-1))

 

Cr = (1/Ppr)-(Delta/z)

 

Cg5 = Cr/680

 

print("#"*49)

print("#                                              Método                          #")

print("# Mattar, L., Brar,G.S. y Aziz, K....",round(Cg1,7)," #")

print("# Sarem, A.M.........................",round(float(Cg2),7),"#")

print("# Papay, J...........................",round(Cg3,7),"#")

print("# Hall, K.R. y Yarborough, L.........",round(Cg4,7),"#")

print("# Brill, J.P. y Beggs, H.D...........",round(Cg5,7),"#")

print("#"*49)

 

El programa genera el siguiente mensaje

 

#################################################

#                                             Método                          #

# Mattar, L., Brar,G.S. y Aziz, K.... 0.000127  #

# Sarem, A.M......................... 0.0001682 #

# Papay, J........................... 0.0001203 #

# Hall, K.R. y Yarborough, L......... 0.0001441 #

# Brill, J.P. y Beggs, H.D........... 0.0001138 #

#################################################

Compresibilidad del Gas

 

Ahora hablare de la compresibilidad del gas Cg, la cual se puede definir como el cambio fracción de un volumen cuando la presión cambia a temperatura constante, como lo muestra la siguiente expresión:

Donde V es volumen, p Presión y T temperatura.

Cuidado la compresibilidad no es el factor de compresibilidad del gas, son cosas diferentes.

Tenemos diferentes correlaciones para obtener la compresibilidad del gas:

Mattar, L., Brar,G.S. y Aziz, K.

Sarem, A.M.

Papay, J.

Hall, K.R. y Yarborough, L.

Brill, J.P y Beggs, H.D.

Estas correlaciones se complementan con las correlaciones del factor de compresibilidad, en la siguiente entrada mostrare como es que se utilizan.