sábado, 12 de noviembre de 2022

Flujo Miltifásico Pozo de Agua Código

En esta entrada se muestra el código del cálculo de las caídas de presión en el pozo de agua.
 
import math as MATE
  
# Datos
 
Indice_Produccion = 15      # bpd/psia
Diametro_TP = 2             # in
Presion_Fondo_F_Pozo = 800  # psi
Presion_Fondo_E_Pozo = 850  # psi
Presion_Cabeza_Pozo = 0     # psi
Viscosidad_Agua = 1         # cp
Rugosidad = 0.0006          # in
Densidad_Agua = 1           #
Longitud_Pozo = 250         # m
Angulo_Pozo = 90            # ° es un pozo vertical
Gasto_Agua = 0              # bpd
 
Longitud_Pozo = Longitud_Pozo*3.2808
Angulo_Pozo = MATE.radians(Angulo_Pozo)
 
# Cálculo de los pozos
 
if Presion_Cabeza_Pozo == 0:
 
    Gasto_Agua = Indice_Produccion*(Presion_Fondo_E_Pozo-Presion_Fondo_F_Pozo)
 
elif Presion_Cabeza_Pozo != 0:
 
    Gasto_Agua = Indice_Produccion*(Presion_Fondo_E_Pozo-Presion_Cabeza_Pozo)
 
else:
 
    print("La opción no existe")
 
Gradiente_Elevacion = 0.433*Densidad_Agua*Longitud_Pozo*MATE.sin(Angulo_Pozo)
 
Reynolds = 92.2*(Gasto_Agua*Densidad_Agua)/(Diametro_TP*Viscosidad_Agua)
 
fD0 = 0.01
 
fD0 = (-2*MATE.log10((Rugosidad/(3.715*Diametro_TP))+(2.514/(Reynolds*MATE.sqrt(fD0)))))**-2
 
Error = 1
 
while Error > 1E-20:
 
    fD = (-2*MATE.log10((Rugosidad/(3.715*Diametro_TP))+(2.514/(Reynolds*MATE.sqrt(fD0)))))**-2
 
    Error = abs(fD0-fD)/(fD0)
 
    fD0 = fD
 
Gradiente_Friccion = ((1.147*10**-5)*fD0*1*(Gasto_Agua**2)*Longitud_Pozo)/(Diametro_TP**5)
 
Gradiente_Total = Gradiente_Elevacion+Gradiente_Friccion
 
if Presion_Cabeza_Pozo == 0:
 
    Presion_Cabeza_Pozo = Presion_Fondo_F_Pozo-Gradiente_Total
 
elif Presion_Cabeza_Pozo != 0:
 
    Presion_Fondo_F_Pozo = Presion_Cabeza_Pozo+Gradiente_Total
 
else:
 
    print("La opción no existe")
 
print(Presion_Cabeza_Pozo,Presion_Fondo_F_Pozo,Gradiente_Total,Gradiente_Elevacion,Gradiente_Friccion,Gasto_Agua)  

No hay comentarios.:

Publicar un comentario