Simulacion Yacimientos Petroleo-gas

64
SIMULADOR DE YACIMIENTO (PETRÓLEO GA RESUMEN Se procedió a realizar un simulador para un yacimiento bifásico en el cual tenemos constantes los caudales y las presiones son desconocidas, para nuestro caso flujo petróleo-gas lineal 3D con malla irregular y para las tres direcciones varían las permeabilidades, las ecuaciones fueron planteadas por el método IMPIS y se resolvió por medio de método LSOR. Las direcciones de los ejes sera: Z X Y Tendremos 4 pozos productores. Porosidad 0.15 Espesor 50 ft μ o 1.35 cp μ w 0.4 cp Flujo bifásico (oil-gas) → Balance de masa: la transferencia de masa solo se da en el componente de gas entre fases gas y petróleo. La porción del componente del gas disuelto en la fase aceite es conocida como gas en solución. La componente del gas este contenido en la componente de gas libre y la componente de gas en solución contenido en la fase aceite. La tasa de transferencia de masa de gas entre fase de aceite y gas ( q mtfg , q mtsg ¿ (gas libre, gas en solución). La ecuación de balance de materiales para la componente c, sobre un volumen de control de fluido del yacimiento poroso

description

Es un borrador de un simulador numerico

Transcript of Simulacion Yacimientos Petroleo-gas

SIMULADOR DE YACIMIENTO (PETRÓLEO GA

RESUMENSe procedió a realizar un simulador para un yacimiento bifásico en el cual tenemos constantes los caudales y las presiones son desconocidas, para nuestro caso flujo petróleo-gas lineal 3D con malla irregular y para las tres direcciones varían las permeabilidades, las ecuaciones fueron planteadas por el método IMPIS y se resolvió por medio de método LSOR.

Las direcciones de los ejes sera:

Z

X

YTendremos 4 pozos productores.

Porosidad 0.15Espesor 50 ft

μo 1.35 cp

μw 0.4 cp

Flujo bifásico (oil-gas)

→ Balance de masa: la transferencia de masa solo se da en el componente de gas entre fases gas y petróleo. La porción del componente del gas disuelto en la fase aceite es conocida como gas en solución. La componente del gas este contenido en la componente de gas libre y la componente de gas en solución

contenido en la fase aceite. La tasa de transferencia de masa de gas entre fase de aceite y gas (qmtfg , qmtsg¿

(gas libre, gas en solución). La ecuación de balance de materiales para la componente c, sobre un volumen

de control de fluido del yacimiento poroso sobre un intervalo de trabajo 𝝙t es = (mi )c−(mo )c+sc+ (ma )c (9.1)

Donde:

(mi )c = suma de entradas de masa del componente c a través de la superficie de control en

x− Δx2

, y− Δy2

y z− Δz2

sobre el intervalo 𝝙t.

(mo )c = suma de salida de masa del componente c a través de la superficie de control en

x− Δx2

, y− Δy2

y z− Δz2

sobre el intervalo 𝝙t.

sc=suma de la generación de masa y agotamiento de masa a través del componente c en 𝝙t.

(ma )c = acumulación de masa del componente c causada por los cambios de compresibilidad y saturación

de los fluidos en el volumen de control sobre el intervalo 𝝙t.

→ Para el componente c=0,f g , sg; estos términos pueden estar expresados como

(mi )c=[( mcx Ax )x− Δx

2

+(mcy Ay )y−Δy

2

+( mcz A z )z− Δz

2 ]∆ t (9.2)

(mo )c=[ (mcx Ax )x+ Δx

2

+(mcy A y )y+ Δy

2

+ (mcz A z )z+ Δz

2 ]∆ t (9.3)

sc=(qmtc+qmc )∆ t (9.4)

(mo )c=vb [ (mvc A x )t+∆t−(mvc A x )t ] (9.5)

Donde, mc= flujo de masa, A área perpendicular al flujo; mrc= masa por unidad de volumen del medio

poroso, qmtc=tasa de transferencia de masa entre las fases, la cual es positiva para generación y negativa

para el agotamiento; qmc= tasa de agotamiento de masa a través del pozo, el cual es posotivo para la

inyección y negativo para la producción y vb= volumen total del volumen de control.

Sustituyendo (9.2) y (9.5) en (9.1) y reorganizando términos queda

[( mcx Ax )x +Δx

2

−(mcx A x)x− Δx

2 ]∆ t−[ (mcy A y )y +Δy

2

−(mcy Ay )y−Δy

2 ]∆ t−[ (mcz A z )z+ Δz

2

−(mcz A z )z− Δz

2 ]∆ t+(qmtc+qmc )∆ t=vb [ (mvc )t+∆t−(mvc )t ]

(9.6)

Donde c=0, fgy sg.

Dividiendo (9.6) entre ∆ t y multiplicando por 𝝙x, 𝝙y y 𝝙z.[ ( mcx Ax )

x+ Δx2

−(mcx Ax )x−Δx

2

∆ x ]∆ x−[ ( mcy A y )y+ Δy

2

−(mcy A y )y− Δy

2

∆ y ]∆ y−[ (mcz A z )z+ Δz

2

−( mcz A z )z− Δz

2

∆ z ]∆z+(qmtc+qmc )=vb[ (mvc )t+∆t−(mvc )t∆ t ]

(9.7)

Tomando el límite de 𝝙x, 𝝙y, 𝝙z y 𝝙t y sustituyendo por la derivada parcial de la ecuación (9.7 se tiene

−∂∂x

( mcx Ax )∆ x− ∂∂ y

(mcy A y )∆ y− ∂∂ z

(mcz A z )∆ z=vb∂∂ t

(mvc )−qmc−qmtc (9.8)Donde c=0, fg, sg; 𝝙x ≠0, 𝝙y ≠0, 𝝙z ≠0, 𝝙Vb ≠0.Para reservorios con espesor uniforme, se asume que Ax, Ay, Az son independientes de x, y, z respectivamente. En este caso: V b=Δ x Δ y Δ z=Ax∆x=A y∆ y=A z∆ z

Y ∂ Ax∂ x

=∂ A y

∂ y=∂ A z∂ z

=0

Para el aceite y el gas libre, es posible expresar el flujo másico como el producto de la densidad y la velocidad Darcy’s para la fase l; masa por unidad de volumen (ó concentración) como el producto de la porosidad, la fase de saturación, y la densidad de la fase y la tasa de flujo másico como el producto de la tasa de flujo y la densidad volumétrica de las fases para el componente solo del gas, el flujo másico, la masa por unidad de volumen y la tasa de flujo másico puede ser expresada en términos de las propiedades de la fase petróleo RSy Bo y la densidad de la fase gas a condiciones estándar, ρgsc, masa por unidad de volumen, flujo másico y la tasa de flujo, son cantidades que describe componentes, (c=0,f gó sg), mientras que el flujo ó (velocidad volumétrica), tasa de flujo volumétrica, densidad, factor de volumen de la formación (FVF), saturación y la relación de gas en solución de petróleo, describe la fase (l=0 , g). los términos en la ecuación (9.8) puede ser expresados como mc

=∝c ρ c μ→

c(9.9a)

Donde c=0 y Fg.(9.9b) mc

=(ρgsc R sBo ) μ→

o; donde c=0, f g ; (9.10a) mcx=∝c ρc μcx; donde c=0, f g. (9.10b) mcx=(ρgsc R sBo ) μox donde c=sg(9.11a) mcy=∝c ρc μcy ; donde c=0, f g. (9.11b) mcy=(ρgsc R sBo ) μoy donde c=sg

(9.12a) mcz=∝c ρc μcz ; donde c=0, f g. (9.12b) mcz=( ρgsc RsBo )μoz donde c=sg(9.13a) mvc=∅ ρc sc ; donde c=0,f g. (9.13b) mvc=

∅α c ( ρgsc

RsBo )So donde c=sg

(9.14a) qvc=αc ρcqc ; donde c=0,f g. (9.14b) qvc=(ρgsc R sBo )qo donde c=sgEl termino de la generación puede ser definido como (9.15a) qmtc=0, donde c=0; donde c=sg { qmtc=qmt sg(9.15b)

qmtc=−qmt sg (9.15c) En las ecuaciones 9.15b y 9.15c, qmt sg= tasa de transferencia del componente gas entre las fases gas y aceite, (o entra el gas libre y el gas en solución).para la fase gas, g=f g+sg mientras que ρg=ρ fg, sg=sfg y μg=μfg para la fase gas. La ecuación de conservación de masa para el petróleo, puede ser obtenida por combinación de las ecuaciones 9.8 y 9.10 hasta la 9.15 para c=0 , dividiendo el resultado por α c ρosc ,usando la deformación de Bo; Bo=ρosc / ρo; y qosc= qo

Bo , la ecuación

de conservación de masa para la componente del aceite está dada por: ∂∂ x ( A x

Boμox)∆ x− ∂

∂ y ( A y

Boμoy)∆ y− ∂

∂ z ( A zBo μoz)∆ z=V b

α c

∂∂ t (∅ soBo )−qosc (9.16)

La ecuación de conservación de masa para el componente gas (c=g) es obtenido la ecuación 9.8 para gas libre y gas en solución y sumando las dos ecuaciones para eliminar qmtsg. La ecuación queda:−∂∂x

( mfgx Ax+msgx Ax )∆ x− ∂∂ y

(mfgy A y+msgy A y )∆ y− ∂∂ z

(mfgz A z+msgz A z )∆ z=V b∂∂t

(mvfg+mvsg )−(qmfg+qmsg )

(9.17)Sustituyendo las ecuaciones 9.10 hasta la 9.14 dentro de la ecuación 9.18 y diviendo del resultado por ρgsc y usando la definición de Bg= ρgsc

αc ρc y qosc= qo

Bo y q fgsc=q fgBg ; la

ecuación de conservación de masa para el componente del gas es obtenido,−∂∂x ( AxBg μ fgx+A x

RsBgμosc)∆ x− ∂

∂ y ( A y

Bgμfgy+A y

R sBgμoy)∆ y− ∂

∂ z ( A zBg μ fgz+A zR sBgμoz)∆z=V b

αc

∂∂ t (∅ sgBg +

∅ RsBo

so)−qgsc

(9.19)

Donde qgsc=q fgsc+R sqoscLa ecuación 9.16 y 9.19 son las ecuaciones de conservación 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 dirección puede ser expresada como:

qAx

=U=−βck xμd∅dx

βc= factor de conversión de unidades del coeficiente de transmisibilidad; k= permeabilidad absoluta de la

roca en dirección de flujo, μ=viscosidad del fluido, ∅=potencial del fluido, U= tasa de flujo por unidad de área de la sección transversal de la sección transversal perpendicular a la dirección de flujo. Para 3D la ley de

Darcy es U→

=−βckμ∇∅ con la definición de gradiente de potencial ∇∅=∇P−r ∇ z.

U→

=−βckμ(∇P−r ∇ z).

Para flujo multifasico la forma extendida de la ley de Darcy está dada por cada fase por cada fase por:

U→

=−βck krlμl

∇∅ l; donde l=o ó gas.

U→

=−βck kr l

μl(∇Pl−γl ∇ z ) (12.25) Donde l = o ó gas; k rl,μl,Pl , γl=permeabilidad relativa, viscosidad,

presión, gravedad del fluido para la fase l, respectivamente.

Ecuaciones de flujo.

La ley de Darcy para flujo multifásico.

Puede ser sustituida dentro de la ecuación de conservación de masa para le aceite y el gas.

∂∂ x (βc AxK x

K ro

μo Bo (∂Po∂ x

−γ o∂Z∂ x ))∆ x+ ∂

∂ y (βc A yK y

K ro

μoBo (∂ Po∂ y

−γo∂Z∂ y ))∆ y+ ∂

∂z (βc A z K z

K ro

μoBo (∂ Po∂z

−γo∂Z∂ z ))∆ z=V b

α c

∂∂t (ϕ SoBo )−qosc [ 1 ]

∂∂ x (βc AxK x

K rg

μgBg (∂ Pg∂ x

−γ g∂ Z∂ x )+βc Ax K x

K roR sμoBo ( ∂Po∂ x

−γ o∂Z∂x ))∆ x+ ∂

∂ y (βc A yK y

K rg

μgBg (∂Pg∂ y

−γ g∂Z∂ y )+βc A yK y

K roRsμoBo ( ∂Po∂ y

−γ o∂ Z∂ y ))∆ y+ ∂

∂ z (βc A z K z

K rg

μgBg (∂ Pg∂ x

−γ g∂ Z∂z )+ βcA zK z

K roR sμoBo ( ∂Po∂ z

−γ o∂Z∂ z ))∆ z=V b

α c

∂∂ t (ϕ SgBg +

ϕ R sSoBo )−qgsc [ 2 ]

qgsc= tasa de producción (inyección) del componente de gas.

Para completar la descripción de flujo se tiene:

Sg+So=1 [ 3 ] y Pcgo=Pg−Po=f (S g) [ 4 ]El modelo de flujo petróleo gas consiste en estas 4 ecuaciones con 4 incognitas: Sg, So , Pg , Po.Reorganizando las ecuaciones 3 y 4, se tiene:

∂∂ x (βc AxK x

K ro

μo Bo (∂Po∂ x

−γ o∂Z∂ x ))∆ x+ ∂

∂ y (βc A yK y

K ro

μoBo (∂ Po∂ y

−γo∂Z∂ y ))∆ y+ ∂

∂z (βc A z K z

K ro

μoBo (∂ Po∂z

−γo∂Z∂ z ))∆ z=V b

α c

∂∂t

¿

∂∂ x (βc AxK x

K rg

μgBg (∂ Po∂ x

+∂Pcgo∂x

−γ g∂ Z∂ x )+βc Ax K x

K roR sμoBo ( ∂Po∂ x

−γ o∂Z∂ x ))∆ x+ ∂

∂ y (βc A yK y

K rg

μgBg (∂Po∂ y

+∂ Pcgo∂ y

−γ g∂Z∂ y )+βc A yK y

K roRsμo Bo ( ∂Po∂ y

−γ o∂ Z∂ y ))∆ y+ ∂

∂ z ( βc A zK z

K rg

μgBg (∂ Po∂z

+∂Pcgo∂ z

−γ g∂ Z∂z )+βc A zK z

K roRsμoBo ( ∂Po∂ z

−γ o∂ Z∂z ))∆ z=V b

αc

∂∂ t

¿

qgsc=q fgsc+R sqosc[ 5 ] y [ 6 ] Se pueden solucionar con condiciones iniciales y de frontera para las incognitas

Sg, So , Pg , Po. Se pueden obtener sustituyendo en las ecuaciones [ 3 ] y [ 4 ].

Flujo multifasico en dos dimensiones: Fluidos Petróleo y gas I) Expansión de la ecuación que rige el sistema 1) expansión de la ecuación asociada al aceite.

∂∂ x ( βc AxK xK ro

μoBo ( ∂ Po∂ x−γo

∂Z∂x ))∆ x+ ∂

∂ y ( βc A y K yK ro

μoBo ( ∂Po∂ y−γ o

∂Z∂ y ))∆ y+qocn=V b

α c

∂∂ t (ϕ SoBo )

Al expandir esta ecuación se debe pensar en las pérdidas o ganancias que se tienen por caídas gravitacionales. Para obtener una ecuación característica se debe pensar en expandir cada uno de los términos de esta manera:

1.1.a)Expansión en la dirección X:

∂∂ x ( βc AxK xK ro

μoBo ( ∂ Po∂ x ))∆ x− ∂∂ x ( βc AxK xK ro

μoBo (γ o ∂ Z∂ x ))∆ xSi el cambio en altura es cero las perdidas gravitacionales son cero.Expandiendo por diferencias finitas la derivada mas externa se transforma en:

1Δ x [( βc A xK xK ro

μoBo )i+12( ∂Po∂x )i+1

2, j , k

−( βc AxK xK ro

μoBo )i−12( ∂Po∂x )i−1

2, j , k ]∆ x−¿

1Δ x [( βc A xK xK ro

μoBo )i+12( γ o∂Z∂ x )i+ 1

2, j ,k

−( βc AxK xK ro

μoBo )i−12( γ o∂Z∂ x )i−1

2, j , k ]∆ x

Las derivadas internas tienen la misma solución

[( βc AxK xK ro

μo Bo∆ x )i+12

(Poi+1, j , k−Poi , j , k)−( βc Ax K x K ro

μoBo∆ x )i−12

(Poi , j ,k−Poi−1, j , k )]−¿

[( βc AxK xK ro

μo Bo∆ x )i+12

γ o (Z i+ 1, j , k−Zi , j , k )−( βc Ax K x K ro

μoBo∆ x )i−12

γ o (Z i , j ,k−Z i−1 , j ,k )]Estos cambios en altura pueden determinarse usando funciones trigonométricas Se debe recordar que estas son alturas bloque a bloque, pero se debe considerar alturas totales.

Se debe sumar alturas anteriores, y encontrar una buena aproximación de esta.

[( AxK xK ro

μoBo∆ x )i+12

Poi+1 , j ,k−[( AxK xK ro

μo Bo∆ x )i+12

+( Ax K x K ro

μoBo∆ x )i−12]Poi , j ,k+( AxK xK ro

μoBo∆ x )i−12

Poi−1 , j , k ]−¿

[( AxK xK ro

μoBo∆ x )i+12

γ o (Z i+1 , j , k−Z i , j , k)+( A xK xK ro

μoBo∆ x )i−12

γ o (Z i , j , k−Z i−1 , j ,k )]+¿

[( AxK xK ro

μoBo∆ x )i+12

+( AxK xK ro

μo Bo∆ x )i−12]γ o (Z i+1 , j ,k−Z i−1 , j ,k )

Al agrupar los términos de transmisibilidad en i + ½ e i - ½

[( AxK xK ro

μoBo∆ x )i+12

(Poi+1, j , k−γo (Zi+1 , j , k−Z i , j , k ))+( Ax K x K ro

μoBo∆x )i−12

(Poi−1 , j ,k−γ o (Z i , j ,k−Z i−1 , j ,k )) ]−¿

[( AxK xK ro

μoBo∆ x )i+12

+( AxK xK ro

μo Bo∆ x )i−12](Poi , j ,k−γ o (Z i+1 , j , k−Z i−1 , j ,k ))

1.1.b) Definiciones de transmisibilidad

Txoili+1

2

=( AxK roK x

μo Bo∆ x )i+12

Txoili−1

2

=( A x K x K ro

μoBo∆x )i−12

Expansión de las transmisibilidades para bloque centrado:

Txoi+1

2

=( 2∗0.001127 A xi+1K xi+1K roi+1 A xi K xi K roi

μoi+1Boi+1∆ x i+1 AxiK xi K roi+μoiBoi∆ x i Axi+1 K xi+1K roi+1)

Txoi−1

2

=( 2∗0.001127 A xi−1K xi−1 K roi−1 A xi K xi K roi

μoi−1Boi−1∆ x i−1 Axi K xi K roi+μoi Boi∆ x i A xi−1K xi−1 K roi−1)

Expansión en la dirección X términos de las transmisibilidades:

[Txo i+12(Poi+1, j , k−γ o (Z i+1 , j , k−Z i , j , k ))+Txo

i−12(Poi−1 , j , k−γ o (Z i , j ,k−Z i−1 , j ,k )) ]−¿

[Txo i+ 12

+Txoi−

12 ](Poi , j , k−γo (Z i+1 , j ,k−Z i−1 , j , k ))

1.2.a) Expansión en la dirección Y

∂∂ y ( A yK y K ro

μoBo ( ∂P∂ y −γ o∂Z∂ y ))∆ y

Siguiendo el mismo procedimiento

[( Ay K y K ro

μo Bo∆ y ) j+12

(Poi , j+1 , k−γo (Zi , j+1 ,k−Z i , j , k ))+( A y K yK ro

μoBo∆ y ) j−12

(Poi , j−1 , k−γ o (Z i , j ,k−Z i , j−1 ,k )) ]−¿

[( Ay K y K ro

μo Bo∆ y ) j+12

+( A yK y K ro

μoBo∆ y )j−12] (Poi , j ,k−γ o (Z i , j+1 , k−Zi , j−1 ,k ) )

1.2.b) Definiciones de transmisibilidad.

Tyoj+1

2

=( A yK yK ro

∆ y μoBo )j+12

Tyoj−1

2

=( Ay K y K ro

∆ y μo Bo ) j−12

Expansión de las transmisibilidades para bloque centrado:

Tyoj+1

2

=( 2∗0.001127 A y j+1K y j−1 K ro j+1 A y j K y jK ro j

μo j+1Bo j+1∆ y j+1 A y jK y j K ro j+μo jBo j∆ y j A y j+1 K y j+1K roj+1)

Tyoj−1

2

=( 2∗0.001127 A y j−1K y j−1 K ro j−1 A y jK y jK roj

μo j−1Bo j−1∆ y j−1 A y jK y jK roj+μo jBo j∆ y j A y j−1K y j−1K ro j−1)

Expansión en la dirección Y en términos de las transmisibilidades:

[Tyo j+12

(Poi , j+1 ,k−γo (Z i . j+1 ,k−Z i , j ,k ))+Tyoj−1

2(Poi , j−1 ,k−γ o (Z i , j ,k−Z i , j−1 , k ))]−¿

[Tyo j+12

+Tyoj−

12] (Poi , j , k−γ o (Z i , j+1 , k−Z i , j−1 , k ))

1.3.a) Expansión en la dirección Z

∂∂ z ( A zK z K ro

μoBo ( ∂P∂z −γ o∂Z∂z ))∆ z

Siguiendo el mismo procedimiento

[( A zK z K ro

μoBo∆ z )k+12

(Poi , j ,k +1−γ o (Z i , j , k+1−Z i , j , k ))+( A z K zK ro

μoBo∆ z )k−12

(Poi , j , k−1−γ o (Z i , j ,k−Z i , j ,k−1 )) ]−¿

[( A zK z K ro

μoBo∆ z )k+12

+( A z K z K ro

μo Bo∆ z )k−12](Poi , j ,k−γ o (Z i , j ,k +1−Z i , j , k−1 ))

1.3.b) Definiciones de transmisibilidad.

Tzok+1

2

=( A z K zK ro

μoBo∆ z )k +12

Tzok−1

2

=( A zK z K ro

μoBo∆ z )k−12

Expansión de las transmisibilidades para bloque centrado

Tzok+1

2

=( 2∗0.001127 A zk +1K zk−1K rok +1 A zk K z kK rok

μok+1Bok+1∆ zk+1 A zkK zk K rok+μokBok∆ zk zk+1K zk+1 K rok +1)

Tzok−1

2

=( 2∗0.001127 A zk−1K zk−1K rok−1 A zk k zkK rok

μok−1Bok−1∆zk−1 A zkK zkK rok+μokBok∆zk A zk−1K zk−1 K rok−1)

Expansión en la dirección Z en términos de las transmisibilidades:

[Tzok+12

(Poi , j , k+1−γo (Z i . j , k+1−Z i , j ,k ))+Tzok−1

2(Poi , j ,k−1−γ o (Z i , j ,k−Z i , j , k−1 ))]−¿

[Tzok+12

+Tzok−

12 ] (Poi , j , k−γ o (Z i , j , k+1−Z i , j , k−1 ))

1.3.a) expansión del término que depende del tiempo

Vb∆ t

∂∂t (ϕ SoBo )= [ 7 ]

[ 8 ]

[ 9 ]

[ 10 ]

Al reemplazando la ecuación (8), (9) y (10) en la ecuación (7) se obtiene:

O bien,

1.3.b) Definición de las constantes

;

;

Uniendo las expansiones en términos de las transmisibilidades para las coordenadas X,Y,Z y para el tiempo correspondientes al aceite .

[Txo i+12(Poi+1, j , k−γ o (Z i+1−Z i ))+Txoi−1

2(Poi−1 , j , k−γo (Z i−Z i−1 )) ]−¿

[Txo i+12

+Txoi−1

2 ](Poi , j , k−γo (Z i+1 , j ,k−Z i−1 , j , k ))+[Tyo j+12(Poi , j+1 ,k−γo (Z i , j+1 ,k−Z i , j ,k ))+Tyo

j−12

(Poi , j−1 ,k−γ o (Z i , j ,k−Z i , j−1, k ))]−¿

[Tyo j+12

+Tyoj−1

2] (Poi , j , k−γ o (Z i , j+1 , k−Z i , j−1 , k ))+[Tzok+12(Poi , j ,k +1−γ o (Z i . j , k+1−Z i , j , k ))+Tzo

k−12(Poi , j ,k−1−γo (Zi , j , k−Zi , j , k−1) )]−¿

[Tzok+12

+Tzok−

12 ] (Poi , j , k−γ o (Z i , j , k+1−Z i , j , k−1 ))=C 10 Δt (Po )+C 11Δt (S0 )+qosc

2) Expansión de la ecuación asociada al gas.

∂∂ x [ AxK xK rg

μgBg ( ∂Pg∂x−γ g

∂Z∂x )+ A xK xK roR s

μoBo ( ∂ Po∂ x−γ o

∂Z∂ x )]∆ x+¿

∂∂ y ( A yK y K rg

μgBg ( ∂Pg∂ y−γg

∂Z∂ y )+ A y K yK roRs

μoBo ( ∂Po∂ y−γ o

∂ Z∂ y ))∆ y

+∂∂ z ( A z K zK rg

μgBg ( ∂Pg∂ z−γ g

∂Z∂ z )+ A z K zK roR s

μoBo ( ∂Po∂ z−γ o

∂Z∂z ))=V b

αc

∂∂ t ( ϕSgBo +

ϕ R sSoBo )+qgcn

Relaciones adicionales

So+Sg=1

Pcog=Pg−PoPcog se denomina presión capilar entre el petróleo y el gas.2.1.a) Expansión de la ecuación en la dirección X :

∂∂ x [ AxK xK rg

μgBg ( ∂Po∂ x+∂ Pcog∂ x

−γ g∂Z∂x )+ A xK xK roR s

μoBo ( ∂ Po∂ x−γo

∂Z∂ x )]∆ x

Agrupando términos semejantes

1∆ x [ A xK xK rg

μg Bg ( ∂ Po∂ x )+ A xK xK roR sμoBo ( ∂ Po∂ x )+ AxK xK rg

μgBg ( ∂ Pcog∂x )− Ax K x K rg

μgBgγ g∂ Z∂ x

−AxK xK roR sμoBo

γ o∂ Z∂ x ]∆ x

( A xK xK rg

μgBg∆ x )i+12

(Poi+1 , j , k−Poi , j ,k )−( AxK xK rg

μgBg∆ x )i−12

(Poi , j , k−Poi−1 , j ,k )+( Ax K x K roRsμo Bo∆ x )i+1

2

(Poi+1 , j ,k−Poi , j ,k )−¿

( A xK xK roRs

μoBo∆ x )i−12

(Poi , j ,k−Poi−1 , j , k )+( AxK xK rg

μgBg∆x )i+12

(Pcogi+1 , j , k−Pcogi , j , k )−( AxK xK rg

μgBg∆ x )i−12

(Pcogi , j ,k−P cogi−1, j , k )−¿

( A xK xK rg

μgBg∆ x )i+12

γ g (Z i+1, j , k−Zi , j , k )+( AxK xK rg

μg Bg∆ x )i−12

γ g (Z i , j ,k−Z i−1, j , k )−( Ax K x K ro

μoBo∆ x )i+12

R s γo (Z i+1 , j ,k−Z i , j ,k )+¿

( A xK xK ro

μoBo∆ x )i−12

R s γo (Zi , j , k−Zi−1 , j ,k )

2.1.b) definición de transmisibilidades

Txgi+1

2

=( AxK xK rg

μg Bg∆ x )i+12

T xgi−1

2

=( Ax K x K rg

μgBg∆ x )i−12

Expansión de las transmisibilidades para bloque centrado:

Txgi+1

2

=( 2∗0.001127 Axi+1K xi+1 K rgi+1 AxiK xiK rgi

μgi+1Bgi+1∆ x i+1 AxiK xiK rgi+μgiBgi∆ x i Axi+1K xi+1 K rgi+1)

Txgi−1

2

=( 2∗0.001127 Axi−1 K xi−1K rgi−1 AxiK xiK rgi

μgi−1Bgi−1∆ x i−1 AxiK xiK rgi+μgiBgi∆ x i Axi−1K xi−1 K rgi−1)

Expansión en la dirección X en términos de las transmisibilidades:

(Txgi+12

+R sTxoi+12)Poi+1 , j ,k−(Txgi+1

2

+Txgi−1

2

+R sTxo i+12

+R sTxoi−12)Poi , j , k+¿

(Txgi−12

+R sTxoi−12)Poi−1, j , k+Txgi+1

2

Pcogi+1 , j , k−(Txgi+12

−Txgi−1

2)Pcogi , j ,k+Txgi−12

Pcogi−1, j , k−¿

(γ gTxgi+12

+γo RsTxoi+12)Z i+1 , j ,k+(γ gTxg i+1

2

+γ gTxgi−12

+γ oR sTxoi+12

+γ o RsTxoi−12)Z i+1 , j , k−¿

(γ gTxgi−12

+γ oR sTxo i−12)Z i−1 , j , k

2.2.a) Expansión de la ecuación en la dirección Y.

∂∂ y [ A y K yK rg

μgBg ( ∂Po∂ y+∂Pcog∂ y

−γ g∂Z∂ y )+ A yK yK roR s

μoBo ( ∂ Po∂ y−γ o

∂Z∂ y )]∆ y

1∆ y [ A yK y K rg

μgBg ( ∂Po∂ y )+ A y K yK roR sμoBo ( ∂Po∂ y )+ A yK yK rg

μgBg ( ∂ Pcog∂ y )− A yK yK rg

μgBgγ g∂Z∂ y

−A yK yK roR sμoBo

γ o∂ Z∂ y ]∆ y

( A y K yK rg

μgBg∆ y ) j+12

(Poi , j+1 , k−Poi , j ,k )−( Ay K y K rg

μg Bg∆ y ) j−12

(Poi, j , k−Poi , j−1 ,k )+( A y K yK roR sμoBo∆ y ) j+1

2

(Poi , j+1 ,k−Poi , j ,k )−¿

( A y K yK roRs

μoBo∆ y ) j−12

(Poi , j ,k−Poi , j−1 ,k )+( A yK yK rg

μgBg∆ y )j+12

(Pcogi , j+1, k−Pcogi , j , k )−( A yK yK rg

μgBg∆ y )j−12

(Pcogi , j ,k−Pcogi , j−1 , k )−¿

( A y K yK rg

μgBg∆ y ) j+12

γ g (Z i , j+1 , k−Zi , j ,k )+( A yK yK rg

μgBg∆ y )j−12

γ g (Z i , j ,k−Z i , j−1 ,k )−( Ay K y K ro

μoBo∆ x ) j+12

R s γ o (Z i , j+1 , k−Z i , j , k )+¿

( A y K yK ro

μoBo∆ y ) j−12

R s γo (Zi , j , k−Zi , j−1 ,k )

2.2.b) definición de transmisibilidades

Tygi+ 1

2

=( Ay K y K rg

μg Bg∆ y ) j+12

Tygi−1

2

=( Ay K y K rg

μg Bg∆ y ) j−12

Expansión de las transmisibilidades para bloque centrado:

Tygj+1

2

=( 2∗0.001127 A y j+1K y j−1K rg j+1 A y jK y j K rg j

μg j+1Bg j+1∆ y j+1 A y j K y jK rg j+μg jBg j∆ y j A y j+1K y j+1K rgj+1)

Tygj−1

2

=( 2∗0.001127 A y j−1K y j−1K ro j−1 A y j K y j K ro j

μg j−1Bg j−1∆ y j−1 A y j K y j K rg j+μg jBg j∆ y j A y j−1K y j−1K rg j−1)

Expansión en la dirección Y en términos de las transmisibilidades:

(Tyg j+12

+R sTyo j+12)Poi , j+1, k−(Tyg j+1

2

+Tygj−1

2

+R sTyo j+12

+R sTyo j−12)Poi , j ,k+¿

(Tyg j−12

+RsTyo j−12)Poi , j−1 ,k+Tyg j+1

2

Pcogi , j+1 , k−(Tyg j+12

−Tygj−1

2)Pcogi , j , k+Tyg j−12

Pcogi , j−1 , k−¿

(γ gTyg j+12

+γ oR sTyo j+12 )Z i , j+1, k+( γgTyg j+1

2

+γ gTyg j−12

+γo RsTyo j+12

+γ oR sTyo j−12)Z i , j ,k−¿

(γ gTyg j−12

+γ oR sTyo j−12 )Z i , j−1 ,k

2.3.a) Expansión de la ecuación en la dirección Z.

∂∂Z [ A z K z K rg

μgBg ( ∂ Po∂ z+∂Pcog∂ z

−γ g∂ Z∂z )+ A z K z K roR s

μoBo ( ∂ Po∂ z −γo∂Z∂ z )]∆ Z

1∆ z [ A zK z K rg

μgBg ( ∂Po∂ z )+ A zK z K roRsμo Bo ( ∂Po∂ z )+ A z K z K rg

μgBg ( ∂P cog∂ z )− A zK z K rg

μgBgγ g∂ Z∂z

−A z K z K roR sμoBo

γ o∂ Z∂z ]∆ z

( A zK z K rg

μgBg∆ z )k+12

(Poi , j ,k+1−Poi , j ,k )−( A zK z K rg

μgBg∆ z )k−12

(Poi , j , k−Poi , j ,k−1 )+( A z K zK roRsμo Bo∆ z )k+1

2

(Poi , j , k+1−Poi , j ,k )−¿

( A zK z K roRs

μo Bo∆ z )k−12

(Poi , j ,k−Poi , j ,k−1 )+( A z K zK rg

μg Bg∆ z )k+ 12

(Pcogi , j , k+1−Pcogi , j , k )−( A z K zK rg

μgBg ∆z )k−12

(Pcogi , j ,k−Pcogi , j , k−1 )−¿

( A zK z K rg

μgBg∆ z )k+12

γ g (Z i , j ,k +1−Zi , j , k )+( A zK z K rg

μgBg∆ z )k−12

γ g (Z i , j , k−Z i , j , k−1 )−( A yK yK roR sμoBo∆ z )k+ 1

2

γ o (Z i , j , k+1−Z i , j , k )+¿

( A zK z K rgRsμoBo∆ z )k−1

2

γ o (Zi , j , k−Z i , j , k−1)

2.3.b) definición de transmisibilidades

Tzgk+1

2

=( A z K zK rg

μgBg∆z )k +12

Tzgi−1

2

=( A zK z K rg

μgBg∆ z )k−12

Expansión de las transmisibilidades para bloque centrado:

Tzgk+1

2

=( 2∗0.001127 A zk+1 K z k−1K rgk+1 A z kK zk K rgk

μgk+1Bgk +1∆ zk+1 A z kK zkK rgk+μgkBgk∆ zk zk+1K zk+1K rgk +1)

Tzgk−1

2

=( 2∗0.001127 A zk−1 K z k−1 K rgk−1 A zkk zkK rgk

μgk−1Bgk−1∆ zk−1 A zkK zkK rgk+μgkBgk∆zk A zk−1K zk−1K rgk−1)

Expansión en la dirección Z en términos de las transmisibilidades:

(Tzgk +12

+R sTzok+12)Poi , j , k+1−(Tzgk+1

2

+Tzgk−1

2

+R sTzok+12

+R sTzok−12)Poi , j , k+¿

(Tzgk−12

+RsTzok−12 )Poi , j , k−1+Tzgk+1

2

Pcogi , j ,k+1−(Tzgk+12

−Tzgk−1

2)Pcogi , j , k+Tzgk−12

Pcogi , j , k−1−¿

(γ gTzgk +12

+γ oR sTzok+12 )Z i , j , k+1+(γ gTzgk+1

2

+γ gTzgk−12

+γ o RsTzok +12

+γ oR sTzok−12)Z i , j ,k−¿

(γ gTzgk−12

+γ oR sTzok−12 )Z i , j , k−1

2.4.a) Expansión del término que depende del tiempo.

V b

α c

∂∂ t ( ϕ SgBo +

ϕ Rs SoBo )

[ 11]

[ 12 ]

[ 13 ]

Al llevar [ 12 ] y [ 13 ] ala ecuación [11 ] se tiene :

Definición de constantes

C20=Son [∅ n+1 (boR s ) +(boR s )

n∅ bC r ]+Sgn [∅ n+1b g+bgn∅ bCr ]

;

;

;

Uniendo las expansiones en términos de las transmisibilidades para las coordenadas X,Y,Z y para el tiempo correspondientes al gas. Los efectos gravitacionales son cero.

(Txgi+12

+R sTxoi+12)Poi+1 , j ,k−(Txgi+1

2

+Txgi−1

2

+R sTxo i+12

+R sTxoi−12)Poi , j , k+¿

(Txgi−12

+R sTxoi−12)Poi−1, j , k+Txgi+1

2

Pc ogi+1 , j ,k−(Txg i+12

−Txgi−1

2)Pcogi , j , k+Txg i−12

Pcogi−1 , j ,k

+(Tyg j+12

+R sTyo j+12)Poi , j+1, k−(Tyg j+1

2

+Tygj−1

2

+R sTyo j+12

+R sTyo j−12)Poi , j ,k+¿

(Tyg j−12

+RsTyo j−12)Poi , j−1 ,k+Tyg j+1

2

Pco gi , j+1 ,k−(Tyg j+12

−Tygj−1

2 )Pcogi , j ,k+Tyg j−12

Pcogi , j−1 ,k−¿

(Tzgk +12

+R sTzok+12)Poi , j , k+1−(Tzgk+1

2

+Tzgk−1

2

+R sTzok+12

+R sTzok−12)Poi , j , k+¿

(Tzgk−12

+RsTzok−12 )Poi , j , k−1+Tzgk+1

2

Pcogi , j ,k+1−(Tzgk+12

−Tzgk−1

2)Pcogi , j , k+Tzgk−12

Pcogi , j , k−1

¿C 20Δ (Po )+C 21Δ (So )+C 22∆ t Pcog+qgsc−Vb∆ t ( ϕBo )

n+1

R sn+1

Al unir las expresiones del aceite y el gas, y agrupando términos semejantes nos queda:

(Tyg j−12

+RsTyo j−12

+Tyoj−1

2)Poi , j−1 , k+(Txgi−12

+RsTxoi−12

+Txoi−1

2)Poi−1, j , k−¿

(Tyg j+12

+Tygj−1

2

+RsTyo j+12

+R sTyo j−12

+Txgi+1

2

+Txgi−1

2

+R sTxo i+12

+RsTxoi−12

+Tyoj+1

2

+Tyoj−1

2

+Txoi+1

2

+Txoi−1

2

+Tzok +1

2

+Tzok−1

2

+Tzgk +1

2

+Tzgk−1

2

+RsTzok+12

+RsTzok−12 )Poi , j ,k+(Txg i+1

2

+RsTxoi+12

+Txoi+1

2 )Poi+1 , j , k

(Tyg j+12

+R sTyo j+12

+Tyoj+1

2 )Poi , j+1 , k+Tyg j−12

Pcogi , j−1 , k+Txgi−12

Pcogi−1 , j , k

−(Txg i+12

+Txgi−

12

+Tygj+

12

−Tygj−

12

−Tzgk+

12

+Tzgk−

12)Pcogi , j , k+Txgi+1

2

Pcogi+1 , j , k+Tygj+

12

Pcogi , j+1 , k+(Tzgk +12

+R sTzok +

12

+Tzok+

12 )Poi , j ,k +1+(Tzgk−1

2

+R sTzok−

12

+Tzok−

12)Poi , j ,k−1+Tzg

k +12

Pcogi , j , k+1+Tzgk−

12

Pcogi , j ,k−1=qosc+qgSC+C 10Δt (Po )+C 11 Δt (So )+C 20Δt (Po )+C 21 Δt (S0 )+C 22Δt (Pcog ) −Vb∆ t ( ϕBo )

n+1

R sn+1

Llevamos esta ecuación general en términos de los Esténcils:

Si , j ,k Poi , j−1 ,k+W i , j , kPoi−1 , j ,k+C i , j , kPoi , j , k+Ei , j ,k Poi+1, j , k+

N i , j ,k Poi , j+1 , k+A i , j ,k Poi , j ,k +1+ABi , j ,k Poi , j ,k−1=

qosc+qgSC+C 10Δt (Po )+C 11Δt (So )+C 20 Δt (Po )+C 21 Δt (S0 )+C 22 Δt (Pcog )+capilar −Vb∆ t ( ϕBo )

n+1

R sn+1

METODO IMPIS (implicite pressure implicite saturation)

Métodos Secuenciales

El método calcula simultáneamente las presiones para las fases. Considera la saturación implícita Se aplica a fluidos incompresibles (flujo petróleo y gas) Requiere resolver a cada tiempo (iteración) un sistema de 2N ecuaciones (N=#de bloques)

i) Sistema de ecuaciones

Transmisibilidades

Txoi+1

2

=( 2∗0.001127 A xi+1K xi+1K roi+1 A xi K xi K roi

μoi+1Boi+1∆ x i+1 AxiK xi K roi+μoiBoi∆ x i Axi+1 K xi+1K roi+1)

Txoi−1

2

=( 2∗0.001127 A xi−1K xi−1 K roi−1 A xi K xi K roi

μoi−1Boi−1∆ x i−1 Axi K xi K roi+μoi Boi∆ x i A xi−1K xi−1 K roi−1)

Tyoj+1

2

=( 2∗0.001127 A y j+1K y j−1 K ro j+1 A y j K y jK ro j

μo j+1Bo j+1∆ y j+1 A y jK y j K ro j+μo jBo j∆ y j A y j+1 K y j+1K roj+1)

Tyoj−1

2

=( 2∗0.001127 A y j−1K y j−1 K ro j−1 A y jK y jK roj

μo j−1Bo j−1∆ y j−1 A y jK y jK roj+μo jBo j∆ y j A y j−1K y j−1K ro j−1)

Tzok+1

2

=( 2∗0.001127 A zk +1K zk−1K rok +1 A zk K z kK rok

μok+1Bok+1∆ zk+1 A zkK zk K rok+μokBok∆ zk zk+1K zk+1 K rok +1)

Tzok−1

2

=( 2∗0.001127 A zk−1K zk−1K rok−1 A zk k zkK rok

μok−1Bok−1∆zk−1 A zkK zkK rok+μokBok∆zk A zk−1K zk−1 K rok−1)

Txgi+1

2

=( 2∗0.001127 Axi+1K xi+1 K rgi+1 AxiK xiK rgi

μgi+1Bgi+1∆ x i+1 AxiK xiK rgi+μgiBgi∆ x i Axi+1K xi+1 K rgi+1)

Txgi−1

2

=( 2∗0.001127 Axi−1 K xi−1K rgi−1 AxiK xiK rgi

μgi−1Bgi−1∆ x i−1 AxiK xiK rgi+μgiBgi∆ x i Axi−1K xi−1 K rgi−1)

Tygj+1

2

=( 2∗0.001127 A y j+1K y j−1K rg j+1 A y jK y j K rg j

μg j+1Bg j+1∆ y j+1 A y j K y jK rg j+μg jBg j∆ y j A y j+1K y j+1K rgj+1)

Tygj−1

2

=( 2∗0.001127 A y j−1K y j−1K ro j−1 A y j K y j K ro j

μg j−1Bg j−1∆ y j−1 A y j K y j K rg j+μg jBg j∆ y j A y j−1K y j−1K rg j−1)

Tzgk+1

2

=( 2∗0.001127 A zk+1 K z k−1K rgk+1 A z kK zk K rgk

μgk+1Bgk +1∆ zk+1 A z kK zkK rgk+μgkBgk∆ zk zk+1K zk+1K rgk +1)

Tzgk−1

2

=( 2∗0.001127 A zk−1 K z k−1 K rgk−1 A zkk zkK rgk

μgk−1Bgk−1∆ zk−1 A zkK zkK rgk+μgkBgk∆zk A zk−1K zk−1K rgk−1)

Txoi+1

2

=( 2∗0.001127 A xi+1K xi+1K roi+1 A xi K xi K roi

μoi+1Boi+1∆ x i+1 AxiK xi K roi+μoiBoi∆ x i Axi+1 K xi+1K roi+1)Rs i , j , k

Txoi−1

2

=( 2∗0.001127 A xi−1K xi−1 K roi−1 A xi K xi K roi

μoi−1Boi−1∆ x i−1 Axi K xi K roi+μoi Boi∆ x i A xi−1K xi−1 K roi−1)Rsi , j ,k

Tyoj+1

2

=( 2∗0.001127 A y j+1K y j−1 K ro j+1 A y j K y jK ro j

μo j+1Bo j+1∆ y j+1 A y jK y j K ro j+μo jBo j∆ y j A y j+1 K y j+1K roj+1)Rs i , j , k

Tyoj−1

2

=( 2∗0.001127 A y j−1K y j−1 K ro j−1 A y jK y jK roj

μo j−1Bo j−1∆ y j−1 A y jK y jK roj+μo jBo j∆ y j A y j−1K y j−1K ro j−1)Rsi , j ,k

Tzok+1

2

=( 2∗0.001127 A zk +1K zk−1K rok +1 A zk K z kK rok

μok+1Bok+1∆ zk+1 A zkK zk K rok+μokBok∆ zk zk+1K zk+1 K rok +1)Rs i , j , k

Tzok−1

2

=( 2∗0.001127 A zk−1K zk−1K rok−1 A zk k zkK rok

μok−1Bok−1∆zk−1 A zkK zkK rok+μokBok∆zk A zk−1K zk−1 K rok−1)Rsi , j ,k

En diferencias finitas:

∆ (T o∆ Po )=qosc+V b

∆ t∆ t (∅ Sobo )

∆ (T o∆ Pg+Rs∆T o∆ Po )=qgsc+V b

∆ t∆ t [∅ gSgbg+R sboSo∅ ]

Como ya se demostró anteriormente, se tiene:

∆ (T o∆ Po )=qosc+C 10∆ t Po+C 11∆ t So

∆ (T o∆ Pg+Rs∆T o∆ Po )=qgsc+C 20∆t Po+C 21∆ t So+C 22∆ t Pcog

Paso 1: Expresar ecuaciones en términos de la presión de una de las fases.

∆ (T o∆ Po )=qosc+C 10∆ t Po+C 11∆ t So

∆ (T g∆Po )+∆ (T g ∆Pcog )+∆ (T o Rs∆ Po )=qgsc+C 20∆ t Po+C 21∆ t So+C 22∆ t Pcog

Paso 2: Eliminar Saturaciones.

Sumando las ecuaciones anteriores y multiplicando por (a=−C 21

C 11

) queda:

a ∆ (To ∆Po )+∆ (T g∆ Po )+∆ (T g∆ Pcog )+∆ (T oR s∆ Po )=aqosc+qgsc+(aC 10+C 20 )∆ t Po+C 22∆ t Pc−Vb∆ t ( ϕBo )

n+1

R sn+1

Definiendo

T=aT o+T oR s+T g=(a+R s )T o+T g

C=aC 10+C 20+C 22

D=C 22

q=a qosc+qgsc

Llevando estas tres últimas ecuaciones a la ecuación, se tiene:

∆ (T ∆ Po )+∆ (T g∆ Pc og )−q=C∆ t Po+D∆t Pcog−Vb∆ t ( ϕBo )

n+1

R sn+1

Esta ecuación es aplicada a todos los bloques de la malla del sistema de ecuaciones a resolver en el cual las incógnitas son, en este caso, las presiones en los bloques de la fase petróleo

Para resolver el sistema de ecuaciones las saturaciones se toman al tiempo tn; o sea que el sistema de ecuaciones se puede representar como

∆ (T ∆ Po )n+1+∆ (T g∆ Pcog )n−qn=(C ∆ t Po )+ (D∆t Pcog ) −Vb∆ t ( ϕBo )

n+1

R sn+1

Expansión de la ecuación anterior es la siguiente:

( (a+R s )i−1 , j ,kn

T xo,i−1 /2n +T xg ,i−1/2

n )Poi−1, j,k

n+1 +( (a+R s )i , j−1 ,kn

T yo, j−1/2n +T yg , j−1 /2

n )Poi, j−1 ,k

n+1 +((a+R s )i , j ,k−1n

T zo, k−1/2n +T zg ,k−1 /2

n )Poi , j ,k−1

n+1 −[( (a+R s )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+R s )i+1 , j , kn

T xo,i+1/2n +T xg,i+1/2

n )+((a+R s )i , j−1, kn

T yo , j−1 /2n +T yg, j−1 /2

n )+( (a+R s )i , j+1 , kn

T yo , j+1/2n +T yg , j+1 /2

n )+( (a+R s )i , j ,k−1n

T zo ,k−1 /2n +T zg , k−1 /2

n )+((a+Rs ) i , j , k+1n

T zo ,k +1/2n +T zg, k+1 /2

n )+Ci , j , kn ]Poi, j, kn+1

+

( (a+R s )i+1 , j , k

nT x o , i+1/2n +T xg, i+1 /2

n )Poi+1, j ,k

n+1 +( (a+Rs )i , j+1 ,k

nT yo , j+1 /2n +T yg, j+1 /2

n )Poi , j+1 ,k

n+1 +((a+R s )i , j ,k+1

nT zo ,k +1/2n +T zg ,k+1/2

n )Poi, j,k +1

n+1 =(aqoscn +qgscn )−T xg ,i−1/2

n Pcogi−1 , j ,k

n −T yg , j−1 /2n Pcogi, j−1, j ,k

n −T zg ,k−1 /2n Pcogi, j ,k−1

n +(T xg, i−1 /2n +T yg , j−1 /2

n +T zg , k−1 /2n +T xg ,i+1/2

n +T yg , j+1/2n +T zg ,k+1/2

n +Di , j , kn )Pcogi, j, k

n −T xg, i+1 /2n Pcogi+1 , j,k

n −T yg , j+1 /2n Pcogi, j+1,k

n −T zg ,k+1/2n Pcogi , j ,k+1

n −Vb∆ t ( ϕBo )

n+1

R sn+1

Ecuación del sistema por el método IMPIS, al expandir implícitamente sobre la presión encontramos un sistema heptadiagonal:

Si , j ,k Poi , j−1 ,k

n+1+W i , j , kPoi−1, j ,k

n+1+C i , j , kPoi, j,k

n+1 +E i , j , kPoi+1 , j,k

n+1+

N i , j ,k Poi , j+1 ,k

n+1 +A i , j ,k Poi, j ,k+1

n+1 +ABi , j ,k Poi, j ,k−1

n+1 =Fi , j , k

Donde:

S= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )W=( (a+R s )i−1 , j ,k

n T xo,i−1 /2n +T xg ,i−1/2

n )C=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i+1 , j ,kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j−1 ,kn

T yo , j−1 /2n +T yg , j−1 /2

n )+( (a+Rs )i , j+1, kn

T yo , j+1/2n +T yg, j+1 /2

n )+( (a+Rs )i , j , k−1n

T zo ,k−1 /2n +T zg , k−1/2

n )+((a+R s )i , j , k+1n

T zo ,k +1/2n +T zg ,k+1/2

n )+Ci , j , kn ]E= ( (a+R s )i+1 , j , k

n T xo ,i+1 /2n +T xg ,i+1 /2

n )N= ( (a+R s )i , j+1 , k

n T yo, j+1/2n +T yg , j+1/2

n )A = ( (a+R s )i , j ,k +1

n T zo , k+1 /2n +T zg ,k +1/2

n ) AB = ( (a+R s )i , j ,k−1

n T zo ,k−1 /2n +T zg ,k−1 /2

n )F=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T yg, j−1/2n Pcogi , j−1 , j,k

n −T zg, k−1/2n Pcogi, j,k−1

n +(T xg ,i−1 /2n +T yg, j−1/2

n +T zg ,k−1 /2n +T xg, i+1 /2

n +T yg, j+1 /2n +T zg , k+1 /2

n +Di , j ,kn )Pcogi , j,k

n −T xg,i+1/2n Pcogi+1, j ,k

n −T yg, j+1/2n Pcogi , j+1 ,k

n −T zg , k+1 /2n Pcogi, j,k +1

n −Vb∆ t ( ϕBo )

n+1

R sn+1

Descripción del sistema de ecuaciones por el método LSOR

Se aplica criterio Von Newman, para el yacimiento cerrado (fronteras cerradas), recorriendo por filas, se obtiene:

W i , j , kPoi−1, j ,k

¿+C i , j , kPoi, j,k

¿ +E i , j , kPoi+1 , j,k

¿ =F i , j ,k

−Si , j , kPoi , j−1 ,k

n+1 −N i , j ,k Poi, j+1 ,k

n −Ai , j , kPoi , j ,k+1

n −ABi , j ,kPoi, j, k−1

n+1

Donde:

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Wi,j,k=( (a+R s )i−1 , j ,k

n T xo,i−1 /2n +T xg ,i−1/2

n )Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i+1 , j ,kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j−1 ,kn

T yo , j−1 /2n +T yg , j−1 /2

n )+( (a+Rs )i , j+1, kn

T yo , j+1/2n +T yg, j+1 /2

n )+( (a+Rs )i , j , k−1n

T zo ,k−1 /2n +T zg , k−1/2

n )+((a+R s )i , j , k+1n

T zo ,k +1/2n +T zg ,k+ 1/2

n )+Ci , j , kn ]Ei,j,k= ( (a+R s )i+1 , j , k

n T xo ,i+1 /2n +T xg ,i+1 /2

n )Ni,j,k= ( (a+R s )i , j+1 , k

n T yo, j+1/2n +T yg , j+1/2

n )Ai,j,k = ( (a+R s )i , j ,k +1

n T zo , k+1 /2n +T zg ,k +1/2

n ) AB = ( (a+R s )i , j ,k−1

n T zo ,k−1 /2n +T zg ,k−1 /2

n )Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T yg, j−1/2n Pcogi , j−1 , j,k

n −T zg, k−1/2n Pcogi, j,k−1

n +(T xg ,i−1 /2n +T yg, j−1/2

n +T zg ,k−1 /2n +T xg, i+1 /2

n +T yg, j+1 /2n +T zg , k+1 /2

n +Di , j ,kn )Pcogi , j,k

n −T xg,i+1/2n Pcogi+1, j ,k

n −T yg, j+1/2n Pcogi , j+1 ,k

n −T zg , k+1 /2n Pcogi, j,k +1

n −Vb∆ t ( ϕBo )

n+1

R sn+1

1. CAPAS DE L FONDO

(1,1,1):

Poi , j,k¿ =Poi−1 , j ,k

¿ =Poi, j−1 ,k

n+1 =Poi , j,k−1

n+1 →Poi , j,kn+1=Poi−1 , j ,k

n+1 =Poi, j−1 ,k

n+1 =Poi , j,k−1

n+1 →Si , j ,k=W i , j ,k=ABi , j , k=0

Ei , j , k=((a+R s )i+1 , j ,kn T xo, i+1 /2

n +T xg, i+1 /2n )

N i , j ,k=((a+Rs ) i , j+1 ,kn T yo, j+1 /2

n +T yg, j+1 /2n )

C i , j , k=((a+R s )i+1 , j , k

nTxo ,i+1

2

n +Txg ,i+1

2

n )+((a+Rs )i , j+1 ,k

nTyo , j+1

2

n +Tyg, j+1

2

n )+((a+R s )i , j , k+1

nTzo, k+1

2

n +Tzg , k+1

2

n )Ai , j , k=((a+R s )i , j , k+1

n T zo ,k +1/2n +T zg ,k+1/2

n )

F i , j , k=(aqoscn +qgscn )+(T xg, i+1 /2

n +T yg, j+1 /2n +T z g ,k +1/2

n +Di , j , kn )Pcogi, j ,k

n −T xg ,i+1 /2n Pcogi+1, j ,k

n −T yg, j+1 /2n Pcogi, j+1, k

n −T zg ,k +1/2n Pcogi , j,k+1

n −Vb∆ t ( ϕBo )

n+1

Rsn+1

(Nx,1,1):

Poi , j,k¿ =Poi+1 , j,k

¿ =Poi, j−1 ,k

n+1 =Poi, j,k−1

n+1 →Poi , j,kn+1=Poi+1 , j,k

n+1 =Poi, j−1,k

n+1 =Poi, j,k−1

n+1 →Si , j , k=Ei , j , k=ABi , j , k=0

Wi,j,k=( (a+R s )i−1 , j ,kn T xo,i−1 /2

n +T xg ,i−1/2n )

C i , j , k=( (a+R s )i−1 , j ,kn T xo,i−1 /2

n +T xg ,i−1/2n )+( (a+R s )i , j+1 , k

n T yo, j+1/2n +T yg , j+1/2

n )+( (a+R s )i , j ,k +1n T zo , k+1 /2

n +T zg ,k +1/2n )

Ni,j,k= ( (a+R s )i , j+1 , kn T yo, j+1/2

n +T yg , j+1/2n )

Ai,j,k = ((a+Rs )i , j , k+1

nTzo ,k+1

2

n +Tzg , k+1

2

n )Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n +(T xg, i−1/2n +T yg , j+1/2

n +T zg ,k +1/2n +Di , j , k

n )Pcogi, j ,kn −T yg, j+1 /2

n Pcogi, j+1, k

n −T zg ,k +1/2n Pcogi , j,k+1

n −Vb∆ t ( ϕBo )

n+1

Rsn+1

(1,Ny,1):

Poi , j,k¿ =Poi, j+1 ,k

n =Poi−1 , j,k

¿ =Poi, j,k−1

n+1 →Poi , j,kn+1=Poi, j+1,k

n+1 =Poi−1 , j,k

n+1 =Poi, j,k−1

n+1 →N i , j , k=W i , j , k=ABi , j , k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Ci,j,k=

−[( (a+Rs )i+1 , j , kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j−1 ,kn

T yo , j−1 /2n +T yg , j−1 /2

n )+( (a+Rs )i , j , k+1n

T zo ,k+1 /2n +T zg , k+1 /2

n )+C i , j ,kn ]

Ei,j,k= ( (a+R s )i+1 , j , kn T xo ,i+1 /2

n +T xg ,i+1 /2n )

Ai,j,,k = ( (a+R s )i , j ,k +1n T zo , k+1 /2

n +T zg ,k +1/2n )

Fi,j,k=

(aqoscn +qgscn )−T yg, j−1/2

n Pcogi , j−1 , j,k

n +(T yg , j−1 /2n +T xg ,i+1 /2

n +T zg , k+1 /2n +Di , j ,k

n )Pcogi , j,kn −T xg,i+1/2

n Pcogi+1, j ,k

n −T zg , k+1 /2n Pcogi, j, k+1

n −Vb∆ t ( ϕBo )

n+1

R sn+1

(Nx,Ny,1):

Poi , j,k¿ =Poi, j+1 ,k

n =Poi+1 , j,k

¿ =Poi, j,k−1

n+1 →Poi , j,kn+1=Poi, j+1,k

n+1 =Poi+1 , j,k

n+1 =Poi, j ,k−1

n+1 →N i , j , k=Ei , j , k=ABi , j , k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i , j−1 ,kn

T yo, j−1/2n +T yg, j−1/2

n )+((a+R s )i , j ,k+1n

T zo ,k +1/2n +T zg ,k +1/2

n )+Ci , j , kn ]Wi,j,k=( (a+R s )i−1 , j ,k

n T xo,i−1 /2n +T xg ,i−1/2

n )Ai,j,k = ( (a+R s )i , j ,k +1

n T zo , k+1 /2n +T zg ,k +1/2

n ) Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T yg, j−1/2n Pcogi , j−1 , j,k

n +(T xg,i−1 /2n +T yg, j−1/2

n +T zg ,k +1/2n +D i , j , k

n )Pcogi, j ,kn −T zg , k+1 /2

n Pcogi, j,k +1

n −Vb∆ t ( ϕBo )

n+1

R sn+1

( i,1,1), 1< i < Nx

Poi , j,k¿ =Poi, j−1 ,k

n+1 =Poi, j,k−1

n+1 →Poi , j,kn+1=Poi, j−1 ,k

n+1 =Poi, j,k−1

n+1 →Si , j , k=ABi , j , k=0

Ni,j,k= ( (a+R s )i , j+1 , kn T yo, j+1/2

n +T yg , j+1/2n )

Ai,j,k = ((a+Rs )i , j , k+1

nTzo ,k+1

2

n +Tzg , k+1

2

n )Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i+1 , j ,kn

T xo,i+1/2n +T xg,i+1/2

n )++( (a+R s )i , j+1 , kn

T yo, j+1/2n +T yg , j+1/2

n )++( (a+R s )i , j ,k +1n

T zo , k+1 /2n +T zg ,k +1/2

n )+C i , j ,kn ]

Ei,j,k= ( (a+R s )i+1 , j , kn T xo ,i+1 /2

n +T xg ,i+1 /2n )

Wi,j,k=( (a+R s )i−1 , j ,kn T xo,i−1 /2

n +T xg ,i−1/2n )

Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n +(T xg, i−1/2n +T xg,i+1/2

n +T yg , j+1/2n +T zg ,k +1/2

n +D i , j , kn )Pcogi, j ,k

n −T xg ,i+1 /2n Pcogi+1, j,k

n −T yg, j+1 /2n Pcogi, j+1,k

n −T zg ,k +1/2n Pcogi , j,k+1

n −Vb∆t ( ϕBo )

n+1

Rsn+1

(i,Ny,1) 1< i < Nx

Poi , j,k¿ =Poi, j+1 ,k

n =Poi, j,k−1

n+1 →Poi , j,kn+1=Poi, j+1,k

n+1 =Poi, j, k−1

n+1 →N i , j , k=ABi , j , k=0

Wi,j,k=( (a+R s )i−1 , j ,kn T xo,i−1 /2

n +T xg ,i−1/2n )

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )C=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i+1 , j ,kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j−1 ,kn

T yo , j−1 /2n +T yg , j−1 /2

n )+( (a+Rs )i , j , k+1n

T zo ,k+1 /2n +T zg , k+1 /2

n )+C i , j ,kn ]

Ai,j,k = ((a+Rs )i , j , k+1

nTzo ,k+1

2

n +Tzg , k+1

2

n )Ei,j,k= ( (a+R s )i+1 , j , k

n T xo ,i+1 /2n +T xg ,i+1 /2

n )Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T yg, j−1/2n Pcogi , j−1 , j,k

n +(T xg,i−1 /2n +T yg, j−1/2

n +T xg, i+1 /2n +T zg ,k +1/2

n +Di , j , kn )Pcogi, j ,k

n −T xg ,i+1 /2n Pcogi+1, j, k

n −T zg ,k +1/2n Pcogi , j,k+1

n −Vb∆ t ( ϕBo )

n+1

Rsn+1

(1,j,1) 1< j < Ny

Poi , j,k¿ =Poi−1 , j ,k

¿ =Poi, j,k−1

n+1 →Poi , j,kn+1=Poi−1 , j,k

n+1 =Poi, j,k−1

n+1 →W i , j , k=ABi , j , k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Ei,j,k= ( (a+R s )i+1 , j , k

n T xo ,i+1 /2n +T xg ,i+1 /2

n )Ci,j,k=

−[+( (a+Rs )i+1 , j ,kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j−1 ,kn

T yo , j−1/2n +T yg , j−1 /2

n )+( (a+Rs )i , j+1 ,kn

T yo , j+1/2n +T yg, j+1 /2

n )+( (a+Rs )i , j , k+1n

T zo ,k+1 /2n +T zg , k+1 /2

n )+C i , j ,kn ]

Ai,j,k = ((a+Rs )i , j , k+1

nTzo ,k+1

2

n +Tzg , k+1

2

n )Ni,j,k= ( (a+R s )i , j+1 , k

n T yo, j+1/2n +T yg , j+1/2

n )Fi,j,k=

(aqoscn +qgscn )−T yg, j−1/2

n Pcogi , j−1 , j,k

n +(T yg , j−1 /2n +T xg ,i+1 /2

n +T yg, j+1/2n +T zg, k+1 /2

n +Di , j , kn )Pcogi, j,k

n −T xg, i+1 /2n Pcogi+1 , j,k

n −T yg , j+1/2n Pcogi, j+1 ,k

n −T zg, k+1 /2n Pcogi, j ,k+1

n −Vb∆ t ( ϕBo )

n+1

R sn+1

(Nx,j,1) 1<j <NyPoi , j,k

¿ =Poi+1 , j,k

¿ =Poi, j,k−1

n+1 →Poi , j,kn+1=Poi+1 , j,k

n+1 =Poi, j, k−1

n+1 →E i , j , k=ABi , j ,k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Wi,j,k=( (a+R s )i−1 , j ,k

n T xo,i−1 /2n +T xg ,i−1/2

n )Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i , j−1 ,kn

T yo, j−1/2n +T yg, j−1/2

n )+((a+R s )i , j+1 ,kn

T yo, j+1 /2n +T yg, j+1/2

n )+((a+R s )i , j ,k+1n

T zo ,k +1/2n +T zg ,k+1/2

n )+Ci , j , kn ]Ni,j,k= ( (a+R s )i , j+1 , k

n T yo, j+1/2n +T yg , j+1/2

n )Ai,j,k = ( (a+R s )i , j ,k +1

n T zo , k+1 /2n +T zg ,k +1/2

n )Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T yg, j−1/2n Pcogi , j−1 , j,k

n +(T xg,i−1 /2n +T yg, j−1/2

n +T yg, j+1 /2n +T zg , k+1/2

n +Di , j ,kn )Pcogi , j ,k

n −T yg , j+1/2n Pcogi , j+1 ,k

n −T zg , k+1 /2n Pcogi, j ,k+1

n −Vb∆ t ( ϕBo )

n+1

R sn+1

(1,j,1) 1< j <Nx

Poi , j,k¿ =Poi, j,k−1

n+1 →Poi , j,kn+1=Poi, j,k−1

n+1 →ABi , j ,k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Wi,j,k=( (a+R s )i−1 , j ,k

n T xo,i−1 /2n +T xg ,i−1/2

n )Ni,j,k= ( (a+R s )i , j+1 , k

n T yo, j+1/2n +T yg , j+1/2

n )Ai,j,k = ( (a+R s )i , j ,k +1

n T zo , k+1 /2n +T zg ,k +1/2

n )Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i+1 , j ,kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j−1 ,kn

T yo , j−1 /2n +T yg , j−1 /2

n )+( (a+Rs )i , j+1, kn

T yo , j+1/2n +T yg, j+1 /2

n )+( (a+Rs )i , j , k+1n

T zo, k+1 /2n +T zg , k+1 /2

n )+C i , j ,kn ]

Ei,j,k= ( (a+R s )i+1 , j , kn T xo ,i+1 /2

n +T xg ,i+1 /2n )

Ai,j,k = ( (a+R s )i , j ,k +1n T zo , k+1 /2

n +T zg ,k +1/2n )

Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T yg, j−1/2n Pcogi , j−1 , j,k

n +(T xg,i−1 /2n +T yg, j−1/2

n +T xg, i+1 /2n +T yg, j+1 /2

n +T zg , k+1 /2n +Di , j ,k

n )Pcogi , j,kn −T xg,i+1/2

n Pcogi+1, j ,k

n −T yg, j+1/2n Pcogi , j +1 ,k

n −T zg , k+1 /2n Pcogi, j,k +1

n −Vb∆ t ( ϕBo )

n+1

R sn+1

CAPAS INTERMEDIAS. Para (1,1,k) 1<k<Nz

Poi , j,k¿ =Poi−1 , j ,k

¿ =Poi, j−1 ,k

n+1 →Poi , j,kn+1=Poi−1 , j,k

n+1 =Poi, j−1 ,k

n+1 →W i , j , k=Si , j ,k=0

ABi , j , k=( (a+R s )i , j ,k +1n T zo , k+1 /2

n +T zg ,k +1/2n )

Ci,j,k=

−[( (a+Rs )i+1 , j , kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j+1 , kn

T yo, j+1/2n +T yg , j+1/2

n )+( (a+R s )i , j ,k−1n

T zo ,k−1/2n +T zg ,k−1 /2

n )+( (a+R s )i , j , k+1n

T zo, k+1 /2n +T zg , k+1 /2

n )+C i , j ,kn ]

Ei,j,k= ( (a+R s )i+1 , j , kn T xo ,i+1 /2

n +T xg ,i+1 /2n )

Ni,j,k= ( (a+R s )i , j+1 , kn T yo, j+1/2

n +T yg , j+1/2n )

Ai,j,k = ( (a+R s )i , j ,k +1n T zo , k+1 /2

n +T zg ,k +1/2n )

Fi,j,k=

(aqoscn +qgscn )−T zg ,k−1 /2

n Pcogi, j, k−1

n +(T zg ,k−1/2n +T xg, i+1 /2

n +T yg, j+1 /2n +T zg , k+1 /2

n +Di , j ,kn )Pcogi , j,k

n −T xg,i+1/2n Pcogi+1, j ,k

n −T yg, j+1/2n Pcogi , j +1 ,k

n −T zg , k+1 /2n Pcogi, j,k +1

n −Vb∆ t ( ϕBo )

n+1

R sn+1

Para (Nx,1,k) 1<k<Nz

Poi , j,k¿ =Poi+1 , j,k

¿ =Poi, j−1 ,k

n+1 →Poi , j,kn+1=Poi+1 , j,k

n+1 =Poi, j−1,k

n+1 →E i , j , k=Si , j , k=0

Wi,j,k=( (a+R s )i−1 , j ,kn T xo,i−1 /2

n +T xg ,i−1/2n )

Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i , j+1 ,kn

T yo , j+1/2n +T yg, j+1 /2

n )+( (a+Rs )i , j , k−1n

T zo ,k−1 /2n +T zg , k−1/2

n )+((a+R s )i , j ,k+1n

T zo ,k +1/2n +T zg ,k+1/2

n )+Ci , j , kn ]Ni,j,k= ( (a+R s )i , j+1 , k

n T yo, j+1/2n +T yg , j+1/2

n )Ai,j,k = ( (a+R s )i , j ,k +1

n T zo , k+1 /2n +T zg ,k +1/2

n )

AB = ( (a+R s )i , j ,k−1n T zo ,k−1 /2

n +T zg ,k−1 /2n )

Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T zg ,k−1 /2n Pcogi, j ,k−1

n +(T xg, i−1 /2n +T zg , k−1/2

n ++T yg , j+1/2n +T zg ,k +1/2

n +D i , j , kn )Pcogi, j ,k

n −T yg, j+1 /2n Pcogi, j+1 ,k

n −T zg ,k +1/2n Pcogi, j,k+1

n −Vb∆ t ( ϕBo )

n+1

R sn+1

Para (1,Ny,k) 1<k<Nz

Poi , j,k¿ =Poi−1 , j ,k

¿ =Poi, j+1 ,k

n →Poi , j,kn+1=Poi−1 , j,k

n+1 =Poi, j+1,k

n+1 →W i , j , k=N i , j , k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Ci,j,k=

−[( (a+Rs )i+1 , j , kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j−1 ,kn

T yo , j−1 /2n +T yg , j−1 /2

n )+( (a+Rs )i , j , k−1n

T zo , k−1/2n +T zg ,k−1 /2

n )+( (a+R s )i , j ,k +1n

T zo, k+1 /2n +T zg , k+1 /2

n )+C i , j ,kn ]

Ei,j,k= ( (a+R s )i+1 , j , kn T xo ,i+1 /2

n +T xg ,i+1 /2n )

Ai,j,k = ( (a+R s )i , j ,k +1n T zo , k+1 /2

n +T zg ,k +1/2n )

AB = ( (a+R s )i , j ,k−1n T zo ,k−1 /2

n +T zg ,k−1 /2n )

Fi,j,k=

(aqoscn +qgscn )−T yg, j−1/2

n Pcogi , j−1 , j,k

n −T zg, k−1/2n Pcogi , j,k−1

n +(T yg, j−1 /2n +T zg ,k−1 /2

n +T yg, j+1/2n +T zg, k+1 /2

n +Di , j ,kn )Pcogi, j,k

n −T xg, i+1/2n Pcogi+1 , j,k

n −T zg, k+1 /2n Pcogi, j ,k+1

n −Vb∆ t ( ϕBo )

n+1

R sn+1

Para (Nx,Ny,k) 1<k<Nz

Poi , j,k¿ =Poi+1 , j,k

¿ =Poi, j+1,k

n →Poi , j,kn+1=Poi+1 , j,k

n+1 =Poi, j+1,k

n+1 →E i , j ,k=N i , j , k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Wi,j,k=( (a+R s )i−1 , j ,k

n T xo,i−1 /2n +T xg ,i−1/2

n )Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i , j−1 ,kn

T yo, j−1/2n +T yg, j−1/2

n )+((a+R s )i , j ,k−1n

T zo, k−1/2n +T zg ,k−1 /2

n )+( (a+R s )i , j ,k +1n

T zo , k+1 /2n +T zg , k+1/2

n )+C i , j ,kn ]

Ai,j,k = ( (a+R s )i , j ,k +1n T zo , k+1 /2

n +T zg ,k +1/2n )

AB = ( (a+R s )i , j ,k−1n T zo ,k−1 /2

n +T zg ,k−1 /2n )

Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T yg, j−1/2n Pcogi , j−1 , j,k

n −T zg, k−1/2n Pcogi, j,k−1

n +(T xg ,i−1 /2n +T yg, j−1/2

n +T zg ,k−1 /2n +T zg ,k +1/2

n +D i , j , kn )Pcogi, j ,k

n −T zg , k+1 /2n Pcogi, j,k +1

n −Vb∆ t ( ϕBo )

n+1

R sn+1

Para (i,1,k) 1<i<Nx 1<k<Nz

Poi , j,k¿ =Poi, j−1 ,k

n+1 →Poi , j,kn+1=Poi, j−1 ,k→

n+1 Si , j , k=0

Wi,j,k=( (a+R s )i−1 , j ,kn T xo,i−1 /2

n +T xg ,i−1/2n )

Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i+1 , j ,kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j+1 , kn

T yo, j+1/2n +T yg , j+1/2

n )+( (a+R s )i , j ,k−1n

T zo ,k−1/2n +T zg ,k−1 /2

n )+( (a+R s )i , j , k+1n

T zo, k+1 /2n +T zg , k+1 /2

n )+C i , j ,kn ]

Ei,j,k= ( (a+R s )i+1 , j , kn T xo ,i+1 /2

n +T xg ,i+1 /2n )

Ni,j,k= ( (a+R s )i , j+1 , kn T yo, j+1/2

n +T yg , j+1/2n )

Ai,j,k = ( (a+R s )i , j ,k +1n T zo , k+1 /2

n +T zg ,k +1/2n )

AB = ( (a+R s )i , j ,k−1n T zo ,k−1 /2

n +T zg ,k−1 /2n )

Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T zg ,k−1 /2n Pcogi, j ,k−1

n +(T xg, i−1 /2n +T zg , k−1/2

n +T xg,i+1/2n +T yg , j+1/2

n +T zg ,k +1/2n +D i , j , k

n )Pcogi, j ,kn −T xg ,i+1 /2

n Pcogi+1, j, k

n −T yg, j+1 /2n Pcogi, j+1,k

n −T zg ,k +1/2n Pcogi , j,k+1

n −Vb∆t ( ϕBo )

n+1

Rsn+1

Para (i,Ny,k) 1<i<Nx 1<k<Nz

Poi , j,k¿ =Poi, j+1 ,k

n →Poi , j,kn+1=Poi, j+1,k

n+1 →N i , j , k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Wi,j,k=( (a+R s )i−1 , j ,k

n T xo,i−1 /2n +T xg ,i−1/2

n )Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i+1 , j ,kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j−1 ,kn

T yo , j−1 /2n +T yg , j−1 /2

n )+( (a+Rs )i , j , k−1n

T zo , k−1 /2n +T zg , k−1/2

n )+((a+R s )i , j ,k+1n

T zo ,k +1/2n +T zg ,k+1/2

n )+Ci , j , kn ]Ei,j,k= ( (a+R s )i+1 , j , k

n T xo ,i+1 /2n +T xg ,i+1 /2

n )Ai,j,k = ( (a+R s )i , j ,k +1

n T zo , k+1 /2n +T zg ,k +1/2

n ) AB = ( (a+R s )i , j ,k−1

n T zo ,k−1 /2n +T zg ,k−1 /2

n )Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T yg, j−1/2n Pcogi , j−1 , j,k

n −T zg, k−1/2n Pcogi, j,k−1

n +(T xg ,i−1 /2n +T yg, j−1/2

n +T zg ,k−1 /2n +T xg, i+1 /2

n +T zg ,k +1/2n +Di , j , k

n )Pcogi, j ,kn −T xg ,i+1 /2

n Pcogi+1, j, k

n −T zg ,k +1/2n Pcogi , j,k+1

n −Vb∆ t ( ϕBo )

n+1

Rsn+1

Para (1,j,k) 1<j<Ny 1<k<Nz

Poi , j,k¿ =Poi−1 , j ,k

¿ →Poi , j,k¿ =Poi−1 , j,k

¿ →W i , j , k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Ci,j,k=

−[( (a+Rs )i+1 , j , kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j−1 ,kn

T yo , j−1 /2n +T yg , j−1 /2

n )+( (a+Rs )i , j+1, kn

T yo , j+1/2n +T yg, j+1 /2

n )+( (a+Rs )i , j , k−1n

T zo ,k−1 /2n +T zg , k−1/2

n )+((a+R s )i , j , k+1n

T zo ,k +1/2n +T zg ,k+1/2

n )+Ci , j , kn ]Ei,j,k= ( (a+R s )i+1 , j , k

n T xo ,i+1 /2n +T xg ,i+1 /2

n )Ni,j,k= ( (a+R s )i , j+1 , k

n T yo, j+1/2n +T yg , j+1/2

n )Ai,j,k = ( (a+R s )i , j ,k +1

n T zo , k+1 /2n +T zg ,k +1/2

n ) AB = ( (a+R s )i , j ,k−1

n T zo ,k−1 /2n +T zg ,k−1 /2

n )Fi,j,k=

(aqoscn +qgscn )−T yg, j−1/2

n Pcogi , j−1 , j,k

n −T zg, k−1/2n Pcogi , j,k−1

n +(T yg, j−1 /2n +T zg ,k−1 /2

n +T xg ,i+1 /2n +T yg, j+1/2

n +T zg, k+1 /2n +Di , j , k

n )Pcogi, j,kn −T xg, i+1 /2

n Pcogi+1 , j,k

n −T yg , j+1/2n Pcogi, j+1 ,k

n −T zg, k+1 /2n Pcogi, j ,k+1

n −Vb∆ t ( ϕBo )

n+1

R sn+1

Para (Nx,j,k) 1<j<Ny 1<k<Nz

Poi , j,k¿ =Poi+1 , j,k

¿ →Poi , j,kn+1=Poi+1 , j,k

n+1 →E i , j , k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Wi,j,k=( (a+R s )i−1 , j ,k

n T xo,i−1 /2n +T xg ,i−1/2

n )Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i , j−1 ,kn

T yo, j−1/2n +T yg, j−1/2

n )+((a+R s )i , j+1 ,kn

T yo, j+1 /2n +T yg, j+1/2

n )+((a+R s )i , j ,k−1n

T zo, k−1/2n +T zg ,k−1 /2

n )+( (a+R s )i , j ,k +1n

T zo , k+1 /2n +T zg , k+1/2

n )+C i , j ,kn ]

Ni,j,k= ( (a+R s )i , j+1 , kn T yo, j+1/2

n +T yg , j+1/2n )

Ai,j,k = ( (a+R s )i , j ,k +1n T zo , k+1 /2

n +T zg ,k +1/2n )

AB = ( (a+R s )i , j ,k−1n T zo ,k−1 /2

n +T zg ,k−1 /2n )

Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T yg, j−1/2n Pcogi , j−1 , j,k

n −T zg, k−1/2n Pcogi, j,k−1

n +(T xg ,i−1 /2n +T yg, j−1/2

n +T zg ,k−1 /2n +T yg, j+1 /2

n +T zg , k+1 /2n +Di , j ,k

n )Pcogi , j ,kn −T yg , j+1/2

n Pcogi , j+1 ,k

n −T zg , k+1 /2n Pcogi, j ,k+1

n −Vb∆ t ( ϕBo )

n+1

R sn+1

Para (i,j,k) 1<i<Nx 1<j<Ny 1<k<Nz

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Wi,j,k=( (a+R s )i−1 , j ,k

n T xo,i−1 /2n +T xg ,i−1/2

n )Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i+1 , j ,kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j−1 ,kn

T yo , j−1 /2n +T yg , j−1 /2

n )+( (a+Rs )i , j+1, kn

T yo , j+1/2n +T yg, j+1 /2

n )+( (a+Rs )i , j , k−1n

T zo ,k−1 /2n +T zg , k−1/2

n )+((a+R s )i , j , k+1n

T zo ,k +1/2n +T zg ,k+ 1/2

n )+Ci , j , kn ]Ei,j,k= ( (a+R s )i+1 , j , k

n T xo ,i+1 /2n +T xg ,i+1 /2

n )Ni,j,k= ( (a+R s )i , j+1 , k

n T yo, j+1/2n +T yg , j+1/2

n )Ai,j,k = ( (a+R s )i , j ,k +1

n T zo , k+1 /2n +T zg ,k +1/2

n ) AB = ( (a+R s )i , j ,k−1

n T zo ,k−1 /2n +T zg ,k−1 /2

n )Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T yg, j−1/2n Pcogi , j−1 , j,k

n −T zg, k−1/2n Pcogi, j,k−1

n +(T xg ,i−1 /2n +T yg, j−1/2

n +T zg ,k−1 /2n +T xg, i+1 /2

n +T yg, j+1 /2n +T zg , k+1 /2

n +Di , j ,kn )Pcogi , j,k

n −T xg,i+1/2n Pcogi+1, j ,k

n −T yg, j+1/2n Pcogi , j+1 ,k

n −T zg , k+1 /2n Pcogi, j,k +1

n −Vb∆ t ( ϕBo )

n+1

R sn+1

CAPA SUPERIOR

Para (1,1,Nz)

Poi , j,k¿ =Poi−1 , j ,k

¿ =Poi, j−1 ,k

n+1 ¿Poi, j,k +1

n →Poi, j,kn+1 =Poi−1 , j,k

n+1 =Poi, j−1,k

n+1 ¿Poi, j ,k+1

n+1 →W i , j ,k=S i , j , k=TC i , j ,k=0

Ci,j,k=

−[( (a+Rs )i+1 , j , kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j+1 , kn

T yo, j+1/2n +T yg , j+1/2

n )+( (a+R s )i , j ,k−1n

T zo ,k−1/2n +T zg ,k−1 /2

n )+C i , j ,kn ]

Ei,j,k= ( (a+R s )i+1 , j , kn T xo ,i+1 /2

n +T xg ,i+1 /2n )

Ni,j,k= ( (a+R s )i , j+1 , kn T yo, j+1/2

n +T yg , j+1/2n )

AB = ( (a+R s )i , j ,k−1n T zo ,k−1 /2

n +T zg ,k−1 /2n )

Fi,j,k=

(aqoscn +qgscn )−T zg ,k−1 /2

n Pcogi, j, k−1

n +(T zg ,k−1/2n +T xg, i+1 /2

n +T yg, j+1 /2n +Di , j ,k

n )Pcogi, j,kn −T xg,i+1/2

n Pcogi+1 , j,k

n −T yg , j+1/2n Pcogi , j+1 ,k

n −Vb∆ t ( ϕBo )

n+1

Rsn+1

Para (Nx,1,Nz)

Poi , j,k¿ =Poi+1 , j,k

¿ =Poi, j−1 ,k

n+1 ¿Poi, j, k+1

n →Poi, j,kn+1 =Poi+1, j,k

n+1 =Poi, j−1,k

n+1 ¿ Poi , j ,k+1

n+1 →Ei , j ,k=S i , j ,k=TC i , j ,k=0

Wi,j,k=( (a+R s )i−1 , j ,kn T xo,i−1 /2

n +T xg ,i−1/2n )

Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i , j+1 ,kn

T yo , j+1/2n +T yg, j+1 /2

n )+( (a+Rs )i , j , k−1n

T zo ,k−1 /2n +T zg , k−1/2

n )+Ci , j , kn ]Ni,j,k= ( (a+R s )i , j+1 , k

n T yo, j+1/2n +T yg , j+1/2

n )AB = ( (a+R s )i , j ,k−1

n T zo ,k−1 /2n +T zg ,k−1 /2

n )Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T zg ,k−1 /2n Pcogi, j ,k−1

n +(T xg, i−1 /2n +T zg , k−1/2

n +Di , j , kn )Pcogi, j ,k

n −T yg, j+1 /2n Pcogi, j+1, k

n −Vb∆ t ( ϕBo )

n+1

R sn+1

Para (1,Ny,Nz)

Poi , j,k¿ =Poi−1 , j ,k

¿ =Poi, j+1 ,k

n ¿Poi, j, k+1

n →Poi, j,kn+1 =Poi−1 , j,k

n+1 =Poi, j+1,k

n+1 ¿ Poi , j ,k+1

n+1 →W i , j ,k=N i , j ,k=TC i , j ,k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Ci,j,k=

−[( (a+Rs )i+1 , j , kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j−1 ,kn

T yo , j−1 /2n +T yg , j−1 /2

n )+( (a+Rs )i , j , k−1n

T zo ,k−1 /2n +T zg , k−1/2

n )+Ci , j , kn ]Ei,j,k= ( (a+R s )i+1 , j , k

n T xo ,i+1 /2n +T xg ,i+1 /2

n )AB = ( (a+R s )i , j ,k−1

n T zo ,k−1 /2n +T zg ,k−1 /2

n )Fi,j,k=

(aqoscn +qgscn )−T yg, j−1/2

n Pcogi , j−1 , j,k

n −T zg, k−1/2n Pcogi , j,k−1

n +(T yg, j−1 /2n +T zg ,k−1 /2

n +T xg ,i+1 /2n +Di , j , k

n )Pcogi, j,kn −T xg, i+1 /2

n Pcogi+1 , j,k

n −Vb∆ t ( ϕBo )

n+1

R sn+1

Para (Nx,Ny,Nz)

Poi , j,k¿ =Poi−1 , j ,k

¿ =Poi, j+1 ,k

n ¿Poi, j, k+1

n →Poi, j,kn+1 =Poi−1 , j,k

n+1 =Poi, j+1,k

n+1 ¿Poi , j ,k+1

n+1 →Ei , j ,k=N i , j ,k=TC i , j ,k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Wi,j,k=( (a+R s )i−1 , j ,k

n T xo,i−1 /2n +T xg ,i−1/2

n )Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i , j−1 ,kn

T yo, j−1/2n +T yg, j−1/2

n )+((a+R s )i , j ,k−1n

T zo, k−1/2n +T zg ,k−1 /2

n )+C i , j ,kn ]

AB = ( (a+R s )i , j ,k−1n T zo ,k−1 /2

n +T zg ,k−1 /2n )

Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T yg, j−1/2n Pcogi , j−1 , j,k

n −T zg, k−1/2n Pcogi, j,k−1

n +(T xg ,i−1 /2n +T yg, j−1/2

n +T zg ,k−1 /2n +Di , j ,k

n )Pcogi , j ,kn −Vb

∆ t ( ϕBo )n+1

Rsn+1

Para (i,1,Nz) 1<i<Nx

Poi , j,k¿ =Poi, j−1 ,k

n+1 ¿Poi, j, k+1

n+1 →Poi, j,kn+1 =Poi, j−1,k

n+1 ¿Poi, j ,k+1

n+1 →S i , j ,k=TC i , j ,k=0

Wi,j,k=( (a+R s )i−1 , j ,kn T xo,i−1 /2

n +T xg ,i−1/2n )

Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i+1 , j ,kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j+1 , kn

T yo, j+1/2n +T yg , j+1/2

n )+( (a+R s )i , j ,k−1n

T zo ,k−1/2n +T zg ,k−1 /2

n )+C i , j ,kn ]

Ei,j,k= ( (a+R s )i+1 , j , kn T xo ,i+1 /2

n +T xg ,i+1 /2n )

Ni,j,k= ( (a+R s )i , j+1 , kn T yo, j+1/2

n +T yg , j+1/2n )

AB = ( (a+R s )i , j ,k−1n T zo ,k−1 /2

n +T zg ,k−1 /2n )

Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T zg ,k−1 /2n Pcogi, j ,k−1

n +(T xg, i−1 /2n +T zg , k−1/2

n +T xg,i+1/2n +T yg , j+1/2

n +Di , j ,kn )Pcogi , j ,k

n −T xg ,i+1/2n Pcogi+1, j ,k

n −T yg, j+1/2n Pcogi , j+1 ,k

n −Vb∆ t ( ϕBo )

n+1

R sn+1

Para (i,Ny,Nz) 1<i<Nx

Poi , j,k¿ =Poi, j−1 ,k

n+1 ¿Poi, j, k+1

n →Poi, j,kn+1 =Poi, j−1,k

n+1 ¿Poi, j ,k+1

n+1 →N i , j ,k=TC i , j ,k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Wi,j,k=( (a+R s )i−1 , j ,k

n T xo,i−1 /2n +T xg ,i−1/2

n )Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i+1 , j ,kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j−1 ,kn

T yo , j−1 /2n +T yg , j−1 /2

n )+( (a+Rs )i , j , k−1n

T zo , k−1 /2n +T zg , k−1/2

n )+Ci , j , kn ]Ei,j,k= ( (a+R s )i+1 , j , k

n T xo ,i+1 /2n +T xg ,i+1 /2

n ) AB = ( (a+R s )i , j ,k−1

n T zo ,k−1 /2n +T zg ,k−1 /2

n )Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T yg, j−1/2n Pcogi , j−1 , j,k

n −T zg, k−1/2n Pcogi, j,k−1

n +(T xg ,i−1 /2n +T yg, j−1/2

n +T zg ,k−1 /2n +T xg, i+1 /2

n +Di , j ,kn )Pcogi , j,k

n −T xg,i+1/2n Pcogi+1, j ,k

n −Vb∆t ( ϕBo )

n+1

Rsn+1

Para (1,j,Nz) 1<j<Ny

Poi , j,k¿ =Poi−1 , j ,k

¿ ¿Poi, j, k+1

n →Poi, j,kn+1 =Poi−1 , j,k

n+1 ¿ Poi, j ,k+1

n+1 →W i , j ,k=TCi , j ,k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Ci,j,k=

−[( (a+Rs )i+1 , j , kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j−1 ,kn

T yo , j−1 /2n +T yg , j−1 /2

n )+( (a+Rs )i , j+1, kn

T yo , j+1/2n +T yg, j+1 /2

n )+( (a+Rs )i , j , k−1n

T zo ,k−1 /2n +T zg , k−1/2

n )+Ci , j , kn ]Ei,j,k= ( (a+R s )i+1 , j , k

n T xo ,i+1 /2n +T xg ,i+1 /2

n )Ni,j,k= ( (a+R s )i , j+1 , k

n T yo, j+1/2n +T yg , j+1/2

n )AB = ( (a+R s )i , j ,k−1

n T zo ,k−1 /2n +T zg ,k−1 /2

n )Fi,j,k=

(aqoscn +qgscn )−T yg, j−1/2

n Pcogi , j−1 , j,k

n −T zg, k−1/2n Pcogi , j,k−1

n +(T yg, j−1 /2n +T zg ,k−1 /2

n +T xg ,i+1 /2n +T yg, j+1/2

n +D i, j , kn )Pcogi, j ,k

n −T xg ,i+1 /2n Pcogi+1, j,k

n −T yg, j+1 /2n Pcogi, j+1,k

n −Vb∆ t ( ϕBo )

n+1

R sn+1

Para (Nx,j,Nz) 1<j<Ny

Poi , j,k¿ =Poi+1 , j,k

¿ ¿Poi, j, k+1

n →Poi, j,kn+1 =Poi+1, j, k

n+1 ¿Poi , j ,k+1

n+1 →Ei , j ,k=TCi , j , k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Wi,j,k=( (a+R s )i−1 , j ,k

n T xo,i−1 /2n +T xg ,i−1/2

n )Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i , j−1 ,kn

T yo, j−1/2n +T yg, j−1/2

n )+((a+R s )i , j+1 ,kn

T yo, j+1 /2n +T yg, j+1/2

n )+((a+R s )i , j ,k−1n

T zo, k−1/2n +T zg ,k−1 /2

n )+C i , j ,kn ]

Ni,j,k= ( (a+R s )i , j+1 , kn T yo, j+1/2

n +T yg , j+1/2n )

AB = ( (a+R s )i , j ,k−1n T zo ,k−1 /2

n +T zg ,k−1 /2n )

Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T yg, j−1/2n Pcogi , j−1 , j,k

n −T zg, k−1/2n Pcogi, j,k−1

n +(T xg ,i−1 /2n +T yg, j−1/2

n +T zg ,k−1 /2n +T yg, j+1 /2

n +Di , j ,kn )Pcog i, j,k

n −T yg , j+1 /2n Pcogi, j+1,k

n −Vb∆ t ( ϕBo )

n+1

R sn+1

Para (i,j,Nz) 1<i<Nx 1<j<Ny

Poi , j,k¿ ¿Poi, j, k+1

n →Poi, j,kn+1 ¿ Poi , j ,k+1

n+1 →TCi , j , k=0

Si,j,k= ((a+Rs )i , j−1 ,k

nTyo, j−1

2

n +Tyg , j−1

2

n )Wi,j,k=( (a+R s )i−1 , j ,k

n T xo,i−1 /2n +T xg ,i−1/2

n )Ci,j,k=

−[( (a+Rs )i−1 , j ,kn

T xo, i−1/2n +T xg,i−1 /2

n )+( (a+Rs )i+1 , j ,kn

T xo,i+1/2n +T xg,i+1/2

n )+( (a+R s )i , j−1 ,kn

T yo , j−1 /2n +T yg , j−1 /2

n )+( (a+Rs )i , j+1, kn

T yo , j+1/2n +T yg, j+1 /2

n )+( (a+Rs )i , j , k−1n

T zo ,k−1 /2n +T zg , k−1/2

n )+Ci , j , kn ]Ei,j,k= ( (a+R s )i+1 , j , k

n T xo ,i+1 /2n +T xg ,i+1 /2

n )

Ni,j,k= ( (a+R s )i , j+1 , kn T yo, j+1/2

n +T yg , j+1/2n )

Ai,j,k = ( (a+R s )i , j ,k +1n T zo , k+1 /2

n +T zg ,k +1/2n )

AB = ( (a+R s )i , j ,k−1n T zo ,k−1 /2

n +T zg ,k−1 /2n )

Fi,j,k=

(aqoscn +qgscn )−T xg, i−1 /2

n Pcogi−1, j, k

n −T yg, j−1/2n Pcogi , j−1 , j,k

n −T zg, k−1/2n Pcogi, j,k−1

n +(T xg ,i−1 /2n +T yg, j−1/2

n +T zg ,k−1 /2n +T xg, i+1 /2

n +T yg, j+1 /2n +Di , j ,k

n )Pcogi, j,kn −T xg, i+1/2

n Pcogi+1 , j,k

n −T yg , j+1/2n Pcog i, j+1 ,k

n −Vb∆ t ( ϕBo )

n+1

R sn+1

Solución del sistema de ecuaciones

Para la solución del sistema de ecuaciones, se usara las ecuaciones halladas al recorrer la malla, por el

método LSOR y usando Thomas se halla las (P¿

) intermedias se da inicio al proceso iterativo, con:

Pi , j ,k(m+1 )=(1−ω )Pi , j , k

m +ωPi , j , k¿ (m+1)

Si Pm+1=Pm, se tiene la presión de la fase aceite.

Una vez calculadas las presiones de la fase petróleo se va a la ecuación (6.107) y de ahí se

despeja así:

Si , j ,kn+1 =(1−Sg)i , j ,k−T xo, i−1 /2

n Poi−1, j,k

n +T xo,i+1/2n Poi+1, j ,k

n +T yo, j−1/2n Poi , j−1 ,k

n +T yo, j+1 /2n Poi, j+1,k

n +T zo , k−1/2n Poi , j ,k−1

n +T zo ,k+1/2n Poi , j ,k+1

n −(T xo,i−1 /2n +T xo, i+1 /2

n +T yo, j−1/2n +T yo, j+1 /2

n +T zo ,k−1 /2n +T zo , k+1 /2

n )Poi, j ,kn −qosc

n −−Vb∆ t ( ϕBo )

n+1

Rsn+1

La saturación del gas al tiempo tn+1 se calcula de

Conocida la saturación de Petróleo al tiempo n+1 se calcula la presión capilar a este tiempo de la relación disponible para presión capilar en función de la saturación de petróleo o de fase líquida y Conocida la presión capilar al tiempo tn+1 y la presión de la fase petróleo al mismo tiempo, se puede calcular la presión de la fase gas al tiempo tn+1.

DIAGRAMAS DE BLOQUES.

Leer datos

Se crea malla y se fijan condiciones iniciales

Se crea malla fantasma

Suponer Sg

Calcular Kr de curvas

Se calculan transmisibilidades

Plantear Stencils para P y S por método IMPIS

Plantear Sistema de Ecuaciones para resolver por LSOR y suponer condiciones (VN- YC)

Crear matriz heptadiagonal para P*

Resolver por Thomas para hallar P*

Suponer Pn (&)

Aplicar LSOR y cacular Pn+1

Comparar con Pn supuesta, converge?

SI

Pn+1=Pn Fase aceiteIMPRIMIR

Calcular So al tiempo n+1

Calcular Pc al tiempo n+1

Con Pc y Po se tiene Pg al tiempo n+iIMPRIMIR

NO

Pn+1 = Pn supuesta (nueva).Repetir desde (&)

ANEXO

ALGORITMOS (Fortlan)

MODELO COMPUTACIONAL.

DEFINICION DE VARIABLES!*********************************************************************

!h = Espesor Yto en Pies!LX = Longitud del yacimiento - dirección X en Pies!LY = Longitud del yacimiento - dirección Y en Pies!LZ = Longitud del yacimiento - dirección Z en Pies!PW = Numero de pozos productores!DX = longitud de los bloques - dirección X(i)!DY = longitud de los bloques - dirección Y(j)!DZ = longitud de los bloques - dirección Z(k)!NPX = numero de perforaciones - dirección X(i) !NPY = numero de perforaciones - dirección Y(j) !NPZ = numero de perforaciones - dirección Z(k) !KX = permeabilidad absoluta - dirección X(i) !KY = permeabilidad absoluta - dirección Y(j) !KZ = permeabilidad absoluta - dirección Z(k) !MD(X) = matriz longitudes de los bloques - dirección X(i) !MD(Y) = matriz longitudes de los bloques - dirección Y(j)!MD(Z) = matriz longitudes de los bloques - dirección Z(k) !MK(X) = matriz permeabilidades absoluta - dirección X(i) !MK(Y) = matriz permeabilidades absoluta - dirección Y(j)!MK(Z) = matriz permeabilidades absoluta - dirección Z(k) !M(PN) = matriz Presión al tiempo n!M(SG) = matriz saturaciones del gas¡KRO = permeabilidad relativa al aceite¡KRG = permeabilidad relativa al gas!TRXOPLUSS = Transmisibilidad en dirección x para el aceite i+1/2!TRXOLESS = Transmisibilidad en dirección x para el aceite i-1/2 !TRYOPLUSS = Transmisibilidad en dirección y para el aceite j+1/2!TRYOLESS = Transmisibilidad en dirección y para el aceite j-1/2 !TRZOPLUSS = Transmisibilidad en dirección z para el aceite k+1/2!TRZOLESS = Transmisibilidad en dirección z para el aceite k-1/2 !TRXGPLUSS = Transmisibilidad en dirección x para el gas i+1/2!TRXGLESS = Transmisibilidad en dirección x para el gas i-1/2 !TRYGPLUSS = Transmisibilidad en dirección y para el gas j+1/2!TRYGLESS = Transmisibilidad en dirección y para el gas j-1/2 !TRZGPLUSS = Transmisibilidad en dirección z para el gas k+1/2!TRZGLESS = Transmisibilidad en dirección z para el gas k-1/2 !TRZGLESS = Transmisibilidad en dirección z para el gas k-1/2 !ES = stencils dirección y (sur) j-1/2 !EN = stencils dirección y (norte) j+1/2 !EW = stencils dirección x (oeste) i-1/2 !EE = stencils dirección x (este) i+1/2 !EA = stencils dirección z (arriba) k+1/2 !EAB = stencils dirección z (abajo) k-1/2 !EC = stencils central i,j,k

!EF = stencils términos independientes i,j,k !M(QG) = matriz caudales de gas!M(QO) = matriz caudales de aceiteP(K) = presión al tiempo kP(K1) = presión al tiempo k+1!ES(PC) = stencils para la presión capilar dirección y (sur) para j-1/2 !EN(PC) = stencils para la presión capilar dirección y (norte) j+1/2 !EW(PC) = stencils para la presión dirección x (oeste) i-1/2 !EE(PC) = stencils para la presión capilar dirección x (este) i+1/2 !EA(PC) = stencils para la presión capilar dirección z (arriba) k+1/2 !EAB(PC) =stencils para la presión capilar dirección z (abajo) k-1/2 !EC(PC) = stencils para la presión capilar central i,j,k !EF(PC) = stencils para la presión capilar términos 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

! *MALLA BLOQUES FANTASMAS (VARIACION PERMEABLIDADES)

DO J = 0,NY+1

DO K = 0,NZ+1

M_KX(0,J,K) = M_KX(1,J,K)

M_KX(NX+1,J,K)= M_KX(NX,J,K)

M_KY(0,J,K) = M_KY(1,J,K)

M_KY(NX+1,J,K)= M_KY(NX,J,K)

M_KZ(0,J,K) = M_KZ(1,J,K)

M_KZ(NX+1,J,K)= M_KZ(NX,J,K)

END DO

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

KRG(I,J,K)=0.6125*(M_SG_SUP(I,J,K)**4) - 1.3316*(M_SG_SUP(I,J,K)**3) + &

& 1.4776*(M_SG_SUP(I,J,K)**2) - 0.2697*(M_SG_SUP(I,J,K)) - 0.0002

PCOG(I,J,K) = 1257.7*(M_SG_SUP(I,J,K)**5) - 2041.4*(M_SG_SUP(I,J,K)**4) - &

& 1233.4*(M_SG_SUP(I,J,K)**3) - 334.49*(M_SG_SUP(I,J,K)**2) + 37.937*(M_SG_SUP(I,J,K)) - 1.0247

END DO

END DO

END DO

END SUBROUTINE Curvas_Kr_Pc

SUBROUTINE Generación_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

EW(I,J,K) = (a+(RS))(I-1,J,K)*TXOLESS(I - 1/2,J,K) + TXGLESS(I - 1/2,J,K)

! ESTENCIL ARRIBA

EA(I,J,K) = (a+(RS)(I,J,K+1)*TZOPLUS(I,J,K+1/2) + TZGPLUS(I,J,K+1/2)

! ESTENCIL ABAJO

EAB(I,J,K) = (a+(RS)(I,J,K-1)*TZOLESS(I,J,K-1/2) + TZGLESS(I,J,K-1/2)

! ESTENCIL CENTRAL

EC(I,J,K) = -(EE(I,J,K) + EW(I,J,K) + ES(I,J,K) + EN(I,J,K) + EA(I,J,K) &

& - EAB(I,J,K)+2*M_DX(I,J,K)*M_DY(I,J,K)*M_DZ(I,J,K)*PORO/(5.615*DT))

! ESTENCIL F

EF(I,J,K)=(a*M_QG(I,J,K) + M_QO(I,J,K))-(TYGPLUS(I,J+1/2,K)*PCOG(I,J+1,K)) &

-(TYGLESS(I,J-1/2,K)*PCOG(I,J-1,K)) -(TXGPLUS(I + 1/2,J,K)*PCOG(I+1,J,K)) &

-TXGLESS(I - 1/2,J,K)*PCOG(I-1,J,K))-(TZGPLUS(I,J,K+1/2)*PCOG(I,J,K+1)) -(TZGLESS(I,J,K-1/2)*PCOG(I,J,K-1)) &

-(TYGPLUS(I,J+1/2,K) + TYGLESS(I,J-1/2,K) + TXGLESS(I - 1/2,J,K) &

+ TXGPLUS(I + 1/2,J,K) + TZGPLUS(I,J,K+1/2)+TZGLESS(I,J,K-1/2)+D(I,J,K))*PCOG(I,J,K))-

(DX(I,J,K)*DY(I,J,K)*DZ(I,J,K)*PORO(RS)/(5.615*DT)*(M_PN(I,J,K))

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

REAL*8, PUBLIC:: PORO,CPORO,PI,MIU_O,MIU_G,BG,BO,CG,CO,PPR,PPC,API

REAL*8, PUBLIC:: TFINAL,DT,SGI,GAMA_G,GAMA_O,QP,TPR,TPC,TEM

REAL*8, PUBLIC :: DENO, NUME,TETA,C1=0.001127,TOLERANCE_SAT,ERRORMAX_SAT

REAL*8, PUBLIC:: OMEGA,TOLERANCE,ERRORMAX,RESIDUO

INTEGER,PUBLIC:: ITERATION_LSOR,I1,I2,I3,I4,ITERATION_SAT,TTT

END MODULE General

! Oil_Gas_IMPIS_LSOR.f90

! FUNCTIONS:

! Oil_Gas_IMPIS_LSOR

!| PROGRAM: IMPIS-LSOR FLUJO PETROLEO-GAS 3D |

!| PURPOSE: RESOLVER SISTEMA DE ECUACIONES PLANTEADAS POR EL MÉTODO IMPIS USANDO EL MÉTODO LSOR PARA FLUJO PETRÓLEO-GAS 3D|

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))

MK(X)=0.0D0; MK(Y)=0.0D0; MK(Z)=0.0D0

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,K-1/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) &

& - EAB(I,J,K)+2*M_DX(I,J,K)*M_DY(I,J,K)*M_DZ(I,J,K)*PORO/(5.615*DT))

EN(I,J,K) = (a+(RS)(I,J+1,K)*TYOPLUS(I,J+1/2,K) + TYGPLUS(I,J+1/2,K)

EE(I,J,K) = (a+(RS))(I+1,J,K)*TXOPLUS(I + 1/2,J,K) + TXGPLUS(I + 1/2,J,K)

EA(I,J,K) = (a+(RS)(I,J,K+1)*TZOPLUS(I,J,K+1/2) + TZGPLUS(I,J,K+1/2)

EF(I,J,K)=(a*M_QG(I,J,K) + M_QO(I,J,K))-(TYGPLUS(I,J+1/2,K)*PCOW(I,J+1,K)) &

-(TYGLESS(I,J-1/2,K)*PCOW(I,J-1,K)) -(TXGPLUS(I + 1/2,J,K)*PCOW(I+1,J,K)) &

-TXGLESS(I - 1/2,J,K)*PCOW(I-1,J,K))-(TZGPLUS(I,J,K+1/2)*PCOW(I,J,K+1)) -(TZGLESS(I,J,K-1/2)*PCOW(I,J,K-1)) &

-(TYGPLUS(I,J+1/2,K) + TYGLESS(I,J-1/2,K) + TXGLESS(I - 1/2,J,K) &

+ TXGPLUS(I + 1/2,J,K) + TZGPLUS(I,J,K+1/2)+TZGLESS(I,J,K-1/2)+D(I,J,K))*PCOW(I,J,K))-

(DX(I,J,K)*DY(I,J,K)*DZ(I,J,K)*PORO(BG/BO)/(5.615*DT)*(M_PN(I,J,K))

END DO

END DO

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

!BORDES J=1 y J=NY

DO Y=2,NX-1

ES(I,1,1)=0

EA(I,1,1)=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))

GAMA(I1) = (EFL(I1)-EW(I1,J,K)*GAMA(I1-1))/(EC(I1,J,K)-EG(I1,J,K)*BETA(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

P_K1(I3,J,K) = (1-OMEGA)*P_K(I3,J,K) + PT(I3)*OMEGA

END DO

DO I4 = 1, NX

ERROR(I4) = ABS((P_K1(I4,J,K)-P_K(I4,J,K)))

END DO

ERRORMAX = MAXVAL(ERROR)

IF (ERRORMAX .EQ. 0.0) THEN

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

SG_CALC(I,J,K) = (1-M_SO(I,J,K)) - ((TYOPLUS(I,J+1/2,K)*M_PN(I,J+1,K) + TYOLESS(I,J-1/2,K)*M_PN(I,J-1,K) + &

& TXOPLUS(I+1/2,J,K)*M_PN(I+1,J,K) + TXOLESS(I-1/2,J,K)*M_PN(I-1,J,K) + &

& TZOPLUS(I,J,K+1/2)*M_PN(I,J,K+1) + TZOLESS(I,J,K-1/2)*M_PN(I,J,K-1) - &

& -((TYOPLUS(I,J+1/2,K) + TYOLESS(I,J-1/2,K) + TXOPLUS(I+1/2,J,K) +TXOLESS(I-1/2,J,K) &

& + TZOPLUS(I,J,K+1/2) + TZOLESS(I,J,K-1/2))*M_PN(I,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)

IF (ERRORMAX_SAT .EQ. 0.0) THEN

ERRORMAX_SAT = 1.0

END IF

END DO

END DO

END DO

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 SOLUCIÓN 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(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))

TRSXOLESS(I - 1/2,J,K)=(NUM/DEN)*RS

END DO

END DO

END DO

!************************************************************************

!CALCULO DE TRANSMISIBILIDADES DEL ACEITE CON GAS EN SOLUCIÓN 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,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))

TRSYOLESS(I,J-1/2,K)=(NUM/DEN)*RS

END DO

END DO

END DO

!************************************************************************

!CALCULO DE TRANSMISIBILIDADES DEL ACEITE CON GAS EN SOLUCIÓN 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(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))

TXGLESS(I - 1/2,J,K)= NUM/DEN

END DO

END DO

END DO

!*************************************************

!CALCULO DE TRANSMISIBILIDADES DEL GAS EN EL EJE Y

!*************************************************

DO I =1,NX

DO J =1,NY-1

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,J+1,K)*KRG(I,J+1,K)*KRG(I,J,K)

DEN= BG*MIU_G*M_DY(I,J,K)*(M_KBY(I,J,K)*KRG(I,J,K) + M_KBY(I,J+1,K)*KRG(I,J+1,K))

TYGPLUS(I,J+1/2,K)= NUM/DEN

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,J-1,K)*KRG(I,J-1,K)*KRG(I,J,K)

DEN= BG*MIU_G*M_DY(I,J,K)*(M_KBY(I,J,K)*KRG(I,J,K) + M_KBY(I,J-1,K)*KRG(I,J-1,K))

TYGLESS(I,J-1/2,K)= NUM/DEN

END DO

END DO

END DO

!*************************************************

!CALCULO DE TRANSMISIBILIDADES DEL GAS 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)*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