viernes, 4 de diciembre de 2009

Simulación Térmica

En los últimos años se han decubiertos grandes cantidades de acumulaciones de hidrocarburos cuyos crudos son pesados y bitúmenes, que han venido convirtiéndose en fuentes de energía cada vez más importantes. Dichos crudos son muy difíciles de extraer por tener una gravedad API muy alta, para ello, generalmente, se utiliza calor para aumentar la temperatura del yacimiento, trayendo como consecuencia la disminución de la viscosidad y así mejorar su desplazamiento y posterior extracción. A este proceso se le llama recuperación térmica, en otras palabras, un proceso en el cual se inyecta calor al yacimiento para producir hidrocarburos.
Son varios los métodos utilizados en la recuperación térmica, entre ellos están: SAGD, VAPEX, THAI, CAPRI, ICV, IAV, Combustión es sitio, Inyección de Nitrógeno e Inyección de CO2.

SAGD: Steam-Assisted Gravity Drainage o Drenaje Gravitacional Asistido por Vapor, es una de las tecnologías más usadas y consiste en dos pozos horizontales uno por encima del otro con espaciamiento de 5 a 10 metros. El pozo superior se usa para inyectar el vapor y crear una cámara de vapor de alta temperatura. En el límite de la cámara el vapor se condensa que junto con el agua y el petróleo calentado se desplazan hacia el pozo productor.



VAPEX: esta técnica es especialmente usada en casos donde SAGD no es rentable, consiste en la inyección de un solvente al yacimiento para reducir la viscosidad del petróleo y movilizarlo hacia los pozos productores.

THAI: que por sus siglas es Toe-to-Heel Air Injection para generar calor in situ en vez de inyectarlo desde superficie, adopta una configuración especial de pozo horizontal y vertical de combustion en sitio.

CAPRI: es THAI más un catalizador que se agregar al relleno de la grava alrededor del pozo productor, en otras palabras hace el trabajo de una refinería pero en subsuelo.

ICV: Inyección Continua de Vapor, consta de un pozo inyector y uno productor (vista de la manera más simple) como su nombre lo dice consiste en inyectar vapor de manera continua al yacimiento, para generar una cámara de vapor que desplace el petróleo hacia el pozo productor.

IAV: Inyección Alterna de Vapor, es muy parecida a la ICV pero en vez de que la inyección sea continua es alterna, es decir, durante períodos de tiempo.

Combustion en sitio: en este proceso se quema parte del petróleo para disminuir en gran manera la viscosidad del petróleo restante. Se genera una cámara de combustión con el pozo inyector y así se desplaza el petróleo hacia el productor.

Otro método muy utilizado es la recuperación a partir de la inyección de gas provocando una mezcla miscible entre éste y el petróleo. Al inyectar gas, la presión aumenta ; en consecuencia, el gas se disuelva en el petróleo y así se disminuye la viscosidad del crudo. Estos gases son nitrógeno y dióxido de carbono.

sábado, 14 de noviembre de 2009

Sección SOLUTION

Sección SOLUTION
En esta sección se definen las condicionaes iniciales del modelo:
  • Las presiones y saturaciones iniciales de las fases de cada celda.
  • Relaciones de solución iniciales.
  • Dependecia en profundidad de las propiedades de los fluidos.
  • Condiciones iniciales del acuífero analítico.

Existen tres opciones de inicialización en Eclipse:

  • Equilibration: las presiones y saturaciones iniciales se calculan con el keyword EQUIL.
  • Restart: la solución inicial puede ser leída en un archivo Restart, generado por una corrida previa de Eclipse.
  • Enumeration: aquí el usuario especifica las condiciones iniciales de cada bloque de la malla. Se usa en presiones anormales, en Barinas por ejemplo: el yacimiento tiene un acuífero activo conectado a superficie que le aporta agua constantemente. Cuando este aporte es muy fuerte, hace que el contacto sea inclinado y no se puede definir la profundidad de los contactos por Equilibration.

Inicializar con Equilibration:
EQUIL: aquí se asignan los contactos y las presiones para el equilibrio hidrostático convencional, además puede existir más de una región de equilibrio. Este keyword consta de una línea, y el orden de los argumentos son: profundidad, presión, contacto agua-petróleo, presión capilar petróleo-agua, contacto petróleo-gas, presión capilar petróleo-gas, RSVD/PBVD, RVVD/PDVD y N. Los cuatro primeros items son los más importantes y obligatorios. El valor por defecto del contacto gas petróleo es la profundidad del datum. Los items son interpretados de manera diferente dependiendo de las fases presentes. EQUIL es la manera más común de inicializar.

Generalmente el contacto agua-petróleo no está alineado con las celdas, de modo que en una celda puede haber dos fluidos, por ejemple petróleo y agua. En la siguiente figura se puede observar:

Por defecto el simulador al calular el hidrocarburo original en sitio, lo hace según el segundo dibujo, pero eso no es correcto porque hay petróleo en la zona de agua y agua en la zona de petróleo. Para corregir este error y calcular los volumenes iniciales de hidrocarburos como lo muestra el primer dibujo, se utiliza el último argumento del keyword EQUIL para dividir la celda en N partes y así identificar qué y cuánto de fluidos hay en la celda a cada lado del contacto.

Inicialización con Enumeration:
Es la otra forma de inicializar pero en este caso se le asignan explicítamente las condiciones iniciales para cada celda, por lo que no es práctico y menos si se tiene un yacimiento de un millón de celdas por ejemplo. La ventaja de este keyword es que es apropiado para yacimientos inicialmente inclinado o en situación de no equilibrio.
Inicialización con Restart: son útiles si se queire ahorrar tiempo de simulación, pero en el curso no se van a usar.
Controles de Salida: como ya se ha mencionado en los anteriores blogs, en control de salida es RPT, en este caso RPTSOL para mostrar los datos tabulados e impresos en el archivo PRT.

Sección REGION:
Esta sección es opcional y divide al yacimiento en regiones de acuerdo a la variación en sus características y en la forma como se quieren mostrar los resultados en el archivo PRT (por ejemplo: una propiedad por capas o regiones específicas según concesiones legales o fallas presentes en la zona).
En la sección SOLUTION, al inicializar con EQUIL ya no sería una línea si no tantas líneas como regiones halla en la malla.
Los keywords más usados en esta sección son FIPNUM, SATNUM, PVTNUM, EQUNUM, y el control de salida es RPTREG.

jueves, 12 de noviembre de 2009

Construcción de un Modelo

Luego de tener una idea de cómo es Eclipse Blackoil, por medio de las publicaciones anteriores, podemos empezar a contrucción un modelo sencillo. Sólo vamos a ingresar los datos en las secciones Runspec, Grid y Props, que son las que se han publicado. No se utilizará la sección Edit porque recordemos que ésta es opcional, y no se incluirá en este ejemplo.

Los datos para la construcción del modelo:
- Dimensiones: 20 x 5 x 10.
- Yacimiento de petróleo saturado.
- Unidades de campo.
- Se tienen perforados 3 pozos y se planea perforar un máximo de 7 pozos adicionales
- Generar archivos de salida unificados.
- La fecha de inicio de la simulaicón es el 01 de enero de 2007.
- Se plantea dividir el yacimiento en un máximo de 10 secciones para efectos de reportes.
- Existe un acuífero tipo Fetckovich conectado a la base del yacimiento.
- La geometría de la malla es del tipo corner point, fue generada con un pre-procesador y se encuentra en el archivo GEOMETRIA.GRDECL.
- Todas las celdas tienen una porosidad de 20%.
- La permeabilidad vertical es el 10% de la permeabilidad horizontal. (Se proporcionan los valores de permeabilidad horizontal para cada capa)
- Se debe reportar en el archivo PRT las conexiones de celdas no vecinas.
- Las gravedades del petróleo, agua y gas son 30, 1.07, 0.75 respectivamente.
- La roca tiene una compresibilidad de 3.8e-6 a una presión de referencia de 4600 lpc.
- El PVT del agua puede ser estimado con los siguientes valores: Pref=4600 lpc, Bw=1.09 BY/BN, Cw=3.7e-6, viscosidad=0.48 cp, viscosibilidad=0 lpc-1.
- Además se proporcionan las tablas PVT del petróleo (P, Rs, Bo y Viscosidad), PVT del gas (P, Bg y Viscosidad), ambas desde 800 hasta 4600 lpc. Además se proporciona una tabla con Sw, Krw, Krow, Pcow para agua-petróleo; una tabla con Sg, Krg, Krog, Pcog para gas-petróleo y una tabla con la permeabilidad horizontal de cada capa.

Ahora, en qué sección vamos a incluir estos datos. Son muchos los keywords de cada una, pero sólo vamos a usar los relacionados con los datos que nos están dando. Sabemos que en la sección Runspec deben incluirse, las dimensiones de la malla, la fecha de inicio, las fases, preparar al simulador para leer cierta cantidad de información, etc. Por lo tanto, los 8 primeros datos "pertenecen a esta sección". Varios de los keywords correspondientes, como ya se ha mencionado, tiene argumentos; los cuales podemos buscarlos en el Reference Manual. Los 4 siguientes datos se incluyen en la sección Grid. El resto en la sección Props. A continuación vemos cómo quedarían dichos datos en el block de notas:







jueves, 5 de noviembre de 2009

Sección PROPS

Una vez que se ha realizado el dimensionamiento de las variables, la asignación de memoria(Sección Runspec), la geometría de la malla y las propiedades de la roca; se procede a evaluar la densidad de los fluidos a condiciones de yacimientos y a condiciones del stock tank, usando la ecuación de estado para petróleo negro; así como también se evalúan las propiedades de los fluidos en cada paso de tiempo, los factores volumétricos de formación, las relaciones gas petróleo y la viscosidad. Pero para que el simulador pueda hacer esto se necesitan las funciones de saturación, la compresibilidad de la roca en función de la presión, las permeabildades relativas y presiones capilares en función de la saturación. También se debe establecer las características PVT a condiciones normales y la relación gas-petróleo inicial. Todos estos datos son incluidos en esta sección.

Los simuladores de petróleo negro, como es el caso de EBO, no pueden simular los cambios composicionales. Si se necesita representar la liberación de gas, se tiene que variar el Rs; como es el caso de petróleo negro porque la liberación de gas sería una forma de variación composicional. Sin embargo, el simulador es útil, siempre y cuando los cambios en la composición sean insignificantes y el fluido esté lejos del punto crítico. Entonces, las propiedades de dicho fluido podrán ser representadas en las tablas PVT. Además, el proceso debe ser isotérmico. En caso, de que todo lo anterior no se cumpla, debe usarse un simulador composicional.

En el siguiente diagrama de fases se puede observar los diferentes tipos de fluidos presentes en el yacimiento, que se pueden usar en EBO:

Petróleo muerto representa petróleo por encima del punto de burbuja, la concentración de gas libre no varía, el gas comienza a liberarse sólo cuando cruza la curva de burbuja. En EBO, ese petróleo se considera muerto porque el gas disuelto no afecta su comportamiento, y se denomina Dead Oil.

Petróleo vivo, considerando que inicialmente estuvo subsaturado, comienza a liberar su gas en solución. En EBO, se llama Live Oil.

Petróleo Vivo inicialmente saturado, quiere decir que desde un principio había capa de gas, a medida que cae la presión, se libera más gas. En EBO, se le conoce como Live Oil.

Gas Seco, implica que inicialmente había una sola fase; vapor. Este vapor tiene petróleo vaporizado, pero como la presión cae a temperatura constante, nunca se llega a la presión de rocío porque está lejos de la envolvente. Se denomina Dry Gas, en EBO.

Gas Húmedo, inicialmente, es una mezcla de dos fases dentro de la envolvente, a medida que la presión cae, el líquido se evapora hasta cruzar la curva de rocío, cuando ya no queda líquido. En EBO se le denomina Wet Gas.

Todas estas fases deben ser definidas en la sección Runspec, obviamente dependerán en que situación se encuentre el yacimiento. Viéndolo en el diagrama de fases, si se está a la derecha o a la izquierda del punto crítico y cuántas fases están presentes.

Si hay tres fases y se encuentra a la izquierda del punto crítico, entonces es petróleo saturado por debajo de la presión y temperatura crítica, y se deben definir la siguientes fases en Runspec: OIL, WATER, GAS y DISGAS. Si varía el Rs y la presión de burbuja con la profundidad, se usan los keywords RSVD y PBVD respectivamente, ambos en la sección Solution.

Si hay tres fases, pero esta vez a la derecha del punto crítico, entonces es gas condensado. El petróleo es petróleo muerto y el gas tiene petróleo vaporizado. En este caso, se usan los keywords OIL, WATER, GAS y VAPOIL. De igual manera, si varía RGP y la presión de burbuja con la profundidad, se usan los keywords RVVD y PDVD, ambos en la sección Solution también.

Ingreso de datos PVT según el tipo de fluido:

Petróleo Muerto:
  1. PVDO: este keyword usado para petróleo muerto, consiste en una tabla que contiene Bo y la viscosidad en función de la presión. La simulación termina cuando la presión cae por debajo de la de burbuja. En la tabla las presiones deben aumentar desde la Pb hasta la presión del yacimiento, de arriba hacia abajo; y por consiguiente, el Bo va aumentando de abajo hacia arriba. Como es petróleo muerto, el Rs es constante y se usa el keyword RSCONST en PVDO, en caso que haya más de un tipo de petróleo muerto con su respectivo punto de burbuja, habrán más Rs y se usará el keyword RSCONSTT. En la siguiente imagen se observa un ejemplo de este keyword, para un yacimiento de petróleo muerto cuya Pb=3764 psia y un Rs=0,565 MPCN/BN.

  2. PVCDO: en este caso se establecen los valores de Bo y viscosidad a la presión de burbuja. Este keyword es una sóla línea en la que se establece la presión, el Bo, la compresibilidad del petróleo, la viscosidad y la viscosibilidad (Cv). De igual manera, la simulación se detiene cuando la presión cae por debajo de la de burbuja y se usa RSCONSTT para más de un petróleo muerto. También se debe definir la presión máxima con el keyword PMAX. A continuación se presenta un ejemplo, para el mismo caso anterior (la presión máxima es 3764):

Petróleo Vivo:

  1. PVTO: se usa para definir las propiedades de petróleo subsaturado y saturado. La tabla contiene el Rs en la región saturada a la presión de saturación, la presión de burbuja, Bo, y la viscosidad, de izquierda a derecha (La presión de burbuja varía en función de la cantidad de gas disuelta en el sistema). El valor de Rs en la parte subsaturada no se coloca, el último valor de Rs, lo asume como el de burbuja y su respectiva presión como la presión de burbuja del petróleo.
  2. PVCO: también se usa para definir la propiedades del petróleo subsaturado y saturado, pero en vez de establecerse los Bo y las viscosidades en función d ela presión, se definen dichos valores a la presión de burbuja, al igual PVCDO. El orden de esta tabla es el siguiente: la presión de burbuja, Rs, Bo, viscosidad, Co y Cv:


Gas Seco:

  1. PVDG: se utiliza para especificar las propiedades del gas por encima del punto de rocío. Esta tabla sólo tiene el Bg y la viscosidad en función de la presión de burbuja. Si la presión cae por debajo de la de rocío, entonces la simulación termina. Este keyword tiene RVCONST, para definir la relación los barriles normales de petróleo disuelto en mil pies cúbicos estándar de gas.
  2. PVZG: tiene la misma función que el keyword anterior, sólo que es alternativo al PVDG. A diferencia de este, se debe establecer una temperatura de referencia, y el simulador calcula el Bg a partir del factor de compresibilidad z del gas.

Gas Húmedo:

  1. PVTG: es el único keyword usado para definir las propiedades del gas saturado y subsaturado. Consta de una tabla que contiene Rv, Bg y la viscosidad en función de la presión. Cuando es saturado, los valores que se ingresan son la presión, la relación gas-petróleo, Bg y la viscosidad. Cuando es subsaturado, no se colocan los valores de presión.

En PROPS también se definen las densidades o gravedades específicas de las fases presentes en el sistema. Esto se hace con el keyword DENSITY o GRATIVY.

Otra keyword importante en esta sección es ROCK, o los relacionados con las propiedades de la roca. Se usa para definir la compresibilidad de la roca, si ésta es uniforme. Habrá tantos keywords ROCK, como regiones presentes en el sistema.

Funciones de Saturación:

En PROPS, también se cubren otros aspectos como las funciones de saturación. Esto se hace para especificar los valores más altos y más bajos de saturación de cada fase, las presiones capilares y calcular la movilidad de los fluidos. Para ello, se establecen en forma de tabla la saturación, las permeabilidades relativas y la presión capilar correspondiente. Obviamente, en dicha tabla debe haber la misma cantidad de datos para cada propiedad y las saturaciones se ingresan en fracción.

En EBO, existen dos familias de keywords de saturación, cuyos keywords no pueden mezclarse en una misma simulación. Estos son:

  1. Familia 1: los keywords son SWOF, SGOF, SLGOF.
  • SWOF: se usa cuando las fases activas son petróleo y agua, en caso que también haya gas se usará, adicionalmente el keyword SGOF o SLGOF. En la tabla se colocan, en el siguiente orden: la saturación de agua, la permeabilidad relativa del agua, la permeabilidad relativa petróleo/agua y la presión capilar agua-petróleo. Los valores de las dos primeras columnas deben aumentar hacia abajo y las dos últimas columnas aumentan hacia arriba.
  • SGOF: se usa cuando las fases activas son petróleo y gas, en caso de que el agua sea una fase activa también, se usará el keyword SWOF para representar las saturaciones agua-petróleo. En la tabla se colocan, en el siguiente orden: la saturación de gas, la permeabilidad relativa del gas, la permeabilidad relativa petróleo/gas, y la presión capilar gas/petróleo. Las columnas aumentan hacia abajo, excepto la tercera; la de permeabilidad relativa petróleo/agua. Ambos keywords, tanto SWOF cmo SGOF terminan con un slach.
  • SLGOF: se usa cuando las fases activas son petróleo y gas, en caso de que el agua también sea una fase activa, se usa SWOF para representar las saturaciones agua/petróleo. La tabla está organizada de la siguiente manera: saturación de líquido, permeabilidad relativa del gas, permeabilidad relativa petróleo/gas y presión capilar petróleo/gas.

2. Familia 2: los keywords son SWFN, SGFN, SWGFN, SOF3, SOF2, SOF32D.

  • SWFN: se usa para definir la permeabilidad relativa del agua y la presión capilar petróleo/agua en función de la saturación de agua. El orden en la tabla es saturación de agua y permeabilidad relativa del agua (ambas aumentando habia abajo) y la presión capilar aumentando hacia arriba. El primer valor de permeabilidad relativa debe ser cero. El keyword termina con un slach.
  • SGNF: se usa para definir la permeabilidad relativa del gas y la presión capilar petróleo/gas en función de la saturación de gas. El orden en la tabla es saturación de gas, permeabilidad relativa del gas y la presión capilar, todas aumentando hacia abajo. También termina con un slach.
  • SWGFN: sólo si hay gas y agua en el sistema.
  • SOF3: se usa para definir la saturación de petróleo cuando las tres fases están presentes. El orden es: saturación de petróleo, permeabilidad relativa petróleo/agua (a la saturación de gas connata) y la permeabilidad relativa petróleo/gas (a la saturación de agua connata).
  • SOF32D: es alternativo a SOF3, pero permite establecer la permeabilidad relativa del petróleo como función de la saturación de agua y de gas.
  • SOF2: se usa cuando están presentes dos fases y una de ellas es petróleo. La tabla contiene la saturación de petróleo y la permeabilidad relativa del petróleo.

Controles de Salida:

El único control de salida usado en PROPS es RPTPROPS, el cual se ve en el archivo PRT solamente.

miércoles, 28 de octubre de 2009

Secciones RUNSPEC, GRID y EDIT

Sección RUNSPEC
Ésta es la primera sección del simulador EBO y tiene dos funciones fundamentales que son asignar memoria y especificar el carácter básico del modelo. La primera es la memoria RAM para los componentes de la simulación como los pozos, la data, etc., es decir, en cuánta memoria RAM se debe subdivir internamente para cada componente. Desde que se creó ECLIPSE, éste se ha ido modificando y asigna tanta memoria como sea necesaria para simular. El simulador usa la memoria paso a paso a medida que lee el archivo que contiene los datos de entrada, de estos datos algunos ocupan poca memoria como las tablas PVT y las de permeabilidad, en cambio la malla del yacimiento sí ocupan bastante memoria. La segunda función es para establecer la fecha de inicio de la simulación.

Los keywords más usados en esta sección son TITLE, DIMENS, FIELD (para indicar las unidades en que va a trabajar el simulador), OIL, WATER, DISGAS (estos tres últimos representan las fases presentes en el yacimiento), WELLDIMS (en el que se colocan algunas características de los pozos), START, AQUDIMS (keyword asignado para las propiedades del acuífero y es opcional porque puede ser descrito más ampliamente en otra sección), TABDIMS (opcional).

Otro keyword perteneciente a RUNSPEC es PARALLEL que permite que conjuntos de datos sean distribuidos a procesadores para lograr una simulación más rápida. El usuario puede cambiar el número de procesadores de acuerdo a los recursos disponibles.

Sección GRID
La transmisibilidad es una propiedad compartida entre celdas conectadas, que consiste en el flujo de fluidos entre esas celdas. El simulador usa la transmisibilidad y el volumen poroso de las celdas para calcular el flujo de fluidos de cada fase, en cada celda y para cada paso de tiempo; pero para hacer esto son necesarios ciertos datos que son proporcionados por el usuario en la sección GRID. Entonces las propiedades obligatorias que deben ser suministradas aquí son: las dimensiones y profundidades de la celda, la porosidad, la permeabilidad y el espesor neto (auque si no se tiene este dato, Eclipse asume 1), estas tres últimas propiedades están referidas al centro de la celda. La transmisibilidades también son necesarias para calcular el flujo en las direcciones X, Y y Z (en caso de que el sistema usado sea cartesiano), y estas se ven influenciadas por la geometría de las celdas.

Tipos de Mallas: EBO dispone de cuatro tipos de mallas, las cuales son: corner point, block-centered, radial y unstructured. Las geometrías corner point y block-centered son llamadas modelos cartesianos normalmente. Las geometrías NO se pueden mezclar para una misma data porque cada una tiene su método particular de calcular las transmisibilidades, salvo que sea un caso extremo.
  • Corner Point: las celdas de esta geometría pueden tomar un sin número de formas y es útil para facilitar la simulación de estructuras geológicas complejas, además de permitir el flujo parcial entre celdas. Esta geometría es más compleja que la block centered y su data es mucho mayor, para lo cual se usa un preprocesador. Los keywords utilizados son COORD y ZCORN.
  • Block-centered: las celdas son rectangulares; los topes y las bases son horizontales y los lados verticales, los lados forman un ángulo de 90° entre sí, por ello la data es relativamente pequeña. La celda (1,1,1) está conectada a la (1,2,1) a pesar de la localización espacial de estas celdas. Los keywords usados son DX, DY, DY y TOPS. En esta geometría no se requiere de un pre-procesador a diferencia de Corner point, pero su desventaja es que las conecciones entre celdas son incorrectas cuando hay presencia de fallas (porque los modelos geológicos son simplificados) y en consecuencia, el usuario debe modificar la transmisibilidad.
  • Radial: este tipo de geometría se usa mayormente en los estudios cercanos al pozo y los keywords correspondientes son DR, DTHETA y DZ.
  • Unstructured: este tipo de malla siempre es creada usando el pre-procesador FloGrid; en el que el volumen poroso, la transmisibilidad y el orden de las celdas son pre-procesados. Se usa el keyword PEBI en Eclipse para indicar que la geometría de la malla es unstructured.

Por otra parte, para no perder tiempo calculando el flujo de fluidos en celdas sin importancia, hay una serie de keywords que le permiten al usuario agrupar estas celdas como inactivas, lo que hace el simulador es asignarle el valor cero al volumen poroso de estas celdas. Entre ellos están: ACTNUM, MINPV y PINCH. Por ejemplo ACTNUM indica de manera explícita el comportamiento de la celda: 0 indica si es inactiva y 1 si es activa.

Definir las Propiedades de la Celda: los keywords correspondientes a dichas propiedades requieren un valor por celda (aunque sea inactiva) y en cada dirección. Hay varias maneras de definir estas propiedades. Es importante mencionar que los valores de la propiedades deben estar explícitos en EBO. Por ejemplo, si existe una ecuación que permite calcular la permeabilidad a partir de la porosidad, esta debe ser calculada primero; esto generalmente se hace con un pre-procesador y luego estos datos se cargan al archivo de datos con el keyword INCLUDE.

Para asignar los valores repetidos a cada celda se usan los asteriscos (*) y algunos de los operadores más usados son EQUALS, BOX y COPY. Por ejemplo:

-----------------------------------------

GRID

EQUALS

'PORO' 0.3/

'PERMX' 100/

'PERMX' 50 1 3 1 3 2 2/

/

BOX

1 4 1 4 1 1/

PORO

16*0.3/

PERMX

200 50 40 150 ............ 80 90/

ENDBOX

------------------------------------------

Para el caso de EQUALS, en PORO se le asigna el valor de 0.3, luego se le asigna el valor de 100 a la permeabilidad en el eje x. En caso de querer cambiar este valor sólo en algunas celdas, en la línea siguiente escribo el keyword correspondiente entre comillas, luego el nuevo valor y los argumentos siguientes son las celdas que tomarán este valor. En este caso el nuevo valor de PERMX es 50 desde i1=1 hasta i2=3, j1=1- j2=3 y k1=2-k2=2. Note que el valor de porosidad y el primer valor de PERMX son asignados para todas las celdas (valores por defecto).

Para el keyword BOX, primero que nada se debe estar pendiente de "cerrar esa caja con un ENDBOX, porque si no tendríamos un error". Luego de BOX se definen las celdas que componen la caja, en este caso desde i1=1 hasta i2=4, j=1-j=4 y z1=2-z2=2. Después se le asigna el valor de la porosidad a estas 16 celdas, multiplicando el número de celdas por la porosidad (escribirlo en ese orden). Para PERMX se le asigna un valor de permeabilidad a cada celda que va en el siguiente orden: (1,1,1); (2,1,1); (3,1,1);(4,1,1); (1,2,1);(2,2,1);(3,1,1),(4,2,1);...(4,4,1), son 16 valores de permeabilidad.

Cálculo de las Transmisibilidades: generalmente la simulaición se realiza cuando el flujo ocurre entre celdas con una conexión directa o entre celdas adyacentes. Pero hay casos donde hay flujo entre celdas con índices I,J o K no vecinos, como por ejemplo cuando una celda se subdivide en varias celditas, entonces habrá flujo entre la celda que está al lado de la original y las pequeñas celdas en las que fue subdividida esta. Eclipse asigna automáticamente una NNC (non-neighboring) en cualquier momento cuando una celda corner point hace contacto con otra celda cuyos índices I,J,K no son adyacentes.

Los NNC se aplican cuando hay fallas, acuíferos, modelos radiales, inconformidades y pinchouts (cuando un grupo de celdas con un mismo índice i, j o k que va disminuyendo hasta desaparecer estas celdas).

Reportar Resultados: para reportar resultados de la sección GRID en el archivo PRT se usan:

  • RPTGRID: solicita el reporte de muchos keywords, incluyendo ALLNNC.
  • BOUNDARY: que limita la salida de datos en el archivo PRT a ciertas celdas.

Si se quiere tener una vista 3D de los resultados, se usan los siguientes keywords:

  • GRIDFILE: para datos geométricos (*.egrid)
  • INIT: para propiedades estáticas (*.init)

En líneas generales, en la sección GRID se proporciona la data necesaria para calcular el volumen poroso, las transmisibilidades, profundidades del centro de las celdas y las conexiones directas y no vecinas.

Sección EDIT

Como se mencionó en el artículo anterior, la sección EDIT es opcional y está destinada a modificar o editar la información suministrada en la sección GRID. También se mencionó que a medida que el simulador va leyendo la información, va verificando que la misma sea lógica; luego de este proceso, las propiedades calculadas en GRID pueden ser ajustadas por el usuario, pero de allí en adelante, los datos a partir de los cuales fueron calculadas las propiedades no puede ser modificados. Es en este caso donde es útil la sección EDIT; para modificar los volumenes porosos, transmisibilidades, las profundidades en el centro de la celda y las NNC. Los keywords correspondientes son PORV, TRAN y DEPTH, respectivamente.

Los operadores que se pueden usar en esta sección son: MULTIPLY, BOX, EQUALS, COPY, ADD, etc.

jueves, 22 de octubre de 2009

Introducción a la Simulación Numérica de Yacimientos II

El simulador Eclipse Blackoil es el más usado en el mundo porque simplemente ofrece resultados muy confiables aún en situaciones muy complejas de representar como los son la segregación gravitacional y el PVT variable. Además trabaja tomando en cuenta muchas aplicaciones geológicas y siempre se está innovando.

Como ya se mencionó, básicamente lo que hace cualquier simulador es resilver un modelo matemático. Los datos que se ingresan de propiedades de la roca y de los fluidos son leídos y guardados en un archivo de datos. Luego de esto se verifica que los datos sean consistentes. El siguiente paso es lo básico que hace Blackoil; se calculan las presiones y saturaciones a lo largo del tiempo. Por último, el simulador sólo muestra los resultados que uno le solicita y esta información es mostrada en diversos archivos de salida.

Archivo *.DATA: es el archivo de datos en Eclipse Blackoil, en este debe estar contenida la información necesaria para el cálculo de presiones y saturaciones. El archivo *.DATA está formado por ocho secciones: RUNSPEC, GRID, EDIT, PROPS, REGIONS, SOLUTION, SUMMARY y SCHEDULE. De estas, cinco son obligatorias: RUNSPEC, GRID, PROPS, SOLUTION y SCHEDULE, el resto son opcionales.
En este archivo de datos el nombre de la sección siempre debe estar escrito en mayúscula y en la primera columna (sin dejar márgen). De igual manera se escriben el restos de los keywords (los keywords son palabras claves en los cuales se indican ciertos valores, por ejemplo PORO es un keyword, en el que se guardan los valores de porosidad, entonces en el archivo de datos se coloca:

PORO
20*0.2/
En el que 20 es el número de celdas y 0.2 el valor de la porosidad para todas esas celdas).
  • RUNSPEC: en esta sección se encuentran la características generales del modelo. Se utiliza para el dimensionamiento de las variables y establecer la memoria necesaria para llevar a cabo la simulación, en otras palabras prepara al simulador para la corrida. En esta sección se definen las fases presentes en el yacimiento, unidades (de campo, laboratorio o métricas), fechas, título, entre otras y todo los relacionado con el dimensionamiento de la variables porque Eclipse Blackoil (EBO) lee algunas variables como matrices, por ejemplo los PVT. Estos PVT pueden existir para cada región, en caso de que el yacimiento se divida en dos regiones o más, para esto es necesario asignarle un espacio de la memoria a esta variable. Entre los keywords presentes en esta sección son: OIL, GAS, DISGAS, WATER, VAPOIL, TITLE, DIMENS, START, AQUDIMS, WELLDIMS.
  • GRID: en esta sección se establece la geometría de la malla y las propiedades de la roca. Se define la porosidad y la permeabilidad en todas las direcciones, la profundidad del modelo, las celdas activas y las inactivas, dimensiones de la malla, número de celdas. Algunos de los keywords pertenecientes a esta sección son: PORO, PERMX, PERMY, PERMZ, RPTGRID (para reportar resultados), entre otras.
  • EDIT: esta sección es opcional porque se utiliza para modificar propiedades contenidas en la sección GRID. Generalmente se modifican las transmisibilidades (por la presencia de fallas).
  • PROPS: esta sección, al igual que RUNSPEC y GRID, es obligatoria y en ella se definen las propiedades PVT y Roca-Fluido. Entre los keywords de esta sección están: PVTO, PVTG, PDVG, SWOF, SGOF, PVTW, ROCK, etc.
  • REGION: es otra sección opcional en la que se subdivide el yacimiento por regiones. Hay que estar pendiente que esto se debe establecer desde un principio en la sección RUNSPEC, porque en caso contrario el simulador va a reportar un error. En esta sección se indica cuales celdas contituyen a cada región. Cada región tiene diferentes propiedades como las PVT, cuando el simulador está leyendo la información PVT en PROPS, la primera tabla que lee será la de la primera región, la segunda será la de la segunda región y así sucesivamente.
  • SOLUTION: esta sección es obligatoria y aquí se realiza la inicialización del modelo. Es decir, se le proporciona información al simulador de presiones y saturaciones iniciales de cada celda para resolver el modelo.
  • SUMMARY: es una sección opcional y con ella conseguimos los vectores de salida para gráficos. A través de este keyword se le pide al simulador que calcule algo, por ejemplo tasas.
  • SCHEDULE: en esta sección se define la información de los pozos y pasos de tiempo, es decir, momentos en los cuales se van a generar los reportes, ubicación, producción, tipo, etc.

Reglas Básicas del Archivo *.DATA:

  • Los keywords deben estar escrito en mayúsculas y empezar en la primera columna.
  • No puede haber más de 132 caracteres en una línea.
  • Los keywords son de 8 caracteres máximo.
  • Para escribir un comentario se colocan dos guiones al principo del mismo, o simplemente se colocan después de un slach (/).
  • Los keywords pueden tener argumentos o no. OIL es un keyword sin argumento ya que no es necesario colocar más nada, el simulador lo lee y ya sabe que existe esta fase. En cambio, el keyword START es necesario escribir debajo el día, el mes, el año y se termina con un slach; todo esto se llama argumento, cada uno se separa con un espacio y cada uno representa algo. Todos los keywords con argumentos terminan con un /, como mínimo. No importan los espacios entre el último argumento y el primer /.
  • Los valores predeterminados son valores por defecto y se pueden identificar con un asterisco (*) o colocando un slach. Por ejemplo: START /, el simulador asume la fecha 1 JAN 1983 por defecto. Pero si sólo se quiere que se asuman por defecto los dos primeros valores y un año distinto al predeterminado, se escribre de la siguiente manera:
  • START
    2* 1990/


Tipos de Archivos de Salida: estos archivos son generados al correr el simulador.

Según tipo de archivo:

  • Formateado: son los que la gente común puede entender porque está escrito en código ASCII, el keyword correspondiente para generar este archivo es FMTOUT, es de gran tamaño y se puede leer en un editor de texto.
  • No formateado: generalmente no se entiende porque está escrito en código binario, no se puede leer en un editor de texto y es de tamaño pequeño.

Según tipo de contenido:

  • Unificado: su keyword es UNIFOUT y se llama así porque un solo archivo contiene todos los informes en tiempo. Su ventaja es que el número de informes es ilimitado y su desventaja es que los informes indeseados no pueden ser eliminados.
  • Múltiple: a diferencia del anterior, este genera un archivo para informe en tiempo y su ventaja y desventaja son opuestas, es decir, máximo 9999 informes pero los archivos indeseados sí se pueden eliminar.

Archivos de Salida:

  • Print File: contiene TODA la información d ela simulación, siempre y cuando el usuario la pida. Los principales keywords son: RPTGRID, RPTPROPS, RPTSOL...
  • Init File: contiene propiedades iniciales del grid, propiedades de la roca y fluido usado para visualizar en 3D. El keyword es INIT.
  • Geometry File: contiene la geometría estructural de la malla, utilizada para ver en 2D y 3D. Su keyword es GRIDFILE.
  • Summary: se utiliza para crear gráficos.

Por otra parte existen keywords que se puede colocar en cualquier sección como INCLUDE (para cargar un archivo externo), ECHO (para mostrar la escritura de un keyword en el archivo *.PRT), NO ECHO (para suprimir la escritura de un keyword en el archivo .*PRT, generalmente se usa cuando los datos son muy extensos o por cuestiones de confidencialidad) y EXTRAMPS (emite un mensaje de alerta en cada paso de tiempo cuando algún valor de las tablas PVT o VFP se ha extrapolado).

viernes, 2 de octubre de 2009

Introducción a la Simulación Numérica de Yacimientos I

El petróleo es la principal fuente de energía en el mundo, aunque es no renovable. Por ello, hoy en día, se inverten grandes cantidades de dinero en la exploración para conseguir dicho recurso y luego explotarlo. Pero no esta tarea sencilla porque una vez confirmada la presencia de petróleo en algún lugar (que ya es un gran paso) se procede a realizar un estudio de ese yacimiento, y es allí donde juega un papel muy importante la simulación de yacimientos.
La simulación de yacimientos es una forma de modelar numéricamente el yacimiento para cuantificar e interpretar los fenómenos físicos que allí ocurren, con la habilidad de predecir el comportamiento futuro. En otras palabras, se representa de comportamiento real del yacimiento a partir de un modelo matemático con ecuaciones que se resuelven con métodos numéricos. El proceso consiste en dividir el yacimiento en un determinado número de celdas en tres dimensiones y representar el progreso del mismo y las propiedades de los fluidos en el tiempo y espacio para cada etapa.

Como ya mencioné anteriormente, se crea un modelo matemático que se resuelve a partir de métodos numéricos, pero ¿qué ecuación se resuelven?--->Se resuelve una ecuación que es una combinación de la ecuación de balance de materiales y la Ley de Darcy para cada paso de tiempo. Cada celda se resuelve simultáneamente, así que el número de celdas está directamente relacionado con el tiempo necesario para resolver paso.



La estructura del un simulador se puede dividir en tres estapas:
  1. Inicialización: para definir las condiciones iniciales de la simulación, es decir, la presión y la saturación en la fecha de inicio de la simulación. En esta etapa con una descripción estática y las propiedades de la roca y de los fluidos se determina el POES.
  2. Ajuste Histórico: en esta etapa, con los datos históricos de lo pozos, con las condiciones de producción e instalaciones y el POES determinado anteriormente, se realizan los cálculos del simulador en el tiempo.
  3. Predicciones: con los cálculos de la etapa anterior se hace la predicción de la tasa de recobro y a partir de esto se realiza un análisis económico y la estimación de reservas recuperables.

El simulador lo que hace es calcular presiones y saturaciones de cada celda, así como estimar producción de cada pozo. Para esto se fundamenta en que:

  • El yacimiento está dividido en un número finito de celdas.
  • Los pozos están en el centro de la celdas.
  • Se proporcionan los datos básicos para cada celda.
  • La producción de los pozos es suministrada en función del tiempo.

Es necesario conocer varias propiedades de la roca y de los fluidos:

  • De la roca: porosidad, permeabilidad, compresibilidad, profundidad, espesor, permeabilidad relativa, presion capilar y saturaciones.
  • De los fluidos: densidad, compresibilidad, factor volumétrico de formación, viscosidad, solubilidad y presión de saturación.
Hay diferentes tipos de simuladores, como por ejemplo: petróleo negro, composicionales, térmicos, químicos, acoplados con modelos, etc. En este curso sólo estudiaremos el de petróleo negro (Black Oil).

La importancia de simular un yacimiento radica en que se determina de manera aproximada las reservas recuperables, se determina también el método de perforación más económico, así como el tipo y diseño del pozo, el número de pozos a perforar, las tasas de inyección, instalaciones más adecuadas. Por otra parte, también tiene sus limitaciones ya que las soluciones no son exactas dedibo a que los datos ingresados no son precisos, no se puede confiar plenamente en el ajuste histórico porque suelen tener mucha incertidumbre y los datos petrofísicos y geológicos se extrapolan de algunos puntos al campo completo. Se tiene la siguiente premisa del simulador : si basura entra, basura sale; los resultados de salida dependen de los de entrada.

jueves, 1 de octubre de 2009

Presentación

Hola, mi nombre es Lourdes González y estudio ingeniería de petróleo en la UCV. En nuestro pénsum de estudio están contempladas materias muy importantes para nuestra formación como ingenieros, entre ellas están las ingenierías de yacimientos desde la I hasta la V.
En líneas generales, la I estudiamos todo en cuanto a propiedades de la roca, de los fluidos contenidos en ella y las interacciones roca-fluido, así como nos familiarizarnos con en el uso y conversión de los datos de laboratorio, para después utilizarlos, tanto en estudios de ingeniería de yacimientos en el campo, como en la determinación de los volúmenes de hidrocarburos y reservas; la II se enfoca básicamente en el estudio de balance de materiales y pruebas de presión; en la III estudiamos todo lo relacionado con el desplazamiento inmiscible y arreglo de pozos; en la IV se estudia la dinámica de los yacimientos según el estado de agotamiento, la relación pozos/yacimientos, análisis de curvas de declinación de producción y estimación de reservas; y por último yacimientos V, en el que aprendemos a simular el comportamiento de un yacimiento con Eclipse Blackoil.
En esta última asignatura, como parte del sistema de evaluación, publicamos artículos, referentes a la misma, a medida que avanzan las clases y vamos aprendiendo a usar el simulador. Dichos artículos serán publicados en este blog y posiblemente sean útiles para ustedes.
Personalmente, aunque la UCV se incline más hacia la parte de ingeniería de yacimientos, no es el área que más me gusta de la carrera (hasta los momentos); me gusta ingeniería de producción. Espero con este curso de simulación en Eclipse Blackoil interesarme más en el área yacimientos, porque pienso que como futuros ingenieros deberíamos explorar todas las áreas de la profesión independientemente de nuestras preferencias.