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)
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
Angulo_Pozo = MATE.radians(Angulo_Pozo)
No hay comentarios.:
Publicar un comentario