Академический Документы
Профессиональный Документы
Культура Документы
RESUMEN
Se procedi a realizar un simulador para un yacimiento bifsico en el cual tenemos constantes los
caudales y las presiones son desconocidas, para nuestro caso flujo petrleo-gas lineal 3D con
malla irregular y para las tres direcciones varan las permeabilidades, las ecuaciones fueron
planteadas por el mtodo IMPIS y se resolvi por medio de mtodo LSOR.
Las direcciones de los ejes sera:
Z
X
Y
Tendremos 4 pozos productores.
Porosidad
Espesor
0.15
50 ft
1.35 cp
0.4 cp
q mtfg ,
t es =
( mi )c ( mo ) c + s c + ( ma ) c
( mi )c
control en
x
2 ,
( mo )c
y
2
z
2
sobre el intervalo t.
control en
x
2 ,
y
2
z
2
sobre el intervalo t.
( ma )c
cx A x ) x + ( m
cy A y ) y + ( m
cz A z ) z t
( mi )c = ( m
x
y
z
2
cx A x ) x + ( m
cy A y ) y + ( m
cz A z ) z t
( mo )c = ( m
x+
y+
z+
2
(9.2)
(9.3)
s c =( qmtc + qmc ) t
(9.4)
( mo )c =v b [ ( mvc A x )t + t ( mvc A x )t ]
Donde,
(9.5)
m
c = flujo de masa, A rea perpendicular al flujo;
q mc = tasa de
[( m
cx
A x)
x+
x
2
( m
cx A x )
x
2
] t[( m
cy
A y)
y+
y
2
(m
cy A y )
y
2
] t [ (m
cz
Az)
z+
z
2
( m
cz A z )
z
2
] t +( q
mtc
+q mc ) t
(9.6)
Donde c=0, fgy sg.
Dividiendo (9.6) entre
( m cx A x ) x+ x ( m cx A x ) x x
2
y multiplicando por x, y y z.
] [
x
( m cy A y ) y + y ( m cy A y ) y y
2
] [
y
cz A z ) z ( m
cz A z ) z
(m
z+
z
2
(9.7)
Tomando el lmite de x, y, z y t y sustituyendo por la derivada parcial de la
ecuacin (9.7 se tiene
m
cx A x ) x
m
cy A y ) y ( m
cz A z ) z=v b ( mvc )qmc q mtc
(
(
x
y
z
t
(9.8)
V b= x y z =A x x= A y y =A z z
Ax A y Az
=
=
=0
x
y
z
Para el aceite y el gas libre, es posible expresar el flujo msico como el producto de la
densidad y la velocidad Darcys para la fase l; masa por unidad de volumen (
z + ( qmtc + qmc )
condiciones estndar,
mc =c c c
(9.9a)
(9.9b)
(9.10a)
mc = gsc
Rs
f
B o o ; donde c=0, g ;
mcx= gsc
Rs
B o ox
donde c=
sg
(9.11a)
c=
f g . (9.11b)
; donde c=0,
mcy= gsc
Rs
B o oy
mcz = gsc
Rs
Bo oz
mcy=c c cy
donde
sg
(9.12a)
donde c=
sg
Rs
m
=
S
vc
gsc
(9.13b)
c
Bo o
donde c=
Rs
q
=
q
vc
gsc
(9.14b)
B o
donde c=
sg
q mtc=qmt s g (9.15 b)
qmtc =qmt s g (9.15 c)
(9.15a)
entre las fases gas y aceite, (o entra el gas libre y el gas en solucin).para la fase gas,
g =fg , s g =s fg
g =fg
q
c osc , usando la deformacin de Bo; B o = osc / o ; y q osc= o
Bo
la ecuacin de conservacin de masa para la componente del aceite est dada por:
V b so
Ax
Ay
Az
ox x
oy y
oz z=
q osc
x Bo
y Bo
z Bo
c t Bo
( )
(9.16)
eliminar
m
fgx A x + m
sgx A x ) x
m
fgy A y + m
sgy A y ) y ( m
fgz A z + m
sgz A z ) z=V b ( mvfg +mvsg )( qmf
(
(
x
y
z
t
(9.17)
Sustituyendo las ecuaciones 9.10 hasta la 9.14 dentro de la ecuacin 9.18 y diviendo
del resultado por
q fgsc =
q fg
Bg
obtenido,
gsc
gsc
B
=
g
y usando la definicin de
c c
qo
q
=
osc
y
Bo
R
R
R
V sg R s
A x
Ay
Az
fgx + A x s osc x
fgy + A y s oy y
fgz + A z s oz z= b
+
s
x Bg
Bg
y Bg
Bg
z Bg
Bg
c t Bg Bo o
(9.19)
Donde
q gsc=qfgsc + R s qosc
La ecuacin 9.16 y 9.19 son las ecuaciones de conservacin de masa para el flujo de
aceite y el gas, respectivamente. Para un sistema 3D (rectangular), multifasico, (black
oil y gas).
LEY DE DARCY.
Ley de Darcy en una direccin puede ser expresada como:
k d
q
=U= c x
Ax
dx
c = factor de conversin de unidades del coeficiente de transmisibilidad; k=
permeabilidad absoluta de la roca en direccin de flujo,
=potencial del fluido, U= tasa de flujo por unidad de rea de la seccin transversal
de la seccin transversal perpendicular a la direccin de flujo. Para 3D la ley de Darcy
k
U
= c
con la definicin de gradiente de potencial
es
=
Pr
z .
k
U = c (
Pr
z) .
Para flujo multifasico la forma extendida de la ley de Darcy est dada por cada fase por
cada fase por:
U = c
U = c
k k rl
l ; donde l=o
l
k k rl
( Pl l
z)
l
gas.
(12.25) Donde
= o gas;
k rl , l , Pl , l
l ,
Ecuaciones de flujo.
La ley de Darcy para flujo multifsico.
Puede ser sustituida dentro de la ecuacin de conservacin de masa para le aceite y el
gas.
K
Po
Z
c A x K x ro
o
x
o B o x
x
)) x + y ( A K
c
))
K ro Po
K
Po
Z
o
y+
c A z K z ro
o
o B o y
y
z
o Bo z
))
K rg P g
K ro Rs P o
K rg P g
Z
Z
Z
c A x K x
g
+ c Ax K x
o
x+
c A y K y
g
+
x
g B g x
x
o B o x
x
y
g Bg y
y
S g + S o=1 [ 3 ]
Pcgo=P gPo =f (S g ) [ 4 ]
Sg , So , Pg , P o .
K
Po
Z
c A x K x ro
o
x
o B o x
x
))
g
1S
( )q osc [ 5 ]
Bo
P
K
Po
o
x+
c A y K y ro
o
y+
c A z K z ro
o
y
o B o y
y
z
o Bo z
))
))
K
P o Pcgo
K R Po
K
Po P
Z
Z
c A x K x rg
+
g
+ c A x K x ro s
o
x+
c A y K y rg
+
x
g Bg x
x
x
o B o x
x
y
g Bg y
q gsc=qfgsc + R s qosc
[ 5] y [ 6]
))
))
V So
c A x K x K ro Po
Z
c A y K y K ro P o
Z
o
x+
o
y +q ocn= b
x
o B o
x
x
y
o B o
y
y
c t Bo
( )
Al expandir esta ecuacin se debe pensar en las prdidas o ganancias que se tienen por cadas gravitacionales.
Para obtener una ecuacin caracterstica se debe pensar en expandir cada uno de los trminos de esta manera:
1.1.a)Expansin en la direccin X:
( ))
c A x K x K ro Po
c A x K x K ro
Z
x
o
x
x
o B o
x
x
o B o
x
))
1
x
[(
c A x K x K ro
o Bo
)( )
1
x
[(
c A x K x K ro
o Bo
Z
(
) x )
1
i+
2
Po
x
1
i+ ,j,k
2
1
i+
2
1
i+ ,j,k
2
c A x K x K ro
o B o
1
i
2
c A x K x K ro
o B o
Po
x
) ( )
1
i , j ,k
2
Z
(
) x )
1
i
2
1
i , j ,k
2
[(
c A x K x K ro
o B o x
( P oi+1, j ,k P oi , j , k )
[(
c A x K x K ro
o B o x
o ( Z i+1, j ,k Z i , j ,k )
1
i+
2
1
i+
2
c A x K x K ro
o B o x
c A x K x K ro
o Bo x
1
2
( Poi , j , k Poi1, j , k )
1
2
o ( Zi , j , k Zi1, j ,k )
[(
A x K x K ro
o B o x
Poi +1, j , k
[(
A x K x K ro
o B o x
o ( Zi +1, j , k Z i , j , k ) +
[(
A x K x K ro
o B o x
) (
1
i+
2
1
i+
2
1
i+
2
[(
A x K x K ro
o Bo x
A x K x K ro
o B o x
1
2
) (
1
i+
2
A x K x K ro
o B o x
A x K x K ro
o Bo x
1
2
1
i
2
] (
Poi , j , k +
A x K x K ro
o Bo x
1
2
Poi1, j , k
o ( Z i , j , k Z i1, j , k ) +
o ( Zi +1, j , k Z i1, j , k )
[(
A x K x K ro
o B o x
[(
A x K x K ro
o B o x
) (
1
i+
2
1
i+
2
( P oi+1, j ,k o ( Z i+1, j ,k Z i , j ,k ) )+
A x K x K ro
o B o x
1
2
](
Txoil
1
i+
2
1
i
2
A x K ro K x
o B o x
A x K x K ro
o Bo x
i+
1
2
1
2
1
2
( P oi1, j , k o ( Z i , j ,k Z i1, j ,k ) )
P oi , j , k o ( Zi +1, j , k Z i1, j , k ) )
Txoil
A x K x K ro
o B o x
Txo
Txo
1
i+
2
1
i
2
[Txo
[ Txo
i+
1
2
i+
1
2
+Txo
1
2
](P
oi , j , k
o ( Z i+ 1, j , k Z i1, j ,k ) )
A y K y K ro P
Z
o
y
y
o B o
y
y
))
[(
[(
A y K y K ro
o B o y
A y K y K ro
o B o y
) (
P
o ( Z i , j+1,k Z i , j ,k ) ) +
1 ( oi , j +1,k
j+
2
1
j+
2
A y K y K ro
o B o y
1
2
](
A y K y K ro
o B o y
1
2
P oi , j , k o ( Zi , j +1,k Z i , j1, k ) )
Tyo
Tyo
1
j+
2
1
j
2
A y K y K ro
y o Bo
A y K y K ro
y o Bo
j+
1
2
1
2
Tyo
1
j+
2
20.001127 A y j +1 K y j1 K ro j+1 A y j K y j K ro j
o j+1 B o j +1 y j+1 A y j K y j K ro j + o j Bo j y j A y j+ 1 K y j +1 K roj +1
Tyo
1
2
20.001127 A y j1 K y j1 K ro j1 A y j K y j K ro j
o j1 B o j1 y j1 A y j K y j K ro j + o j Bo j y j A y j1 K y j1 K roj 1
[Tyo
[Tyo
j+
1
2
j+
1
2
+ Tyo
1
2
]( P
oi , j ,k
o ( Z i , j+1,k Z i , j1,k ) )
A z K z K ro P
Z
o
z
o Bo
z
z
)) z
[(
[(
A z K z K ro
o Bo z
A z K z K ro
o Bo z
) (
1
k+
2
1
k+
2
( P oi , j ,k+1 o ( Z i , j ,k+ 1Z i , j ,k ) ) +
+
A z K z K ro
o B o z
1
2
](
A z K z K ro
o Bo z
1
2
( P oi , j , k1 o ( Z i , j , k Z i , j , k1 ) )
P oi , j , k o ( Zi , j , k+1Z i , j ,k1 ) )
Tzo
A z K z K ro
o Bo z
Tzo
A z K z K ro
o Bo z
1
k+
2
1
k
2
k+
1
2
1
2
Tzo
1
k+
2
Tzo
1
k
2
[Tzo
[Tzo
k+
1
2
k+
1
2
+ Tzo
1
2
]( P
oi , j ,k
o ( Z i , j , k+1 Z i , j ,k1 ) )
Vb S o
t t Bo
( )
t bo
n 1
t bo S o bo
=
t bo bo t
t bCr t Po
t bo
t S o S on t bo
n 1
[ 8]
[ 9]
bon 1 bon
* Pon 1 Pon bo' t Po
Pon 1 Pon
[ 10 ]
t bo So bo
n 1
O bien,
t bo So C10 t Po C11 t So
1.3.b) Definicin de las constantes
Vb
'
C10 Son n 1bo' bonbCr C10 C10 t
;
[ 7]
C11 bo
C11' C11
n 1
Vb
t
Uniendo las expansiones en trminos de las transmisibilidades para las coordenadas X,Y,Z y para el tiempo
correspondientes al aceite .
[Txo
i+
1
2
[Txo
i+
1
2
[Tyo
j+
1
2
k+
1
2
[Tzo
+Txo
+ Tyo
1
2
](P
1
2
]( P
1
2
]( P
+ Tzo
oi , j , k
oi , j ,k
[
) )+ Tzo
[
o ( Z i+ 1, j , k Z i1, j ,k ) ) + Tyo
o ( Z i , j+1,k Z i , j1,k
oi , j ,k
j+
1
2
k+
1
2
(
(
)]
A x K x K rg P g
Z A x K x K ro R s Po
Z
g
+
o
x +
x
g Bg
x
x
o B o
x
x
))
A y K y K rg P g
Z A y K y K ro Rs Po
Z
g
+
o
y
y
g Bg
y
y
o B o
y
y
))
V Sg Rs So
+ A z K z K rg Pg
Z A z K z K ro R s Po
Z
g
+
o
= b
+
+q gcn
z
g Bg
z
z
o Bo
z
z
c t B o
Bo
Relaciones adicionales
S o + S g=1
Pcog=P gPo
Pcog se denomina presin capilar entre el petrleo y el gas.
2.1.a) Expansin de la ecuacin en la direccin X :
)]
A x K x K rg Po Pcog
Z A x K x K ro R s Po
Z
+
g
+
o
x
x
g Bg
x
x
x
o Bo
x
x
A K K
1 A x K x K rg P o A x K x K ro R s P o A x K x K rg Pcog
Z A x K x K ro R s Z
+
+
x x rg g
o
x
x
g Bg
x
o Bo
x
g Bg
x
g Bg
x
o B o
x
( )
A x K x K rg
g Bg x
A x K x K ro Rs
o Bo x
A x K x K rg
g B g x
A x K x K ro
o Bo x
1
i+
2
A x K x K rg
1
i
2
A x K x K rg
( P oi , j ,k Poi 1, j ,k ) + B x
g g
1
i
2
1
2
1
i+
2
( )
g ( Z i+1, j ,k Z i , j ,k ) +
A x K x K rg
g Bg x
( P oi , j ,k Poi 1, j ,k ) +
1
i
2
1
i+
2
A x K x K ro R s
o Bo x
i+
A x K x K rg
( P cogi+1, j ,k P cogi , j , k ) B x
g g
g ( Z i , j ,k Z i1, j ,k )
1
2
A x K x K ro
o B o x
i+
1
2
( P oi+1, j ,k P oi , j , k )
1
2
( Pcogi , j ,k P cogi1, j , k )
R s o ( Z i+1, j ,k Z i , j ,k ) +
Rs o ( Z i , j ,k Z i1, j , k )
Txg
1
i+
2
A x K x K rg
g B g x
1
i+
2
T xg
1
i
2
A x K x K rg
g Bg x
1
2
Txg
Txg
1
i+
2
1
i
2
(Txg
i+
(Txg
1
2
( Txg
g
+ Rs Txo
1
2
i+
+ R s Txo
i+
1
2
1
2
)P
1
2
oi +1, j , k
)P
+ o R s Txo
Txg
oi1, j ,k
i+
1
2
)Z
+Txg
i+ 1, j , k
i+
i+
1
2
1
2
+ Txg
1
2
+ R s Txo
+ g Txg
i+
1
2
+ g Txg
i+
i+
1
2
1
2
1
2
+ Rs Txo
Txg
1
2
1
2
)P
+ o Rs Txo
i+
1
2
)P
oi , j ,k
cogi , j ,k
+Txg
+ o Rs Txo
1
2
1
2
P cogi1, j , k
)Z
i+1, j ,k
( Txg
g
1
2
+ o R s Txo
1
2
)Z
i1, j ,k
( )
)]
A y K y K rg Po Pcog
Z A y K y K ro R s Po
Z
+
g
+
o
y
y
g Bg
y
y
y
o Bo
y
y
A K K
1 A y K y K rg Po A y K y K ro Rs P o A y K y K rg Pcog
Z A y K y K ro Rs Z
+
+
y y rg g
o
y
y
g Bg
y
o B o
y
g B g
y
g Bg
y
o B o
y
( )
A y K y K rg
g Bg y
A y K y K ro Rs
o Bo y
A y K y K rg
g Bg y
j+
Z
Zi , j , k ) +
1 g ( i , j +1,k
A y K y K ro
o B o y
A y K y K rg
P
Poi , j , k )
1 ( oi , j +1,k
j+
g Bg y
2
P
Poi , j1,k ) +
1 ( oi , j , k
j
2
A y K y K rg
P
Poi , j1,k ) +
1 ( oi , j , k
j
g Bg y
2
1
2
A y K y K rg
g B g y
A y K y K ro R s
o Bo y
1
i+
2
Z Zi , j1,k )
1 g ( i, j, k
2
1
j+
2
Tyg
1
i
2
A y K y K rg
g Bg y
1
2
Tyg
Tyg
1
j+
2
1
j
2
20.001127 A y j1 K y j1 K ro j1 A y j K y j K ro j
g j1 Bg j1 y j1 A y j K y j K rg j+ g j Bg j y j A y j1 K y j1 K rg j1
1
2
A y K y K rg
A y K y K ro
o B o x
R s o ( Z i , j ,k Z i , j1,k )
A y K y K rg
g B g y
j+
P
Pcogi , j , k )
1 ( cogi , j +1,k
j+
g Bg y
2
Tyg
j+
1
2
( P oi , j +1,k Poi , j , k )
1
2
R s o ( Z i , j+1,k Z i , j ,k ) +
(Tyg
j+
(Tyg
+ R s Tyo
1
2
1
2
+ R s Tyo
( Tyg
j+
( Tyg
j+
1
2
1
2
1
2
)P
1
2
oi , j+1,k
)P
+ o Rs Tyo
oi , j1,k
j+
+ o R s Tyo
Tyg
1
2
)Z
1
2
+Tyg
i , j+1,k
)Z
j+
j+
1
2
1
2
+Tyg
1
2
+ R s Tyo
+ g Tyg
j+
1
2
+ g Tyg
j+
j+
1
2
1
2
1
2
+ R s Tyo
Tyg
1
2
+ o Rs Tyo
1
2
)P
j+
1
2
)P
oi , j , k
cogi , j , k
+ Tyg
+ o R s Tyo
1
2
1
2
P cogi , j1, k
)Z
i , j ,k
i , j1, k
( )
A z K z K rg P o Pcog
Z A z K z K ro R s P o
Z
+
g
+
o
Z
g Bg
z
z
z
o B o
z
z
)] Z
A K K
1 A z K z K rg Po A z K z K ro R s Po A z K z K rg Pcog
Z A z K z K ro R s Z
+
+
z z rg g
o
z
z
g Bg
z
o Bo
z
g Bg
z
g Bg
z
o Bo
z
( )
A z K z K rg
g Bg z
A z K z K ro Rs
o B o z
A z K z K rg
g Bg z
Z
Z i , j ,k ) +
1 g ( i , j , k+1
A z K z K rg Rs
o Bo z
k+
1
k
2
1
2
1
k
2
A z K z K rg
( P oi , j , k Poi , j , k1) + B z
g g
A z K z K rg
( Poi , j , k+1Poi , j , k ) B z
g g
1
k+
2
A z K z K rg
g Bg z
o ( Z i , j ,k Z i , j ,k1 )
Tzg
1
k+
2
A z K z K rg
g Bg z
1
k+
2
Tzg
1
i
2
A z K z K rg
g Bg z
1
2
A z K z K ro R s
o Bo z
( Poi , j ,k P oi , j , k1 ) +
1
k+
2
k+
1
2
A z K z K rg
Z Z i , j ,k 1 )
1 g ( i , j ,k
2
A y K y K ro Rs
o B o z
k+
1
2
1
2
o ( Zi , j , k+1Z i , j ,k ) +
Tzg
Tzg
1
k+
2
1
k
2
(Tzg
k+
(Tzg
1
2
1
2
+ R s Tzo
+ R s Tzo
( Tzg
k+
( Tzg
k+
1
2
1
2
1
2
)P
1
2
oi , j ,k+1
)P
+ o Rs Tzo
oi , j ,k1
k+
+ o R s Tzo
Tzg
1
2
)Z
1
2
+Tzg
i , j ,k+1
)Z
k+
k+
1
2
1
2
+Tzg
1
2
+ Rs Tzo
k+
+ g Tzg
k+
1
2
+ g Tzg
k+
1
2
1
2
1
2
+ R s Tzo
Tzg
1
2
+ o Rs Tzo
1
2
)P
k+
1
2
)P
oi , j , k
cogi , j , k
i , j ,k1
t bg S g bo Rs So t bo Rs S o bg 1 S o
bo Rs
n 1
t So Son t bo Rs bg
n 1
t So 1 So t bg
'
n
t bo Rs n 1 bo Rs bo Rs bCr t Po
[ 12 ]
t bg n 1bg' t Pg bgnbCr t Po
Al llevar
[ 13 ]
[ 12 ] y [ 13 ] a laecuacin [ 11 ] se tiene :
+Tzg
+ o R s Tzo
V b Sg Rs So
+
c t Bo
Bo
[ 11 ]
1
2
1
2
P cogi , j , k1
)Z
i , j ,k
t bg S g bo Rs So t bo Rs So bg 1 So
n 1
'
n
bo Rs t So Son n 1 bo Rs bo Rs b Cr t Po
bg
n 1
t S o 1 S o n 1bg' t Pg bgnbCr t Po
n
Definicin de constantes
C20=S [
n
o
n+1
'
C20
C20
( bo R s ) + ( b o R s ) b C r ] + S [ b g + b b C r ]
n
n
g
n+1
n
g
Vb
t
C21 bo Rs
n 1
bg
Vb
t
C21' C21
n 1
Vb
'
C22 S gn n1bg' C22 C22 t
;
Uniendo las expansiones en trminos de las transmisibilidades para las coordenadas X,Y,Z y para el tiempo
correspondientes al gas. Los efectos gravitacionales son cero.
(Txg
i+
(Txg
(Tyg
1
2
+ Rs Txo
+ R s Txo
1
2
j+
(Tyg
1
2
(Tzg
k+
1
2
(Tzg
i+
1
2
1
2
+ R s Tyo
+ R s Tyo
+ R s Tzo
)P
1
2
1
2
j+
oi +1, j , k
)P
1
2
)P
1
2
)P
k+
1
2
)P
1
2
+Txg
oi1, j ,k
+ R s Tzo
Txg
oi , j+1,k
oi , j1,k
oi , j ,k+1
)P
i+
i+
Tyg
+Tyg
j+
Tzg
oi , j ,k1
+Tzg
1
2
+ Txg
1
2
+ R s Txo
Pc ogi+1, j ,k Txg
1
2
j+
1
2
k+
k+
1
2
+Tyg
1
2
1
2
+Tzg
1
2
i+
+ Rs Txo
1
2
Txg
j+
1
2
j+
k+
Vb
t Bo
k+
n +1
( )
1
2
1
2
1
2
1
2
1
2
Rs n+1
1
2
)P
oi , j ,k
cogi , j , k
)P
+ R s Tzo
Tzg
1
2
)P
+ R s Tyo
Tyg
+ Rs Tzo
C 20 ( P o )+ C 21 ( So ) + C 22 t Pcog + qgsc
1
2
+ R s Tyo
1
2
i+
1
2
)P
+ Txg
oi , j , k
cogi , j ,k
1
2
)P
)P
cogi , j , k
1
2
Pcogi1, j ,k
+Tyg
oi , j , k
1
2
Pcogi , j1,k
+Tzg
1
2
P cogi , j , k1
Al unir las expresiones del aceite y el gas, y agrupando trminos semejantes nos queda:
(Tyg
(Tyg
j+
1
2
(Tyg
j+
1
2
1
2
Txg
+ R s Tyo
+Tyg
1
2
+ R s Tyo
i+
1
2
+Txg
1
2
+Tyo
+ R s Tyo
j+
1
2
1
2
+Tyo
+Tyg
1
2
j+
1
2
j+
1
2
j+
1
2
)P
oi , j1,k
+ Rs Tyo
)P
oi , j +1,k
Tyg
1
2
+ Txg
1
2
+Txg
+Tyg
Tzg
1
2
k+
1
2
1
2
i+
+ Rs Txo
1
2
+ Txg
1
2
1
2
+Txo
+ R s Txo
+Tzg
1
2
)P
cogi , j , k
1
2
1
2
i+
)P
oi1, j , k
+ Rs Txo
1
2
1
2
+Tyo
j+
1
2
+Tyo
+ Txo
1
2
i+
1
2
+Txg
i+
1
2
P cogi+1, j ,k +Tyg
j+
1
2
Vb
t Bo
Mtodos Secuenciales
El mtodo calcula simultneamente las presiones para las fases.
Considera la saturacin implcita
Se aplica a fluidos incompresibles (flujo petrleo y gas)
Requiere resolver a cada tiempo (iteracin) un sistema de 2N ecuaciones
(N=#de bloques)
i) Sistema de ecuaciones
Transmisibilidades
1
i+
2
n+1
( )
Txo
1
2
Pcogi1, j ,k
+Txo
R sn+1
k+
1
2
+ Rs T
Txo
Tyo
1
j+
2
Tyo
20.001127 A y j +1 K y j1 K ro j+1 A y j K y j K ro j
o j+1 B o j +1 y j+1 A y j K y j K ro j + o j Bo j y j A y j+ 1 K y j +1 K roj +1
20.001127 A y j1 K y j1 K ro j1 A y j K y j K ro j
o j1 B o j1 y j1 A y j K y j K ro j + o j Bo j y j A y j1 K y j1 K roj 1
1
i
2
1
j
2
)
)
Tzo
Tzo
20.001127 A y j1 K y j1 K ro j1 A y j K y j K ro j
g j1 Bg j1 y j1 A y j K y j K rg j+ g j Bg j y j A y j1 K y j1 K rg j1
1
k+
2
1
k
2
Txg
Txg
Tyg
1
i+
2
1
i
2
1
j+
2
Tyg
1
j
2
Tzg
Tzg
1
k+
2
1
k
2
)
)
)
)
)
)
)
)
Txo
Txo
Tyo
1
i+
2
20.001127 A y j +1 K y j1 K ro j+1 A y j K y j K ro j
Rsi , j , k
o j+1 B o j +1 y j+1 A y j K y j K ro j + o j Bo j y j A y j+ 1 K y j +1 K roj +1
20.001127 A y j1 K y j1 K ro j1 A y j K y j K ro j
Rsi , j ,k
o j1 B o j1 y j1 A y j K y j K ro j + o j Bo j y j A y j1 K y j1 K roj 1
1
i
2
1
j+
2
Tyo
1
j
2
Tzo
Tzo
20.001127 A zk1 K zk 1 K ro k1 A zk k zk K ro k
Rsi , j , k
ok1 Bo k1 z k1 A zk K zk K rok + ok Bok z k A zk1 K z k1 K ro k1
1
k+
2
1
k
2
En diferencias finitas:
( T o Po ) =qosc +
Vb
t ( S o bo )
t
( T o Pg + R s T o Po ) =q gsc +
Vb
t [ g S g b g+ R s bo S o ]
t
( T o Po ) =qosc + C 10 t Po +C 11 t S o
( T o Pg + R s T o Po ) =q gsc +C 20 t Po +C 21 t S o +C 22 t P cog
Paso 1: Expresar ecuaciones en trminos de la presin de una de las fases.
( T o Po ) =qosc + C 10 t Po +C 11 t S o
( T g Po ) + ( T g Pcog ) + ( T o R s P o )=q gsc +C 20 t Po +C 21 t S o +C 22 t P cog
Paso 2: Eliminar Saturaciones.
(a=
C 21
) queda:
C 11
Vb
a ( T o Po ) + ( T g Po ) + ( T g P cog ) + ( T o R s Po ) =aqosc + q gsc + ( a C 10+ C 20 ) t P o+ C 22 t Pc
t Bo
n +1
( )
Definiendo
T =a T o+ T o Rs +T g =( a+ R s ) T o +T g
C=a C 10+C 20 +C 22
D=C 22
q=a q osc +q gsc
Llevando estas tres ltimas ecuaciones a la ecuacin, se tiene:
Vb
( T Po ) + ( T g P c og )q=C t Po + D t Pcog
t Bo
n+1
( )
Rsn +1
Esta ecuacin es aplicada a todos los bloques de la malla del sistema de ecuaciones a resolver en
el cual las incgnitas son, en este caso, las presiones en los bloques de la fase petrleo
Para resolver el sistema de ecuaciones las saturaciones se toman al tiempo t n; o sea que el
sistema de ecuaciones se puede representar como
n +1
( T Po )
Vb
+ ( T g Pcog ) q =( C t P o ) + ( D t Pcog )
t Bo
n
n+ 1
( )
Rsn +1
n
+ ( ( a+ R s )i , j , k1 T nzo ,k1 /2 +T nzg ,k 1 /2
(( a+ R s )ni1, j , k T nxo ,i1/ 2+ T nxg,i 1 /2 ) Pno +1 +( ( a+ R s )ni , j1, k T nyo, j1 /2 +T nyg, j1/ 2 ) Pn+1
o
i1, j, k
i, j1, k
(( a+ R s )ni+1, j ,k T nx o ,i+1 /2 +T nxg ,i+1 /2 ) Pno +1 +( ( a+ R s )ni , j+1,k T nyo, j+1 /2 +T nyg, j+1 /2 ) Pno +1 +( ( a+ R s )ni , j ,k+1 T nzo ,k +1/ 2+T nzg, k+1 /2 ) P
i+ 1, j,k
i , j+1, k
Ecuacin del sistema por el mtodo IMPIS, al expandir implcitamente sobre la presin encontramos
un sistema heptadiagonal:
S i , j ,k Pn+1
o
i, j1, k
W i , j ,k Pn+1
o
i1, j ,k
Ci , j , k Pno +1 + Ei , j ,k Pn+1
o
i , j,k
i+ 1, j ,k
N i , j ,k Pn+1
+ A i , j ,k P n+1
+ AB i , j , k P n+1
=F i , j ,k
o
o
o
i, j+ 1, k
i, j,k +1
i, j,k1
Donde:
n
S=
W=
C=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg ,i1 /2 )+ ( ( a+ Rs )i +1, j , k T nxo ,i+ 1/2 +T nxg ,i+1 /2 ) + (( a+ Rs ) i, j1, k T nyo, j1/ 2+ T nyg, j1/ 2) + (( a+ Rs ) i
E=
N=
A=
AB =
F=
i1, j,k
i, j1, j,k
i , j,k1
W i , j ,k Po
i1, j ,k
Ci , j , k Po + Ei , j ,k Po
i , j,k
S i, j , k Pno +1 N i , j , k Pno
i , j1, k
i , j+1, k
i+ 1, j ,k
A i , j ,k P no
=F i , j ,k
i, j,k +1
AB i , j ,k Pn+1
o
i, j ,k1
Donde:
n
Si,j,k=
Wi,j,k=
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg ,i1 /2 )+ ( ( a+ Rs )i +1, j , k T nxo ,i+ 1/2 +T nxg ,i+1 /2 ) + (( a+ Rs ) i, j1, k T nyo, j1/ 2+ T nyg, j1/ 2) + (( a+ Rs ) i
Ei,j,k=
Ni,j,k=
Ai,j,k =
AB =
Fi,j,k=
i1, j,k
i, j1, j,k
i , j,k1
1. CAPAS DE L FONDO
(1,1,1):
Po =Po
i, j ,k
i1, j ,k
n +1
=Pno +1 =Pno +1 Pn+1
=Pno +1 =P n+1
Si , j ,k =W i , j ,k =AB i , j , k =0
o =Po
o
i , j1, k
i , j,k1
i, j ,k
i1, j ,k
i , j1, k
i, j,k1
)(
)(
Ci , j , k = ( a+ R s )i+1, j ,k T
1+ T
1 + ( a+ R s )i , j+1,k T
1 +T
1 + ( a+ R s )i , j ,k +1 T
1 +T
1
xo, i+
xg,i +
yo, j+
yg, j+
zo , k+
zg ,k +
2
Fi , j , k =( a qnosc + qngsc ) + ( T nxg,i +1/ 2+T nyg , j +1/ 2+T nz g , k+1 /2 + Dni , j ,k ) Pncog T nxg ,i+1 /2 Pncog
i ,j ,k
i, j+ 1, k
T nzg , k+1 /2 P nc
(Nx,1,1):
Po =Po
i, j ,k
Wi,j,k=
i+1, j ,k
i+ 1, j ,k
n +1
=Pno +1 =P n+1
Pn+1
=P n+1
=P n+1
Si , j , k =Ei , j ,k =AB i , j , k =0
o
o =Po
o
o
i , j1, k
i, j,k1
i, j ,k
i+ 1, j,k
i, j1, k
i, j,k1
Ci , j , k =(( a+ R s )ni1, j , k T nxo ,i1/ 2+ T nxg , i1 /2 )+ (( a+ Rs )in, j +1,k T nyo , j +1/ 2+ T nyg , j+1/ 2 )+ ( ( a+ R s )ni , j ,k +1 T nzo , k+1/ 2 +T nzg ,k +1/ 2)
Ni,j,k=
Ai,j,k =
( a+ R s )i , j ,k +1 T nzo , k+ 1 +T nzg ,k + 1
Fi,j,k=
Si,j,k=
+ ( T nxg,i 1 /2 +T nyg, j+1 /2 +T nzg , k+1 /2 + Dni , j ,k ) Pncog T nyg, j +1/ 2 Pncog
i ,j ,k
i ,j+ 1, k
i, j,k +1
(1,Ny,1):
Po =Pno
i, j ,k
i1, j,k
i, j+1, k
=Po
i1, j,k
n
s i , j1,k
((a+ R )
n +1
=P n+1
Pn+1
=P n+1
=P n+1
N i , j , k =W i , j ,k =AB i , j , k =0
o
o =Po
o
o
Tn
yo , j
i, j,k1
1
2
i, j ,k
+T n
yg , j
1
2
i , j+ 1, k
i1, j,k
i, j,k1
Ci,j,k=
(( a+ Rs ) i+1, j ,k T nxo,i +1/ 2+ T nxg,i +1/ 2) + ( ( a+ R s )i , j1, k T nyo, j1 /2 +T nyg, j1/ 2 )+ ( ( a+ R s )i , j ,k +1 T nzo ,k +1/ 2+ T nzg ,k+1 /2 ) +Cni , j , k
Ei,j,k=
Ai,j,,k =
Fi,j,k=
+ ( T nyg, j1/ 2 +T nxg, i+1/ 2+ T nzg ,k +1/ 2+ D ni , j , k ) P ncog T nxg, i+1/ 2 Pncog
i, j,k
i+ 1, j,k
i, j ,k+1
(Nx,Ny,1):
n
Po =Po
i, j ,k
n+1
i, j+1, k
=Po
i+ 1, j,k
n
s i , j1,k
((a+ R )
Si,j,k=
i, j1, j ,k
=P o
Tn
yo , j
i, j,k1
1
2
n+ 1
n +1
Po =Po
i ,j ,k
+T n
yg , j
1
2
i , j+1, k
n+1
=P o
i+1, j,k
n+1
=Po
i, j, k1
N i , j , k =Ei , j ,k =AB i , j , k =0
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg,i1 /2 )+ ( ( a+ Rs )i , j1,k T nyo , j1/ 2+T nyg , j 1 /2 )+ (( a+ Rs )i , j , k+1 T nzo, k+1 /2 +T nzg , k+1 /2 )+C ni , j ,k
Wi,j,k=
Ai,j,k =
Fi,j,k=
i1, j,k
i, j1, j,k
+ ( T nxg,i1 /2 +T nyg, j1/ 2+T nzg, k+1 /2 + Dni , j ,k ) Pncog T nzg ,k+1 /2 Pncog
i, j,k
i, j ,k+1
Po =Po
i, j ,k
i, j1, k
n +1
=Po
i , j,k1
n+1
n+1
Po =Po
i, j ,k
n +1
i, j1, k
=Po
Ni,j,k=
Ai,j,k =
( a+ R s )i , j ,k +1 T nzo , k+ 1 +T nzg ,k + 1
i ,j ,k1
S i , j ,k = AB i , j ,k =0
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg,i1 /2 )+ ( ( a+ Rs )i +1, j , k T nxo ,i+ 1/2 +T nxg ,i+1 /2 ) ++ (( a+ Rs )i , j +1,k T nyo , j +1/ 2+ T nyg , j+1 /2 )++ ( ( a+ R
Ei,j,k=
Wi,j,k=
Fi,j,k=
Po =Pno
i, j ,k
Wi,j,k=
+ ( T nxg,i 1 /2 +T nxg ,i+1 /2 +T nyg, j+1 /2 +T nzg , k+1 /2 + Dni , j ,k ) Pncog T nxg ,i+1 /2 Pncog
i ,j ,k
i+ 1, j ,k
T nyg, j+ 1/2
1< i < Nx
n+1
=Pn+1
P n+1
=P n+1
N i , j , k =AB i , j , k =0
o
o =Po
o
i, j ,k1
i, j,k
i, j+ 1,k
i, j,k1
Si,j,k=
i, j+1, k
i1, j,k
C=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg,i1 /2 )+ ( ( a+ Rs )i +1, j , k T nxo ,i+ 1/2 +T nxg ,i+1 /2 ) + (( a+ Rs ) i, j1, k T nyo , j1/ 2+ T nyg, j1/ 2) + (( a+ Rs ) i
Ai,j,k =
Ei,j,k=
( a+ R s )i , j ,k +1 T nzo , k+ 1 +T nzg ,k + 1
2
Fi,j,k=
(1,j,1)
Po =Po
i, j ,k
i1, j,k
i, j1, j,k
+ ( T nxg,i1 /2 +T nyg, j1/ 2+T nxg,i +1/ 2+T nzg, k+1 /2 + D ni , j ,k ) Pncog T nxg,i +1/
i , j,k
1< j < Ny
i1, j, k
n+1
=Pn+1
P n+1
=P n+1
W i , j , k = AB i , j , k =0
o
o =P o
o
i, j ,k1
n
s i , j1,k
Tn
i, j,k
i1 , j,k
+T n
Si,j,k=
((a+ R )
Ei,j,k=
yo , j
1
2
yg , j
1
2
i, j,k1
Ci,j,k=
+ (( a+ Rs ) i+1, j ,k T nxo,i +1/ 2+T nxg,i +1/ 2) + (( a+ R s )i , j 1, k T nyo, j1 /2 +T nyg, j1/ 2 )+ ( ( a+ R s )i , j+1,k T nyo , j+1 /2 +T nyg, j+1 /2 ) + (( a+ Rs
Ai,j,k =
( a+ R s )i , j ,k +1 T nzo , k+ 1 +T nzg ,k + 1
2
Ni,j,k=
Fi,j,k=
Po =Po
i, j ,k
i+ 1, j, k
i, j1, j ,k
+ ( T nyg, j1/ 2 +T nxg, i+1/ 2+ T nyg, j+1 /2 +T nzg ,k +1/ 2+ D ni, j , k ) Pncog T nxg, i+1 /2 P ncog
i, j, k
i+1, j,k
T nyg, j+1 /
1<j <Ny
n+1
=Pn+1
P n+1
=P n+1
Ei , j , k = AB i , j , k =0
o
o =Po
o
i, j ,k1
i, j,k
i+1 , j,k
Si,j,k=
Wi,j,k=
i, j,k1
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg,i1 /2 )+ ( ( a+ Rs )i , j1,k T nyo, j1/ 2+T nyg , j 1 /2 )+ (( a+ Rs )i , j +1,k T nyo , j +1/ 2+ T nyg , j+1/ 2 )+ ( ( a+ R s )
Ni,j,k=
Ai,j,k =
Fi,j,k=
oi, j ,k
i1, j,k
n+1
=Pn+1
P n+1
AB i , j ,k =0
o
o =Po
i, j ,k1
i, j,k
i, j ,k1
Si,j,k=
Wi,j,k=
Ni,j,k=
Ai,j,k =
i, j1, j,k
+ ( T nxg,i1 /2 +T nyg, j1/ 2+T nyg , j +1/ 2+ T nzg ,k+ 1/2 + Dni , j , k ) P ncog T nyg, j+1
i, j,k
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg ,i1 /2 )+ ( ( a+ Rs )i +1, j , k T nxo ,i+ 1/2 +T nxg ,i+1 /2 ) + (( a+ Rs ) i, j1, k T nyo, j1/ 2+ T nyg, j1/ 2) + ( ( a+ Rs ) i
Ei,j,k=
Ai,j,k =
Fi,j,k=
i1, j,k
i, j1, j,k
+ ( T nxg,i1 /2 +T nyg, j1/ 2+T nxg,i +1/ 2+T nyg , j +1/ 2+ T nzg ,k+1 /2 + Dni , j , k ) P ncog
i, j
CAPAS INTERMEDIAS.
Para (1,1,k)
1<k<Nz
Po =Po
i, j ,k
i1, j, k
n+1
=Pn+1
Pn+1
=Pn+1
W i , j ,k =S i , j , k =0
o
o =P o
o
i, j1, k
i, j ,k
i1, j,k
i, j1, k
(( a+ Rs ) i+1, j ,k T nxo,i +1/ 2+ T nxg,i +1/ 2) + ( ( a+ R s )i , j+1,k T nyo, j+1 /2 +T nyg, j+1 /2 )+ ( ( a+ Rs )i , j , k1 T nzo ,k 1 /2 +T nzg , k1 /2 ) + (( a+ Rs ) i
Ei,j,k=
Ni,j,k=
Ai,j,k =
Fi,j,k=
i , j,k1
Para (Nx,1,k)
oi, j ,k
Wi,j,k=
=P
oi+ 1, j, k
=P
n+1
oi, j1, k
+ ( T nzg ,k 1 /2 +T nxg ,i+1 /2 +T nyg, j+1 /2 +T nzg , k+1 /2 + Dni , j ,k ) Pncog T nxg ,i+1 /2 Pncog
i ,j , k
i+ 1, j ,k
T nyg, j+ 1/2
1<k<Nz
n+1
oi, j ,k
n+1
=Po
i+ 1, j, k
n+1
=Po
i, j1, k
Ei , j ,k =S i , j ,k =0
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg,i1 /2 )+ ( ( a+ Rs )i , j+ 1,k T nyo , j +1/ 2+T nyg , j +1/ 2 )+ ( ( a+ R s )i , j ,k1 T nzo, k1/ 2+ T nzg ,k1 /2 )+ ( ( a+ R s )
Ni,j,k=
Ai,j,k =
AB =
Fi,j,k=
i1, j,k
Para (1,Ny,k)
oi, j ,k
=P
Si,j,k=
oi1, j, k
=P
n
oi, j+1, k
i, j,k1
+ ( T nxg ,i1 /2 +T nzg ,k1 /2 ++T nyg, j+1 /2 +T nzg ,k +1/ 2+ D ni , j , k ) Pncog T nyg , j+
i, j ,k
1<k<Nz
n+1
oi, j ,k
=Pn+1
=Pn+1
W i , j ,k =N i , j ,k =0
o
o
i1, j, k
i, j+ 1, k
Ci,j,k=
(( a+ Rs ) i+1, j ,k T nxo,i +1/ 2+ T nxg,i +1/ 2) + ( ( a+ R s )i , j1, k T nyo, j1 /2 +T nyg, j1/ 2 ) + ( ( a+ R s )i , j ,k1 T nz o ,k1 /2 +T nzg , k1 /2 ) + (( a+ Rs )
Ei,j,k=
Ai,j,k =
AB =
Fi,j,k=
i, j1, j ,k
Para (Nx,Ny,k)
Po =Po
i, j ,k
i+ 1, j, k
=Pno
i, j+ 1, k
T nzg , k1 /2 Pncog
i, j ,k1
+ ( T nyg, j1/ 2+T nzg, k1/ 2+T nyg , j +1/ 2+ T nzg ,k+ 1/2 + Dni , j , k ) P ncog T nxg, i+1
i, j, k
1<k<Nz
n+ 1
Pn+1
=Pn+1
Ei , j ,k =N i , j ,k =0
o =Po
o
i, j ,k
i+ 1, j ,k
Si,j,k=
Wi,j,k=
i, j+1, k
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg,i1 /2 )+ ( ( a+ Rs )i , j1,k T nyo , j1/ 2+T nyg , j 1 /2 )+ (( a+ Rs )i , j , k1 T nzo , k1 /2 +T nzg , k1/ 2) + (( a+ Rs
Ai,j,k =
AB =
Fi,j,k=
i1, j,k
Para (i,1,k)
oi, j ,k
Wi,j,k=
=P
n+1
oi, j1, k
i, j1, j,k
1<i<Nx
n+1
oi, j ,k
=P
n +1
oi ,j1, k
i , j,k1
1<k<Nz
Si , j ,k =0
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg,i1 /2 )+ ( ( a+ Rs )i +1, j , k T nxo ,i+ 1/2 +T nxg ,i+1 /2 ) + (( a+ Rs ) i, j +1,k T nyo , j +1/ 2+ T nyg , j+1 /2 )+ ( ( a+ R s )i ,
Ei,j,k=
Ni,j,k=
Ai,j,k =
AB =
Fi,j,k=
i1, j,k
Para (i,Ny,k)
n
Po =Po
i, j ,k
i, j,k1
1<i<Nx
n+1
i, j+1, k
n +1
Po =Po
i, j ,k
i , j+1, k
i, j ,k
1<k<Nz
N i , j ,k =0
Si,j,k=
Wi,j,k=
+ ( T nxg ,i1 /2 +T nzg ,k1 /2 +T nxg, i+1 /2 +T nyg, j+1 /2 +T nzg ,k +1/ 2+ Dni , j , k ) Pncog
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg,i1 /2 )+ ( ( a+ Rs )i +1, j , k T nxo ,i+ 1/2 +T nxg ,i+1 /2 ) + (( a+ Rs ) i, j1, k T nyo, j1/ 2+ T nyg , j1/ 2) + (( a+ Rs ) i
Ei,j,k=
Ai,j,k =
AB =
Fi,j,k=
i1, j,k
Para (1,j,k)
Po =Po
i, j ,k
Si,j,k=
i, j1, j,k
1<j<Ny
i1, j, k
P o =Po
i, j,k
i1 , j,k
i , j,k1
1<k<Nz
W i , j , k =0
Ci,j,k=
(( a+ Rs ) i+1, j ,k T nxo,i +1/ 2+ T nxg,i +1/ 2) + ( ( a+ R s )i , j1, k T nyo, j1 /2 +T nyg, j1/ 2 )+ ( ( a+ R s )i , j+1,k T nyo, j+1 /2 +T nyg , j+1 /2 ) + ( ( a+ Rs )i ,
Ei,j,k=
Ni,j,k=
Ai,j,k =
AB =
Fi,j,k=
i, j1, j ,k
Para (Nx,j,k)
Po =Po
i, j ,k
i+ 1, j, k
T nzg , k1 /2 Pncog
1<j<Ny
n+1
P n+1
E i , j ,k =0
o =Po
i, j, k
i+ 1, j,k
Si,j,k=
Wi,j,k=
i, j ,k1
+ ( T nyg, j1/ 2+T nzg, k1/ 2+T nxg,i +1/ 2+T nyg , j +1/ 2+ T nzg ,k+1 /2 + Dni , j , k ) P ncog
1<k<Nz
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg ,i1 /2 )+ ( ( a+ Rs )i , j1,k T nyo, j1/ 2+T nyg , j 1 /2 )+ (( a+ Rs )i , j +1,k T nyo , j +1/ 2+ T nyg , j+1/ 2 )+ ( ( a+ R s )
Ni,j,k=
Ai,j,k =
AB =
Fi,j,k=
Para (i,j,k)
i1, j,k
i, j1, j,k
1<i<Nx
Si,j,k=
Wi,j,k=
i , j,k1
1<j<Ny
+ ( T nxg ,i1/ 2+T nyg , j 1 /2 +T nzg , k1/2 +T nyg, j +1/ 2+T nzg
1<k<Nz
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg ,i1 /2 )+ ( ( a+ Rs )i +1, j , k T nxo ,i+ 1/2 +T nxg ,i+1 /2 ) + (( a+ Rs ) i, j1, k T nyo, j1/ 2+ T nyg, j1/ 2) + (( a+ Rs ) i
Ei,j,k=
Ni,j,k=
Ai,j,k =
AB =
Fi,j,k=
CAPA SUPERIOR
Para (1,1,Nz)
i1, j,k
i, j1, j,k
i , j,k1
n+1
Po =Po
i, j ,k
i1, j, k
=Po
i, j1, k
Po
n+1
i , j,k+ 1
n+1
Po =Po
i, j ,k
n+1
i1, j, k
=Po
n +1
i, j1, k
Po
i ,j ,k+ 1
W i , j ,k =S i , j ,k =TC i , j ,k =0
Ci,j,k=
(( a+ Rs ) i+1, j ,k T nxo,i +1/ 2+ T nxg,i +1/ 2) + ( ( a+ R s )i , j+1,k T nyo, j+1 /2 +T nyg, j+1 /2 )+ ( ( a+ Rs )i , j , k1 T nzo ,k 1 /2 +T nzg , k1 /2 ) +Cni , j , k
Ei,j,k=
Ni,j,k=
AB =
Fi,j,k=
i , j,k1
+ ( T nzg ,k 1 /2 +T nxg ,i+1 /2 +T nyg, j+1 /2 + Dni , j , k ) P ncog T nxg,i +1/ 2 Pncog
i, j,k
i+ 1, j,k
i , j+1, k
Para (Nx,1,Nz)
Po =Po
i, j ,k
Wi,j,k=
i+ 1, j, k
=Pn+1
Pno
o
i, j1, k
i , j,k+ 1
n+ 1
Pn+1
=Pn+1
Pno +1 Ei , j ,k =S i , j ,k =TC i , j ,k =0
o =Po
o
i, j ,k
i+ 1, j, k
i, j1, k
i , j,k+ 1
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg,i1 /2 )+ ( ( a+ Rs )i , j+ 1,k T nyo , j +1/ 2+T nyg , j +1/ 2 )+ ( ( a+ R s )i , j ,k1 T nzo, k1/ 2+ T nzg ,k1 /2 )+C ni , j ,k
Ni,j,k=
AB =
Fi,j,k=
i1, j,k
i, j,k1
Para (1,Ny,Nz)
i, j ,k
Si,j,k=
Po =Po
i1, j, k
=Po
i, j+ 1, k
Po
n+1
i , j,k+ 1
i, j ,k
n+ 1
Po =Po
i1, j, k
n+1
=Po
i, j+ 1, k
n +1
Po
i , j,k+ 1
W i , j ,k =N i , j ,k =TC i , j ,k =0
i ,j+ 1, k
Vb
t Bo
( )
Ci,j,k=
(( a+ Rs ) i+1, j ,k T nxo,i +1/ 2+ T nxg,i +1/ 2) + ( ( a+ R s )i , j1, k T nyo, j1 /2 +T nyg, j1/ 2 )+ ( ( a+ R s )i , j ,k1 T nzo, k1/ 2+ T nzg ,k1 /2 )+C ni , j ,k
Ei,j,k=
AB =
Fi,j,k=
i, j1, j ,k
T nzg , k1 /2 Pncog
i, j ,k1
+ ( T nyg, j1/ 2+T nzg, k1/ 2+T nxg,i +1/ 2+ D ni, j , k ) Pncog T nxg, i+1 /2 P ncog
i, j, k
i+1, j,k
Para (Nx,Ny,Nz)
Po =Po
i, j ,k
i1, j, k
=Pno
i, j+1, k
Pno
i , j,k+ 1
n+ 1
Pn+1
=Pn+1
Pno +1 Ei , j ,k =N i , j ,k =TC i , j ,k =0
o =Po
o
i, j ,k
i1, j, k
Si,j,k=
Wi,j,k=
i, j+1, k
i , j,k+ 1
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg,i1 /2 )+ ( ( a+ Rs )i , j1,k T nyo , j1/ 2+T nyg , j 1 /2 )+ (( a+ Rs )i , j , k1 T nzo , k1 /2 +T nzg , k1/ 2) +Cin, j , k
AB =
Fi,j,k=
i1, j,k
Para (i,1,Nz)
i, j1, j,k
i , j,k1
i, j,k
1<i<Nx
n +1
Po =Pn+1
Pno +1 Pn+1
P n+1
Si , j ,k =TC i , j , k =0
o
o =Po
o
i, j ,k
Wi,j,k=
i, j1, k
i , j,k+ 1
i, j ,k
i ,j1, k
i, j,k+ 1
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg,i1 /2 )+ ( ( a+ Rs )i +1, j , k T nxo ,i+ 1/2 +T nxg ,i+1 /2 ) + (( a+ Rs ) i, j +1,k T nyo , j +1/ 2+ T nyg , j+1 /2 )+ ( ( a+ R s )i ,
Ei,j,k=
Ni,j,k=
AB =
Fi,j,k=
i1, j,k
Para (i,Ny,Nz)
n+1
Po =Po
i, j ,k
i, j1, k
Po
+ ( T nxg ,i1 /2 +T nzg ,k1 /2 +T nxg, i+1 /2 +T nyg, j+1 /2 + Dni , j ,k ) Pncog T nxg,i +1/ 2
i , j,k
1<i<Nx
n+1
i , j,k+ 1
i, j,k1
n +1
Po =Po
i, j ,k
n+1
i ,j1, k
Po
Si,j,k=
Wi,j,k=
i, j,k+ 1
N i , j ,k =TC i , j ,k =0
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg,i1 /2 )+ ( ( a+ Rs )i +1, j , k T nxo ,i+ 1/2 +T nxg ,i+1 /2 ) + (( a+ Rs ) i, j1, k T nyo , j1/ 2+ T nyg, j1/ 2) + (( a+ Rs ) i
Ei,j,k=
AB =
Fi,j,k=
i1, j,k
Para (1,j,Nz)
Po =Po
i, j ,k
Si,j,k=
i1, j, k
Pno
i, j ,k+ 1
i, j1, j,k
i , j,k1
1<j<Ny
n+1
P n+1
Pn+1
W i , j ,k =TC i , j ,k =0
o =Po
o
i, j,k
i1 , j,k
i, j ,k+1
Ci,j,k=
(( a+ Rs ) i+1, j ,k T nxo,i +1/ 2+ T nxg,i +1/ 2) + ( ( a+ R s )i , j1, k T nyo, j1 /2 +T nyg, j1/ 2 ) + ( ( a+ R s )i , j+1,k T nyo, j+1 /2 +T nyg, j+1 /2 ) + (( a+ Rs )i ,
Ei,j,k=
Ni,j,k=
AB =
Fi,j,k=
i, j1, j ,k
Para (Nx,j,Nz)
Po =Po
i, j ,k
i+ 1, j, k
Pno
i ,j ,k+ 1
T nzg , k1 /2 Pncog
i, j ,k1
+ ( T nyg, j1/ 2+T nzg, k1/ 2+T nxg,i +1/ 2+T nyg , j +1/ 2+ Dni , j , k ) Pncog T nxg ,i+1
i, j ,k
1<j<Ny
n+1
Pn+1
Pn+1
E i , j ,k =TC i , j ,k =0
o =Po
o
i, j, k
i+ 1, j,k
i, j ,k+ 1
Si,j,k=
Wi,j,k=
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg,i1 /2 )+ ( ( a+ Rs )i , j1,k T nyo, j1/ 2+T nyg , j 1 /2 )+ (( a+ Rs )i , j +1,k T nyo , j +1/ 2+ T nyg , j+1/ 2 )+ ( ( a+ R s )
Ni,j,k=
AB =
Fi,j,k=
i1, j,k
Po Pno
i, j ,k
i ,j ,k+ 1
i, j1, j,k
i , j,k1
1<j<Ny
n +1
Pn+1
TC i , j ,k =0
o Po
i, j ,k
i ,j ,k+ 1
Si,j,k=
Wi,j,k=
Ci,j,k=
(( a+ Rs ) i1, j , k T nxo ,i1/ 2+ T nxg ,i1 /2 )+ ( ( a+ Rs )i +1, j , k T nxo ,i+ 1/2 +T nxg ,i+1 /2 ) + (( a+ Rs ) i, j1, k T nyo, j1/ 2+ T nyg, j1/ 2) + ( ( a+ Rs ) i
Ei,j,k=
Ni,j,k=
Ai,j,k =
AB =
Fi,j,k=
i1, j,k
i, j1, j,k
i , j,k1
P*
la malla, por el mtodo LSOR y usando Thomas se halla las (
proceso iterativo, con:
) intermedias se da inicio al
( m +1 )
m
(m+1 )
Pi , j ,k =( 1 ) Pi , j ,k + Pi , j ,k
Son 1
despeja
Son 1 Son
as:
1
tTo Pon 1 q on C10' t Po
'
C11
n
n
S n+1
i , j ,k =(1Sg)i , j ,k T xo,i1 /2 P o
i1, j,k
i+ 1, j ,k
i, j1, k
+T nyo, j+1 /2 P no
i, j+1, k
S gn 1 1 Son1
Conocida la saturacin de Petrleo al tiempo n+1 se calcula la presin capilar a este tiempo de la
relacin disponible para presin capilar en funcin de la saturacin de petrleo o de fase lquida y
Conocida la presin capilar al tiempo t n+1 y la presin de la fase petrleo al mismo tiempo, se puede
calcular la presin de la fase gas al tiempo tn+1.
i ,j ,k1
i,
DIAGRAMAS DE BLOQUES.
Leer datos
Suponer Sg
Calcular Kr de curvas
Se calculan transmisibilidades
Suponer Pn (&)
SI
NO
ANEXO
ALGORITMOS (Fortlan)
MODELO COMPUTACIONAL.
DEFINICION DE VARIABLES
!*********************************************************************
!h
= Espesor Yto en Pies
!LX
= Longitud del yacimiento - direccin X en Pies
!LY
= Longitud del yacimiento - direccin Y en Pies
!LZ
= Longitud del yacimiento - direccin Z en Pies
!PW
= Numero de pozos productores
!DX
= longitud de los bloques - direccin X(i)
!DY
= longitud de los bloques - direccin Y(j)
!DZ
= longitud de los bloques - direccin Z(k)
!NPX
= numero de perforaciones - direccin X(i)
!NPY
= numero de perforaciones - direccin Y(j)
!NPZ
= numero de perforaciones - direccin Z(k)
!KX
= permeabilidad absoluta - direccin X(i)
!KY
= permeabilidad absoluta - direccin Y(j)
!KZ
= permeabilidad absoluta - direccin Z(k)
!MD(X)
= matriz longitudes de los bloques - direccin X(i)
!MD(Y)
= matriz longitudes de los bloques - direccin Y(j)
!MD(Z)= matriz longitudes de los bloques - direccin Z(k)
!MK(X)
= matriz permeabilidades absoluta - direccin X(i)
!MK(Y)
= matriz permeabilidades absoluta - direccin Y(j)
!MK(Z) = matriz permeabilidades absoluta - direccin Z(k)
!M(PN) = matriz Presin al tiempo n
!M(SG)= matriz saturaciones del gas
KRO
= permeabilidad relativa al aceite
KRG
= permeabilidad relativa al gas
!TRXOPLUSS = Transmisibilidad en direccin x para el aceite i+1/2
!TRXOLESS
= Transmisibilidad en direccin x para el aceite i-1/2
!TRYOPLUSS = Transmisibilidad en direccin y para el aceite j+1/2
!TRYOLESS
= Transmisibilidad en direccin y para el aceite j-1/2
!TRZOPLUSS = Transmisibilidad en direccin z para el aceite k+1/2
!TRZOLESS
= Transmisibilidad en direccin z para el aceite k-1/2
!TRXGPLUSS = Transmisibilidad en direccin x para el gas i+1/2
!TRXGLESS
= Transmisibilidad en direccin x para el gas i-1/2
!TRYGPLUSS = Transmisibilidad en direccin y para el gas j+1/2
!TRYGLESS
= Transmisibilidad en direccin y para el gas j-1/2
!TRZGPLUSS = Transmisibilidad en direccin z para el gas k+1/2
!TRZGLESS
= Transmisibilidad en direccin z para el gas k-1/2
!TRZGLESS
= Transmisibilidad en direccin z para el gas k-1/2
!ES
= stencils direccin y (sur) j-1/2
!EN
= stencils direccin y (norte) j+1/2
!EW
= stencils direccin x (oeste) i-1/2
!EE
= stencils direccin x (este) i+1/2
!EA
= stencils direccin z (arriba) k+1/2
!EAB
= stencils direccin z (abajo) k-1/2
!EC
= stencils central i,j,k
!EF
= stencils trminos independientes i,j,k
!M(QG)
= matriz caudales de gas
!M(QO)
= matriz caudales de aceite
P(K)
= presin al tiempo k
P(K1)
= presin al tiempo k+1
!ES(PC)
= stencils para la presin capilar direccin y (sur) para j-1/2
!EN(PC)
= stencils para la presin capilar direccin y (norte) j+1/2
!EW(PC)
= stencils para la presin direccin x (oeste) i-1/2
!EE(PC)
= stencils para la presin capilar direccin x (este) i+1/2
!EA(PC)
= stencils para la presin capilar direccin z (arriba) k+1/2
!EAB(PC)
=stencils para la presin capilar direccin z (abajo) k-1/2
!EC(PC)
= stencils para la presin capilar central i,j,k
!EF(PC)
= stencils para la presin capilar trminos independientes i,j,k
SUBROUTINE B_Fantasmas
USE General
IMPLICIT NONE
!* MALLA IRREGULAR (VARIACION DE LA LONGITUD DE LOS BLOQUES)
DO I = 1,NX
M_DX(I,:,:) = DX(I)
END DO
DO J = 1,NY
M_DY(:,J,:) = DY(J)
END DO
DO K = 1,NZ
M_DZ(:,:,K) = DZ(K)
END DO
! *MALLA IRREGULAR (VARIACION DE LA PERMEABILIDAD)
DO I = 1,NX
M_KX(I,:,:) = KX(I)
END DO
DO J = 1,NY
M_KY(:,J,:) = KY(J)
END DO
DO K = 1,NZ
M_KZ(:,:,K) = KZ(K)
END DO
DO I = 0,NX+1
DO K = 0,NZ+1
M_KX(I,0,K) = M_KX(I,1,K)
M_KX(I,NY+1,K)= M_KX(I,NY,K)
M_KY(I,0,K) = M_KY(I,1,K)
M_KY(I,NY+1,K)= M_KY(I,NY,K)
M_KZ(I,0,K) = M_KZ(I,1,K)
M_KZ(I,NY+1,K)= M_KZ(I,NY,K)
END DO
END DO
DO I = 0,NX+1
DO J = 0,NY+1
M_KX(I,J,0) = M_KX(I,J,1)
M_KX(I,J,NZ+1)= M_KX(I,J,NZ)
M_KY(I,J,0) = M_KY(I,J,1)
M_KY(I,J,NZ+1)= M_KY(I,J,NZ)
M_KZ(I,J,0) = M_KZ(I,J,1)
M_KZ(I,J,NZ+1)= M_KZ(I,J,NZ)
END DO
END DO
! * MALLA BLOQUES FANTASMAS (VARIACION DE LA LONGITUDES DE LOS
BLOQUES)
DO J = 0,NY+1
DO K = 0,NZ+1
M_DX(0,J,K) = M_DX(1,J,K)
M_DX(NX+1,J,K)= M_DX(NX,J,K)
M_DY(0,J,K) = M_DY(1,J,K)
M_DY(NX+1,J,K)= M_DY(NX,J,K)
M_DZ(0,J,K) = M_DZ(1,J,K)
M_DZ(NX+1,J,K)= M_DZ(NX,J,K)
END DO
END DO
DO I = 0,NX+1
DO K = 0,NZ+1
M_DX(I,0,K) = M_DX(I,1,K)
M_DX(I,NY+1,K)= M_DX(I,NY,K)
M_DY(I,0,K) = M_DY(I,1,K)
M_DY(I,NY+1,K)= M_DY(I,NY,K)
M_DZ(I,0,K) = M_DZ(I,1,K)
M_DZ(I,NY+1,K)= M_DZ(I,NY,K)
END DO
END DO
DO I = 0,NX+1
DO J = 0,NY+1
M_DX(I,J,0) = M_DX(I,J,1)
M_DX(I,J,NZ+1)= M_DX(I,J,NZ)
M_DY(I,J,0) = M_DY(I,J,1)
M_DY(I,J,NZ+1)= M_DY(I,J,NZ)
M_DZ(I,J,0) = M_DZ(I,J,1)
M_DZ(I,J,NZ+1)= M_DZ(I,J,NZ)
END DO
END DO
! * INICIALIZACION CAUDALES.
M_QO = 0.0D0
M_QG = 0.0D0
DO I=1,PW
M_QO(PW(X)(I),PW(Y)(I),PW(Z)(I)) =QP*(1-FW)
M_QW)(PW(X)(I),PW(Y)(I),PW(Z)(I)) =QP*(FW)}
END DO
END SUBROUTINE B_Fantasmas
SUBROUTINE Curvas_Kr_Pc
USE General
IMPLICIT NONE
! CURVAS DE PERMEABILIDAD DEL PETROLEO Y DEL GAS
DO I =0,NX+1
DO J =0,NY+1
DO K =0,NZ+1
KRO(I,J,K)=14.32*(M_SO_SUP(I,J,K)**4) - 26.534*(M_SO_SUP(I,J,K)**3) + &
& 18.534*(M_SO_SUP(I,J,K)**2) - 6.2752*(M_SO_SUP(I,J,K)) - 0.9691
END DO
END DO
END DO
END SUBROUTINE Curvas_Kr_Pc
SUBROUTINE Generacin_Estenciles
USE General
IMPLICIT NONE
DO I =1,NX
DO J =1,NY
DO K =1,NZ
! ESTENCIL NORTE
EN(I,J,K) = (a+(RS)(I,J+1,K)*TYOPLUS(I,J+1/2,K) +
TYGPLUS(I,J+1/2,K)
! ESTENCIL SUR
ES(I,J,K) = (a+(RS))(I,J-1,K)*TYOLESS(I,J-1/2,K) + TYGLESS(I,J-1/2,K)
! ESTENCIL ESTE
EE(I,J,K) = (a+(RS))(I+1,J,K)*TXOPLUS(I + 1/2,J,K) + TXGPLUS(I + 1/2,J,K)
! ESTENCIL OESTE
1/2,J,K)
TZGPLUS(I,J,K+1/2)
! ESTENCIL ABAJO
1/2)
&
(5.615*DT))
- EAB(I,J,K)+2*M_DX(I,J,K)*M_DY(I,J,K)*M_DZ(I,J,K)*PORO/
ESTENCIL F
END DO
END DO
END DO
END SUBROUTINE
MODULE General
INTEGER,PUBLIC:: NX,NY,NZ,NPP
INTEGER,PUBLIC:: I,J,K,X
INTEGER,PUBLIC,DIMENSION(:),ALLOCATABLE::NPX,NPY,NPZ
REAL*8,PUBLIC,DIMENSION(:),ALLOCATABLE::KX,KY,KZ,KB,KC
REAL*8,PUBLIC,DIMENSION(:),ALLOCATABLE::DX,DY,DZ
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: M_DY,M_DZ,M_DX
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: M_KY,M_KZ,M_KX
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: M_PN,M_SG
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE::
KRO,KRG,SO_CAL,M_SG_CAL,M_SO_SUP
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: TXOPLUS,TXOLESS
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: TYOPLUS,TYOLESS
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: TZOPLUS,TZOLESS
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: TRSXOPLUS,TRSXOLESS
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: TRSYOPLUS,TRSYOLESS
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: TRSZOPLUS,TRSZOLESS
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: TXGPLUS,TXGLESS
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: TYGPLUS,TYGLESS
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: TZGPLUS,TZGLESS
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: ES,EN,EW,EE,EA,EAB,EC,EF
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: M_QG,M_QO,M_SG_SUP
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: P_K,P_K1
REAL*8,PUBLIC,DIMENSION(:,:,:),ALLOCATABLE:: M_PN_OLD,PCOG,RS
REAL*8,PUBLIC,DIMENSION(:),ALLOCATABLE::
BETA,GAMA
REAL*8,PUBLIC,DIMENSION(:),ALLOCATABLE::
PT,ERROR_LSOR
Oil_Gas_IMPIS_LSOR
program Oil_Gas_IMPIS_LSOR
USE General
implicit none
! GENERACION MALLA GENERAL
ALLOCATE(M_DX(0:NX+1,0:NY+1,0:NZ+1),M_DY(0:NX+1,0:NY+1,0:NZ+1),M_DZ(0:NX+
1,0:NY+1,0:NZ+1))
ALLOCATE(M_KX(0:NX+1,0:NY+1,0:NZ+1),M_KY(0:NX+1,0:NY+1,0:NZ+1),M_KZ(0:NX+
1,0:NY+1,0:NZ+1))
ALLOCATE(M_SG(0:NX+1,0:NY+1,0:NZ+1),KRO(0:NX+1,0:NY+1,0:NZ+1),KRG(0:NX+1,
0:NY+1,0:NZ+1))
ALLOCATE(M_QG)(NX,NY,NZ),(M_QO)(NX,NY,NZ),(M_PN)
(0:NX+1,0:NY+1,0:NZ+1))
ALLOCATE M_SG_SUP((0:NX+1,0:NY+1,0:NZ+1),SO_CALC(NX,NY,NZ))
ALLOCATE(PCOG(0:NX+1,0:NY+1,0:NZ+1))
ALLOCATE(TXOPLUS(1 + 1/2:NX + 1/2,NY,NZ),TXOLESS(1-1/2:NX - 1/2,NY,NZ))
ALLOCATE(TYOPLUS(NX,1+1/2:NY + 1/2,NZ),TYOLESS(NX,1-1/2:NY - 1/2,NZ))
ALLOCATE(TZOPLUS(NX,NY,1 + 1/2:NZ + 1/2),TZOLESS(NX,NY,1-1/2:NZ - 1/2))
ALLOCATE(TRSXOPLUS(1 + 1/2:NX + 1/2,NY,NZ),TRSXOLESS(1-1/2:NX 1/2,NY,NZ))
ALLOCATE(TRSYOPLUS(NX,1+1/2:NY + 1/2,NZ),TRSYOLESS(NX,1-1/2:NY 1/2,NZ))
ALLOCATE(TRSZOPLUS(NX,NY,1 + 1/2:NZ + 1/2),TRSZOLESS(NX,NY,1-1/2:NZ 1/2))
ALLOCATE(TXGPLUS(1 + 1/2:NX + 1/2,NY,NZ),TXGLESS(1-1/2:NX - 1/2,NY,NZ))
ALLOCATE(TYGPLUSS(NX,1 + 1/2:NY + 1/2,NZ),TYGLESS(NX,1-1/2:NY - 1/2,NZ))
ALLOCATE(TZGPLUSS(NX,NY,1 + 1/2:NZ + 1/2),TZGLESS(NX,NY,1-1/2:NZ - 1/2))
ALLOCATE(M_SG_CALC(0:NX+1,0:NY+1,0:NZ+1),
(M_PN_OLD(0:NX+1,0:NY+1,0:NZ+1))
ALLOCATE(ES(NX,NY,NZ),EN(NX,NY,NZ),EW(NX,NY,NZ),EF(NX,NY,NZ))
ALLOCATE(EC(NX,NY,NZ),EE(NX,NY,NZ),EA(NX,NY,NZ),EAB(NX,NY,NZ))
ALLOCATE(P_K(NX,NY,NZ),P_K1(NX,NY,NZ),ERROR_SAT_NX)
ALLOCATE(BETA)(NX),GAMA)(NX),PT_LSOR)_NX),ERROR_LSOR_NX,SFL_NX)
ALLOCATE(EN(Pc)(NX,NY,NZ),ES(Pc)(NX,NY,NZ),EE(Pc)(NX,NY,NZ))
ALLOCATE(EW(Pc)(NX,NY,NZ),EA(Pc)(NX,NY,NZ),EAB(Pc)(NX,NY,NZ),EC(Pc)
(NX,NY,NZ))
CALL B_Fantasmas
OMEGA_LSOR = 0.5
TOLERANCE_LSOR = 0.0005
ITERATION_LSOR = 0
ERRORMAX_LSOR = 1.0
RESIDUO_LSOR = 0.0D0
TOLERANCE_SAT = 0.005
ITERATION_SAT = 0
ERRORMAX_SAT = 1.0
P_K1_LSOR = 0.0D0
P_K_LSOR = PI
! PRESIONES INICIALES
M_SG = SGI
M_PN_OLD = PI
M_PN = PI
SO_CAL = 0.0D0
EW(I,J,K)P_ast(I-1,J,Kk)+EC(I,J,K)P_ast(I,J,K)+EE(I,J,K)P_ast(I+1,J,K)=EF(I,J,K)S(I,J,K)P_k1(I,J-1,K) &
-EN(I,J,K)P_k1(I,J+1,K)-EA(I,J,K)P_K(I,J,K+1)-EAB(I,J,K)P_K1(I,J,K-1)
!CALCULO ESTENCILES
DO K=1,NZ
DO J=1,NY
DO I=1,NX
EW(I,J,K) = (a+(RS))(I-1,J,K)*TXOLESS(I - 1/2,J,K) + TXGLESS(I - 1/2,J,K)
ES(I,J,K) = (a+(RS))(I,J-1,K)*TYOLESS(I,J-1/2,K) + TYGLESS(I,J-1/2,K)
EAB(I,J,K) = (a+(RS)(I,J,K-1)*TZOLESS(I,J,K-1/2) + TZGLESS(I,J,K1/2)
EC(I,J,K) = -(EE(I,J,K) + EW(I,J,K) + ES(I,J,K) + EN(I,J,K) + EA(I,J,K) &
(5.615*DT))
TYGPLUS(I,J+1/2,K)
&
- EAB(I,J,K)+2*M_DX(I,J,K)*M_DY(I,J,K)*M_DZ(I,J,K)*PORO/
EN(I,J,K) = (a+(RS)(I,J+1,K)*TYOPLUS(I,J+1/2,K) +
END DO
!Bloques de las esquinas
EW(1,1,1)=0
ES(1,1,1)=0
EAB(1,1,1)=0
ES(NX,1,1)=0
EAB(NX,1,1)=0
EE(NX,1,1)=0
EW(1,NY,1)=0
EN(1,NY,1)=0
EAB(1,NY,1)=0
EAB(NX,NY,1)=0
EE(NX,NY,1)=0
EN(NX,NY,1)=0
EW(1,1,NZ)=0
ES(1,1,NZ)=0
EA(1,1,NZ)=0
ES(NX,1,NZ)=0
EE(NX,1,NZ)=0
EA(NX,1,NZ)=0
EW(1,NY,NZ)=0
EN(1,NY,NZ)=0
EA(1,NY,NZ)=0
EE(NX,NY,NZ)=0
EN(NX,NY,NZ)=0
EA(NX,NY,NZ)=0
EN(I,NY,1)=0
EAB(I,NY,1)=0
ES(I,1,NZ)=0
EA(I,1,NZ)=0
EN(I,NY,NZ)=0
EA(I,NY,NZ)=0
END DO
!BORDES I=1 e I=NX
DO J=2,NY-1
EW(1,J,1)=0
EAB(1,J,1)=0
EE(NX,J,1)=0
EAB(NX,J,1)=0
EW(1,J,NZ)=0
EA(1,J,NZ)=0
EE(NX,J,NZ)=0
EA(NX,J,NZ)=0
END DO
!Bloques internos K=1 y K=NZ
DO J=2,NY-1
DO I=2,NX-1
EAB(I,J,1)=0
EA(I,J,NZ)=0
END DO
END DO
!Bloques internos J=1 y J=NY
DO K=2,NZ-1
DO I=2,NX-1
ES(I,1,K)=0
EN(I,NY,K)=0
END DO
END DO
!Bloques internos I=1 e I=NX
DO K=2,NZ-1
DO J=2,NY-1
EW(1,J,K)=0
EE(NX,J,K)=0
END DO
END DO
! ALGORITMO DE THOMAS WP
DO K = 1, NZ
DO J = 1,NY
DO I = 1,NX
EFL(I) = EF(I,J,K)
END DO
BETA(1) = EE(1,J,K)/EC(1,J,K)
GAMA(1) = EFL(1)/EC(1,J,K)
DO I1 = 2, NX
BETA(I1) = EE(I1,J,K)/(EC(I1,J,K)-EW(I1,J,K)*BETA(I1-
1))
(EC(I1,J,K)-EG(I1,J,K)*BETA(I1-1))
GAMA(I1) = (EFL(I1)-EW(I1,J,K)*GAMA(I1-1))/
END DO
PT(NX) = GAMA(NX)
DO I2 = NX-1, 1, -1
PT(I2) = GAMA(I2) - BETA(I2)*PT(I2+1)
END DO
DO I3 = 1, NX
PT(I3)*OMEGA
P_K1(I3,J,K) = (1-OMEGA)*P_K(I3,J,K) +
END DO
DO I4 = 1, NX
ERROR(I4) = ABS((P_K1(I4,J,K)-P_K(I4,J,K)))
END DO
ERRORMAX = MAXVAL(ERROR)
ERRORMAX = 1.0
END IF
RESIDUO = ERRORMAX
END DO
END DO
ITERATION = ITERATION
P_K= P_K1
! CALCULO SATURACION
DO K = 1, NZ
DO J = 1,NY
DO I = 1,NX
&
TXOPLUS(I+1/2,J,K)*M_PN(I+1,J,K) + TXOLESS(I-1/2,J,K)*M_PN(I-
&
1/2)*M_PN(I,J,K-1) - &
TZOPLUS(I,J,K+1/2)*M_PN(I,J,K+1) + TZOLESS(I,J,K-
&
-((TYOPLUS(I,J+1/2,K) + TYOLESS(I,J-1/2,K) +
TXOPLUS(I+1/2,J,K) +TXOLESS(I-1/2,J,K) &
&
&
2*M_QO(I,J,K) )*(2*DT/(M_DY(I,J,K)*M_DX(I,J,K)*M_DZ(I,J,K)))
END DO
END DO
END DO
!
ITERACION SATURACIONES
DO K = 1, NZ
DO J = 1,NY
DO I = 1,NX
ERROR_SAT(I) = ABS((M_SG_CALC(I,J,K)-M_SG(I,J,K)))
ERRORMAX_SAT =
MAXVAL(ERROR_SAT)
ITERATION_SAT = ITERATION_SAT + 1
IF (ERRORMAX_LSOR > TOLERANCE_LSOR) THEN
M_PN = M_PN_OLD
P_K = M_PN_OLD
M_SG_SUP = MAT_SG_CALC
END IF
END DO
PAUSE
end program Oil_Gas_IMPIS_LSOR
SUBROUTINE PVT
USE General
IMPLICIT NONE
! CALCULO DE PROPIEDADES A LA PRESION SUPUESTA.
TPC = 187 + 330*GAMA_G - 71.5*(GAMA_G**2)
PPC = 706 - 51.7*GAMA_G - 11.1*(GAMA_G**2)
TPR = TEM/TPC
KA =((9.379+0.01607*29*GAMA_G)*(TEM**1.5))/(209.2 + 19.26*29*GAMA_G +
TEM)
KB =3.448 +986.14/TEM +0.01009*29*GAMA_G
KC=2.447 - 0.224*KB
DO I=0,NX+1
DO J=0,NY+1
DO K=0,NZ+1
! STANDING CORRELATIONS
PPR(I,J,K) = P(I,J,K)/PPC
Z(I,J,K) = PPR(I,J,K)*(-0.0284*TPR + 0.0625) + 0.4714*TPR - 0.0011
BG(I,J,K) = (14.7*Z(I,J,K)*TEM)/(520*P(I,J,K))
DG(I,J,K)=(PPR(I,J,K)*29*GAMA_G)/(Z(I,J,K)*10.73*TEM)
! CORRELATION GLASO
UG(I,J,K)=0.0001*KA*((EXP)**(KB*(DG(I,J,K)**KC)))
END DO
END DO
END DO
! CALCULO DE LAS PROPIEDADES INICIALES
API = (141.5/GAMA_O) - 131.5
DO I=0,NX+1
DO J=0,NY+1
DO K=0,NZ+1
! STANDING
X = 0.0125*API - 0.00091*(TEM-460)
RS(I,J,K)=GAMA_G*((((PI/18.2) + 1.4)*(10**X) )**1.2048)
END DO
END DO
END DO
END SUBROUTINE PVT
!************************************************************************
! CALCULO DE TRANSMISIBILIDADES DEL ACEITE CON GAS EN SOLUCIN EN EL EJE X
DO I =1,NX-1
DO J =1,NY
DO K = 1,NZ
NUM=
2*0.001127*M_DY(I,J,K)*M_DZ(I,J,K)*M_KBX(I,J,K)*M_KBX(I+1,J,K)*KRO(I+1,J,K)*KRO(I,J,K
)
DEN= BO*MIU_O*M_DX(I,J,K)*(M_KBX(I,J,K)*KRO(I,J,K) +
M_KBX(I+1,J,K)*KRO(I+1,J,K))
TRSXOPLUS(I + 1/2,J,K)=(NUM/DEN)*RS
END DO
END DO
END DO
DO I =2,NX
DO J =1,NY
DO K = 1,NZ
NUM= 2*0.001127*M_DY(I,J,K)*M_DZ(I,J,K)*M_KBX(I,J,K)*M_KBX(I1,J,K)*KRO(I-1,J,K)*KRO(I,J,K)
1,J,K)*KRO(I-1,J,K))
END DO
END DO
!************************************************************************
!CALCULO DE TRANSMISIBILIDADES DEL ACEITE CON GAS EN SOLUCIN EN EL EJE Y
!************************************************************************
DO K = 1,NZ
DO I =1,NX
DO J =1,NY-1
NUM=
2*0.001127*M_DX(I,J,K)*M_DZ(I,J,K)*M_KBY(I,J,K)*M_KBY(I,J+1,K)*KRO(I,J+1,K)*KRO(I,J,K
)
DEN= BO*MIU_O*M_DY(I,J,K)*(M_KBY(I,J,K)*KRO(I,J,K) +
M_KBY(I,J+1,K)*KRO(I,J+1,K))
TRSYOPLUS(I,J+1/2,K)=(NUM/DEN)*RS
END DO
END DO
END DO
DO I =1,NX
DO J =2,NY
DO K = 1,NZ
NUM= 2*0.001127*M_DX(I,J,K)*M_DZ(I,J,K)*M_KBY(I,J,K)*M_KBY(I,J1,K)*KRO(I,J-1,K)*KRO(I,J,K)
DEN= BO*MIU_O*M_DY(I,J,K)*(M_KBY(I,J,K)*KRO(I,J,K) + M_KBY(I,J1,K)*KRO(I,J-1,K))
TRSYOLESS(I,J-1/2,K)=(NUM/DEN)*RS
END DO
END DO
END DO
!************************************************************************
!CALCULO DE TRANSMISIBILIDADES DEL ACEITE CON GAS EN SOLUCIN EN EL EJE Z
!************************************************************************
DO I =1,NX
DO J =1,NY
DO K = 1,NZ-1
NUM=
2*0.001127*M_DX(I,J,K)*M_DY(I,J,K)*M_KBZ(I,J,K)*M_KBZ(I,J,K+1)*KRO(I,J,K+1)*KRO(I,J,K
)
DEN= BO*MIU_O*M_DZ(I,J,K)*(M_KBZ(I,J,K)*KRO(I,J,K) +
M_KBZ(I,J,K+1)*KRO(I,J,K+1))
TRSZOPLUS(I,J,K+1/2)=(NUM/DEN)*RS
END DO
END DO
END DO
DO I =1,NX
DO J =1,NY
DO K = 2,NZ
NUM=
2*0.001127*M_DX(I,J,K)*M_DY(I,J,K)*M_KBZ(I,J,K)*M_KBZ(I,J,K-1)*KRO(I,J,K-1)*KRO(I,J,K)
DEN= BO*MIU_O*M_DZ(I,J,K)*(M_KBZ(I,J,K)*KRO(I,J,K) +
M_KBZ(I,J,K-1)*KRO(I,J,K-1))
TRSZOLESS(I,J,K-1/2)=(NUM/DEN)*RS
END DO
END DO
END DO
!*************************************************
!CALCULO DE TRANSMISIBILIDADES DEL GAS EN EL EJE X
!*************************************************
DO I =1,NX-1
DO J =1,NY
DO K = 1,NZ
NUM=
2*0.001127*M_DY(I,J,K)*M_DZ(I,J,K)*M_KBX(I,J,K)*M_KBX(I+1,J,K)*KRG(I+1,J,K)*KRG(I,J,K
)
DEN= BG*MIU_G*M_DX(I,J,K)*(M_KBX(I,J,K)*KRG(I,J,K) +
M_KBX(I+1,J,K)*KRG(I+1,J,K))
TXGPLUS(I + 1/2,J,K)= NUM/DEN
END DO
END DO
END DO
DO I =2,NX
DO J =1,NY
DO K = 1,NZ
NUM= 2*0.001127*M_DY(I,J,K)*M_DZ(I,J,K)*M_KBX(I,J,K)*M_KBX(I1,J,K)*KRG(I-1,J,K)*KRG(I,J,K)
1,J,K)*KRG(I-1,J,K))
END DO
END DO
!*************************************************
NUM=
2*0.001127*M_DX(I,J,K)*M_DY(I,J,K)*M_KBZ(I,J,K)*M_KBZ(I,J,K+1)*KRG(I,J,K+1)*KRG(I,J,K
)
DEN= BG*MIU_G*M_DZ(I,J,K)*(M_KBZ(I,J,K)*KRG(I,J,K) +
M_KBZ(I,J,K+1)*KRG(I,J,K+1))
TZGPLUS(I,J,K+1/2)= NUM/DEN
END DO
END DO
END DO
DO I =I,NX
DO J =1,NY
DO K = 2,NZ
NUM=
2*0.001127*M_DX(I,J,K)*M_DY(I,J,K)*M_KBZ(I,J,K)*M_KBZ(I,J,K-1)*KRG(I,J,K-1)*KRG(I,J,K)
DEN= BG*MIU_G*M_DZ(I,J,K)*(M_KBZ(I,J,K)*KRG(I,J,K) +
M_KBZ(I,J,K-1)*KRG(I,J,K-1))
TYGLESS(I,J,K-1/2)= NUM/DEN
END DO
END DO
END DO
END SUBROUTINE Transmisibilidades