miércoles, 16 de junio de 2021

Comportamiento de Fluidos Petroleros 3

 

En esta ocasión traigo otro ejercicio, el cual considera que la mezcla de gases tiene un comportamiento real, esto es de gran importancia debido a que aparece algo llamado el factor de compresibilidad o mejor conocido como factor Z, este nos indica cómo se comporta el gas en cuestión y se define como la razón del volumen molar de un gas con relación al volumen molar de un gas ideal a la misma temperatura y presión.

En los ejercicios anteriores se trabajó con comportamientos ideales por lo que Z = 1, en esta ocasión es real por lo que Z es diferente a 1, otra cuestión es que de relevancia es al incrementar la presión ejercida en el gas el factor Z se incrementa y disminuye con la temperatura.

El enunciado dice: Se considera un comportamiento real de la mezcla de los gases, a una presión de 1000 psi abs con una temperatura de 100 °F. Calcular la densidad de la mezcla de los gases de la siguiente tabla.

Componente            Composición

Metano                      0.75

Etano                         0.05

Propano                    0.05

i-Butano                    0.05

n-Butano                  0.1

 

Comenzamos por introducir todas las variables proporcionadas y los datos necesarios

Presion = 1000 #psi abs

Temperatura = 100 # °F

Datos_Entrada = [0.75,0.05,0.05,0.05,0.10]                                                                 # Datos de la tabla

Datos_Peso = [16.0430,30.0700,44.0970,58.1230,58.1230]             # Datos de la masa molar

Datos_temperatura = [-116.6700,89.9920,206.0600,274.4600,305.6200]# Datos de la temperatura critica [°F]

Datos_presion = [666.4000,706.5000,616.0000,527.9000,550.6000]         # Datos de la presión critica [°psi abs]

Diccionario = {"Composicion":Datos_Entrada,"M":Datos_Peso,"Tc":Datos_temperatura,"Pc":Datos_presion}

df = pd.DataFrame(Diccionario)

# Las unidades de temperatura son °F hay que convertirlas a °R

df["Tc"] = df["Tc"]+460

# Se debe de corroborar que los datos estén normalizados

Normal = df["Composicion"].sum()

if Normal == 1:

            pass

else :

            df["Composicion"] = df["Composicion"]/Normal

#Obtenemos lo siguiente

df["Mi"] = df["Composicion"]*df["M"]

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

#Obtenemos las condiciones pseudocriticas de la temperatura y presión

df["Tci"] = df["Composicion"]*df["Tc"]; df["Pci"] = df["Composicion"]*df["Pc"]

Tpc = df["Tci"].sum(); Ppc = df["Pci"].sum()

#Obtenemos las condiciones pseudoreducidas de la temperatura y la presión

Ppr = Presion/Ppc; Tpr = (Temperatura+460)/Tpc

# Se considera un comportamiento real por lo que tenemos que obtener el factor Z se utiliza la correlación de Brill y Beggs para obtener Z

def Z_Brill_Beggs(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*(Ppr**6))/(10**E)

            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

Z = Z_Brill_Beggs(1.27,1.54)

Pg = (Presion*Ma)/(Z*10.732*Temperatura+460)

 

print(Pg)  

No hay comentarios.:

Publicar un comentario