Computer Modelling Group, Ltd.

TUTORIAL 2011

“Optimización”

Builder, Stars, Cmost
Predicción. “Inyección Alternada de Vapor”

En esta parte del curso, se aplicaran los cambios necesarios dentro de un archivo de datos de
simulación para la aplicación de un proceso de inyección alterna de vapor.

• Copie de la carpeta de “Jobs” ubicada dentro de la carpeta “6-CMOST-HM” el archivo de
datos del mejor caso obtenido en el Cotejo Histórico Asistido y péguelo con otro nombre
(Tutorial_Pred.dat) en la carpeta “7-CMOST-OP”.
• Como el mejor caso del cotejo histórico, utiliza para las curvas de permeabilidades relativas
agua-petróleo, un include; el siguiente paso será, copiar el contenido del include dentro
del dataset nuevamente, justamente sobre el comando *INCLUDE ‘Krs_wo02.txt’.
• Abra el archivo Krs_wo02.txt en un editor de texto, copie todo el contenido y péguelo en el
archivo dataset “Tutorial_Pred.dat” sobre el comando *INCLUDE ‘Krs_wo02.txt’.

Include Krs_wo02.txt Dataset Tutorial_Pred.dat

SWT
0.2 0 1
0.225 0.000976562 0.878906
0.25 0.00390625 0.765625
0.275 0.00878906 0.660156
0.3 0.015625 0.5625 ROCKFLUID
0.325 0.0244141 0.472656
0.35 0.0351562 0.390625 RPT 1 WATWET
0.375 0.0478516 0.316406 **$ Sw krw krow
0.4 0.0625 0.25
0.425 0.0791016 0.191406
INCLUDE 'Krs_wo02.txt'
0.45 0.0976562 0.140625 **$ Sl krg krog
0.475 0.118164 0.0976563 SLT
0.5 0.140625 0.0625
0.525 0.165039 0.0351563 0.2 0.3 0
0.55 0.191406 0.015625 0.3 0.225333 0
0.575 0.219727 0.00390625
0.6 0.25 0
0.4 0.161333 0
0.8 0.5625 0 0.434375 0.141797 0.00328234
1 1 0 0.46875 0.123521 0.0131293
0.503125 0.106505 0.029541
0.5375 0.09075 0.0525174

2
• Salve y cierre el archivo.

• Abra el archivo Tutorial_Pred.dat en Builder

Sección de Datos de Yacimiento

Como vamos a realizar la simulación de un proceso térmico, es necesario incluirle al modelo las
propiedades térmicas de la roca y de los fluidos.

• Haga clic en la sección “Reservoir”, expanda las opciones y seleccione.
• En la ventana desplegada, vaya a la ficha “Thermal Properties”, y asigne una capacidad
volumétrica de calor de la roca de 35 Btu/(ft3*F).
• Asigne una conductividad térmica para la roca de 106 Btu/(ft*day*F), para el petróleo de
1.8 Btu/(ft*day*F), para el agua de 8.6 Btu/(ft*day*F), y para el gas de 1.2
Btu/(ft*day*F).

3
• Vaya a la ficha “Overburden Heat Loss”, y asigne las capacidades térmicas y volumétricas
como se muestra:

• Haga clic en “OK”.
• Vaya a “File” y seleccione “Save ”. Salve el archivo.

Creando un Archivo de Salida para un Restart

Para evitar volver a correr la etapa de cotejo histórico en cada escenario de predicción se
recomienda crear un archivo restart basado en el mejor cotejo histórico obtenido en la sección
anterior.

• Haga clic en la sección “I/O Control”, expanda las opciones y seleccione “Restart”.
• En la sección “Writing Restart”, active la opción “Enable restart writing”.

• Haga clic sobre el icono y seleccione la primera fecha de simulación (1996-1-1)
• Deje la opción de escritura por defecto “Every TIME or DATE keywords (TIME)…..”

4
• Haga clic en OK, y guarde el archivo.
• Vaya al “Launcher”, y corra el modelo.

Al correr este modelo, se ha logrado generar el caso base para las predicciones, es decir, el
modelo con el ajuste histórico, además de asignar las propiedades térmicas de la roca que serán
necesarias en la aplicación de la inyección alterna de vapor que se va a realizar.

Predicciones

 Usando el Archivo “Restart” de Datos Históricos

• Abra el archivo de datos “Tutorial_Pred.dat” en “Builder”, si no se encuentra abierto.
• Salve el archivo con otro nombre (“Tutorial _Pred_IAV.dat”).
• Haga clic en la sección “I/O Control”, expanda las opciones y seleccione “Restart”.

5
• Active la opción “Restart from previous simulation run (RESTART)” busque y seleccione la
corrida con el archivo de salida Restart, “Tutorial_Pred.irf”.
• Seleccione en el campo “Record to Restart from” la última fecha de simulación (2008-08-
01) ó “Last Time Step” y desactive la opción “Enable restart writing”. Al final debe
visualizar algo similar a lo siguiente:

• Haga clic en “OK” para regresar al menú principal de “Builder”.
• Vaya a la sección “Well & Recurrent”, expanda las opciones y seleccione “Date”.

• Haga clic sobre el icono para agregar un rango de fechas.
• Haga clic sobre el icono del campo “To”, y coloque la fecha 2015-08-01, con un paso de 1
mes , como se muestra a continuación:

6
• Haga clic en “OK” tres veces, para generar el nuevo rango de fechas y aceptar el mensaje
relacionado a estas.
• Desactive el STOP de la fecha 2008-08-01, y colóquelo en la última fecha (2015-08-01).
• Haga clic en “Close” para volver a la ventana principal de “Builder”.
• Vaya a la sección “Well & Recurrent”, expanda las opciones y seleccione “Well Events”.
• En la lista de eventos de pozos cerciórese de que todos los pozos han sido desplegados:

• Seleccione todos los pozos presionando la tecla “Shift” y ubique la fecha 2008-08-01 como
se muestra:

7
• Con los pozos aun seleccionados, vaya a la ficha “Constraints” y active la opción
“Constraint Definition”.
• Cambie los costraints “STO surface oil rate” a “DWB average draw-down pressure” y
coloque 100 psi.
• Borre el constrain de “BHP bottom hole pressure”.
• Haga clic en “Apply”.
• Cambie la opción para desplegar los eventos de la opción por nombre de pozos a fecha
como se muestra:

8
• Vaya hasta el final de los eventos, observará que la misma restricción se ha creado para
todos los pozos.
• Ahora para que los pozos productores comiencen la etapa de predicción siguiendo el
comportamiento de la historia de producción, se modificaran los valores de la caída de
presión promedio por pozo “DWB average draw-down pressure”, con los siguientes
valores:
Pozo DWB
A-1 30
A-2 25
B-1 35
B-2 50
B-3 30
B-4 45
C-1 55
C-2 40
C-3 45
C-4 17
C-5 85
D-1 50
D-2 200
D-3 33
D-4 30
D-5 50
E-1 7
E-2 120
E-3 40
E-4 35
E-5 85
F-1 210
F-2 30
F-3 16
F-4 8
G-1 12
G-2 50

• Haga clic en “OK”.

9
• Vaya al “Launcher”, y corra el archivo.

Observando los Resultados

• Una vez finalizada la simulación vaya a “View/Refresh File List” en el menú principal del
Launcher (o presione F5). Arrastre y suelte el archivo “Tutorial_Pred.irf” al icono de Results
Graph .
• Una vez en “Results Graph” vaya a “File” y seleccione “Open CMG Simulation Results…”.
• Abra el archivo “Tutorial _Pred_IAV.irf”.
• Vaya nuevamente a “File” y seleccione “Open Field History”, para abrir el archivo “History
Production.fhf” ubicado en la carpeta 6-CMOS-HM y comparar los resultados de simulación
con la historia de producción.
• Compare las tasas totales de los fluidos. Para esto haga lo siguiente:

• Haga clic en el icono “Add Graph” . En la nueva ventana, vaya a “File” y seleccione el
archivo “Tutorial_Pred.irf”. En “Origin Type” seleccione “Group”. En “Parameter”,
seleccione “Oil Rate SC”, y en “Origin”, seleccione el grupo de pozos creado anteriormente
“AtoG-PRO”. Haga clic en “OK”. Repita el mismo procedimiento, pero esta vez seleccione el
archivo, “Tutorial _Pred_IAV.irf” y luego el archivo “History Production.fhf”.

• Adicione un nuevo gráfico haciendo clic en el icono .
• Repita el procedimiento para agregar las tasas de agua y gas para el grupo creado y para los
pozos graficar la tasa de petróleo.
• Deberá observar algo similar a lo siguiente:

10
• Vaya a “File” y seleccione “Save Template As…”, para salvar los gráficos,
“tutorial_pred.ses”.

Aplicación de la Inyección Alterna de Vapor

 Creando los Pozos Inyectores

• Abra el archivo de datos “Tutorial _Pred_IAV.dat”en “Builder2009”, si no se encuentra
abierto.
• Vaya a la sección “Wells & Recurrent” expanda las opciones y seleccione “Copy Well…”.
• Haga clic en “Next >”, en la nueva ventana desplegada, deje seleccionada la opción “Copy
all perforations”.
• Haga clic en “Next >”.
• Active la casilla “Copy Geometry”, y seleccione la opción “Use the geometry that is
specified for the copied perforation”.
• Haga clic en “Next >”.
• Active la casilla “Copy Trajectory”, y seleccione la opción “Copy all trajectories”.

11
• Haga clic en “Next >”.
• En el campo “New Well Name” deje seleccionada la opción “Use the common suffix”
(_inj), para identificar posteriormente a los pozos inyectores.
• En el campo “New Well Date”, active la opción “Use the date”, e introduzca la fecha 2010-
01-01, es decir, dos años después de la última fecha histórica de producción, para iniciar la
inyección alterna de vapor en los pozos existentes.

• Haga clic en “Next >”, para visualizar el último paso de la opción “Copy Well”, donde podrá
observar toda la información suministrada y la posibilidad de realizar cambios de último
momento.
• Haga clic en “Finish”.

Esta acción de copiar los pozos, se debe a que en nuestros simuladores no es posible cambiar el
tipo/status del pozo en el tiempo, es decir, de productor a inyector o viceversa, pero si permiten
completar más de un pozo en la misma localización (celda), y los procesos se llevan a cabo al
abrir o cerrar los pozos.

• Vaya nuevamente a “Wells & Recurrent” expanda las opciones y seleccione “Well
Events…”.

• Vaya al botón de “Display Wells” , y en la ventana desplegada seleccione la opción
“Producers”.

12
• Haga clic en el botón “Deselect”, para deseleccionar los pozos productores, y dejar activas
las casillas de los pozos inyectores como se muestra:

• Haga clic en “OK”.
• Seleccione en la lista de eventos todos los pozos inyectores utilizando la tecla “Shift” y el
ratón.
• Vaya a la ficha “ID & Type” y seleccione “Injector Unweight” como tipo de pozo.

• Haga clic en el botón “Apply”.

13
• Vaya a la ficha “Constraints”, active la casilla “Constraint definition”.

• Vaya a “select new” y seleccione “OPERATE”, cambie el parámetro a “STW surface water
rate” y coloque un valor máximo de 300 bbl/day.
• Seleccione como acción a tomar en caso de violación de ese constraint la opción “CONT
REPEAT”.
• Vaya nuevamente a “select new” y como “parameter” seleccione “BHP bottom hole
pressure” con un máximo valor de 900 psi. Este valor es la presión de inyección.
• Haga clic en “Apply”.
• Vaya a la ficha “Injected Fluid” y coloque una fracción molar de 1 al componente que
representa a la fase acuosa, “Water”.
• Active las casillas de temperatura y calidad del vapor e introduzca respectivamente los
valores de 533 °F y 0.8.
• Haga clic en “Apply” y luego en “OK”.
• Vaya nuevamente a “Wells & Recurrent” y seleccione “Group Events…” entre las opciones.
• En la nueva ventana desplegada, seleccione el nombre del grupo creado anteriormente,
“AtoG”.
• Haga clic en el botón “Attach Wells”, y seleccione los pozos inyectores que fueron creados
en los pasos anteriores a este grupo.
• Haga clic en el botón “By Filter”, luego seleccione la opción “Injectors”.

14
• Haga clic en el botón “Select”, y luego en “OK”.
• Seleccione toda la lista de pozos inyectores, y haga clic en el botón “Check Highlighted
Events”, para seleccionar todos los pozos seleccionados.
• Haga clic en “OK”.
• Cambie la fecha de 1996-01-01 a 2010-01-01:

15
• Vaya a la ficha “Cycling Group”.
• En el campo “Participating Streams (CYCLESTREAMS)”, desactive la opción “Gas Injection”.

• En el campo “Cycle Part Number (NPARTS)”, coloque un valor de tres (3), para indicarle al
programa que los ciclos de la inyección alterna de vapor constarán de tres partes:

Inyección
Remojo (Soak), y
Producción
• En el campo “Stream Target Types”, cambie para la opción de producción la tasa de
petróleo, “STO – Stock Tank Oil”, por la tasa de líquido “STL – Stock Tank Liquid”.

• En el campo “Stream Maximun Rates”, asigne los valores esperados en cada parte del ciclo
para la producción e inyección:
Inyección Remojo (soak) Producción
Tasa de Vapor = 300 bbls/día 0 STL = 500 bbl/día
Numero de pozos Inyectores = 27 0 Numero de Pozos Productores = 27
300*27 = 8100 0*0 =0 500*27 = 13500

16
• Vaya al final de las opciones donde se encuentra el campo “Other Options”.
• Active la casilla “Max Cycle Part Duration”, y asigne el tiempo de duración de las partes del
ciclo. Para la inyección asigne 30 días, para el periodo de remojo, 10 días, y para el periodo
de producción, 240 días, que corresponden a 6 meses aproximadamente.
• Active la casilla “Starting Time Step Size”, y asigne el valor 0.01 a las 3 partes del ciclo.
• Adicionalmente active la casilla “Tot Number of cycles have to complete” y coloque 3
como el número de ciclos a realizar.

• Haga clic en “Apply”, y verifique que el evento ha sido agregado al grupo de pozos.
• Haga clic en “OK”.
• Guarde el archivo de datos con un nuevo nombre, por ejemplo,
“Tutorial_Pred_IAV_CG.dat”.
• Vaya al Launcher, arrastre y suelte el archivo sobre el icono de Stars, y haga clic en “OK”.

Observando los Resultados

• Una vez finalizada la simulación arrastre y suelte el archivo “tutorial_pred.ses” al icono de
Results Graph .
• En la nueva ventana desplegada, incluya los resultados del archivo
“Tutorial_Pred_IAV_CG.irf” en los respectivos gráficos.
• Deberá observar unos resultados similares a los siguientes:

17
Permeabilidades Relativas dependientes de la Temperatura

• Los endpoints de las permeabilidades relativas que tiene nuestro modelo son típicos para
yacimientos que no se le aplica procesos térmicos, pero son pesimistas para procesos de
inyección de agua caliente o vapor. STARS puede modelar esta dependencia, es decir,
cambiar las permeabilidades relativas dependiendo de la temperatura.
• Abra el archivo “Tutorial_Pred_IAV_CG.dat” en Builder.
• Vaya a la sección, “Rock-Fluid” y luago haga doble clic en “Rock Fluid Types”.
• Observe lo siguiente:

18
Swc=0.2

Sorw=1-0.6=0.4

• Se calcula lo mismo para las tablas de Líquido – Gas.

Slrg=0.2

Sorg=Slrg-Swc=0.4-0.2=0.2

19
• Vaya a la pestaña Relative Permeability End Points. Para asignar la dependencia de las
curvas de permeabilidades relativas con temperatura.
• Coloque para la Saturación de Petróleo Residual al Agua (SORW), Saturación de Petróleo
Residual al Gas (SORG) y para la Saturación Irreducible de Agua (SWR) la dependencia de
temperatura como se ilustra a continuación.

• En Relative Permeability Temperature Dependence (KRTEMTAB), coloque 2 intervalos de
temperatura, mínimo 120◦C y máximo 540◦C y cargue los valores a continuación:

• Cargue los valores a continuación:

T SWR SORW SORG
120 0.2 0.4 0.2
540 0.3 0.2 0.05

20
• Para observar el efecto sobre las curvas de permeabilidades relativas en función de la
temperatura, haga clic en Rock-Fluid y luego expanda las opciones y en Diagnostic Plots,
puede observar las curvas de permeabilidades relativas y también los diagramas ternarios
de las permeabilidad relativa al petróleo generados a las dos temperaturas.

120 540

21
• Salve el archivo con otro nombre: Tutorial_Pred_IAV_CG_KrT.dat y córralo.
• Compare los resultados.

CMOST – Optimización

La optimización será aplicada a casos de predicción, por ejemplo la futura operación de
los pozos, mejor intervalo completado en pozos nuevos, optimización de ciclos de
inyección, etc.

• Abra CMOST Studio 2010.10 / New y seleccione la operación que Usted desea hacer,
en nuestro ejercicio seleccionamos Optimization Maximize.
• En Base IRF File Name, busque el archivo “Tutorial_Pred_IAV_CG_KrT.irf”

22
• En la pestaña “General Properties”, en CMOST unit system, se seleccione “Field”, en Base
data set, busque el archivo “Tutorial_Pred_IAV_CG_KrT.dat”

Partiendo del archivo .dat de la corrida original, se crea un archivo de extensión .cmm
(Master dataset) que contiene todas las variables a evaluar en lenguaje CMOST.

• En Base sesión file, se coloca el archivo “tutorial_pred.ses”.

23
Note que el símbolo de General Properties tiene un círculo rojo, esto se debe a que
todavía no se ha creado el master dataset.

• Si no ha creado el master dataset usando el editor de texto (es lo común), entonces haga

clic en la pestaña “Parameters”y luego clic en “Builder” .

24
• Responda “SI” a la pregunta si quiere cerrar el archivo en CMOST studio y vuelva a
responder “SI” para guardar los cambios.

• Automáticamente aparece la pantalla “CMOST Parameters Selection”.

• Haga clic en , para cargar las variables y en la ventana Parameter type, seleccione
“Select parameter from dataset” y luego Next.

25
• En “CMOST Parameters Selection Wizard”, despliegue la sección donde se encuentran los
parámetros a variar y busque el parámetro. En Parameter name cambie el nombre si lo
desea y en Numerical value, coloque los rangos (max. y min.), que se muestran a
continuación:

Inyeccion del Grupo Tiempo de Inyeccion Tiempo de Remojo Tiempo de Produccion Numero de Ciclos

GrupoIny TiempoIny TiempoRem TiempoProd NumCiclos
2700 15 7 120 2
4050 30 10 180 3
5400 45 14 210 4
6750 60 21 240 5
8100 90 300 6
120 540 7
720
1050

26
• Obteniendo al final la siguiente pantalla:

• Importante: en esta parte del tutorial, se deben guardar los dos archivos, .cmm y .cmt,
coloque Tutorial_ IAV_OP.cmt y Tutorial_IAV_OP.cmm.
• Cierre el archivo CMOST Parameters y Builder sin salvar.
• Una vez salvados, abra el .cmm en un editor de texto y verifique que todas las variables
<cmost> fueron cargadas, sino, cárguelas directamente en el .dat, las que falten y salve el
archivo.

27
• Abra nuevamente CMOST Studio 2010.10/Open y busque el archivo
“Tutorial_IAV_OP.cmt”, como puede observar ahora, en la pestaña “Parameters”
aparecerán todas las variables cargadas y desapareció el círculo rojo de General Properties,
debido a que se creó el archivo Tutorial_IAV_OP.cmm.

• Si hace clic en cada variable, podrá observar los rangos introducidos a cada parámetro y si
lo desea pueden ser modificados.
• Vaya a la pestaña “Optimization Method”, seleccione en Optimization Method, “CMG
DECE Optimization”.

28
• Ahora vaya a la pestaña “Objective Funtions” y seleccione la función objetivo, Valor
Presente Neto (VPN).

• Haga clic en “Insert” , y seleccione “Discounted Value”, en “Name” coloque “VPN”
y en “Display Unit” coloque “M$”, este valor se utiliza solo con fines de visualización. Es
responsabilidad del usuario asegurar que el resultado del cálculo (VPN) coincida con la
unidad del “Display Unit”. El factor de conversión (véase más adelante) se utiliza para este
propósito.

• El NPV, se compone en este caso de dos términos:
- El valor del petróleo producido.
- El costo del tratamiento de agua, ya incluye el costo del gas.
• La tasa de descuento “Discount rate”, es el interés anual, 10%.

29
• El “Unit Value” es el valor de las unidades definidas en CMOST, en la pantalla de
propiedades generales. En este caso, la base es stb/día (porque el sistema de unidad que
se define en CMOST es campo) para el valor unitario es $/stb.

• Luego en “Discounted Value Objective Terms”, haga clic en “Insert” , en “Name”
coloque el nombre de la variable, Costo del tratamiento de agua, “Trat_Agua”, en “Origin
Type” seleccione “Groups”, en “Origin Name” “AtoG-INJ”, en “Property” “Water Rate SC
Daily” y en “Discount rate” coloque 0.1, en “Unit Value” coloque el valor del precio por
unidad, en este caso 5$ por barril y como es un costo se coloca negativo y el “Conversion
factor” coloque 0.001 que es la conversión a miles de dólares(colocado en display unit).
Repita el procedimiento anterior para la variable precio del petróleo. (observe el grafico a
continuación).

• Salvar el archivo.

30
• Vaya a la pestaña “Influence Matrix”. En este caso vamos a dejar los valores en uno.

La Matriz de Influencia le permite especificar qué nivel de influencia de un determinado
parámetro tiene en una determinada función objetivo.

• Se obtiene la siguiente pantalla.

• Vaya a la pestaña “Result Observers”, hacer clic en Import y luego seleccione
todas las variables, y cambie el número en “Display Points” por 100 y OK.

31
• Salve el archivo.
• Obvie las pestañas de “Constraints” y “Restart Configurations”, por ahora no se van a
utilizar.
• Vaya a “Run Configurations”, seleccione “Embedded Host” en “Host Name”, active la
opción de “Local”, “Max Cocurrent Job” 4, en “Max Failed Jobs” coloque 50, seleccionar el
“Simulador”, STARS 2010.11 y “Number of processors per job” 1, “Maximum run time per
job (hours)” 0.5 y en “Criterion of optimal solutions” coloque “Bets 5 jobs”.

32
• Salvar y presionar “Start Task” y OK.
• Puede observar el avance de las corridas en, “Run Status Monitor”. El punto negro es el
valor de la corrida original, los puntos azules son las diferentes sensibilidades y los puntos
rojos son los 5 mejores casos.

33
• Después que CMOST termine las corridas, examine los 5 mejores resultados. Vaya a “Job
Summary”, haga clic en VPN, y lo ordenara de mejor a peor.
• Puede observar el mejor de los 5 casos, y compararlo con las corridas
“Tutorial _Pred_IAV.irf” y “Tutorial _Pred_IAV_CG-KrT.irf”en Result Graph.

34
35
Podemos observar que el mejor resultado de la optimización, incrementa
aproximadamente un 20% la producción de petróleo.

36