En una prueba de producción, un pozo produjo 700 B/D con un estrangulador de 1/8” y una razón de gas–petróleo de 675 PCN/BN con un separador operando a 100 psi y 85 °F. La gravedad del petróleo es 31 °API, la gravedad específica del gas producido del separador es 0.95 y la temperatura de fondo, determinada de registros eléctricos es 180 °F. El gas liberado del separador contenía 20 % (% molar) de CO2 y 10 % (% molar) de H2S.
import numpy as np
GASTO = 700
ESTRANGULADOR = 1/8
Rsb = 675
SEPARADOR = 100
TEMPERATURA_SEPARADOR = 85
API = 31
Yg = 0.95
T = 180
YCO2 = 20/100
YH2S = 10/100
# STANDING, M.B.
CCO2 = 1-693.8*YCO2*(T**-1.553)
CH2S = 1-((0.9035+0.0015*API)*YH2S)+(0.019*(45-API)*(YH2S**2))
F = ((Rsb/Yg)**0.83)*10**(0.00091*T-0.0125*API)
Pb = 18.2*(F-1.4)
PbC1 = Pb*CCO2*CH2S
# LASATER
if API <= 40:
Mo = 630-10*API
elif API > 40:
Mo =
73110*APi**-1.562
else:
pass
Yo = 141.5/(API+131.5)
Ygg = ((Rsb/379.3)/((Rsb/379.3)+((350*Yo)/Mo)))
if Ygg <= 0.60:
G =
0.679*np.exp(2.786*Ygg)-0.323
elif Ygg >= 0.60:
G =
8.26*(Ygg**3.56)+1.95
else:
pass
Pb = G*((T+460)/Yg)
PbC2 = Pb*CCO2*CH2S
# Vázquez, M.E. y Beggs, H.D.
if API <= 30:
C1 = 0.0362; C2 =
1.0937; C3 = 25.724
elif API > 30:
C1 = 0.0178; C2 =
1.1870; C3 = 23.931
else:
pass
Ygc =
Yg*(1+5.912*(10**-5)*API*TEMPERATURA_SEPARADOR*np.log(SEPARADOR/114.7))
Pb = (Rsb/(C1*Ygc*np.exp((C3*API)/(T+460))))**(1/C2)
PbC3 = Pb*CCO2*CH2S
# GLASO, O.
F = ((Rsb/Yg)**0.816)*((T**0.172)/(API**0.989))
Pb = 10**(1.7669+1.7447*np.log10(F)-0.30218*(np.log10(F)**2))
PbC4 = Pb*CCO2*CH2S
# CORRECCION POR CONTAMINANTES GLASO
CN2 =
1+((-2.65*(10**-4)*API+5.5*(10**-3))*T+(0.031*API-0.8259))*YN2+((1.954*(10**-11)*API**4.699)*T+(0.027*API-2.366))*YN2
CCO2 = 1-693.8*YCO2*(T**-1.553)
CH2S = 1-(0.9035+0.0015*API)*YH2S+0.019*(45-API)*(YH2S**2)
# CORRECIÓN POR CONTAMINANTES JASCOBSEN
CN2 = 15.85+286*YN2-0.107*T
PbCN2 = CN2*Pb
PbCO2 = CO2*Pb
PbH2S = CH2S*Pb
# TOTAL
if API <= 10:
C1 = 12.847
C2 = 0.9636
C3 = 0.000993
C4 = 0.034170
elif 10 < API and API <= 35:
C1 = 25.2755
C2 = 0.7617
C3 = 0.000835
C4 = 0.011292
elif 35 < API and API <= 45:
C1 = 216.4711
C2 = 0.6922
C3 = -0.000427
C4 = 0.023140
else:
pass
Pb = C1*((Rsb/Yg)**C2)*(10**(C3*T-C4*API))
PbC5 = Pb*CCO2*CH2S
# AL-MARHOUN, M.A.
Pb =
(5.38088*(10**-3))*(Rsb**0.715082)*(Yg**-1.87784)*(Yo**3.1437)*((T+460)**1.32657)
PbC6 = Pb*CCO2*CH2S
# DOKLA, M.E. Y OSMAN, M.E.
Pb =
0.836386*(10**4)*(Rsb**0.724047)*(Yg**-1.01049)*(Yo**0.107991)*((T+460)**-0.952584)
PbC7 = Pb*CCO2*CH2S
# PETROSKY, G.E. JR. Y FARSHAD, F.F.
F =
((Rsb**0.5774)/(Yg**0.8439))*(10**(4.561*(10**-5)*(T**1.3911)-7.916*(10**-4)*(API**1.541)))
Pb = 112.727*(F-12.34)
PbC8 = Pb*CCO2*CH2S
# KARTOATMODJO, T. y SCHMIDT, Z
if API <= 30:
C1 = 0.05958
C2 = 0.7972
C3 = 13.1405
C4 = 0.9986
elif API > 30:
C1 = 0.03150
C2 = 0.7587
C3 = 11.2895
C4 = 0.9143
else:
pass
Ygc =
Yg*(1+(5.912*10**-5)*API*TEMPERATURA_SEPARADOR*np.log10(SEPARADOR/114.7))
Pb = (Rsb/(C1*(Ygc**C2)*(10**((C3*API)/(T+460)))))**C4
PbC9 = Pb*CCO2*CH2S
print("""
#########################################################################
Los resultados son
:
STANDING,
M.B.......................
"""+str(round(PbC1,4))+""" psi
LASATER.............................
"""+str(round(PbC2,4))+""" psi
Vázquez, M.E. y
Beggs, H.D.......... """+str(round(PbC3,4))+"""
psi
GLASO,
O............................
"""+str(round(PbC4,4))+""" psi
TOTAL...............................
"""+str(round(PbC5,4))+""" psi
AL-MARHOUN,
M.......................
"""+str(round(PbC6,4))+""" psi
DOKLA, M.E. Y
OSMAN, M.E............ """+str(round(PbC7,4))+"""
psi
PETROSKY, G.E. JR.
Y FARSHAD, F.F... """+str(round(PbC8,4))+""" psi
KARTOATMODJO, T. y
SCHMIDT, Z....... """+str(round(PbC9,4))+""" psi
No hay comentarios.:
Publicar un comentario