modelamiento del flujo lineal 2d de un fluido compresible

38
MODELAMIENTO DEL FLUJO LINEAL 2D DE UN FLUIDO COMPRESIBLE Elaborado Por ANDRES DAVID HERRERA PALACIO ELKIN DANIEL PAEZ JACOBO GIRALDO LOPEZ GRUPO 14 Presentado a ABEL NARANJO JUAN MANUEL UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN – FACULTAD DE MINAS SIMULACION DE YACIMIENTOS NOVIEMBRE 2012

Upload: andres-david-herrera-palacio

Post on 16-Apr-2015

39 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

MODELAMIENTO DEL FLUJO LINEAL 2D DE UN FLUIDO COMPRESIBLE

Elaborado Por

ANDRES DAVID HERRERA PALACIO

ELKIN DANIEL PAEZ

JACOBO GIRALDO LOPEZ

GRUPO 14

Presentado a

ABEL NARANJO

JUAN MANUEL

UNIVERSIDAD NACIONAL DE COLOMBIA

SEDE MEDELLIN – FACULTAD DE MINAS

SIMULACION DE YACIMIENTOS

NOVIEMBRE 2012

Page 2: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

INTRODUCCION.

En los últimos años la alta demanda de energía en la sociedad ha llevado a la industria

del petróleo a superar nuevos retos, cada día aumenta la necesidad por este preciado

recurso y los ingenieros han tenido que ir desarrollando nuevas tecnologías para suplir

esta demanda.

Una poderosa herramienta llamada simulación de yacimientos ha venido cobrando fuerza

en la industria gracias a que con ella el ingeniero tiene la posibilidad de entender mucho

mejor los diferentes fenómenos que trae consigo el desarrollo de un yacimiento de

petróleo, permitiendo predecir su comportamiento y realizar diferentes tipos de proceso

que a este se le puedan realizar con el fin de ahorrar costos y lograr adquirir un mejor

desempeño a la hora de producir.

La simulación de yacimientos tiene como objetivo específico y principal predecir la

distribución de presiones en el yacimiento con el tiempo. Estos patrones de distribución

también pueden ser determinados incluyendo pozos tanto productores como inyectores y,

mediante la ubicación estratégica de los mismos se puede determinar la mejor distribución

de presiones en el yacimiento.

Page 3: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

DEFINICION DEL PROBLEMA

Se quiere analizar el comportamiento de la presión en un yacimiento de gas seco durante

un tiempo determinado, con un arreglo específico de pozos inyectores y productores y en

el cual las propiedades de los fluidos varían con el tiempo de producción e inyección.

Simularemos este fenómeno mediante flujo lineal en dos direcciones (2-D) durante un año

con reportes de caída de presión cada mes por el método de solución directo de

eliminación gaussiana y analizaremos si es viable este arreglo.

Page 4: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

MODELO FISICO

En esta sección definiremos todos los parámetros a utilizar para el desarrollo de nuestro

simulador; se especificaran condiciones para la malla, el fluido y el yacimiento; estas se

muestran a continuación:

Geometría de flujo:

Se simulara con un flujo bidimensional, es decir el flujo se caracteriza por que se

puede realizar en un plano sin que exista paralelismo entre las direcciones, la

figura 1 ilustra este tipo de geometría.

Figura 1. Geometría de flujo bidimensional

Tipo de fluido:

Como el fluido es gas, entonces el tipo de fluido es compresible, es decir la

variación del volumen es función de la presión.

c=− 1V

d Vdp=f ( p )

y

x

Page 5: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

Numero de fases:

Para este trabajo se simulara flujo monofásico.

Arreglo de pozos:

Ubicaremos a través de la malla un arreglo de 5 puntos, donde cuatro de ellos

serán inyectores y el restante será un pozo productor.

Propiedades de la Roca reservorio:

o Permeabilidades: Se asumió que la permeabilidad del reservorio tiene un

comportamiento anisotrópico y en cada dirección varían de forma lineal

para cada uno de los bloques (el número de bloques se definirá mas

adelante); en la tabla 1 se muestra la variación de permeabilidad en cada

dirección:

Tabla 1: variación de permeabilidades en X y Y.

Kx Ky10 1012 1214 1416 1618 1820 2022 2224 2426 2628 2830 30

Page 6: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

o Espesor de la formación: 30 pies (constante para toda la formación).

o Porosidad de la formación: 0.15 (constante para toda la formación).

o Temperatura de la formación: 570° Ranking (constante para toda la

formación)

Propiedades del fluido:

Las propiedades del gas son función de la presión, temperatura y composición,

pero para este trabajo solo será función de la presión:

o Factor volumétrico del gas (Bg): Utilizamos la ecuación de estado (ver

modelo matemático).

o Viscosidad del gas: Para esta propiedad aplicamos la correlación de Lee,

A.L., Gonzalez, M.H. y Eakin, B.E.

o Factor de compresibilidad del gas: Trabajamos con los ajustes de las

curvas de Standing por el método de Brill, Z.P. y Beggs, H. D.

o Gravedad especifica del gas: 0.765 (constante para toda la formación).

Dimensionamiento de la malla:

Se utilizaron las siguientes dimensiones para malla de bloque centrado:

La longitud del yacimiento en la dirección Y= 1100 ft. Y en la dirección X= 1100 ft.,

como se tienen 11 bloques en cada dirección, el tamaño de paso para ∆Y= 100 ft y

∆X= 100 ft. El tamaño de paso en el tiempo es de 1 día, se asume que la

inclinación del yacimiento con respecto a la horizontal es de 0° y la ubicación de

los pozos se puede ver en la figura 2 y es la siguiente:

o Bloque (1,1): pozo productor= 1 MPCN/DIA

o Bloque (11,1): Pozo productor= 1 MPCN/DIA

o Bloque (6,6): Pozo productor= 5 MPCN/DIA

o Bloque (1,11): Pozo productor= 1 MPCN/DIA

o Bloque (11,11): Pozo productor= 1 MPCN/DIA

Page 7: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

12

11 Bloqu

e

(1,11)

Bloque

(11,11)

10

9

8

7

6 Bloque

(6,6)

5

4

3

2

1 Bloqu

e (1,1)

Bloque

(11,1)

0

i→ 0 1 2 3 4 5 6 7 8 9 10 11 12

j↑ Figura 2: esquematización de la malla de trabojo

Bloques Fantasma

Pozos Productores

Condiciones de frontera y condición inicial:

o Presión inicial = 3000 psi

o Condiciones de frontera: Condiciones tipo von neuman para yacimiento

cerrado y absorbidas, solo con 2 Nx y 2 My bloques fantasma.

o Constante para la transmisibidad: C= 1.127*10-3 para nuestras unidades

de trabajo que son: longitud: ft, área: ft2,k: mD, ɥ:cp, Q=BPD, P:psi,Ť

BPD/psi.

Page 8: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

MODELO MATEMATICO

Como simularemos el flujo de un fluido compresible monofásico a través de un medio

poroso utilizaremos la ecuación fundamental de Darcy y la ecuación de difusividad; estas

ecuaciones en forma diferencial toman la siguiente forma para flujo lineal en 2-D:

Ecuación fundamental de Darcy lineal

En x:

ux=−k x

μ∂ p∂ x

En y:

u y=−k y

μ∂ p∂ y

Ecuación general de Difusividad lineal 2D:

Donde:

α: A si es 1D, H si es 2D, 1 si es 3D

∂∂ x (Hρ

k x

μ∂ p∂ x )+ ∂∂ y (Hρ

k y

μ∂ p∂ y )=H

∂ ( ρφ )∂ t

+H~q

En estas ecuaciones por ser un fluido compresible, las propiedades PVT dependen de la

presión, del tiempo y de la composición. Considerando que la composición es constante

para este trabajo, debemos una hallar una expresión para la densidad en función de la

presión y el tiempo, entonces de la definición de factor Volumétrico se tiene:

La densidad a condiciones de yacimiento se expresa como:

g CN gCN CNg CY

CN CN

CN

T PP ZT P T Z

T P

q

tp ~

K

Page 9: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

Y remplazando en la ecuación de difusividad llegamos a:

∂∂ x ( kH

μBg

⋅∂P∂ x )+ ∂

∂ y ( kHμBg

⋅∂P∂ y )=HφT cn

Pcn T⋅ ∂∂ t (Pz )+H (qv )CN

Esta ecuación representa el flujo de un fluido altamente compresible a través de un medio

poroso en dos dimensiones, coordenadas cartesianas, expresadas en función del Bg,

presión, temperatura y gravedad especifica del gas.

Existen otros métodos para relacionar la densidad en función de la presión como son los

casos de la ecuación de estado y la pseudopresion, por motivos de comodidad y

practicidad utilizaremos el factor bolumetrico del gas para solucionar este problema.

CONDICIONES TIPO VON NEUMAN

En X=0

(q )x=0=( kAμ∂ p∂ x )x=0

=q xcero

En X=lX

(q )x=lx=( kAμ∂ p∂ x )x=lx

=qlxcero

En Y=0

(q )y=0=( kAμ∂ p∂ y ) y=0

=q ycero

En Y=lY

(q )y=ly=( kAμ∂ p∂ y )y=ly

=q lycero

Como se tiene yacimiento cerrado, entonces:

En X=0

(∂ p∂ x )x=0

=0

En X=lX

(∂ p∂ x )x=lx

=0

En Y=0

(∂ p∂ y )y=0

=0

En Y=lY

Page 10: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

yN

j

1

1 ixN

j,i

1j,i 1j,1i

j,1i j,1i

1j,i

1j,1i

1j,1i 1j,1i

1i 1i

1j

1j

(∂ p∂ y )y=ly

=0

MODELO NUMERICO MALLA DE BLOQUE CENTRADO

A continuación se desarrollara la expansión en diferencias finitas de la ecuación de

difusividad en coordenadas cartesianas para una malla de bloque centrado con Nx por Ny

bloques, en la figura 3 se muestra el esquema para la expansión.

Figura 3. Sistema Bidimensional Cartesiana de N x Filas y

N y Columnas – Malla de

Bloque Centrado

La ecuación diferencial es:

∂∂ x ( kH

μBg

⋅∂P∂ x )+ ∂

∂ y ( kHμBg

⋅∂P∂ y )=HφT cn

Pcn T⋅ ∂∂ t (Pz )+H (qv )CN

(1)

Page 11: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

ix

ji,

21i 21i

21ixx 21ixx a

a

21j

21j

jy

Sea:

U i=( kHμBg

⋅∂ p∂ x )i (2)

U j=( kHμBg

⋅∂ p∂ y ) j (3)

Entonces la ecuación puede se rescrita como:

∂U i

∂ x+∂U j

∂ y=

HφT cn

PcnT⋅ ∂∂ t ( P

z )+H (qv )CN(4)

Considere el i,j-esimo bloque de la malla como se ilustra en la figura 4:

Figura 4: Esquema del i ,j-ésimo Bloque de un Sistema Lineal – Malla de Bloque Centrado.

Entonces la ecuación anterior puede ser expandida por series de taylor tanto para i como para j alrededor de un punto a una distancia (x-a) de la siguiente forma:

Para X:

Page 12: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

U ( x )=∑n=0

∞ U(n )(a ) (x−a )n

n! (5)

Para Y:

U ( y )=∑n=0

∞ U (n)(a ) ( y−a )n

n! (6)

Ahora realicemos una expansión a la función U(X) alrededor del punto a = Xi evaluando U

en X = Xi+1/2 = Xi + Δ Xi/2 por tanto (X-a) = Δ Xi/2

Entonces:

Ui+1

2

=U i +U i

'

1 ! ( Δxi

2 )+ U i' '

2 ! ( Δx i

2 )2

+U i

' ' '

3 ! ( Δxi

2 )3

+(7)

De manera análoga el para punto a = Xi evaluando U en X = Xi-1/2 = Xi - Δ Xi/2 por tanto (X-

a) = -Δ Xi/2,

Ui−1

2

=U i−U i

'

1 ! ( Δxi

2 )+ U i' '

2 ! ( Δxi

2 )2

−U i

' ' '

3! ( Δxi

2 )3

+(8)

Ahora restándole a la ecuación * la ecuación ** y resolviendo para U i'

llegamos a:

U i'=

Ui+1

2

−Ui−1

2

Δxi

−U i

' ' '

3 !(Δx i )2

4−…=

Ui+1

2

−Ui−1

2

Δx i

+Ric

U i'≃

Ui+1

2

−Ui−1

2

Δxi (9)

Donde Ric

es el error que se comete en la expansión centrada de segundo orden ya que la menor potencia a la que esta elevado delta de X es 2.

Siguiendo un procedimiento similar y resolviendo para Y llegamos a:

U j' =

Uj+1

2

−Uj−1

2

Δy j

−U j

' ' '

3 !(Δy j )2

4−…=

Uj+1

2

−Uj−1

2

Δy j

+R jc

U j' ≃

Uj+1

2

−Uj−1

2

Δy j (10)

Page 13: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

Donde R jc

es el error de segundo orden ya que la menor potencia a la que esta elevado delta Y es 2.

Ahora remplazando (9) y (10) en (4) la ecuación queda:

En X:

∂∂ x ( kx H

μBg

⋅∂ p∂ x )i≃

( k x H

μBg)i+1

2, j[ 2 (Pi+1, j−Pi , j )

Δxi+1+Δx i]−( k x H

μBg)i−1

2, j[ 2 (Pi , j−Pi−1 , j )

Δxi+Δxi−1]

Δxi

En Y:

∂∂ y ( k y H

μBg

⋅∂ p∂ y )j≃

( k y H

μBg)i , j+1

2[ 2 (Pi , j+1−Pi , j )

Δy j+1+Δy j]−( k y H

μBg)i , j−1

2[ 2 (Pi , j−Pi , j−1 )

Δy j+Δy j−1]

Δy j

Las transmisibidades se pueden obtener de manera análoga a las que se obtienen en

fluidos incompresibles y levemente compresibles:

Page 14: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

Nota: las transmisibidades se trabajan a un tiempo *, de la siguiente forma: T* donde:

* = n+1 si es implícita

* = n si es explicita.

Para este trabajo se toman las transmisibidades de forma implícita, además las transmisibidades se multiplican por una constante C definida en el modelo numerico.

Para el tiempo utilizamos una expansión en diferencias finitas progresiva:

Despejando Para cada dirección y reorganizando la ecuación llegamos a:

(11)

Donde Ɣi= (Vp*520)/(14.7*Tempcy).

Tomando la presión implícita y las transmisibidades implícitas finalmente llegamos a la ecuación:

(12)

La cual se aplica a cada uno de los bloques.

Ahora expandamos las condiciones de frontera. Como tenemos yacimiento cerrado entonces:

Para X = 0 Pn+1

1 , j−Pn+1

0 , j=0

Page 15: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

Pn+1

1 , j=Pn+1

0 , j

Para X= lX:

Pn+1

Nx+1, j−Pn+1

Nx , j=0

Pn+1

Nx+1, j=Pn+1

Nx , j

Para Y= 0

Pn+1

i ,1−Pn+1

i ,0=0

Pn+1

i ,1=Pn+1

i ,0

Para Y= lY

Pn+1

i ,My+1−Pn+1

i , My=0

Pn+1

i ,My+1=Pn+1

i , My

SISTEMA DE ECUACIONES PARA MALLA DE BLOQUE CENTRADO CONDICIONES ABSORBIDAS YACIMIENTO CERRADO.

Bloques de la izquierda sin tomar esquinas (para todo i,j/ i=1 y 1<j<11)

Ti+1

2, j

n+1 Pi+1 , jn+1 +T

i , j+12

n+1 Pi , j+1n+1 −(T i+1

2, j

n+1 +Ti , j+1

2

n+1 +Ti , j−1

2

n+1 +γ ij

ΔtZi , jn+1 )Pi , j

n+1+Ti , j−1

2

n+1 Pi , j−1n+1 =−

γij

Δt ( Pi , j

Z i , j)n

+(Q vi , j )CN

Bloques de la derecha sin tomar esquinas (para todo i,j/ i=11 y 1<j<11)

Ti , j+1

2

n+1 Pi , j+1n+1 −(T i−1

2, j

n+1 +Ti , j+1

2

n+1 +Ti , j−1

2

n+1 +γ ij

ΔtZi , jn+1 )P i , j

n+1+Ti−1

2, j

n+1 Pi−1 , jn+1 +T

i , j−12

n+1 Pi , j−1n+1 =−

γij

Δt ( Pi , j

Z i , j)

n

+(Q vi , j )CN

Bloques inferiores sin tomar esquinas (para todo i,j/ j=1 y 1<i<11)

Ti+1

2, j

n+1 Pi+1 , jn+1 +T

i , j+12

n+1 Pi , j+1n+1 −(T i+1

2, j

n+1 +Ti−1

2, j

n+1 +Ti , j+1

2

n+1 +γ ij

ΔtZi , jn+1 )Pi , j

n+1+Ti−1

2, j

n+1 Pi−1 , jn+1 =−

γij

Δt ( Pi , j

Z i , j)n

+(Q vi , j )CN

Page 16: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

Bloques superiores sin tomar esquinas (para todo i,j/ j=11 y 1<i<11)

Ti+1

2, j

n+1 Pi+1 , jn+1 −(T i+1

2, j

n+1 +Ti−1

2, j

n+1 +Ti , j−1

2

n+1 +γ ij

ΔtZi , jn+1 )P i , j

n+1+Ti−1

2, j

n+1 Pi−1 , jn+1 +T

i , j−12

n+1 Pi , j−1n+1 =−

γij

Δt ( Pi , j

Z i , j)

n

+(Q vi , j )CN

Esquina (1,1)

Ti+1

2, j

n+1 Pi+1 , jn+1 +T

i , j+12

n+1 Pi , j+1n+1 −(T i+1

2, j

n+1 +Ti , j+1

2

n+1 +γij

ΔtZ i , jn+1 )Pi , j

n+1=−γij

Δt ( Pi , j

Z i , j)n

+(Qvi , j )CN

Esquina (11,1)

Ti , j+1

2

n+1 Pi , j+1n+1 −(T i−1

2, j

n+1 +Ti , j+1

2

n+1 +γij

ΔtZ i , jn+1 )Pi , j

n+1+Ti−1

2, j

n+1 Pi−1, jn+1 =−

γ ij

Δt (P i , j

Z i , j)n

+ (Qvi , j )CN

Esquina(1,11)

Ti+1

2, j

n+1 Pi+1 , jn+1 −(T i+1

2, j

n+1 +Ti , j−1

2

n+1 +γij

ΔtZ i , jn+1 )Pi , j

n+1+Ti , j−1

2

n+1 Pi , j−1n+1 =−

γ ij

Δt (P i , j

Z i , j)n

+ (Qvi , j )CN

Esquina(11,11)

Page 17: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

−(T i+12

, j

n+1 +Ti−1

2, j

n+1 +Ti , j+1

2

n+1 +Ti , j−1

2

n+1 +γij

ΔtZi , jn+1 )Pi , j

n+1+Ti−1

2, j

n+1 Pi−1 , jn+1 +T

i , j−12

n+1 Pi , j−1n+1 =−

γij

Δt ( Pi , j

Z i , j)n

+(Q vi , j )CN

Bloques centrales (para todo i,j/ i=1 y 1<j<11)

Ti+1

2, j

n+1 Pi+1 , jn+1 +T

i , j+12

n+1 Pi , j+1n+1 −(T i+1

2, j

n+1 +Ti−1

2, j

n+1 +Ti , j+1

2

n+1 +Ti , j−1

2

n+1 +γij

ΔtZ i , jn+1 )Pi , j

n+1+Ti−1

2, j

n+1 P i−1, jn+1 +T

i , j−12

n+1 Pi , j−1n+1 =−

γ ij

Δt (P i , j

Z i , j)n

+(Qvi , j )CN

CRITERIO DE BALANCE DE MATERIALES.

El criterio de balance de materiales nos permite validar la solución que se está obteniendo a un tiempo dado del sistema de ecuaciones que describe el comportamiento del yacimiento. Esto sigue siendo válido para el caso de un yacimiento de gas pero la ecuación para aplicar el criterio es diferente, dada la naturaleza del gas como fluido compresible.

Si el yacimiento es cerrado se puede decir que la producción de un yacimiento se debe a la compresibilidad del fluido y la formación; o sea

Fluidos producidos:

Mientras el yacimiento pasó del tiempo tn al tiempo tn+1, la expansión del volumen de fluido contenido en los poros, en PCN, está dada por

Por tanto el criterio de balance de materiales se puede plantear como:

MODELO DE SOLUCION.

Page 18: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

Se debe organizar la matriz de tal forma que nos de el menor ancho de banda, en este informe se numero la malla por filas luego el ancho de banda es

2*(11) + 1 = 23.

Para este informe se plantea el método de solución directo Gauss el cual se explica a continuación:

Después de organizar la malla se organiza el sistema en forma matricial y se realiza eliminación gaussiana hasta que la matriz tome la siguiente forma:

|

1 a121 .. .. .. . . . . .. á1n

1

0 1 a232 .. . .. . . . . a2n

2

0 0 .1 .. a343 . .. . . . a3 n

3

. .. . . . .. . .. . . . . . ..0 0 0 0 1 an−1 , n

n−1 ..

0 0 .0 . . o .. . . . . 1

|

*¿

¿|

x1

x2

x3

. ..xn−1

xn

|=|

b11

b22

b33

.. .bn−1

n−1

bnn

|

Luego por sustitución regresiva se procede a solucionar el sistema encontrando asi las presiones al tiempo n+1 de la siguiente manera:

xn=bnn

(2.11)

xn−1=bn−1n−1−an−1, n

n−1 ∗xn

xn−2=bn−2n−2−an−2 , n−1

n−2 ∗xn−1−an−2, nn−2 ∗xn

x i=bii− ∑

j=i+1

n

aiji x j ∀ i=n−1 , 1

.

Page 19: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

DIAGRAMA DE FLUJO SIMULADOR.

ASUMIR

PN+1 = PN

CALCULAR PROPIEDADES PVT

RESOLVER SISTEMA DE ECUACIONES POR ELIMINACION GAUSSIANA

VERIFICAR TOLERANCIA

(PN+1-PN)/PN<TOL.

Verificar criterio de Balance de Materiales

NO

SI

CALCULAR TRANSMISIVIDADES IMPLICITAS

PK+1= PK

Page 20: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

MODELO COMPUTACIONAL.

MODULO:

MODULE VARIABLES

IMPLICIT NONE

INTEGER:: I,J,K,T,NX,NY,NT,NP,NB

REAL:: CONVERGENCIA,PO,TEMP,LX,LY,H,Q,T_IMPRESION,DX,DY,GEGAS,TIEMPO_TOTAL,TIEMPO,DT,PORO,GAMA,Vp,MB

REAL,DIMENSION(:,:),ALLOCATABLE::A,P,PN1,PN1M,CAUDAL,TX,TY

REAL,DIMENSION(:),ALLOCATABLE::X,B,KX,KY

REAL,PARAMETER:: C=0.001127,ERROR=0.00001

END MODULE

PRINCIPAL:

PROGRAM GAS_GAUSS_2D

USE VARIABLES

IMPLICIT NONE

REAL::ZETA_GAS,FACT_BG,VISCOSIDAD_GAS

!LECTURA DE DATOS

CALL LECTURA

!INICIALIZACION

Verificar criterio de Balance de Materiales

Page 21: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

OPEN (12,FILE="RESULTADOS.TXT",STATUS="UNKNOWN")

WRITE(12,*)

WRITE(12,*)

WRITE(12,*)

WRITE(12,*) "SIMULADOR 2D FLUJO DE GAS SOLUCION POR ELIMINACION DE GAUSS"

WRITE(12,*)

WRITE(12,*)

P=PO

PN1=PO

TIEMPO=0

GAMA=(520*PORO*H*DX*DY)/(14.7*TEMP*5.615) !FACTOS DE CONVERSION A BARRILES

CAUDAL=CAUDAL*1000/5.615 !FACTOR DE CONVERSION A BARRILES

DT=1

!ITERACION EN EL TIEMPO

DO WHILE (TIEMPO.LE.TIEMPO_TOTAL)

CONVERGENCIA=1

DO WHILE(CONVERGENCIA.GT.ERROR)

PN1M=PN1

!CALCULO DE LAS TRANSMISIBILIDADES

DO I=1,NX+1

TX(I,:)=(2*C*H/DX)*((KX(I)*KX(I-1))/((VISCOSIDAD_GAS(PN1(I-1,:))*KX(I)*FACT_BG(PN1(I-1,:)))+(VISCOSIDAD_GAS(PN1(I,:))*KX(I-1)*FACT_BG(PN1(I,:)))))

ENDDO

DO J=1,NY+1

Page 22: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

TY(:,J)=(2*C*H/DY)*((KY(J)*KY(J-1))/((VISCOSIDAD_GAS(PN1(:,J-1))*KY(J)*FACT_BG(PN1(:,J-1)))+(VISCOSIDAD_GAS(PN1(:,J))*KY(J-1)*FACT_BG(PN1(:,J)))))

ENDDO

!ORGANIZAR EL SISTEMA DE ECUACIONES

CALL SISTEMA_ECUACIONES

!SOLUCIONAR

CALL GAUSS

!EVALUAR CONVERGENCIA

!SI NO CONVERGE ACTUALIZAR PRESION Y VOLVER A LAS TRASMISIBILIDADES

CONVERGENCIA=MAXVAL(ABS(PN1-PN1M)/PN1M)

ENDDO

!BALANCE DE MATERIALES

CALL BALANCE

P=PN1

TIEMPO=TIEMPO+DT

!IMPRESION DE RESULTADOS

IF (MOD(INT(TIEMPO),30).EQ.0) THEN

CALL RESULTADOS

ENDIF

ENDDO

!FIN

END PROGRAM

SUBRUTINAS:

SUBROUTINE BALANCE

USE VARIABLES

IMPLICIT NONE

Page 23: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

REAL::ZETA_GAS

Po=0

Q=0

DO J=1,NY

DO I=1,NX

Vp=(DX*DY*H*PORO*520*((P(i,j)/ZETA_GAS(P(i,j)))-(PN1(i,j)/ZETA_GAS(PN1(i,j)))))/(14.7*TEMP)

Q=Q+Caudal(i,j)

PO=PO+Vp

END DO

END DO

MB=ABS((PO/(DT*Q*5.615))-1)

END SUBROUTINE BALANCE

SUBROUTINE RESULTADOS

USE VARIABLES

IMPLICIT NONE

WRITE(12,*) "RESULTADOS PARA EL MES=",TIEMPO/30," BALANCE DE MATERIALES=",MB

WRITE(12,*)

DO j=1,NY

WRITE(12,1000)(PN1(I,J),I=1,NX)

ENDDO

WRITE(12,*)

WRITE(12,*)

1000 FORMAT(1000(F10.3,1X))

Page 24: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

END SUBROUTINE

SUBROUTINE GAUSS

USE VARIABLES

IMPLICIT NONE

DO I=1,NX*NY

B(I)=B(I)/A(I,I)

A(I,:)=A(I,:)/A(I,I)

DO J=I+1,NX*NY

B(J)=B(J)-(B(I)*A(J,I))

DO K=NX*NY,I,-1

A(J,K)=A(J,K)-(A(I,K)*A(J,I))

ENDDO

ENDDO

ENDDO

X(NX*NY)=B(NX*NY)/A(NX*NY,NX*NY)

DO I=(NX*NY)-1,1,-1

X(I)=B(I)

DO J=NX*NY,I+1,-1

X(I)=X(I)-A(I,J)*X(J)

ENDDO

X(I)=X(I)/A(I,I)

ENDDO

NB=0

DO J=1,NY

DO I=1,NX

NB=NB+1

PN1(I,J)=X(NB)

Page 25: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

ENDDO

ENDDO

END SUBROUTINE

REAL FUNCTION VISCOSIDAD_GAS(PRESS)

USE VARIABLES,ONLY:TEMP,GEGAS

IMPLICIT NONE

REAL,INTENT(IN)::PRESS

REAL MWG,DENSIDADG,VISCOK,VISCOX,VISCOY,VISCOSIDAD,ZETA_GAS

MWG=GEGAS*28.96

DENSIDADG=0.0014935*PRESS*MWG/(ZETA_GAS(PRESS)*TEMP)

VISCOK=((9.379+0.01607*MWG)*(TEMP**1.5))/(209.2+19.26*MWG+TEMP)

VISCOX=3.448 + (986.4/TEMP)+0.01009*MWG

VISCOY=2.447-0.2224*VISCOX

VISCOSIDAD=(VISCOK*0.0001)*EXP(VISCOX*(DENSIDADG)**VISCOY)

VISCOSIDAD_GAS=VISCOSIDAD

END FUNCTION VISCOSIDAD_GAS

REAL FUNCTION FACT_BG(PRESS)

USE VARIABLES,ONLY:TEMP

IMPLICIT NONE

REAL, INTENT(IN)::PRESS

REAL ::BG,ZETA_GAS

BG=(0.00503*ZETA_GAS(PRESS)*TEMP)/PRESS !PCY/PCN

FACT_BG=BG

END FUNCTION FACT_BG

Page 26: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

REAL FUNCTION ZETA_GAS(PRESS)

USE VARIABLES,ONLY:TEMP,GEGAS

IMPLICIT NONE

REAL,INTENT(IN)::PRESS

REAL SPR,STR, STC, SPC, A, B, C, D

SPC=677+15*GEGAS-37.5*GEGAS**2

STC=168+325*GEGAS-12.5*GEGAS**2

SPR=PRESS/SPC

STR=TEMP/STC

IF (((1.2.LT.STR).AND.(STR.LT.1.4)).AND.((0.LT.SPR).AND.(SPR.LT.13))) THEN

A=1.39*((STR-0.92)**0.5)-0.36*STR-0.101

B=(0.62-0.23*STR)*SPR+((0.066/(STR-0.86))-0.037)*SPR**2+((0.32/(10**(9*(STR-1))))*SPR**6)

C=0.132-(0.32*(LOG10(STR)))

D=10**(0.3106-(0.49*STR)+(0.1824*(STR**2)))

ZETA_GAS=A+((1-A)/(2.718**B))+C*(SPR**D)

ELSE

WRITE(*,*) "ERROR EN LA FUNCIN PARA CALCULAR EL FACTOR DE COMPRESIBILIDAD"

END IF

END FUNCTION

SUBROUTINE SISTEMA_ECUACIONES

USE VARIABLES

IMPLICIT NONE

REAL::ZETA_GAS

NB=0

A=0

Page 27: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

DO J=1,NY

DO I=1,NX

NB=NB+1

IF ((I.EQ.1).AND.(J.EQ.1)) THEN

A(NB,NB+1) =TX(I+1,J)

A(NB,NB+NX)=TY(I,J+1)

A(NB,NB)=-(TX(I+1,J)+TY(I,J+1)+(GAMA/(DT*ZETA_GAS(PN1(I,J)))))

B(NB)=CAUDAL(I,J)-(GAMA*P(I,J)/(DT*ZETA_GAS(P(I,J))))

ELSE IF((I.EQ.1).AND.(J.EQ.NY)) THEN

A(NB,NB+1) =TX(I+1,J)

A(NB,NB-NX) =TY(I,J)

A(NB,NB)=-(TX(I+1,J)+TY(I,J)+(GAMA/(DT*ZETA_GAS(PN1(I,J)))))

B(NB)=CAUDAL(I,J)-(GAMA*P(I,J)/(DT*ZETA_GAS(P(I,J))))

ELSE IF((I.EQ.NX).AND.(J.EQ.1)) THEN

A(NB,NB-1) =TX(I,J)

A(NB,NB+NX)=TY(I,J+1)

A(NB,NB)=-(TX(I,J)+TY(I,J+1)+(GAMA/(DT*ZETA_GAS(PN1(I,J)))))

B(NB)=CAUDAL(I,J)-(GAMA*P(I,J)/(DT*ZETA_GAS(P(I,J))))

ELSE IF((I.EQ.NX).AND.(J.EQ.NY)) THEN

A(NB,NB-1) =TX(I,J)

A(NB,NB-NX) =TY(I,J)

A(NB,NB)=-(TX(I,J)+TY(I,J)+(GAMA/(DT*ZETA_GAS(PN1(I,J)))))

Page 28: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

B(NB)=CAUDAL(I,J)-(GAMA*P(I,J)/(DT*ZETA_GAS(P(I,J))))

ELSE IF((I.EQ.1).AND.((J.GT.1).AND.(J.LT.NY))) THEN

A(NB,NB+1) =TX(I+1,J)

A(NB,NB+NX)=TY(I,J+1)

A(NB,NB-NX) =TY(I,J)

A(NB,NB)=-(TX(I+1,J)+TY(I,J+1)+TY(I,J)+(GAMA/(DT*ZETA_GAS(PN1(I,J)))))

B(NB)=CAUDAL(I,J)-(GAMA*P(I,J)/(DT*ZETA_GAS(P(I,J))))

ELSE IF((I.EQ.NX).AND.((J.GT.1).AND.(J.LT.NY)))THEN

A(NB,NB-1) =TX(I,J)

A(NB,NB+NX)=TY(I,J+1)

A(NB,NB-NX) =TY(I,J)

A(NB,NB)=-(TX(I,J)+TY(I,J+1)+TY(I,J)+(GAMA/(DT*ZETA_GAS(PN1(I,J)))))

B(NB)=CAUDAL(I,J)-(GAMA*P(I,J)/(DT*ZETA_GAS(P(I,J))))

ELSE IF(((I.GT.1).AND.(I.LT.NX)).AND.(J.EQ.1)) THEN

A(NB,NB+1) =TX(I+1,J)

A(NB,NB-1) =TX(I,J)

A(NB,NB+NX)=TY(I,J+1)

A(NB,NB)=-(TX(I+1,J)+TX(I,J)+TY(I,J+1)+(GAMA/(DT*ZETA_GAS(PN1(I,J)))))

B(NB)=CAUDAL(I,J)-(GAMA*P(I,J)/(DT*ZETA_GAS(P(I,J))))

ELSE IF(((I.GT.1).AND.(I.LT.NX)).AND.(J.EQ.NY))THEN

A(NB,NB+1) =TX(I+1,J)

A(NB,NB-1) =TX(I,J)

Page 29: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

A(NB,NB-NX) =TY(I,J)

A(NB,NB)=-(TX(I+1,J)+TX(I,J)+TY(I,J)+(GAMA/(DT*ZETA_GAS(PN1(I,J)))))

B(NB)=CAUDAL(I,J)-(GAMA*P(I,J)/(DT*ZETA_GAS(P(I,J))))

ELSE

A(NB,NB+1) =TX(I+1,J)

A(NB,NB-1) =TX(I,J)

A(NB,NB+NX)=TY(I,J+1)

A(NB,NB-NX) =TY(I,J)

A(NB,NB) =-(TX(I+1,J)+TX(I,J)+TY(I,J+1)+TY(I,J)+(GAMA/(DT*ZETA_GAS(PN1(I,J)))))

B(NB)=CAUDAL(I,J)-(GAMA*P(I,J)/(DT*ZETA_GAS(P(I,J))))

ENDIF

ENDDO

ENDDO

END SUBROUTINE

SUBROUTINE LECTURA

USE VARIABLES

IMPLICIT NONE

OPEN (11,FILE ="DATOS.TXT",STATUS="UNKNOWN")

READ(11,*)

READ(11,*) LX,LY

READ(11,*)

READ(11,*)

READ(11,*) TEMP,PO,H,GEGAS,PORO

READ(11,*)

Page 30: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

READ(11,*) NX,NY

DX=LX/REAL(NX)

DY=LY/REAL(NY)

READ(11,*)

ALLOCATE(KX(0:NX+1),KY(0:NY+1),A(NX*NY,NX*NY),B(NX*NY),X(NX*NY),CAUDAL(NX,NY),TX(NX+1,NY),TY(NX,NY+1),P(0:NX+1,0:NY+1),PN1(0:NX+1,0:NY+1),PN1M(0:NX+1,0:NY+1))

CAUDAL=0

READ(11,*) (KX(I),I=1,NX)

READ(11,*)

READ(11,*) (KY(I),I=1,NY)

KX(0)=KX(1)

KX(NX+1)=KX(NX)

KY(0)=KY(1)

KY(NY+1)=KY(NY)

READ(11,*)

READ(11,*) NP

READ(11,*)

DO K=1,NP

READ(11,*) Q,I,J

CAUDAL(I,J)=Q

ENDDO

READ(11,*)

READ(11,*) T_IMPRESION,TIEMPO_TOTAL

CLOSE (11)

END SUBROUTINE

Page 31: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible

RESULTADOS

Page 32: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible
Page 33: Modelamiento Del Flujo Lineal 2d de Un Fluido Compresible