Vous êtes sur la page 1sur 563

Petroleum Experts

User Manual

IPM
REVEAL
Version 4.5
February 2011

REVEAL
IPM - Specialised Reservoir Numerical Simulator
by Petroleum Experts Limited

Copyright Notice
The copyright in this manual and the associated computer program are the property of Petroleum Experts
Ltd. All rights reserved. Both, this manual and the computer program have been provided pursuant to a
Licence Agreement containing restriction of use.
No part of this manual may be reproduced, transmitted, transcribed, stored in a retrieval system, or
translated into any language, in any form or by any means, electronic, mechanical, magnetic, optical or
otherwise, or disclose to third parties without prior written consent from Petroleum Experts Ltd., Petex
House,10 Logie Mill, Edinburgh, EH7 4HG, Scotland, UK.
Petroleum Experts Ltd. All rights reserved.
IPM Suite, GAP, PROSPER, MBAL, PVTP, REVEAL, RESOLVE, IFM, ModelCatalogue and OpenServer are
trademarks of Petroleum Experts Ltd.
Microsoft (Windows), Windows (2000) and Windows (XP) are registered trademarks of the Microsoft
Corporation
EQUALIZER is a registered trademark of Baker Hugues inc. This information has been included with the full
authorisation of Baker Hugues inc.
The software described in this manual is furnished under a licence agreement. The software may be used
or copied only in accordance with the terms of the agreement. It is against the law to copy the software on
any medium except as specifically allowed in the license agreement. No part of this documentation may be
reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying,
recording, or information storage and retrieval systems for any purpose other than the purchaser's personal
use, unless express written consent has been given by Petroleum Experts Limited.

Address:
Petroleum Experts Limited
Petex House
10 Logie Mill
Edinburgh, Scotland
EH7 4HG
Tel : (44 131) 474 7030
Fax : (44 131) 474 7031
email: edinburgh@petex.com
Internet: www.petex.com
1990-2011 Petroleum Experts Limited

REVEAL

Table of Contents
0

Chapter 1

Technical Overview

1 REVEAL:
...................................................................................................................................
An Introduction
2
2 REVEAL:
...................................................................................................................................
Summary of Capabilities
4
3 What's ...................................................................................................................................
New in REVEAL?
9
4 What's...................................................................................................................................
New in REVEAL-DetailedList
12
5 ITRequirements
................................................................................................................................... 32

Chapter 2

User Guide

34

1 What's...................................................................................................................................
in this guide?
34
2 Contacting
...................................................................................................................................
Petroleum Experts
34
3 Input wizard
................................................................................................................................... 36
Basic operation
.......................................................................................................................................................... 36
Section summary
.......................................................................................................................................................... 37
Control section
.......................................................................................................................................................... 38
Solver
......................................................................................................................................................... 38
Model
.........................................................................................................................................................
selection
46
Components
......................................................................................................................................................... 49
Reservoir..........................................................................................................................................................
section
50
Geometry
......................................................................................................................................................... 50
Cartesian
.........................................................................................................................................................
grid
53
Radial
.........................................................................................................................................................
grid
55
Curvilinear
.........................................................................................................................................................
grid
57
Depth
......................................................................................................................................................... 59
Porosity
......................................................................................................................................................... 61
Permeability
......................................................................................................................................................... 63
Transmissibility
.........................................................................................................................................................
multipliers
63
Absolute
.........................................................................................................................................................
transmissibilities
64
Net to
.........................................................................................................................................................
gross
66
Pore.........................................................................................................................................................
volume multipliers
66
Rock.........................................................................................................................................................
type
67
PVT.........................................................................................................................................................
region
68
Equilibration
.........................................................................................................................................................
region
69
Fluid.........................................................................................................................................................
in place region
70
Non-neighbour
.........................................................................................................................................................
connections
71
Refinement
......................................................................................................................................................... 73
Physical ..........................................................................................................................................................
section
75
Physical
.........................................................................................................................................................
properties
75
Rock.........................................................................................................................................................
compressibilities
81
Miscellaneous
.........................................................................................................................................................
models
82
Relperm ..........................................................................................................................................................
section
85
Relperm
.........................................................................................................................................................
options
85
Residual
.........................................................................................................................................................
saturation
89
Relative
.........................................................................................................................................................
permeability
93
Capillary
.........................................................................................................................................................
pressure
95

Contents

II

Endpoint
.........................................................................................................................................................
scaling
97
Aquifer section
.......................................................................................................................................................... 99
Analytical
.........................................................................................................................................................
aquifer
99
Carter
.........................................................................................................................................................
Tracy model
102
Mobility..........................................................................................................................................................
section
104
Polymer
.........................................................................................................................................................
& gel
104
Original
.........................................................................................................................................................
polymer gel model
106
Carreau
.........................................................................................................................................................
polymer model
109
Kuparuk
.........................................................................................................................................................
polymer gel model
110
Gelation
.........................................................................................................................................................
& degradation
112
Inaccessible
.........................................................................................................................................................
pore volume
114
Foam
.........................................................................................................................................................
& diluent
115
Sodium
.........................................................................................................................................................
Silicate
117
Phase behaviour
..........................................................................................................................................................
section
119
Introduction
......................................................................................................................................................... 119
Alcohol/Polymer
.........................................................................................................................................................
partitioning
121
Surfactant
.........................................................................................................................................................
phase
125
Ternary
.........................................................................................................................................................
diagram
134
Surfactant
.........................................................................................................................................................
interfacial tension
135
Surfactant
.........................................................................................................................................................
viscosity
137
Adsorption
..........................................................................................................................................................
section
140
Adsorption
.........................................................................................................................................................
properties
140
Adsorption
.........................................................................................................................................................
isotherms
146
Permeability
.........................................................................................................................................................
reduction
150
Tracer
.........................................................................................................................................................
partitioning
151
Water chemistry
..........................................................................................................................................................
section
152
Water
.........................................................................................................................................................
chemistry
152
CO2,
.........................................................................................................................................................
H2S & N2 partitioning
163
H2S.........................................................................................................................................................
souring (Legacy)
166
H2S.........................................................................................................................................................
souring (Activity)
168
Scale
.........................................................................................................................................................
inhibition
171
Solids section
.......................................................................................................................................................... 172
Asphaltene
......................................................................................................................................................... 172
Wax
......................................................................................................................................................... 174
Sand
......................................................................................................................................................... 176
Wells section
.......................................................................................................................................................... 181
Location
.........................................................................................................................................................
and properties
181
Filter
.........................................................................................................................................................
cake
191
Fractures
......................................................................................................................................................... 193
Geertsma
.........................................................................................................................................................
deKlerk fracture
206
3D .........................................................................................................................................................
fracture
207
Stress
.........................................................................................................................................................
& elasticity
212
Well-bore
..........................................................................................................................................................
heating section
216
Well-bore
.........................................................................................................................................................
heating
216
Initialisation
..........................................................................................................................................................
section
217
PVT
.........................................................................................................................................................
initialisation
217
Equilibration
......................................................................................................................................................... 219
User
.........................................................................................................................................................
initialisation
221
Component
.........................................................................................................................................................
initialisation
221
Schedule
..........................................................................................................................................................
section
223
Well
.........................................................................................................................................................
schedule
223
Thermal
.........................................................................................................................................................
fracture
236

4 Grid ...................................................................................................................................
refinement
238
Overview
.......................................................................................................................................................... 238

February, 2011

REVEAL Manual

II

III

REVEAL
Refinement
..........................................................................................................................................................
section
241
Reservoir
..........................................................................................................................................................
section
242
Relperm..........................................................................................................................................................
section
244
Initialisation
..........................................................................................................................................................
section
244

5 Menu...................................................................................................................................
commands
244
Menu commands
.......................................................................................................................................................... 244
File

.......................................................................................................................................................... 245

Options.......................................................................................................................................................... 245
Edit

.......................................................................................................................................................... 246

Input

.......................................................................................................................................................... 246

Project .......................................................................................................................................................... 248


Run Simulation
.......................................................................................................................................................... 248
Results .......................................................................................................................................................... 249
View

.......................................................................................................................................................... 252

Window.......................................................................................................................................................... 252
Help

.......................................................................................................................................................... 252

Playback
..........................................................................................................................................................
(3D view only)
252

6 External
...................................................................................................................................
data import
253
Importing
..........................................................................................................................................................
overview
253
Importing
..........................................................................................................................................................
from ASCII
254
Importing
..........................................................................................................................................................
wells from ASCII
258
Importing
..........................................................................................................................................................
from Eclipse (binary files)
261
Importing
..........................................................................................................................................................
from Eclipse (ASCII files)
265
Importing
..........................................................................................................................................................
from VIP
266

7 Graphics
................................................................................................................................... 268
Visualisation
.......................................................................................................................................................... 268

8 Debug
...................................................................................................................................
output
278
Debug output
.......................................................................................................................................................... 278

9 Engineering
................................................................................................................................... 280
Contents
.......................................................................................................................................................... 280
Phases ..........................................................................................................................................................
and components
280
Transport
..........................................................................................................................................................
equations
281
Dispersion
..........................................................................................................................................................
and diffusion
282
Heat transport
.......................................................................................................................................................... 283

10 References
................................................................................................................................... 283
References
.......................................................................................................................................................... 283

11 OpenServer
................................................................................................................................... 285
OpenServer
.......................................................................................................................................................... 285

12 REVEAL
...................................................................................................................................
Frequently Asked Questions: A Few Additional Technical Notes
301
Difference
..........................................................................................................................................................
between 5 and 9 points Horizontal Point Schemes
301
Rock Mechanics
..........................................................................................................................................................
and Thermal Fracturing
306

Chapter 3

Worked Examples

319

1 Worked
...................................................................................................................................
Examples - Overview
319
2 Worked
...................................................................................................................................
Examples - Index
319
3 Getting
...................................................................................................................................
started
323
Step 1 -..........................................................................................................................................................
Initialise new case
323
Step 2 -..........................................................................................................................................................
Wizard basics
326
Step 3 -..........................................................................................................................................................
Control section
327

Contents

IV

Step 4 -..........................................................................................................................................................
Reservoir section
329
Step 5 -..........................................................................................................................................................
Physical section
333
Step 6 -..........................................................................................................................................................
Relperm section
339
Step 7 -..........................................................................................................................................................
Wells section
342
Step 8 -..........................................................................................................................................................
Initialisation section
348
Step 9 -..........................................................................................................................................................
Schedule section
350
Step 10 ..........................................................................................................................................................
- Run simulation
351
Step 11 ..........................................................................................................................................................
- View results
353

4 Dexterity
...................................................................................................................................
Examples
356
Getting ..........................................................................................................................................................
Started
356
Eclipse ..........................................................................................................................................................
Import
356
Radial Aquifer
.......................................................................................................................................................... 370
Thermal..........................................................................................................................................................
Fracture
375
Souring.......................................................................................................................................................... 389
Dry Gas.......................................................................................................................................................... 405
Retrograde
..........................................................................................................................................................
Condensate
412
Radial Gridding
.......................................................................................................................................................... 421
Curvilinear
..........................................................................................................................................................
Gridding
429

5 Physics
...................................................................................................................................
Examples
438
Grid Refinement
.......................................................................................................................................................... 438
Water Chemistry
.......................................................................................................................................................... 446
Permeability
..........................................................................................................................................................
Reduction
458
Surfactant
.......................................................................................................................................................... 462
Gel Injection
.......................................................................................................................................................... 482
Wellbore
..........................................................................................................................................................
Heating
498
Asphaltene
.......................................................................................................................................................... 504
Non Newtonian
..........................................................................................................................................................
Fluid
512
Equalizer
.......................................................................................................................................................... 518

6 OpenServer
...................................................................................................................................
Examples
525
Well Results
.......................................................................................................................................................... 525
Well Production
.......................................................................................................................................................... 530
Batch Matching
.......................................................................................................................................................... 536
Well Control
.......................................................................................................................................................... 541
Water Injection
..........................................................................................................................................................
Allocation : Use of Internal Script
546

February, 2011

REVEAL Manual

IV

Chapter

Technical Overview

Technical Overview

1.1

REVEAL: An Introduction

REVEAL is a member of the Integrated Production Modeling (IPM) suite of technical


software.
As per the rest of the IPM suite of tools, REVEAL is based on the concept of integrating
different disciplines usually isolated in one single tool to get a better understanding of the field.
REVEAL applies this integration principle at the reservoir level.
Most reservoir groups within the oil and gas companies are carrying out two types of
reservoir studies:
Full Field Numerical Simulation studies using tools such as Eclipse, VIP, etc...
Specialist Studies in areas such as:
Thermal and Mobility Studies for well injectivity and productivity studies
Production Chemistry Studies - Scaling and Souring
Sanding and Solids Deposition and Transport - Wax and Asphaltenes
Thermal and Hydraulic Fracturing
Enhanced Oil Recovery methods - Thermal EOR (i.e. Steam, Wellbore
heating) and Chemical EOR (i.e. Gel Injection, Surfactants, ASP...)
These two types of studies are often carried out in an isolation.
The key role of REVEAL is therefore enabling to bridge the existing gap between numerical
simulation studies and specialist reservoir studies.
By doing so, REVEAL will provide the reservoir engineers, production technologists and
reservoir specialists a way of integrating all their studies and will enable to:
Gain a GLOBAL understanding of the field behaviour when all dynamical, thermal and
geomechanical behaviors are taken into account.
Understand the impact of specialists studies generally done in isolation at a full
reservoir scale, based on the corporate numerical simulation model.
Manage the reservoir on a day to day and long term basis according to its real
physical behaviour.
Gain a way of sharing information and joining workflows.
REVEAL can therefore be considered as a tool for integrated reservoir and production
studies, as illustrated below.

1990-2011 Petroleum Experts Limited

REVEAL

As an illustration, a common reservoir issue can be considered:


What will be the impact of injecting water at sea temperature into a 90 to 110 C
reservoir?
An injectivity test will often show good injectivity.
However, as soon as the injection system is tied in, the ability to inject water deteriorates
dramatically with time.
One assumption could be that the well is being plugged.
The reality is that the injected water cools down the reservoir, increasing the water viscosity
(i.e. At a pressure of 5000psig, the viscosity of a 75,000 ppm water will be multiplied by a
factor 4 when passing from 100C to 20C) and therefore decreasing the water mobility.
The amount of water injected for a specific wellhead pressure will then be less than predicted,

REVEAL Manual

February, 2011

Technical Overview

affecting the pressure maintenance objectives of the field, and therefore its recovery.
Importing the corporate numerical simulation model in REVEAL will then enable to evaluate
the impact of this phenomenon and to manage the injection strategy of the field accordingly.
Moreover, the reduction in temperature around the injection wellbore will affect the stress field
around the injection wellbore, leading to easier fracturing - using the REVEAL capabilities of
coupling rock mechanics to flow calculations, it will be possible to investigate whether
fractures are formed, their size, their evolution with time and their impact on the well
injectivity.

1.2

REVEAL: Summary of Capabilities

The table below will illustrate the REVEAL capabilities, and link to the corresponding sections
of the user guide and worked examples.
Capability
IT
PC environment

General User
Interface
Wizard Data Input

2D and 3D
Graphics

User Guide Section

Worked Examples
Section

Runs on PC
(Windows 2000, NT,
XP) with single
interface to all
functionality.

IT Requirements

N/ A

Simplified data entry,


verification and
visualisation prior to
calculation.
3D graphics
integrated in the
REVEAL project
Can be visualised
during or after the run
User defined views

Input Wizard

Getting Started

Graphics

Getting Started

Description

1990-2011 Petroleum Experts Limited

REVEAL

can be saved and


therefore re-used in
subsequent runs.
Connection to
Other Applications
Eclipse Import
Automatic import
facility enabling to use
existing Eclipse decks
within REVEAL.
Imported models have
been compared with
Eclipse runs and give
identical results when
run under the same
conditions.
VIP Import
Automatic
import
facility enabling to use
existing VIP decks
within REVEAL.
Imported models have
been compared with
VIP runs and give
identical results when
run under the same
conditions.
ASCII Import
Automatic
import
facility enabling to use
ASCII
files
in
REVEAL.
IPM Integration
Use of PROSPER lift
curves.
Use of Petroleum
Experts black oil PVT
files.
Use of Petroleum
Experts fully
compositional PVT
files.
Dynamic connection
to GAP and other
applications through
RESOLVE.
OpenServer
Full OpenServer
functionality built in,
REVEAL Manual

External Data Import


Importing from
Eclipse (binary)
Importing from
Eclipse (ASCII)

Dexterity Examples |
Eclipse Import

External Data Import


Importing from VIP

N/ A

External Data Import


Importing from ASCII
Importing wells from
ASCII
Use of PROSPER Lift
Curves
Definition of PVT

N/ A

OpenServer

OpenServer
Examples

Getting Started | Well


Setup
Getting Started | PVT
Setup

February, 2011

Technical Overview

for automation or
batch processing of
runs or connection to
third party software.
Technical Modules
Solvers
IMPES solver
available with flux
corrected transport
(fct) for models where
numerical dispersion
is important (e.g.
chemical additives),
and material balance
iterations.
Fully Implicit available
for general cases and
for high mobility and
large throughput
models (e.g. coning).
Gridding
Cartesian grid.
Radial grid.
Curvilinear grid.
Corner Point grid.
Grid Refinement:
General hexahedral
refinement of master
grid for IMPES and
implicit solver options.
Well Modeling

Vertical Wells
Multilateralel Wells:
including description
of tubing and casing /
tubing annulus, Inflow
Control Devices,
Gravel Pack,
Sandscreens....
Calculation of friction
losses along the
wellbore.
Calculation of
temperature
variations along the
wellbore.

Control Section |
Solver

N/ A

Reservoir Section |
Cartesian Grid
Reservoir Section |
Radial Grid
Reservoir Section |
Curvilinear Grid
Reservoir Section |
Refinement
Grid Refinement
Section
Wells Section

Getting Started |
Reservoir Setup
Dexterity Examples |
Radial Gridding
Dexterity Examples |
Curvilinear Gridding
Physics Examples |
Grid Refinement

Getting Started |
Wells Setup

1990-2011 Petroleum Experts Limited

REVEAL

Thermal
Calculations

Rock Mechanics

Filter Cake

Solids

Water Chemistry

Souring

REVEAL Manual

Fully thermal
calculations by
default: including
conduction and
convection effects.
Possibility of running
isothermal models if
required.
Rock mechanics
calculations coupled
with flow calculations.
Calculation of fracture
formation and
propagation.
Thermal Fracturing:
Integrating thermoand poro-elastic
effects on reservoir
stress with injection
profile and fracture
mechanics.
Hydraulic Fracturing:
Possibility of
modelling production
fractures, imported
from Stimplan for
instance.
Filter cake formation
linked to solid
injections in wells and
fractures.
Sand transport,
trapping and
generation.
Chemical equilibrium
of mixed waters
predicting
precipitation,
dissolution and scale
inhibition.
Models growth and
respiration effect of
Sulphate Reducing
Bacteria leading to
H2S formation in the

Engineering | Heat
Transport

Dexterity Examples |
Thermal Fracture

Wells Section |
Dexterity Examples |
Fractures
Thermal Fracture
Wells Section |
Geertsma deKlerk
fracture
Wells Section | 3D
fracture
Wells Section | Stress
& Elasticity

Wells Section | Filter


Cake

N/ A

Solids Section | Sand

N/ A

Water Chemistry
Section

Physics Example |
Water Chemistry

Water Chemistry
Section | H2S souring

Dexterity Example |
Souring

February, 2011

Technical Overview

Adsorption

Asphaltene and
Wax

Aquifer Modeling

Mobility Effects

Chemical EOR

Thermal EOR

reservoir.
Possibility of modeling
adsorption of
chemical species on
the rock surface.
Retardation and
permeability reduction
effects due to
adsorption can be
calculated.
Flocculation and
trapping model
leading to
permeability
reduction.
Possibility of modeling
analytical aquifers
such as Carter Tracy
for instance.
Desaturation:
Interfacial Tension
changes affecting
relative permeability
and capillary
pressures through
capillary number.
Polymer and Gel
Modeling:Mobility
changes for aqueous
phase, including shear
thinning, gelation
reactions and cation
exchange.
Surfactant and
ASP:4th phase microemulsion model using
ternary diagrams.
Steam Injection:
Steam injection model
for Huff & Puff,
SAGD.
Wellbore Heating:
Microwave and
Electrical heating of
heavy viscous oils.

Adsorption Section

Physics Example
Permeability
Reduction

Solids Section |
Asphaltene
Solids Section | Wax

Physics Example |
Asphaltene

Aquifer Section

Dexterity Example |
Radial Aquifer

Phase Behaviour
Section

N/ A

Mobility Section
Physics Example |
Phase
Behaviour Gel Injection
Section
Physics Example |
Surfactant

Wellbore Heating
Section

Physics Example |
Wellbore Heating

1990-2011 Petroleum Experts Limited

1.3

REVEAL

What's New in REVEAL?

IPM Version 7.5


REVEAL Version 4.5
The main developments implemented in REVEAL version 4.5 are detailed below:
Well Control:
- Solver improvements, especially for multi-lateral wells.
- Annular to base pipe heat transfer using Nusselt number method.
- Low draw-down cross-flowing well stability improved, with 'Min drawdown' parameter
option.
- Gas pseudo pressure option added.
- Gravel pack in annular space includes annular flow as well as reservoir inflow.
- Smoothing and clipping of IPR data (for RESOLVE coupling) improved for strongly
cross-flowing wells.

IPM Version 7.0


REVEAL Version 4.0
The main developments implemented in REVEAL version 4.0 are detailed below:
File Import:
- The ASCII file import has been improved to handle Unix encoded data files.
- ASCII data import may include comments and '*' format for repeated values.
PVT Modeling:
- Fully Compositional modeling:
The capability of using a Fully Compositional (i.e. Equation of State) PVT model
has been added.
-The fully compositional PVT can be coupled with the water chemistry module to
model interaction between fluid components and reservoir / injected water
components.
-REVEAL driver in RESOLVE has been modified to pass the composition from
the reservoir to the surface network models.
- Default water viscosity correlation modified to be less pressure sensitive
Reservoir Modeling:
- An option to model sealing fault(s) has been added.
Well Modeling:
REVEAL Manual

February, 2011

Technical Overview

10

- Multilateral well model has been modified to model tubing flow, casing flow and the
impact of different types of completions, including:
Screens between tubing and casing,
Gravel-packs, including handling of velocity constraints,
Inflow Control Devices and Equalizer,
Well internal heat transfer and counter flow heat transfer (i.e. particularly for
steam counter flow during the steam circulation phases of SAGD procedures).
Well internal sources (i.e. for diluent injection for example), orifices and pumps.
- Non-Newtonian oil shear dependent viscosity added to well flow.
- Improved well visualisation during well design and simulations.
- More detailed well results outputs to facilitate well performance analysis.
- Capabilities of importing multiple well geometries from ASCII files.
- Non-Darcy model updated to include all fluid phases.
- Improved the algorithm that enables to convert a well using a "Completion Table"
description into a "MultiLateral" description.
- Well connection for highly mobile steam injection improved.
Chemical EOR:
- Surfactant model:
Possibility of combining surfactant and water chemistry models, enabling for
instance the modeling of Alkaline Surfactant Polymers (ASP) systems.
pH dependency for surfactant added.
Oil and Water solubilisations reported in the ternary phase diagram interface.
Surfactant modeling with 100% emulsification improved.
- Sodium silicate gelation model added.
- Polymer and gel non-Newtonian shear dependent viscosity added to fractures.
Water Chemistry:
- The speed of the water chemistry calculations has been improved, by an average of
30%.
- Activity based souring model can be coupled with the water chemistry module for
improved pH handling.
- Water phase variable salinity effects (i.e. density and viscosity) coupled with the water
chemistry module.
- Improved strong acid / alkali (i.e. pH) water chemistry modeling.
- Volumetric strain permeability reduction added.
- Default components for souring model are set automatically.
- Partitioning:
Tracer components may partition between phases.
Database controlled hydrocarbon/water partitioning for CO2, H2S and N2.
Adsorption:
- Adsorption levels modified to represent adsorption per unit rock volume, not including
1990-2011 Petroleum Experts Limited

11

REVEAL

porosity.
- Adsorption permeability reduction may be applied to water phase only or all phases.
Diffusion:
- Component diffusion model added.
Rock Mechanics, Rock Failure and Fracturing:
- Rock Mechanics:
Addition of the Oedometric stress model: this enables to provide strain /
displacement information in all directions, therefore including compaction
information.
Oedometric stress model numerics improved for varying shear stress layers.
Stress layering for all three principal directions may be entered.
Improved stress modeling for inactive regions and overburden: Stress gradient
defined for internal and external inactive regions.
Capability of modeling stress arching phenomenon.
Tangential stress calculation improved for radial grids.
Improvements to stress calculation for layered model with differing rock
properties.
- Thermal Fracturing Model:
Extensive calibration work performed, leading to enhancements to the thermal
fracturing model in areas such as:
- Better handling of large aspect ratio fractures and distorted /
discontinuous stress zones.
- Fracture closure behaviour and resulting oscillation from poroelastic and other non-linear behaviours.
- Fracture stability.
- Stress barrier detection.
- Better connection to well geometry (i.e. line source connection).
Automatic thermal fracture seeding option
Parallel plate fracture friction model may be tuned.
Output fracture centre line data for external visualisation.
Polymer and gel non-Newtonian shear dependent viscosity added to fractures.
- Rock Failure Models:
Improved plastic failure prediction.
Sand prediction model uses changes in all three principal stress directions to
predict failure.
Interface:
- Total reservoir volume reported.
- Improved copy /paste / scroll for main data input screen.
- Improved validation reporting, especially for sections with large quantities of data.
- Grid refinement interface improved to allow greater control over restart scenarios.
REVEAL Manual

February, 2011

Technical Overview

12

- Graphics may be aligned with X, Y and Z directions using keyboard shortcuts.


- Comments may be added at the top of the script.
A detailed, build by build, list of REVEAL developments can be found in the "What's New in
REVEAL - Detailed List" section.

1.4

What's New in REVEAL-DetailedList

REVEAL Version 4.5 IPM Version 7.5


BUILD 629
15 Foamer model modified to affect gas viscosity using steam
BUILD 626
14 ICD Equalizer database updated
13 Possible 3D display error for model with refinement fixed
BUILD 606
12 Oil-Water IFT improved by modified Parachor correlation
BUILD 603
11 Correction to H2S partitioning model for Activity based souring model
10 Correction to heat transfer between tubing and annulus for some steam geometry wells
BUILD 561
9
Improvement to stress calculations near refinement and fault boundaries
8
For a multi-lateral well with friction and a reference depth set will set this at the tubing
(base pipe) pressure
7
A multi-lateral well segment intersecting more than 1 block will generate tubing only
passing through one block - only occurs if the grid has overlapping grid blocks
BUILD 518
6
Smoothing and clipping of IPR data (for RESOLVE coupling) improved for strongly
cross-flowing wells
5
Gravel pack in annular space includes annular flow as well as reservoir inflow
4
Gas pseudo pressure option added
3
Low draw-down cross-flowing well stability improved, with 'Min drawdown' parameter
option
2
Annular to base pipe heat transfer using Nusselt number forced convection method
1
Well solver and constraint handling improvements, especially for multi-lateral wells
REVEAL Version 4.1 IPM Version 7.1
There are no file version incompatibilities between REVEAL version 4.0 and 4.1
BUILD 162
51 Fracture location problem when using multi-lateral well with map axes fixed
50 Correction to set temperature with VIP restarts
BUILD 159
49 Minimum multi-lateral segment length reduced for lab scale models
1990-2011 Petroleum Experts Limited

13

REVEAL

BUILD 154
48 Improved axis labeling for well-bore result 2D plots
47 Component masses by region reported in Average Reservoir plotting results
46 Issue with THP control constraints mixed with voidage well fixed
BUILD 152
45 Problem with voidage replacement control with multiple schedules and wells changing
from producer to voidage injector fixed
BUILD 151
44 Interface correction to scale inhibitor entry screen
BUILD 129
43 Improvements to tubing frictional pressure drop numerics and possible graphics
reporting bug fixed (especially for steam)
42 An option to define capillary desaturation using a parametric curve rather than HT and
LT endpoints added
41 Permeability reduction term implemented in shear thinning calculation
REVEAL Version 4.0 IPM Version 7.0
BUILD 126
40 Polymer shear thinning within emulsion phase corrected (added)
BUILD 113
39 Increased flexibility using surfactant phase visualisation (data entered independently of
scroll bar dialogs)
38 Adsorbed material permeability reduction may be applied to all phases independently
37 Water chemistry components with IMPES formulation always use 1-point upstream
concentration weighting to maintain electrical neutrality
36 Precision of all reported plot data is defaulted to 'free' - this can be changed in the
preferences
35 Possible fracture 3D visualisation problem fixed
34 Phase desaturation models may use user input Oil-Water IFT
BUILD 107
33 Tangential stress calculation improved for radial grids
BUILD 106
32 Non-Newtonian oil shear dependent viscosity added to well tubing flow
31 Interface bug fixed for stress layering data input
30 Ascii file import improved to handle unix encoded data files
29 Improvements to stress calculation for layered model with differing rock properties
BUILD 101
28 Adsoption levels corrected to represent adsorption per unit rock volume, not including
porosity
BUILD 100
27 Adsoption permeability reduction may be applied to water phase only or all phases
BUILD 61
26 Well internal heat transfer (e.g. steam counter flow) improved
25 Oedometric stress model numerics improved for varying shear stress layers
24 Multi-lateral well sources, orifices and pumps added
BUILD 51
REVEAL Manual

February, 2011

Technical Overview

23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1

14

Tracer components may partition between phases


Parallel plate fracture friction model may be tuned
Water phase variable salinity effects (density and viscosity) coupled with water
chemistry
Component diffusion added
Volumetric strain permeability reduction
OpenServer commands extended
Sealing fault(s) option added
Extended array data (e.g. porosity) modification and masking
Improved plastic failure prediction following from improved stress modeling
Improved stress modeling for inactive regions and overburden
Activity based souring model can be coupled with water chemistry (improved pH
handling)
Sodium silicate gelation model
Improved stress modeling for inactive regions and overburden
Automatic thermal fracture seeding option
Thermal fracture stability, closure, stress barrier detection models improved
Producing wells with diluent injecton
Well gravel packs and velocity constraints
Well ICD and equalizers
Well annular flow and counter flow heat transfer
Improved surfactant modeling with 100% emulsification
Improved CO2, H2S partitioning to oil and water
Improved strong acid/alkali (pH) water chemistry modeling
Compositional hydrocarbon modeling, coupled with water chemistry

REVEAL Version 3.4 IPM Version 6.4


BUILD 189
10 Non parent block endpoint scaling for refined region interface bug fixed
BUILD 188
9
Reported water chemistry well results are now post equilibrated
8
Speedup of t=0 graphics visualisation
7
OpenServer commands added to delete restart files
BUILD 187
6
Improved memory allocation for large models with a large number of components (e.g.
water chemistry)
BUILD 185
5
Numerical dispersion reduced for rapidly adsorbing components
BUILD 179
4
Maximum number of fractures that can be visualised with 3D graphics increased from
100 to 500
BUILD 177
3
Correction to souring model with hydrocarbon generated activity fixed
2
Correction to hydraulic fracture model within refinement and non-contiguous (internal
inactive) blocks
BUILD 161
1990-2011 Petroleum Experts Limited

15

REVEAL

Correction to solver when the pre-conditioner model (ILUDP and ILUTP) is changing

REVEAL Version 3.3 IPM Version 6.3


BUILD 158
20 Ascii data import improved (comments 'C ...' and '! ..." and multiple format '3*0' added)
BUILD 157
19 Maximum number of Cartesian grid block sizes increased
BUILD 155
18 Strain relabeled displacement in 3D graphical results
17 Improvement to diffusivity calculated drainage regions (used for PI calculations)
BUILD 146
16 Improvement to ASP soap NaOa component - now partitioned with surfactant
component rather than aqueous component
15 Interface bug with ASP and polymer partitioning fixed
BUILD 144
14 Well downtime with IMPES solver error fixed
BUILD 141
13 Numerical improvement to the half wing Geertsma deKlerk fracture model
12 External transmissibilities removed from refinement
BUILD 139
11 Improved leak-off calculation when a fracture dimension is less than about 10% of its
parent gridblock
10 An option for thermal fracture perimeter shrinkage with stabilised shape added
9
Use external transmissibilities option in interface was accidentally disabled in build 134 now fixed
BUILD 138
8
Non-Newtonian oil viscosity table of rheological data automatically sorted following data
entry
7
Possible reporting error for temperature of multilateral producer wells corrected
6
Thermal conductivity for zero transmissibility connections allowed
BUILD 135
5
Gram Formula Weight for acidic oil component (ASP model) may be set in the interface
rather than water chemistry database
BUILD 134
4
Solver protection for negative total hydrocarbon compressibility added
3
Tab controlled record selection improved for residual saturation wizard screen
2
Parent cell properties may be automatically copied to refinement arrays as they are
opened for editing in the interface
1
Improvements to the Oedometric stress field calculation model (contact Petroleum
Experts to use this development option)
REVEAL Version 3.2 IPM Version 6.2
BUILD 133
18 Interface plotting label error for "TOTAL GOR" sensitivity variable corrected
17 New stress calculation method (Oedometric displacement potential) added. This allows
compaction and improvements to stress calculation for some complex geometries,
REVEAL Manual

February, 2011

Technical Overview

16

horizontal fractures and rapidly changing stress fields.


Possible interface error corrected when more than 50 relative permeability entries within
a saturation table present
BUILD 132
15 Improvement to transient coupling of thermal fractures through RESOLVE using system
response method
14 Unit conversion error for Transmissibility (RB.cP/d/psi) corrected
13 Water viscosity correlation (pressure dependence removed in default correlation)
modified to be in line with MBAL and PROSPER default correlation
BUILD 128
12 Generalised fluid injection may be used with VLPs (e.g. SWAG)
11 Speedup of water chemistry calculations
10 Polymer and gel viscosity (including shear) added to flow within injecting thermal fracture
9
Option in preferences to update the water chemistry database from resources
BUILD 127
8
Surfactant adsorption dependency on pH added
7
Surfactant and water chemistry models may be combined to model ASP
6
3D graphics views may be aligned in the X, Y, Z axes using the X, Y and Z key
shortcuts
BUILD 125
5
Logarithmic dependence for diluent viscosity model added
4
SWAG injection allowed for thermal fracture models
BUILD 124
3
Fix to solve a problem if a well used for a thermal fracture calculation is later used as a
producer by the schedule
2
Improvement to 'user specified geometry fixed dimension fracture' calculation
1
Fix for Interface crash if gel component present without polymer component
BUILD 123
16

REVEAL Version 3.1 IPM Version 6.1


BUILD 122
10 Implicit thermal calculations improved
9
Interface bug with history match downhole rate controlled injections corrected
8
Improved handling of large graphics results (> 2GB)
7
Spectral colour ordering option added for preconditioner
BUILD 121
6
Variable salinity dependence for water viscosity included as option (see physical
section)
BUILD 118
5
Some issues with export directly to excel fixed for Windows Vista
4
Well and reservoir results stream save dialogue extended
3
Improved solver behaviour using 'rs_solve' option
BUILD 117
2
International date settings for direct export to excel for well results improved
1
Improvements to VIP importer for wells data (also correction to import of MAPAXES Y
coordinate corrected)
1990-2011 Petroleum Experts Limited

17

REVEAL

REVEAL Version 3.0 IPM Version 6.0


BUILD 110
18 In-situ stress gradient may use initial reservoir temperature gradient as reference
17 Stress changes in 3 principal directions may be reported to 3D graphics
16 Some combinations of component models may be combined (e.g. surfactant and water
chemistry)
15 Oil and water solubilisation reported on surfactant visualisation screen
14 Coupled thermal fracture and polymer injection improved
13 Possible crash during history import if well names are inconsistent
12 Multi-lateral well connection factor calculation improved
BUILD 107
11 Option to allow gelation and dechelation reactions below threshold temperature added
BUILD 107
10 Schedule section controlled re-perforations for completion table defined wells fixed
9
ASCII import of multi-lateral wells data added
BUILD 102
8
Correction to 3-point oil relative permeability endpoint scaling for some cases
7
Import of ECLIPSE history match downhole rate control added where all produced
phases are included
6
Improvement to unit conversion in the interface for capillary and J-Leverett conversion
5
Comments may be added at the top of the script within the following comment
delineators /* ... */
4
Oil viscosity modifier model parameterised by diluent concentration added
3
Interface plotting of Stone oil relative permeabilities when non-zero critical gas saturation
entered is fixed
2
Improvement to multilateral well connection where segments with different skin are
present within a single grid block
BUILD 101
1
Inaccessible pore volume for polymer and gel formulation modified to affect apparent
viscosity and transport concentration
BUILD 100
REVEAL Version 3.0 (beta) IPM Version 6.0
BUILD 75
80 Unit conversion error with Molality/day (water chemistry based souring model) corrected
BUILD 71
79 Additional completed block reported variables added in X-Flow results
BUILD 69
78 Possible extrapolation problems with hydrocarbon enthalpy correlations fixed
77 Improved validation checking of schedule exit conditions
BUILD 68
76 IPR calculation methods for connection to RESOLVE extended
BUILD 67
75 OpenServer completion control commands extended
BUILD 66
REVEAL Manual

February, 2011

Technical Overview

18

74

Improvements to handle fracture calculations with distorted grids with very large
permeability contrasts
73 Modifications to handle 3D graphic result files larger than 4GB (32 bit windows limit)
72 Further improvements to memory for 2D plotting of large models with large numbers of
wells
BUILD 65
71 OpenServer command execution window added
BUILD 64
70 Plotting of 'parent region numbers' with refinement improved for t=0 visualisation
BUILD 63
69 Improvement to fixed dimension fracture reducing sensitivity to surrounding matrix
gridding
BUILD 61
68 OpenServer RUN_SETCOMP command extended to allow setting of completions that
are not defined by completion table (vertical column or multilateral)
BUILD 60
67 Basic restart data (Pressure, Saturation, Temperature and Rs/CGR) make be
generated from 3D graphics results
BUILD 58
66 Memory handling for 2D plotting of models with large numbers of wells and time-steps
improved
65 Interface bug using 2-component polymer gel reaction model fixed
64 Interface and OpenServer command to reorder wells alphabetically added
63 OpenServer tag for completion table well radius corrected
62 Link to sand model online help page corrected
61 Solver preconditioner methods extended (ILUDP and ILUT added)
BUILD 56
60 Improvements to thermal fracture calculation stability when small timesteps (< 0.1 day)
are used
BUILD 55
59 Runtime OpenServer commands for well constraint control added
BUILD 53
58 Standard condition densities for combined PVTs when connected to RESOLVE improved
BUILD 48
57 Tracer components may be partitioned between phases (all three phase tracers are
required, see adsorption section)
BUILD 46
56 Option to add copies of the current well and reservoir result streams to be saved in the
REVEAL archive (also OpenServer command)
55 Further interface issues setting schedule with run times not in days unit (hours, seconds
etc.) improved
54 VIP imported endpoint scaling for SGOC is handled differently
53 Pore volume multiplier import from VIP implemented
52 Offset added to stress gradient data input method
51 Re-perforation interface bug fixed in schedule for wells perforated in inactive blocks
BUILD 44
1990-2011 Petroleum Experts Limited

19

REVEAL

50 Interface validation speeded for cases with a large number of PVTs


BUILD 43
49 Interface issue not allowing THP control of identically zero psig fixed
48 Previous main window dimension and location preserved when REVEAL is started
47 Some defaults set for t=0 visualisation (e.g. pore volume calculated when pore volume
multiplier not specified)
46 Some OpenServer well results fluid name labels with 'white space' modified
45 Cross-flow option may be enabled/disabled for radial and curvilinear grids
44 Interface bugs associated with cation exchange and polymer salinity thresh-hold fixed
43 Thermal fracture model improved for thin high stress shale barriers
42 Thermal fracture in-situ stress field may be entered as a stress gradient per layer
41 Compaction 'porosity multiplier' re-labeled 'pore volume multiplier'
BUILD 42
40 Some improvements to the solver in preparation to model gas-in-oil and oil-in-gas
simultaneously
39 Small correction to reported cumulative produced (small non-zero initial value previously
possible)
BUILD 39
38 Performance increases for models with a large number of (non-multilateral) wells
37 Improvement to the OpenServer well completion control capability (current values may
be defaulted)
36 VIP imported inter-block transmissibilities corrected (VIP uses negative face and
REVEAL uses positive face)
BUILD 38
35 J-Leverett capillary pressure calculation error fixed
34 Bug introduced in build 34 fixed for ECLIPSE import of endpoint scaling arrays
33 Gas well PI calculated for gas producer controlled by downhole rate
32 Fracture grid properties may be plotted on 3D fracture surface
31 3D display well and fracture labels may be scaled
30 Completed block rates (including fractures) added to 3D display variables
BUILD 36
29 Interface bug setting schedule with run times not in days unit (hours, seconds etc.) fixed
BUILD 33
28 Cation exchange added to polymer flood adsorption model
27 Additional tubing performance data (TPD) files types added
26 Wellbore slip model (PE 2) and non-Newtonian shear thinning added
25 Unstable wellbore flow may be allowed or disabled
24 Multilateral PI multiplier added per well segment
23 Well constraint control improved
22 Downhole rate control and constraints added
21 Adaptive implicit solver and other performance improvements
20 User defined geometry for fixed shape fracture added
19 3D and well crossflow plotting improved
18 History match import and control extended
17 OpenServer commands extended and scripting capability within REVEAL added
16 Joule Thomson effect within the reservoir extended using enthalpy correlations
REVEAL Manual

February, 2011

Technical Overview

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1

20

Electrical wellbore heating model added


Improved thermal fracture calculations for distorted grid geometries
Initial reservoir conditions may be set explicitly (non-equilibrium) by the user
Rock compressibility may be defined by stress
Nitrogen partitioning added
Aquifer Pd vs td table may be entered directly
Solid transport, including trapping, permeability reduction and sand generation
Fluid-in-place regions added
Multiple restart dates imported simultaneously
Datablock input/output extended
Export region, well and completion data directly to EXCEL
Export petrophysics model from REVEAL to standard ASCII format
Model import from PETREL generated ASCII files (many ECLIPSE and CMG keywords
added)
New souring model based on equivalent carbon source and bacterial activity (more
implicit and handles nutrient sources better)
Many minor improvements to numerical performance, data visualisation and functionality

REVEAL Version 2.4 IPM Version 5.4


BUILD 199
REVEAL Version 2.3 IPM Version 5.3
BUILD 197
41 Maximum limit of 1000 warning message of a certain type reported during validation at
run time
40 OpenServer command to 'clear cell results' added
BUILD 193
39 Eclipse import of KRG endpoint scaling parameter fixed
BUILD 187
38 Improvements to handle grater than 100 rock types, relative permeability curves etc.
BUILD 186
37 Reference depth Pwf calculation changed - only affects reported PI and connection to
RESOLVE
36 Improvements to allow WAG injection when REVEAL is connected to GAP and
RESOLVE
BUILD 183
35 Improved convergence of tubing flow calculation, especially with large density variations
within tubing
BUILD 182
34 Graphic reporting problem for oil viscosity with miscible variable bubble point PVT fixed
33 Porosities calculated to be greater than 1 are not now truncated to 1. Minimum
calculated porosity is 10-8.
BUILD 177
32 Bug affecting polymer/gel shear thinning corrected (underestimated)
31 Improvement to thermal fracture width calculation - reduced tolerances improving
accuracy of surface integral
1990-2011 Petroleum Experts Limited

21

REVEAL

BUILD 176
30 Wellbore heating electrodes may be set at unperforated blocks
29 PROSPER generated TPD lift curve types added for condensate producer, PCP, HSP
and JET pumps
28 Correction to units displayed for calculated shear rate
27 Bug using user defined relative permeability for injector wells fixed
26 Minor interface problem plotting of polymer/gel viscosity (salinity option) fixed
BUILD 172
25 Improved calculation of reference depth pressures in fragmented grids
24 Grid boundary geometry problem fixed when Cartesian grid with array defined top
surface and inactive blocks present
23 Graphics display problem (spurious characters sometimes displayed) for Xflow
completion graphics view fixed
BUILD 170
22 Improvement to relative permeability calculation when hysteresis, endpoint scaling,
desaturation are used in conjunction
BUILD 167
21 Possible failure during PVT import from external simulation model corrected
REVEAL Version 2.2 IPM Version 5.2
BUILD 164
20 Possible bug affecting steam injection through static fractures fixed
19 Grid properties data may now be imported and exported in ASCII format from the
relevant screens in the wizard
18 Endpoint scaling saturations added to ASCII import data
17 External simulation import now uses input pore-volume to calculate pore-volume
multipliers
BUILD 160
16 Improvement to fixed dimension (producing) fracture where the fracture geometry is
small relative to its grid blocks
15 Zero wellbore friction may be applied to multilateral well by setting roughness to zero
14 Warning given if incorrect lift-curve type specified during import of lift-curve
BUILD 158
13 Correction to equilibration below OWC if residual saturation is specified in this region
with values less than 1
12 Improvements when GMRES solver is used
BUILD 156
11 Well cross-flow now on by default
10 Interface issue in schedule section where initial time step data may be lost when well
control method changed has been fixed
BUILD 153
9
non-Darcy flow for gas injectors improved - more implicit
8
Bug with OpenServer voidage rate variable in schedule section fixed
7
Generalised fluid injection may be used with steam model (temperature is still
determined by water/steam specific enthalpy)
BUILD 151
REVEAL Manual

February, 2011

Technical Overview

22

6
Possible crash with very small grid and long well (memory allocation) fixed
BUILD 149
5
Correction to interpolation of stress on horizontal (X-Y) thermal fracture surface
4
Rows manually deleted from the multi-lateral well dialogue are permanently removed on
save
3
Fracture internal grid geometry shape modified to create more uniform finite element
blocks (topology unchanged)
2
Bug transferring producing well temperature to GAP through RESOLVE fixed
1
Fixed dimension fracture geometry (including width and permeability distribution) may be
completely defined by the user
REVEAL Version 2.1 IPM Version 5.1
BUILD 142
65 Rock compaction tables now extrapolated
BUILD 141
64 Outflow from grid to aquifer when no mobile water present prevented
BUILD 139
63 ASCII data import improved when selected data is not present
62 Modification to gravity term in enthalpy balance for tubing flow
61 Previously plotted average reservoir 2D plots variables retained between plotting
sessions
60 Default minimum Pwf (1 psig) and default maximum Pwf (1e5 psig) set
59 Voidage rate control wells made more implicit
58 Bug corrected setting imported history liquid rate control
57 Bug with 3D plotting of cell values in models with a large number of fractures corrected
BUILD 137
56 Improvement to calculation of GOC depth during equilibration if initial pressure is
specified below the bubble point
55 Polymer and gel thickening factors always remain greater than one, regardless of
correlation parameters entered
BUILD 136
54 Implicitness (time step size dependence) improved for polymer/gel reactions
53 Correction to manual regarding polymer/gel reaction rate equation
BUILD 135
52 Bug with polymer and gel viscosity temperature dependence fixed
BUILD 134
51 Improved fracture grid discretisation for fixed dimension fractures
50 Fluid production/injection rates associated with fractures output in well results
BUILD 127
49 Externally imported horizontal transmissibilities now applied to next active block even if
neighbour is inactive
48 Thermal convergence improved for thermal fracture cases with cross-flow within fracture
BUILD 120
47 Bug preventing well PI multiplier from being applied to 'multi-lateral' wells fixed
46 Speedup for cases with large numbers of (or long) wells with wellbore friction
45 Modification to thermal fracture model for cases where multiple 'small fracture' solutions
1990-2011 Petroleum Experts Limited

23

REVEAL

are possible
BUILD 118
44 Minor bug with fracture schedule interface fixed
43 Some default values (reference temperature, start date and implicit thermal model)
changed
42 Validation improved for voidage replacement wells
41 OpenServer bug fixed for 'map axes' and 'filter cake' data
40 'Update globally' option in reservoir section improved
39 Inaccessible pore volume (polymer & gel) bug fixed for use with implicit solver
38 Error with shear rate 3D display variable corrected
37 Constant injection well heat option (for thermal recycling)
36 Improved thermal stress calculation for grids with internal inactive grid blocks
35 Font size used for water chemistry calculator plot increased
34 3D z-scaling of selected blocks visualisation bug fixed
BUILD 115
33 Multiple aquifer regions may be defined for each analytical aquifer (OpenServer string
for aquifer connection direction changed)
32 Minor bug fixes associated with schedule import facility
31 Problem associated with thermal fracturing controlled by voidage replacement cycling
between water and gas injection fixed
30 Aqueous partitioning of H2S and CO2 slightly modified when using the simplified water
chemistry equilibration method
29 Internal unit conversion bug calculating wellbore heat transfer corrected
28 Playback 'repeat' option added to 3D display playback options
BUILD 112
27 Improvements to numerical stability of long multi-lateral wells with large connectivity
factors
26 Steam fraction (by volume) in gas phase added to 3D results list
BUILD 109
25 Average reservoir results recorded before the first time step (post equilibration) as well
as after each time step
24 Block centre coordinates and volumes added to t=0 display
23 Additional water chemistry text diagnostic regions may be defined (see water chemistry
section)
22 All refined grid properties defaulted to parent grid values (connate saturations previously
required to be set in refined grid)
21 Various minor interface labeling (spelling) errors fixed
20 Well trajectory azimuth redefined to be clockwise viewed from above (see multi-lateral in
well section)
19 Default for well IPR calculation changed from 'streamline' to 'diffusivity' (see well
section)
18 Thermal conduction across refinement boundaries and non-neighbour connections
included
17 Wellbore friction model improved with increased tubing discretisation possible (see well
section)
16 Gas-lift and pump frequency added to well results where these artificial lift are used
REVEAL Manual

February, 2011

Technical Overview

24

15 3D view may display blocks only within a selected variable range (see scale option)
BUILD 108
14 The 'Under saturated Rs Solve' option improved
13 Possible implicit rate well constraint violation fixed
12 3D view selected blocks within refined grid may be saved with saved view
BUILD 105
11 Improvement to solver for advection concentration of trace components - reduces
possible numerical oscillations
10 Water chemistry equilibration speeded up for cases where initial composition and
temperature is constant
9
3D graphical display bug associated with Geertsma deKlerk fracture model fixed
BUILD 102
8
Wells and fractures that have no active completed blocks are not required to be deleted;
they are now ignored
7
Maximum number of completion table entries per well increased from 100 to 1000
6
Additional solver performance variables added to results
5
Additional warning if water chemistry database cannot be found
4
Start status added to initialisation section (equilibration or restart)
3
Units conversion bug for gas lift injection rate for TPD with GLR as sensitivity variable
fixed
2
Sample file validation ranges reset to defaults
1
Preferences and Register Importer Components moved from Options to File menu
BUILD 101
IPM Version 5.00
BUILD 042
36 Joule Thomson coefficient added for water, oil and gas
BUILD 040
35 J Leverett oil/water capillary pressures calculated using horizontal and vertical
permeability
34 water capillary saturation equilibration above gas/oil contact modified
33 Explanatory text added to reservoir section wizard screens
32 THP constraint included within Newton iterations to prevent overshoot as constrain is
violated
BUILD 034
31 Recovery factor added to average reservoir results
30 Automatic relative permeability coverage button added
29 Wireframe default for plotting modified
28 Rocktype, PVT and equilibration region coverage defaulted on a new model
BUILD 030
27 Number of components (e.g. water chemistry) that can be viewed on the Xflow tubing
data plot increased from 10 to 100
26 Details of species not included in the model that are predicted now included in water
chemistry calculator
BUILD 029
25 Irreversible compaction added
1990-2011 Petroleum Experts Limited

25

REVEAL

24 Fully implicit well VLP option added


23 Problem with well PI multipliers not being applied to completion table wells fixed
BUILD 028
22 VLP gas lift unit changed from GLR to rate
BUILD 023
21 Error importing VFP or ECL format lift curves with gas lift or ESP fixed
BUILD 021
20 External simulation importer dlls changed to prevent possible conflict with S3Graf dlls
19 Memory management improved for larger models
18 Interface unit conversion bug using ALQ gas lift or ESP frequency with TPD fixed
17 Bug affecting finite radial Carter Tracy aquifer model after 1000 days of simulation fixed
BUILD 014
16 Pinchouts automatically set according to imported model if external transmissibilities are
set
15 Maximum separation between adjacent layers for non-zero transmissibility added to
pinchout
14 Some improvements to the schedule history import from ECLIPSE
13 Thermal injection with fixed dimension fracture and wellbore friction bug fixed
12 OpenServer capability added to produced fluid water chemistry calculator
11 Water chemistry calculator for produced fluids added
BUILD 010
10 Import of metric rock compressibility reference pressure units bug fixed (ECLIPSE
import)
9
Purge of temp directory files added under File menu
8
Well results compression increased - possible backwards compatibility issues with
certain saved stream variables
7
Cumulative and rate for analytical aquifers added to average results stream
6
Voidage volumes and cumulatives at reference depth reported in well results
5
3-point endpoint scaling option added for imported cases with this option
4
ECLIPSE imported injection history match import bug fixed
3
Equilibration for gas water models with large capillary pressures improved
2
Drainage region methods included for calculation of PI
1
Bug fixed when using voidage replacement with multiple schedules
BUILD 004
IPM Version 5.00 DEV
24 Well and fracture refinement model conversion from IPM4 to IPM5 improved
23 OpenServer for Xflow well results added
BUILD 230
22 Option to open from previously used directory added (default)
21 Water vapour in gas included in IPR for connection to RESOLVE
20 Some limitations with 3D plotting with refinement improved
19 Option to plot with a step style added to the preferences
18 Possible solver crash with thermal fracture fixed
BUILD 227
17 OpenServer for 3D graphics cell results added
REVEAL Manual

February, 2011

Technical Overview

26

BUILD 226
16 History match data import from ECLIPSE schedule
15 Number of thermal PVT tables extended
14 Number of tracer components increased
13 ECLIPSE and VIP importer updated
12 Increased well specification - heat transfer, extended completion table data
11 Thermal fracture model updated - stability, non-propagation and gas injection
10 Improved solver, constraint and abandonment control
9
Drainage regions calculated and used for PI reporting
8
Improved refinement modelling
7
Compressible filter cake injection model
6
Extended souring model
5
Steam model
4
Solver options extended
3
Water vapour in gas model
2
Generalised liquid and gas injection
1
Extended desaturation model, including IFT and capillary number calculations
IPM Version 4.04
20 Bug with number of stress layer greater than 20 fixed
19 Voidage replacement for all producing wells bug fixed
18 Inflow for multilateral 'intelligent' well completions connected to RESOLVE bug fixed
BUILD 252
18 Restart from ECLIPSE or VIP for single component models allowed
17 Data import from VIP for perforation data bug fixed and ECLIPSE import units
conversion for non-Darcy factor fixed
16 Further improvement to over/underburden temperature flux calculation
15 Improved validation for refinement grids
14 Souring model includes nutritional efficiency to model nutrient takeup for growth and
anaerobic respiration
13 Souring model maximum reduction rate is now a function of temperature
12 Units for critical stress intensity extended
11 Over/underburden temperature flux correction - losses previously overestimated
BUILD 244
10 stress calculation problem fixed for blocks with large pore volume multiplier
9
Zoom button (+) improved
8
Reported well cumulatives error with voidage replacement present corrected
7
Stress layering in interface improved (200 rows available)
6
Water chemistry with souring and partitioning logic improved for inclusion of blocks in
calculation
5
Positive bias in permeability reduction model corrected
BUILD 242
4
OpenServer bugs in schedule fixed
BUILD 232
3
Multiple thermal fractures on a single well solver stability improved
BUILD 225
1990-2011 Petroleum Experts Limited

27

REVEAL

2
Thermal fracture filter cake model added
1
Thermal fracture model improved for cases with large stress discontinuities
BUILD 221
Version 1.0 IPM 4.0
1
Water chemistry convergence and reporting improved
2
Thermal conductivity error corrected
BUILD 157
3
Analytical aquifer may be applied to boundaries with inactive blocks - the first active
block into the model is used
4
Over and underburden temperatures set to initial reservoir temperatures as defined by
the thermal gradient
5
Wax viscosity correlation error fixed
BUILD 158
6
Permeability reduction model simplified (permeability reduction always included in shear
dependence)
BUILD 161
7
Asphaltene permeability reduction model added
8
Downtime well efficiency added to schedule section
9
Equilibration reference pressure may be set at a depth different from an OW or OG
contact depth
10 Dry gas restart from external simulator import bug fixed
11 Gas Non-Darcy units changed to d/scf, previously d/rcf. Non-Darcy included in IPR
calculations for RESOLVE
BUILD 204
12 New sample files
13 9 Point transmissibility bug fixed
14 Non-Darcy beta factor for gas flow in producing fractures; producing fracture model
more implicit
15 Well PI multiplier added for history matching
16 Bug with refinement covering inactive blocks fixed
17 Wax permeability reduction model added
18 Bug for implicit rate wells in small grids fixed (memory error)
19 Scheduling controlled by dates
BUILD 213
20 Well completion table data entry includes kh and effective radius - this data is also read
from ECLIPSE imported cases
BUILD 218
21 Schedule import bug fixed
22 Convergence for cases with large capillary pressures improved
Version 2.0.1 (beta)
1
Non-neighbour connections with inactive blocks bug fixed
2
9 point horizontal upstream weighting in addition to 5 point scheme for implicit solver
3
Extend the pause and stop capability to be more reactive for larger simulation
calculations
REVEAL Manual

February, 2011

Technical Overview

28

4
5
6
7
8
9

Compaction model - variable rock compressibility and permeability multiplier


ASCII data import extended
data blocks may be exported to the clipboard or a file
Minimum porosity*net-to-gross ratio may be set to define inactive blocks
Code optimisation improving speed
OpenServer data strings can be obtained using <CTRL> + mouse right click within input
wizard
10 Thermal and producing fractures can intersect inactive blocks or grow beyond reservoir
boundary
11 Fixed dimension fractures (previously only for producers) can be connected to injectors
12 Cross flow option added for wells that have wellbore friction defined
13 Dynamic updating of reporting to debug text file during a calculation
14 VIP and ECLIPSE data import extended
15 3D graphics - improved speed, well labels, colour tables
16 J Leverett oil/water capillary pressure option added
17 Distinct PVT and equilibration regions may be defined. The PVT regions must be non
communicating and the equilibration regions must have only one PVT each.
18 Voidage replacement well type for injectors
19 Minimum pore volume for inactive blocks added
20 PVT speedup, particularly for variable RS and thermal tables
21 ECLIPSE data import extended to some ASCII import (COORD & ZCORN)
22 Pinchout options extended to include options for minimum pore volume excluded blocks
and use of minimum intervening transmissibility multiplier
23 Inter-block transmissibility calculation extended (similar to NEWTRAN method), or
imported transmissibilities may be used
24 Map axes added to reservoir section to define conversion between simulation
coordinates and map coordinates
25 Injection relative permeability extended to include phase end point or user specified
value
26 Non-linear implicit solver improved and default solver parameters modified
27 Various 3D graphics improvements, including visualisation of wellbore parameters,
extended colour table and perspective preferences
28 PROSPER injection curves with calculated downhole temperature may be used,
replacing the requirement to specify injection temperature
29 Thermal fracture model stability improved when fracture stops propagating following
initiation and early propagation
30 Graphics improvements for unstructured grids - efficient for large grids with many
inactive blocks and full 8 corner point meshes
31 Cross flow may be activated for wells without a deviation survey - care should be taken
since no frictional pressure drop will be employed
32 End point scaling and residual saturations for relative permeabilities, including ECLIPSE
import
33 Non-Darcy gas flow factor
34 Eclipse/VIP data import problems fixed
BUILD 127
35 Implicit solver may be used without the CFL time step limit for all chemical models
1990-2011 Petroleum Experts Limited

29

REVEAL

except the surfactant model


36 Stability improved for THP controlled wells
37 Directional relperms for the implicit solver implemented
BUILD 136
38 Water chemistry aqueous CO2 and H2S added for reporting purposes
39 Problem with reference depths where reference depth is far from top of tubing fixed
40 Condensate PVT tables bug fixed
BUILD 139/142
41 Mass flow rates reported in well results for trace species (e.g. water chemistry
minerals)
42 IPR curves smoothed for use by RESOLVE in crossflow region
43 Well control constraints improved
Version 2.0 (beta)
1
Commercial release
Version 1.1.6 (alpha)
1
Memory management improved for grids with large numbers of inactive blocks
2
Vertical pinchout non-neighbour connections automated
3
Grid block volume multipliers added
4
Well and reservoir reference depths added explicitly
5
Data import options extended
Version 1.1.5 (alpha)
1
Analytical PI model simplified, removing point source solutions
Version 1.1.4 (alpha)
1
3D graphics visualisation improved, including iso-surfaces
2
Pre-simulation water chemistry equilibration calculator
3
Post-calculation thermal fracture IPR calculator (currently requires saved restart files)
Version 1.1.3 (alpha)
1
Wellbore friction uses absolute roughness, not relative roughness
2
ASCII text file data import for grid geometry and basic block properties
3
Cycling of injection/production schedules (e.g. WAG applications)
4
Output streams for well results may be saved for comparison with subsequent
calculations
5
Total combined results summed over all wells are available in addition to the individual
well results
6
Mean reservoir pressures now reported referenced relative to reference depth entered
in initialisation section
7
Well FBHP additionally reported referenced relative to reference depth, using static
reservoir pressure gradient
8
Water and oil relative permeability hysteresis added, modifications to desaturation
relative permeability calculations
9
Non-Newtonian (heavy foamy oil) viscosity model implemented
10 Non-neighbour connections added to the reservoir section
REVEAL Manual

February, 2011

Technical Overview

11

30

Enhancements to surfactant phase behaviour, including upgraded pre-calculation


diagnostics

Version 1.1.2 (alpha)


1
Improved memory management for large cases
2
Wellbore friction model implemented
3
ECLIPSE simulator data import extended to include tabular data (PVT, rel perm) and
rock data
4
Grid refinement completed
5
Thermal fracture extended to include more than one fracture per injection well
6
Thermal fracture initiation criterion modified and critical stress intensity may be entered
per layer
Version 1.1.1 (alpha)
1
Fractures may be normal to X, Y or Z planes (previously only Y)
2
3D plotting of fractures improved, aligned with grid rather than X, Y or Z direction
3
Thermal fracture algorithm convergence and stability improved, volumetric storage term
included
4
ECLIPSE simulator data import
5
Grid refinement added
6
General improvements to 3D graphics, including visualisation of grid refinement
7
H2S souring model added
8
Scale inhibitor model added
9
Implicit and IMPES solvers improved to accommodate grid refinement
10 Link with GAP e.g. for the optimised solution of downhole networks (contact Petroleum
Experts for more information)
Version 1.1.0.18 (alpha)
1
Density and heat data no longer required for non-volumetric components
2
Analytical well model accuracy improved for long wells with high anisotropy
3
Automatic shut-in for wells backflowing or no VLP/IPR intersection
Version 1.1.0.17 (alpha)
1
Error trapping improved
2
Depth range for equilibration reference depth increased
3
Parametric relative permeabilities altered
4
On-line and on-context help added
5
OpenServer functionality extended to include access to all script variables
Version 1.1.0.16 (alpha)
1
Condensate model reporting based on initial reservoir composition
2
Stone II oil-phase relative permeability model added
3
Implicit solver extended to thermal calculations without CFL time-step constraint
4
Implicit solver extended to all other calculations (except surfactant) with CFL time-step
constraint
5
Static head calculation improved for injection wells and constant Pwf/Pws wells

1990-2011 Petroleum Experts Limited

31

REVEAL

Water chemistry reporting improved

Version 1.1.0.15 (alpha)


1
VIP simulator data import
2
Speeded PVT calculations for tabular input
3
Relative permeability modifications to Stone I model
4
Implicit solver for 3 component, 3 phase isothermal models
5
Facility to globally update grid dimensions
6
Calculations and plots for component adsorption
7
Calculations and plots for polymer/gel viscosity
8
On-context help for script keywords
9.
Various improvements to plotting
Version 1.1.0.14 (alpha)
1
Timestep control modified to control GOR oscillations
Version 1.1.0.13 (alpha)
1
Fixed rate producers and material balance iteration scheme improved
2
Restart functionality included
3
Equilibration bug fix
Version 1.1.0.12 (alpha)
1
Thermal fracture stress reduction model modified
2
Analytical well PI calculation modified
3
Net to gross option added to interface
Version 1.1.0.10 (alpha)
1
Wellbore heating model added
2
Model for production from fractured wells added
3
Thermo-elastic stress reduction calculation modified
4
Improved thermal fracture reporting
5
Improved pre-processor data validation
6
OpenServer improvements (new commands and blocking features)
7
Interface and output graphics bug fixes
Version 1.1.0.9 (alpha)
1
Completion of wizard for mobility section
2
Viewing and plotting of lift curves in the REVEAL project
3
Addition of a condensate model
4
Relative permeabilities have been reworked so that all data is entered in 2-phase sets
5
Pore volume calculation from porosity screen
6
Calculation of electrical neutrality of water chemistry components
7
Plots of relative permeability, gas residual saturation hysteresis, and capillary pressures
8
Addition of 'Average Reservoir Results'
9
Open server support for results screens
10 Overburden/underburden conductivity models reworked
11 Flux-corrected transport algorithms reworked
REVEAL Manual

February, 2011

Technical Overview

12

32

Initial version of manual and step-by-step guide included in distribution

Version 1.1.0.8 (alpha)


1
Completion of the wizard for phase behaviour
2
Ternary diagram calculation for emulsion/aqueous/oleic phases (phase behaviour
section)
3
Interfacial tension calculator (phase behaviour section)
4
Multilateral wells can now be described through the interface. Multilateral and simple
well models can be run in the same simulation.
5
A dynamic grid view has been added to enable the user to view the reservoir and well
topography before running the simulation. This is available from the 'Plot' button of
several of the wizard screens.
6
Rework of relperm section wizard.
7
Editing of project archive is now possible (Project|Edit menu option).
8
Bug fix - depth keyword now specifies the depth of the top of the top layer of grid blocks
(rather than the centre).
9
Minor bug fixes.

1.5

ITRequirements

REVEAL supports all Windows-certified drivers that are shipped with Windows. The list of
devices, software and hardware supported by Windows is included with the documentation of
your copy of Windows.
Hardware and software requirements - minimum requirements recommended for REVEAL.
Pentium III class PC (Windows NT, 2000 or XP)
500 MHz processor (2GHz+ recommended)
256 Mbytes of memory (1Gbytes+ recommended)
5 Gbyte hard disc space for temporary files
1280 by 1024 minimum display size with high colour (16 bit) resolution
CD drive if the software is installed from a CD
Licenses - REVEAL can be run using a single user (stand-alone) license or on a network.
In either case, a special security key is needed. The security key is called Bitlock for standalone licenses, and HARDLOCK for network licenses. The security key is provided by
Petroleum Experts.
For a stand-alone license, the security key (Bitlock) must be attached to the parallel port of
the PC. For a network installation, the security hey (HARDLOCK) can be attached to any PC
communicating with the network. You should refer to the separate installation procedure for a
network HARDLOCK sent with a HARDLOCK license.

1990-2011 Petroleum Experts Limited

Chapter

User Guide

User Guide

2.1

What's in this guide?

34

This REVEAL user guide will include a description of all the different options available in
REVEAL.
The organisation of the "Input Wizard" section of the manual illustrates the basic procedure
required to setup a REVEAL model to carry out reservoir modeling and analysis.
The other sections of the user guide include additional comments on specific topics such as
importing data from external sources, setting-up grid refinements, etc...
The setup and usage of REVEAL models is illustrated on case examples in the "Worked
Examples" section.

2.2

Contacting Petroleum Experts

Should a user have further questions or experience any issues when using REVEAL,
Petroleum Experts technical support team can be contacted by using the following email
addresses:

1990-2011 Petroleum Experts Limited

35

REVEAL

Contact
us
You can contact
us by Email,
Mail ,Phone, Fax
or on the web at
http://www.petex.
com
Unite Unit Unit
d
ed
ed
King Stat State
dom es
s
Petrol
eum
Expert
s
Limite
d
Petex
House
10
Logie
Mill
Edinb
urgh,
EH7
4HG
Scotla
nd UK

Petro
leum
Exper
ts
Inc.
757
North
Eldrid
ge
Park
way
Suite
510
Hous
ton
TEXA
S
77079
USA

Petrol
eum
Exper
ts Inc.
108
KOL
Drive
Brous
sard
LA
70518
USA

+44 (0) 131


+1 281
474531
+1
7030
337
1121
839 1020
+44 (0) 131
+1 281
474531
7031
0810

Technical
lafayette@petex.
support@petex.
houston@petex.com
Technical Technical
Support
Support Support
Allcom
Other com

lafayette@petex.

edinburgh@petex.
houston@petex.com
All Other All Other
Queries
Queries Queries
com com
REVEAL Manual

February, 2011

User Guide

36

When contacting Petroleum Experts technical support team, the user should include the
following details in the request:
Include the keyword "REVEAL" in the e-mail subject.
REVEAL version and build number that are being used.
This information can be found in the Help | About section of the main REVEAL menu.
Detailed description of the question or issue experienced.
A copy of the REVEAL model (.rvl file). If the file is large (i.e. >2MB), then it is
possible to delete potentially large quantities of graphical output data using the option
Results | Clear Grid Results.

2.3

Input wizard

2.3.1 Basic operation


A REVEAL input data set is divided into several sections. These may be modified either by
directly altering the text in the input script, or by using the project wizard. The wizard may be
used for one section only, or run consecutively through all of the sections.
The wizard is activated with a right click inside the input script window, or by selecting Input
from the menu. Once the wizard ends normally (section(s) completed, or Finish selected),
the output script is updated. To prevent the changes made in using the wizard from being
written to the output script, select Cancel. Once the Wizard is exited, the only data stored
internally by REVEAL is that written to the script and held in datablocks. The Next and
Previous buttons can be used to navigate forwards and backwards through the wizard
screens. The Validation, Plot and Calculate buttons may be used on some screens to
check data input.
Data is held in temporary files until the archive is saved using the Save menu option. The
temporary files in the archive may be viewed using the menu option Project|Edit / View
project, or by opening the REVEAL archive (*.rvl) using winzip. The principal temporary file is
the input script, which contains the changes made using the wizard.
Changes made using the wizard will be updated to the input script if the wizard is ended using
Finish, or if the wizard ends because Next was selected and no more wizard screens are
available (either the end of the schedule section or the end of the current section is only one
section is being edited with the wizard). In this case, the data in the input script is overwritten and previous data will be lost.
If the wizard is ended using the Cancel button, then the changes made using the wizard are
not saved to the input script (these changes are lost).
Data may be copied and pasted between the REVEAL wizard screens and other applications
such as EXCEL. To copy from REVEAL, select the region to be copied and use Control+C
1990-2011 Petroleum Experts Limited

37

REVEAL

to copy and Control+V to paste the selection. Alternatively, entire sections may be copied
using options obtained using a right mouse click. To paste data into REVEAL, the size
(number or columns) of the region to be pasted must match that required by REVEAL. The
simplest way to check the column format required is to select and copy a blank region from
REVEAL into EXCEL (for example).
The script itself may be edited directly, sometimes Control+C (copy), Control+V (paste),
Control+F (find) and Control+H (find and replace) are useful. To select a keyword or other
text Shift+left mouse button may be used. Once the script is edited, it is best to run the
wizard, to read the changes and re-write them to the script to check validation. Care should
be taken performing extensive changes to the script because syntax errors will not be read by
the wizard and data incorrectly set may be lost.
Comments may be added to the script within /* and */ delineators. However these comments
must lie outside the section and end keywords used for each data section.
It is obviously advisable to save the REVEAL archive file using File|Save or File|Save As at
regular intervals. The wizard cannot be running while a save is being made.

2.3.2 Section summary


The input wizard is divided into 13 sections, each containing several related pages. The
sections and pages displayed are context sensitive and will depend on the options previously
selected, the principal options are set in the control section.
General help starting and using the input wizard is available, along with specific page-by-page
help.
Control section
Reservoir section

solver, model, components


geometry, grid depth, porosity, permeability, transmissibility multipliers,
absolute transmissibilities, net to gross, pore volume multipliers, rock
type, PVT region, equilibration region, fluid-in-place region, nonneighbour connections, grid refinement
Physical section
physical properties, rock compressibilities, miscellaneous models (wax
dropout, interfacial tension, miscibility, wettability, steam)
Relperm section
options, residual saturations, relative permeabilities, capillary pressures,
endpoint scaling
Aquifer section
analytical aquifer, Carter Tracy
Mobility section
polymer/gel, original Carreau Kuparuk viscosity models, gelation &
degradation, inaccessible pore volume, foam, sodium silcate gel
Phase section
introduction, alcohol/polymer partitioning, surfactant micro-emulsion
phase, ternary diagram, interfacial tension, surfactant viscosity
Adsorption section adsorption properties, adsorption isotherms, permeability reduction,
tracer partitioning
Water chemistry section water chemistry, partitioning, H2S souring(Legacy model), H2S
souring (Bacterial activity model), scale inhibition
Solids section
asphaltenes, waxes, sand/solids
REVEAL Manual

February, 2011

User Guide

38

Wells section
location and properties, filter-cake, fractures, stress
Well-bore heating section well-bore heating
Initialisation section PVT initialisation, equilibration initialisation, user initialisation, component
concentrations
Schedule section
well schedule, thermal fracture schedule

2.3.3 Control section


2.3.3.1 Solver
Four principal solver options are available, two IMPEC (implicit in pressure and explicit in
concentration) solvers and two implicit solvers. The term IMPES (implicit in pressure and
explicit in saturation) is equivalent to IMPEC in this context.
Implicit pressure explicit concentration - The IMPES solvers solve each time-step faster
than the implicit formulation and uses iterations to ensure material balance. Its time-steps are
limited to the Courant limit. It has various upstream weighting options to minimise numerical
dispersion and reduce grid orientation effects. These are the only solver options available for
micro-emulsion surfactant models, and should generally be selected for models where
numerical dispersion of trace components is important.
Implicit pressure and saturation - The implicit solvers are implicit in three phases and three
components (water, oil and gas), using a one-point upstream weighting for mobilities. Thermal
models are not subject to the Courant time-step limit in the implicit formulation, but
temperature may be subject to numerical dispersion at larger time-steps. These options
should be selected for three component models where high velocities and small grid blocks
are present (e.g. gas coning).
Depending on the solver option chosen, various solver options are available on two screens.
Defaults are provided, and altering them must be performed with care. Always start with the
default options.

1990-2011 Petroleum Experts Limited

39

REVEAL

Select Solver Options - main solver methods


Old IMPES - this is the original IMPES solver and has now been superceded by a more
general IMPES solver (see next option). It does not support grid refinement, inactive blocks
and many other features; basically it should never be used.
IMPES - this is the default IMPES solver. IMPES solvers require less memory and less cpu
per time step. They require short timesteps to be numerically stable and therefore are usually
slower than implicit formulations. IMPES formulations allow higher order upstream weightings
that can significantly reduce numerical dispersion present within implicit formulations. The
IMPES solver is required for the surfactant model and cannot be used with the steam model.
For all other models it is optional, but in most cases the implicit formulation will be faster.
Fully Implicit - this solver option should be used for most models, including chemical models.
It is not available for surfactant models, where the IMPES solver should be used.
CFL Implicit - this uses the fully implicit solver, where the Courant time step limit is imposed.
REVEAL Manual

February, 2011

User Guide

40

This should not generally be used.


Adaptive Implicit - this solver mixes IMPES and implicit solver techniques, attempting to
speed calculations. Gridblocks where the throughput and changes in saturation are small use
an IMPES scheme and the remaining blocks, where most of the changes are occurring use
the implicit formulation. The degree of adaptive implicitness is controlled by a parameter
defined below. This method is recommended for simulations where there are large numbers
of blocks where the phase behaviour is near constant (e.g. large number of aquifer
gridblocks).
Undersaturated Rs Solve - if this option is set, then the implicit gas conservation equation
will be solved for Rs rather than Sg (gas saturation) for undersaturated blocks. This option
can speed the solution of classes of problems where there is minimal mobile free gas (no gas
injections, with at most a stable gas cap).
Dead Oil with no Free Gas - if this option is set, then the gas conservation equation is
removed and consequently speeds calculations. This option should only be used where the
Rs is constant and there is no possibility of free gas. The model is then treated as a two
component water oil system by the solver. You should be certain that the reservoir pressure
cannot every fall below the bubble point defined by the PVT.
Implicit temperature - if this option is set, then the thermal solve is included iteratively within
the Newton iterations of the main implicit solver. It should be used for thermal cases (apart
from steam, where a the thermal equations are fully implicit), where there may be significant
volumetric effects arising from thermal changes. Often, thermal effects are localised near to
a well and the major influence of the thermal injection is to modify viscosity and the thermal
density effects can be ignored and this option should not be set for such cases. It should be
used, where significant reservoir scale temperature changes occur. There is minimal
performance impact using this option and it is recommended that it is always used.
Solver Configuration Modifications - global solver setting changes
It is generally not recommended to change the solver options dramatically. If a case is
running very slowly with the default options then this is generally more indicative of problems
with the model (PVT, relative permeabilities, schedule etc.) rather than the solver options
selected If difficulties persist, then requesting support from PETEX is probably the best
course of action.
Apply modification - Select a global solver modification, then use this button to apply it.
Restore default configuration - Select this button to restore the default solver options.
Increase Accuracy - this increases the convergence criteria increasing the number of Newton
iterations.
Reduce memory - this reduces the solver memory, but may also reduce convergence speed.
This should only be used for models that are too large to fit into available memory.
1990-2011 Petroleum Experts Limited

41

REVEAL

Increase preconditioning - this may be used for models that are difficult for the solver and
allocates more time to the preconditioner. This may be set if the time spent in the
preconditioner is significantly less than the time spent in the solver. See the end of the text
debug results for a summary of where the cpu time of a completed run was spent.
Reduce step size - this option reduces the time step by limiting the maximum change in
pressure and saturation. It should be used for cases that have a significant number of time
step retrys.
Areal flow - when the flow is known to be predominantly areal (limited vertical flow) then this
option will alter the row/column ordering to be d4z (see below).
Maximum variable changes - the time step size is selected to limit the maximum changes in
a variable
Limits for pressure and saturation are entered. These may be reduced for cases with time
step retrys.
Convergence limits - specifies when a solution time step is converged
The pressure, water, oil and gas saturations, temperature and maximum relative well error
(for implicit rate wells) limits may be set. Some heuristics are included in the solver to allow
convergence if not all of the convergence limits are met, but the solve is considered
sufficiently robust. For example, 3 or more iterations have been completed and the pressure
and well convergence limits are met, then the saturation limits may be violated for the worst
offending blocks; this may occur in models with some small blocks with oscillations in their
saturation due to large throughput.
These may be increased to speed calculations, or reduced if oscillations in results are
observed and identified as being a result of incomplete convergence.
Row column ordering - the order in which blocks are added to the solution matrix
The order in which the solution matrix is formed will affect the time required to solve the
resulting system of equations. The cycling is from left to right (e.g. XYZ cycles in the X
direction, then Y direction, then Z direction, with the cycling fastest in X direction). Some D4
(red/black chess board) ordering schemes are also included. In general the fastest ordering
should correspond to the highest transmissibility direction (often Z) or the smallest bandwidth
(direction with smallest number of blocks).
Matrix bandwidth is reduced by ordering with the smallest grid dimension first. If the flow is
predominantly in one direction then this direction should be ordered first to keep the largest
term near the matrix diagonal.
The default automatic option checks the largest transmissibility direction and smallest grid
dimension direction. It uses the transmissibility divided by the grid dimension for each
direction to order the solution matrix.
REVEAL Manual

February, 2011

User Guide

42

In cases where a strong flow direction is known due to well placement, this direction should
be set as the first direction.
The D4 options are a red/black scheme in two dimensions that equally weights two
dimensions. Therefore, for example, if the flow is known to be areal with limited vertical flow
and the X and Y dimension are similar, then the X and Y direction have equal weight, with the
Z direction having the smallest contributions to the solution matrix and hence the d4z scheme
may be appropriate.
For some cases spectral colour ordering may may help improve solution matrix bandwidth.
Two methods 'multi-colour' and 'Independent Set' are provided. These methods have been
found to help for models with long wells and grid refinement.
Horizontal point scheme - automatic connection to diagonal blocks
Either a 5 point or 9 point horizontal flow scheme is available for the fully implicit solver. The
9 point scheme is recommended since it reduces grid orientation effects. The 5 point scheme
is the default used by ECLIPSE, therefore this scheme should be used for imported models
that have been history matched using this option.
More Information on this topic: Difference between 5 and 9 points Horizontal Point
Schemes
Adaptive implicit parameter - control degree of adaptive implicit solver option
If the adaptive implicit solver option is selected, then this parameter determines which blocks
will use the IMPES method. The parameter approximately represents a maximum change in
saturation and maximum throughput as a fraction of pore volume. Any gridblocks that exceed
this value and all blocks where free gas is present will use the implicit formulation. Therefore
the smaller the number the fewer blocks that will use the IMPES formulation. It is
recommended that for suitable models (large regions where the changes in saturation are
slow) a value between 0.1 and 0.01 is used. If no performance improvement is found with a
value of 0.01, then this option should usually be turned off.
Newton iteration options - control the divergence criteria
These options should not be altered for most models.
Minimum iterations - the minimum number of Newton iterations.
Maximum iterations - the maximum number of Newton iterations without convergence before
a time step cut retry is required.
Reduce dt iterations - if this number of iterations is taken or exceeded, but still converges
before the maximum number of iterations is exceeded, then the next time step will be reduced
by a factor two.
1990-2011 Petroleum Experts Limited

43

REVEAL

Hold iterations - if this number of iterations is taken or exceeded, but the reduce dt iteration
limit is not reached, then the next time step will not increase.
Divergence condition - if the maximum block value for pressure change increases in an
Newton iteration by more than this factor, then a retry will take place.
Max Newton step size - at each Newton update of the independent variables, the deltas are
multiplied by this step size.
Minimum dP for inclusion - after the first iteration any blocks where the pressure change is
less than this value will be removed from the solver for subsequent iterations. This effectively
ignores large regions of the model where very little change is occurring after the first iteration,
which always includes all active blocks.
Preconditioner Options - the preconditioner is the first step to solving the equations
Preconditioner - this selects the preconditioner to use - generally the ILUTP (default) is
recommended. There are cases where the ILUDP is better, especially if the linear solver fails
to converge consistently using ILUTP. ILUT is included for test purposes and should not be
used.
ILUT - Incomplete LU factorization with dual truncation strategy
ILUTP - ILUT with column pivoting
ILUD - ILU with single dropping + diagonal compensation + column pivoting
ILUK - ILU with level k fill-in
The default, ILUTP is generally recommended.
Fill in parameter - this is the bandwidth of the pre-conditioning matrix (maximum number of
non-zero entries for each row). It is set to 33 = (9+2)*3 by default, which corresponds to 9
horizontal and 2 vertical blocks each with 3 solution variables (pressure and two saturations).
It may be lowered to reduce the size of the pre-conditioning matrix and hence memory
requirements or increased where more equations are present for the steam model.
If a negative value is entered, then the workspace size is allocated according to the modulus
of the value, but the ILUTP pre-conditioner bandwidth is increased for some blocks (usually
implicit rate wells) where allocated memory is available.
Drop tolerance - relative magnitude of off diagonal terms (relative to largest) to be included
in the preconditioner. A smaller value includes more terms and hence more time is spent in
the preconditioner and consequently less in the linear solver. This value may be reduced to
increase preconditioning. Typically it should be between 0.001 and 0.00001. The time spend
in the preconditioner and linear solver may be seen by looking at the end of the debug text
file.
Permutation tolerance - relative magnitude of off diagonal terms (relative to largest) to be
used by the preconditioner to swap (permute) columns in the solver. A smaller value
REVEAL Manual

February, 2011

User Guide

44

permutes more terms and hence more time is spent in the preconditioner and consequently
less in the linear solver.
Auto tune drop tolerance - this option may be selected to automatically vary the drop
tolerance during a calculation. This is recommended for most models.
Linear solver options -the linear solver is used with the preconditioner for each Newton step
The options for linear solver should not generally be altered from the default values. A
stabilised bi-conjugate gradient (BCGSTAB) and generalised minimum residual solver
(GMRES) are used for the linear solve, depending on how difficult the problem appears to be.
The residual reduction is a relative residual reduction defining convergence, and the residual
maximum is an absolute residual limit. Sometime, reducing the residual maximum may help
reduce oscillations between Newton iterations. The residual is defined as the r.m.s. mass
rate per unit volume error. The Krylov space size is used for the GMRES solver. If this value
is increased, the solver may become more robust, but may require significantly more memory
and become much slower, it may be reduced to a minimum value of 0 to minimise memory
requirements.
Krylov space size - this is used for the GMRES solver which is only used when the faster
BCGSTAB solver fails to converge. If this value is increased, the GMRES solver may
become more robust, but may require significantly more memory and become much slower, it
may be reduced to a minimum value of 0 to minimise memory requirements. Generally if this
value requires to be increased, the problem is nearly singular and the reason for this should
be sought before changing this value. It is recommended that this value is set to zero, in
which case the GMRES solver is not used.
Residual reduction - the relative reduction in the solution matrix residual when convergence
is assumed. The residual is defined as the r.m.s. mass rate error. This value may be
reduced in some cases, where the linear convergence is not resulting in Newton convergence.
Residual maximum - this is the absolute maximum for the linear solver to be converged. The
solution is considered converged when either the relative or maximum limits are reached.

1990-2011 Petroleum Experts Limited

45

REVEAL

Set Defaults - returns the IMPES solver options to its defaults


Solver Quality Upstream Weightings - high order explicit upstream weighting used to
reduce numerical dispersion
Upstream weightings define how properties required at grid block faces are calculated, and
are used to minimise numerical dispersion effects. Weightings are required for component
concentration, temperature, permeability (mobility) and density. The permeability and density
weightings are used prior to the implicit pressure solve, while the component concentration
and temperature weightings are used during the explicit phase of the solve, after the implicit
pressure solve has been performed.
The phase velocities are determined by the implicit pressure solve. The component
concentrations are the concentration of components within the phases present, and therefore
component concentration weightings only effect trace components within the phases.
1-point - block face value is taken as the value in the centre of the upstream block. This is
REVEAL Manual

February, 2011

User Guide

46

recommended for component concentration where trace components are not present, and
also recommended for the surfactant micro-emulsion and water chemistry models, to ensure
components are transported in the ratios present within the upstream block.
2-point - block face value is taken as a value extrapolated from the two upstream blocks.
This method reduces numerical dispersion but generally not recommended.
fct/2-point - similar to the 2-point scheme, but extended fct (flux corrected transport)
algorithm [Ref 17] acts to minimise numerical dispersion. Recommended for temperature and
component concentrations where trace components are present.
fct/3-point - higher order, three block (two upstream and one downstream) fct method. This
method should only be used when all blocks are identical cubes.
Not generally
recommended.
Original - for mobility weighting, this method uses a 1-point upstream weighting for relative
permeability and centred value for viscosity. Either this method or the 1-point upstream
weighting are recommended for permeability weighting.
Centred - for density weighting (used for gravitational term in implicit pressure solve), this
method is a mean upstream/downstream value. Either this method or the 1-point upstream
weighting are recommended for density weighting.
Grid Orientation Effect Reduction
Diagonal transmissibility - used to minimise grid orientation effects in the horizontal
(constant Z) plane. A value of 0 turns this model off, while a value of 0.5 is recommended
and is equivalent to allowing up to 1/3 of flow to be diagonal rather than parallel to block
faces. This model only has significant effect near regions of large mobility variations (e.g.
flood front).
2.3.3.2 Model selection
This wizard page initialises the models that will be present, and consequently the subsequent
sections and screens that will be displayed by the input wizard.

1990-2011 Petroleum Experts Limited

47

REVEAL

Simulation Flags - major simulation options


Fracture model - includes thermal injection fractures and hydraulic production fractures.
Aquifer model - include Carter Tracy analytical model.
Component models - components that can be used later will depend on the component
model selected on this screen, and as such, some of these models are mutually exclusive
Chemically and physically inactive tracer components are available with all component models
oil/water/gas - additionally only tracer components may be included.
surfactant - 4th phase micro-emulsion model only available with IMPES solver (not
available with polymer/gel/foamer or souring options)
polymer/gel/foamer - various aqueous, oleic and gas phase mobility models, including
REVEAL Manual

February, 2011

User Guide

48

reactions, shear thinning and salinity effects


water chemistry - aqueous phase precipitation model, including adsorption,
permeability reduction and inhibitors
solids - asphaltene and wax models; also solid transport including sand generation
steam - steam model only available with fully implicit formulation
souring - souring model (independent from water chemistry model)
compositional - compositional hydrocarbon model. If this is selected, then the
Petroleum Experts EOS Settings and Composition options are available to import or define
an EOS. Only the hydrocarbon properties are defined here. The water phase physical
properties will be obtained from the black oil tables set in the physical section.
Wettability, miscibility and well-bore heating (microwave and electrical) - if these models
are selected, then the various wizard screens for their data input will become active as the
wizard is progressed.
Souring - H2S souring model, only available if the component model is water chemistry. A
legacy model is present, but the activity based model (identical to the main souring model
may be used with the water chemistry option). The activity based model is recommended.
Simulation start date - the start date for the simulation
Start date - enter a starting date (DD/MM/YYYY or MM/DD/YYYY depending on the
regional settings selected in the Microsoft windows control panel) for the simulation, this is
defaulted to 1/1/2000. If a simulation is restarted, then the date of the restart will become the
starting date. The schedule should then be expressed in dates following the start date. For
backwards compatibility, an option to revert to days rather than dates is present and can be
activated by selecting Options|Dates.
Directional relperms - more than one relative permeability may be defined per grid block
Directional relative permeabilities - if this is set then either all 6 faces or just horizontal and
two vertical directions may be defined.
Well connection relative permeability - the direction or separate relative permeability table
to be used for wells connected to a block.
References - reference depth and temperature
Reference temperature - used for some correlations (e.g. adsorption or partitioning
relations) and as a default for equilibration and PVT.
Reference depth - used for reported reservoir average pressures and also used to reference
all well Pwfs back to a common datum for output.
1990-2011 Petroleum Experts Limited

49

REVEAL

Inactive block definition - limits to identify blocks as inactive


Inactive blocks take no part in the simulation calculation. If any block meets either criteria,
then the block is inactive.
Minimum porosity*net-to-gross - the porosity*net-to-gross is less than a defined limit
indicates an inactive block.
Minimum grid cell pore volume - the grid cell pore volume is less than a defined limit
indicates an inactive block. If a grid has been imported from an ECLIPSE grid or egrid file,
then inactive blocks will already have been removed from the model and this value may be set
to a minimum default value of 10-6 ft3.
2.3.3.3 Components
The components in addition to water, oil and gas are added on this screen.

REVEAL Manual

February, 2011

User Guide

50

Reservoir component list


The components to be included in the model are added by selecting the component(s) in the
left column of available components and pressing Add, components may be deleted by
selecting the component(s) to be deleted in the right list of selected components and using the
Delete button. Water, oil and gas are always present. The components available will
depend on the component model selected (previous wizard screen).

2.3.4 Reservoir section


2.3.4.1 Geometry
All REVEAL models consist of hexahedral grid blocks connected in a regular structure
(topologically identical), with each block identified by its I,J,K numbers. I runs from 1 to NX, J
from 1 to NY and K from 1 to NZ, where NX, NY and NZ are the number of grid blocks in
each principal direction, with the Z direction being vertically down. NX must be greater than
one.

Grid coordinate system


Select the grid coordinate system. Some of the options available will depend on which grid
format is chosen.

1990-2011 Petroleum Experts Limited

51

REVEAL

Corner point grid - most large models will use the corner point grid coordinate system. The
X, Y and Z coordinates of each block corner must be entered layer by layer (increasing Z)
into a data array, by selecting the Data Array button. The data array must also be given a
name. The X, Y and Z coordinate values should all be increasing in their respective positive
directions. The corner point data may be copied and pasted from another application such as
EXCEL, or imported directly from another simulator, where a filter is provided. See the Input
option on the main bar for grid geometry import options. Once potentially large volumes of
corner point data have been entered it is advisable to select Finish to leave the wizard and
save the REVEAL archive.
Corner point (simplified) - in this scheme adjacent blocks share coordinates, there are
therefore (NX+1) * (NY+1) * (NZ+1) coordinates in total. These are entered as X, Y and Z
coordinates for each layer, with (NX+1) * (NY+1) entries per layer for each spatial direction.
Corner point (full) - in this scheme each block has 8 independent coordinates, there are
therefore (2*NX) * (2*NY) * (2*NZ) coordinates in total. These are entered as X, Y and Z
coordinates for each layer, with (2*NX) * (2*NY) entries per layer for each spatial direction.
Each block is considered in turn and its two corner point coordinates are entered before the
next block data is entered.
Cartesian grid - the Cartesian grid coordinate system generates a regular grid with constant
grid spacing.
Radial grid - the radial grid coordinate system generates a grid with radial grid blocks forming
a sector away from a central well. For the radial grid option a central well radius must be
input. The sector angles may be constant; if this is required then select the Uniform Sector
Angle button and enter an angle. The units for the angle may be toggled between radians
and degrees by clicking right within the angle data entry cell. Due to symmetry, if a twodimensional (no azimuth dependence) is required, then it is recommended that a NY is set to
1, and the sector angle is set to a small value (say 1o or 3.6o).
Curvilinear grid - the curvilinear grid coordinate system generates a grid with 2 wells as one
eighth of a repeated five-spot symmetry, reflecting the streamline flow between two wells,
one injector and one producer. For the curvilinear grid option, the spacing between the well
must be entered, and an excluded fraction. The excluded fraction is the fraction of the
distance between the two wells excluded from the model, which prevents stability problems
near the wells. It should typically be set to about 0.05.
The radial and curvilinear model descriptions are best used for single well models. Note that
well rates should be scaled according to the angle of completion.
An additional page of data input is required for the Cartesian, radial and curvilinear grid
options.
Cartesian grid

REVEAL Manual

Corner point grid

February, 2011

User Guide

Radial grid

52

Curvilinear grid

Grid dimension
Enter the maximum number of blocks in each principal direction NX, NY and NZ.
Update globally - this button will update all other sections where possible to reflect changes
made to NX, NY or NZ. The update globally option is only required when the grid size is being
changed, and performs no function the first time a reservoir geometry is defined. You should
check all of the data associated with grid blocks when the grid dimensions are changed and
this option is used. For example well completion blocks will not be changed, and if there were
variations in a parameter within the original grid, when the grid dimension is changed,these
properties may not be distributed in the new grid as required.
Map Axis
The map axis is used in the well section when entering a well deviation survey defined relative
to a different axis system than was used to define the grid. The origin entered is the origin of
the grid coordinate system in the map axis system.
A map axis can be entered for Cartesian or corner point grids only. Three coordinates in the
horizontal plane (X,Y coordinates only) defining an origin and directions for the X,Y axes of a
map coordinate system are required. The coordinates are entered in the grid coordinate
system and define a second coordinate (map) system that may be used to enter well
trajectories. Note that the map axes must be orthogonal (90 degrees between the axes).

1990-2011 Petroleum Experts Limited

53

REVEAL

2.3.4.2 Cartesian grid

Block sizes (x,y)


The X and Y grid block dimensions should be entered for rows 1 to NX and columns 1 to NY.
Consecutive rows or columns with the same grid block dimension may be entered as a group
(e.g. if the first three dimensions are 100 ft and then next two dimensions are 50 ft, then only
two rows of the table require to be entered).
Block sizes (z)
The Z dimension of the grid blocks is entered in one of three ways.
Z range - the most common method, where the Z dimension of the grid blocks are entered for
each layer (or groups of layers).
REVEAL Manual

February, 2011

User Guide

54

Single layer range - for a single layer, the Z dimensions for blocks may vary in the X and Y
directions. Care must be taken with this method to ensure that full coverage of the model is
achieved (all blocks have a Z dimension).
Layer n multiple - where one layer Z dimensions are a multiple of a previously defined layer.
For each method of Z dimension entry, the range and Z dimension should be entered in the
appropriate data entry cells and the Add button selected to add the data to a table of entries.
An entry in the table may be modified by selecting and highlighting the required entry in the
table and then modifying the data entered; the Add button should not be used to update
modified data, since it will add another row to the table. The modified data can be viewed in
the table by re-selecting the row in the table. Table entries may be deleted by using the
Delete button.
Full coverage of the model may be checked by selecting the Validate button, and the resulting
grid checked by selecting the Plot button.

1990-2011 Petroleum Experts Limited

55

REVEAL

2.3.4.3 Radial grid

Block sizes (x,y)


The X and Y grid block dimensions should be entered for rows 1 to NX and columns 1 to NY.
Consecutive rows or columns with the same grid block dimension may be entered as a group
(e.g. if the first three dimensions are 100 ft and then next two dimensions are 50 ft, then only
two rows of the table require to be entered). The X grid block dimensions have units of
length, while the Y grid block dimensions have units of angle. If constant angles were set on
the previous wizard screen, then no Y dimensions are required.
Block sizes (z)
The Z dimension of the grid blocks is entered in one of three ways.
Z range - the most common method, where the Z dimension of the grid blocks are entered for
each layer (or groups of layers).
REVEAL Manual

February, 2011

User Guide

56

Single layer range - for a single layer, the Z dimensions for blocks may vary in the X and Y
directions. Care must be taken with this method to ensure that full coverage of the model is
achieved (all blocks have a Z dimension).
Layer n multiple - where one layer Z dimensions are a multiple of a previously defined layer.
For each method of Z dimension entry, the range and Z dimension should be entered in the
appropriate data entry cells and the All button selected to add the data to a table of entries.
An entry in the table may be modified by selecting and highlighting the required entry in the
table and then modifying the data entered; the Add button should not be used to update
modified data, since it will add another row to the table. The modified data can be viewed in
the table by re-selecting the row in the table. Table entries may be deleted by using the
Delete button.
Full coverage of the model may be checked by selecting the Validate button, and the resulting
grid checked by selecting the Plot button.

A few elements to consider when using the Radial gridding.


a) It is assumed that the flow is only in the radial direction.
b) If there are multiple layers defined in the z direction, then there will only be gravity
effects considered.
c) The wells are considered to be perfectly vertical.
d) If there are multiple layers defined in the y direction, it essentially represents duplication
of the calculations (of one layer), since the flow will still be in the radial direction only.
e) This is why the number of wells for a radial grid is limited to 2, one representing the
inner boundary conditions and the other representing the outer boundary condition. The
second well called the 'Outer Well' is not a 'Well' in a true sense, but represents the
'boundary conditions' at the outer radii of the grid.

1990-2011 Petroleum Experts Limited

57

REVEAL

2.3.4.4 Curvilinear grid

Block sizes (x,y)


The X grid block dimensions should be entered for rows 1 to NX. Consecutive rows with the
same grid block dimension may be entered as a group (e.g. if the first three dimensions are
100 ft and then next two dimensions are 50 ft, then only two rows of the table require to be
entered). The Y grid block dimensions are not required, since they are calculated by the
model.
Block sizes (z)
The Z dimension of the grid blocks is entered in one of three ways.
Z range - the most common method, where the Z dimension of the grid blocks are entered for
each layer (or groups of layers).

REVEAL Manual

February, 2011

User Guide

58

Single layer range - for a single layer, the Z dimensions for blocks may vary in the X and Y
directions. Care must be taken with this method to ensure that full coverage of the model is
achieved (all blocks have a Z dimension).
Layer n multiple - where one layer Z dimensions are a multiple of a previously defined layer.
For each method of Z dimension entry, the range and Z dimension should be entered in the
appropriate data entry cells and the Add button selected to add the data to a table of entries.
An entry in the table may be modified by selecting and highlighting the required entry in the
table and then modifying the data entered; the Add button should not be used to update
modified data, since it will add another row to the table. The modified data can be viewed in
the table by re-selecting the row in the table. Table entries may be deleted by using the
Delete button.
Full coverage of the model may be checked by selecting the Validate button.

1990-2011 Petroleum Experts Limited

59

REVEAL

2.3.4.5 Depth

For all grid geometries except corner point (where the coordinates of all blocks are entered
explicitly), the depth of the top surface of the grid must be defined. The depth must cover the
entire top layer (Z=1) of grid blocks, and is defined as the depth from a zero datum to the top
of the grid blocks.
For Cartesian grids, two methods are available, range/array and dip angles. For the radial
and curvilinear grids, only the range/array method is available.
Note that the top surface entered is the top surface at the centre of each grid block. The grid
top surface corner points are interpolated from the top surface grid centre points entered. In
the case where there are inactive blocks in the grid and a top surface is not defined, then a
top surface value of zero should be entered for columns where no active blocks are present.
Any values of zero will not be included in the corner point interpolation.

REVEAL Manual

February, 2011

User Guide

60

Select Add to add an entry to the table of values.


Range - each table entry may cover a range of blocks with a constant value (e.g. a flat top
surface at 5000 ft would be achieved by selecting range, then the All button and entering a
value of 5000). This data has been entered to the table, but the table display is not updated
until an entry in the table is selected with the mouse. Several entries to the table may be
added, modified or deleted. The coverage of the table entries must cover all blocks on the
top layer (X=1,NX and Y=1,NY). The Validate button may be used to check coverage.
Select entries in the table with the mouse to modify or delete them.
Array - an array of depths are entered, one for the centre of each top surface grid block.
The array must be given a unique name before data is entered. Data may be copied and
pasted into the array from another application.
Dip angles - the depth of the first block (X=Y=1) is entered, and the dip angles in the X and
Y direction are entered.

1990-2011 Petroleum Experts Limited

61

REVEAL

2.3.4.6 Porosity

The porosity of each grid block is required. This is the porosity at the reference pressure,
with porosities being calculated as a function of rock compressibility for grid blocks with
pressures below or above the reference pressure.
A zero porosity is used to identify inactive grid blocks, which will take no part in the flow
calculations.
Two methods are available to enter porosities, range and array.
Select Add to add an entry to the table of values.
Range - each table entry may cover a range of blocks with a constant value. Click the right
mouse button within the value entry cell to toggle between fraction and percentage porosity.
Several entries to the table may be added, modified or deleted. The coverage of the table

REVEAL Manual

February, 2011

User Guide

62

entries must cover all grid blocks. The Validate button may be used to check coverage.
Select entries in the table with the mouse to modify or delete them.
Array - an array of porosities are entered, one for each grid block, entered by layer with
increasing depth (increasing Z). The array must be given a unique name before data is
entered. Data may be copied and pasted into the array from another application.
Array data may be exported and imported. Note that during import and export, the units are
those currently set in REVEAL.

Use parent grid values - only available if the current grid is a refined grid, then use
porosities defined for master (parent) grid. For more information see grid refinement for
1990-2011 Petroleum Experts Limited

63

REVEAL

general information on grid refinement and refined reservoir properties for information on
entering refined grid reservoir properties).
The Plot button may be used to view the porosity distribution entered.
2.3.4.7 Permeability

The permeability in the X, Y and Z directions is required for each grid block in the model. Use
the tabs at the bottom of the screen to enter the Y and Z permeabilities, which can be
entered explicitly, or as a multiple of the X direction permeabilities.
See the porosity help screen for details of how to add ranges or arrays of permeabilities.
2.3.4.8 Transmissibility multipliers
This screen is optional and no data is required.

REVEAL Manual

February, 2011

User Guide

64

The default transmissibility between two blocks is calculated using a harmonic average of the
two adjacent grid block permeabilities. Transmissibility multipliers may be used to modify the
transmissibilities between blocks to model transmissibility barriers (or enhancement).
Transmissibility multipliers (default value of 1.0) may be given in the X, Y and Z directions for
any or all grid blocks. e.g. an X direction transmissibility multiplier of 0.1 for grid block (3,4,2)
reduces the transmissibility between grid blocks (3,4,2) and (4,4,2) by a factor of 10.
See the porosity help screen for details of how to add ranges or arrays of transmissibility
multipliers.
2.3.4.9 Absolute transmissibilities
This screen is optional and no data is required.

1990-2011 Petroleum Experts Limited

65

REVEAL

In normal use, the inter-block transmissibility is calculated internally by REVEAL from the
block permeabilities, the block geometries (corner points), and the transmissibility multipliers.
This screen can be used to overwrite those values with externally calculated values in the x-,
y-, and z-directions. The values here will only be used if the 'Use external transmissibilities'
option is set at the top of the screen.
This data would normally be imported directly from an ASCII file or from another simulator. If
external transmissibilities are used, then the diagonal point scheme should usually be set to 5
point in the control section and it should be confirmed that the imported model
transmissibilities were calculated using a 5 point horizontal scheme.
For example this would be used when a model is imported from ECLIPSE and the results
wish to be reproduced as well as possible before other effects are considered.
See the porosity help screen for details of how to add ranges or arrays of transmissibilities.

REVEAL Manual

February, 2011

User Guide

66

2.3.4.10Net to gross
This screen is optional and no data is required.

The default horizontal permeabilities (XY plane) may be modified by entering a net to gross
ratio for any or all grid blocks (default value of 1.0). e.g. a net to gross of 0.5 reduces the X
and Y direction permeabilities by a factor of 2.
See the porosity help screen for details of how to add ranges or arrays of net to gross ratios.
2.3.4.11Pore volume multipliers
This screen is optional and no data is required.

1990-2011 Petroleum Experts Limited

67

REVEAL

The pore volume multipliers are multipliers for block volumes as calculated from the grid
geometry. The porosity and inter-block transmissibilities are not affected by these multipliers.
Large pore volume multipliers on the boundary of small sector may be used to effectively
simulated constant pressure boundary conditions.
See the porosity help screen for details of how to add ranges or arrays of pore volume
multipliers.
2.3.4.12Rock type
A rock type must be assigned to each grid block in the model. Rock types are used to define
regions of the model with the same physical or dynamic properties (e.g. relative permeability
tables or rock heat capacity) which will be specified later in the input wizard.

REVEAL Manual

February, 2011

User Guide

68

To add a rock type select the Add button and define its coverage. To modify or delete a rock
type select the rock type from the table and modify its coverage or select the Delete button.
The coverage of a rock type is defined by a table of selected regions. Define a region by
selecting ranges of X, Y and Z grid blocks, or the entire grid by using the All button. Multiple
regions may be added, modified and deleted to define the coverage for each rock type.
Check the coverage is complete by using the Validate button.
2.3.4.13PVT region
A PVT region must be assigned to each grid block in the model. PVT regions are used to
define regions of the model where different PVT may occur. Therefore different PVT regions
should be non communicating.

1990-2011 Petroleum Experts Limited

69

REVEAL

To add a PVT region select the Add button and define its coverage. To modify or delete a
PVT region select the region from the table and modify its coverage or select the Delete
button.
The coverage of a PVT region is defined by a table of selected regions. Define a region by
selecting ranges of X, Y and Z grid blocks, or the entire grid by using the All button. Multiple
regions may be added, modified and deleted to define the coverage for each region.
Check the coverage is complete by using the Validate button.
2.3.4.14Equilibration region
ngiAn equilibration region must be assigned to each grid block in the model. Equilibration
regions are used to define regions of the model where different equilibrations may occur.
Equilibration includes initial pressure and reference depth setup, and also includes any
contacts, these are defined in the initialisation section. Each equilibration region must only
have one PVT region associated with it.

REVEAL Manual

February, 2011

User Guide

70

To add an equilibration region select the Add button and define its coverage. To modify or
delete an equilibration region select the region from the table and modify its coverage or
select the Delete button.
The coverage of an equilibration region is defined by a table of selected regions. Define a
region by selecting ranges of X, Y and Z grid blocks, or the entire grid by using the All button.
Multiple regions may be added, modified and deleted to define the coverage for each region.
Check the coverage is complete by using the Validate button.
2.3.4.15Fluid in place region
A fluid in place region must be assigned to each grid block in the model. Fluid in place
regions are used to define regions of the model where field average properties are calculated
and may be plotted or exported following a simulation.

1990-2011 Petroleum Experts Limited

71

REVEAL

To add a fluid in place region select the Add button and define its coverage. To modify or
delete a fluid in place region select the region from the table and modify its coverage or select
the Delete button.
The coverage of a fluid in place region is defined by a table of selected regions. Define a
region by selecting ranges of X, Y and Z grid blocks, or the entire grid by using the All button.
Multiple regions may be added, modified and deleted to define the coverage for each region.
Check the coverage is complete by using the Validate button.
2.3.4.16Non-neighbour connections
This section is optional.

REVEAL Manual

February, 2011

User Guide

72

Non-Neighbour Connection List


Transmissibility connection between pairs of non-neighbour blocks may be entered. These
connections can only be applied to blocks within the current refinement level. Enter the I,J,K
coordinates of the blocks to be connected and a transmissibility.
If the direction is undefined, then the value of inter-block transmissibility must be entered
explicitly. If the direction is defined, then REVEAL will calculate the inter-block transmissibility
and the value entered will be ignored; this method is usually required when a grid has been
imported from an ASCII model where the fault geometry is defined, but the transmissibilities
have not been calculated. The transmissibility multiplier may be used to modify the inter-block
transmissibility for both methods of calculation.
Automatic Generation of NNCs
If external transmissibilities are set, then pinchout connections are set automatically, and the
following data are ignored.
1990-2011 Petroleum Experts Limited

73

REVEAL

Maximum vertical distance between non-adjacent cells for auto-generation - If the


model has inactive (pinchout layers), then active vertical layers may be connected
automatically for blocks separated by less than the value input to this field. A default value of
0.001 ft is set. To prevent all automatic non-neighbour connections from being set (unless the
MinPV option is selected), then set this value to a large negative number (e.g. -1020).
Maximum vertical distance between adjacent cells for non-zero transmissibility - Any
neighbour blocks (consecutive layers) in the vertical direction with a vertical separation
greater than this value will be given zero transmissibility. If this field is not entered, then a
default value of 1020 ft is used.
GAP - this will generate a pinch out between blocks that have intermediate blocks removed
because of their low pore volume (the pore volume is lower than the value set for 'minimum
grid pore volume' in the Control section.
ALL - the transmissibility multiplier in the z-direction for the topmost cell in a pinch out will be
set to the minimum of the multipliers of the pinched out cells. If not set, then the
transmissibility multiplier for the topmost cell will remain unchanged.
2.3.4.17Refinement
This screen is optional and no data is required.

REVEAL Manual

February, 2011

User Guide

74

Grid refinement is not available for radial or curvilinear grids, or using the original
IMPES solver.
Refined regions within the main grid may be identified within this section. Only the scope and
names of refined region(s) are entered at this stage. The scope of a refined region may
contain any set of contiguous blocks within the main grid. Different regions of refinement must
not overlap or be contiguous (contact neighbouring refined regions).
To Add or delete a refined region use the New and Delete buttons, and enter a unique
identifier name for the refined region.
The coverage of a refined region is defined by one or more hexahedral sub-regions which are
added or deleted using the Add and Delete buttons within the coverage section of this
screen.
Use the Validate and Plot buttons to check the coverage of refined regions.

1990-2011 Petroleum Experts Limited

75

REVEAL

See the grid refinement section for more information.

2.3.5 Physical section


2.3.5.1 Physical properties
The physical properties of the fluids and reservoir rock are entered. These include the PVT
for water, oil and gas components, density and compressibility for additional volumetric
components and additional thermal data (heat capacity and thermal conductivity).

Reservoir hydrocarbon properties


PVT - the PVT for water, oil and gas are entered using the standard Petroleum Experts PVT
screens, select the New or Edit buttons. If a new PVT is created it must be given a name
and be either oil, gas or condensate. A previously generated PVT file (*.pvt generated by
PROSPER) may be imported from the PVT screens using the Import facility. Matched PVT
may be converted into tables (up to 5 temperatures) using the Calc Tables option from the
REVEAL Manual

February, 2011

User Guide

76

PVT screens, speeding up most REVEAL calculations. If use tables is selected, then the
tables must be complete (all columns completed) and have sufficient coverage over a range
of temperatures and pressures to cover all expected values during the REVEAL simulation.
See below for more general information on PVT specification.
See below for more information on Non-Newtonian fluids.
Options
Thermal conductivity - REVEAL is always thermal in its formulation, but thermal conductivity
is only required if there will be thermal variations within the reservoir during the simulation.
Over and underburden conductivity is only present when this option is selected.
Diffusion and dispersion - select the options for component diffusivity and phase dispersivity
if required. Additional data (diffusivity and dispersion lengths) will be required for these
options. The diffusivity and dispersivity options are only available for the IMPES solver
formulation. Diffusion and dispersion affect the transport of trace components according to
the flow velocity and rock tortuosity (dispersion) and the concentration gradient (diffusion). To
achieve this, high order upstream weighting schemes are required, that are not included in the
implicit formulation where a single point upstream weighting is used.
Diffusion may be used with the implicit formulation.
Water vapour in gas - this option maintains an equilibrium of water vapour in hydrocarbon
gas phase with liquid water in the reservoir model. The concentration of vapour in gas is
calculated from pressure, temperature, gas gravity and salinity according to a correlation
shared with MBAL and PROSPER. The main effect of this option is to pass the vapour in gas
content to a PROSPER generated lift curve, where water dropout may have significant effects.
Additionally, there are smaller effects within the reservoir as the vapour content changes,
which include changes in liquid water salinity.
Set default properties
Default thermal properties - specific heat capacity, thermal conductivity and rock density
defaults are set. These data are required even for nominally isothermal simulations,
where no thermal gradient or thermal injection are present.
Default aqueous component properties - sets the default density and compressibility for
additional aqueous volumetric components such as surfactant and alcohols.
Use correlations for fluid thermal data - enthalpy (specific heat capacity and Joule
Thomson coefficient) and thermal conductivity calculated for water, oil and gas based on
correlations used in PROSPER.
Component data

1990-2011 Petroleum Experts Limited

77

REVEAL

Trace components - trace components are either volumetric or non-volumetric (most are
non-volumetric). The mass or volume of the non-volumetric trace components take no part in
the pressure solve (for IMPES or implicit formulations) so the density of trace components is
only used to convert from mass to volume fractions. For this reason, non-volumetric
component densities are set equal to the phase they are partitioned within (e.g. water
chemistry components are partitioned in the aqueous phase). This means that component
mass fractions within the phase are equivalent to volume fractions (the solute and solvent
have the same density).
The volumetric trace components (injected non-reservoir gas, surfactant and the two alcohol
components) are included within the calculation of the phase densities and therefore take part
in the pressure solve. For these components, a reference density and compressibility (c) are
required to calculate the component densities.
ref

exp c P Pref

Thermal data - all REVEAL calculations are thermal, so heat capacity and Joule Thomson
coefficients is required for all volumetric components. Non-volumetric components take no
part in the heat transport equations. Thermal conductivities are required for water, oil, gas
and surfactant components if the thermal conductivity option is selected (these components
refer to their respective phase conductivities). Joule Thomson coefficients may be entered to
reflect heating/cooling associated with changes in pressure.
Diffusion data - if diffusion is selected then the diffusivity of each trace component within
each phase is required.
Rock data
Thermal data for each rock type is required.
Additionally pore throat diameter multiplier and log STD are entered. These data are only
required for the solids transport model, where sand trapping depends on the pore throat
diameter distribution fro each rock type. By default the equivalent pore throat diameter (dp)
is set equal to:
dp

k/

where

kx 2

ky 2
2

This is modified by the user supplied multiplier.


The distribution of pore throat diameter (f) is given by a log normal distribution where sp is the
user supplied log STD:
f (d )

1
2 spd p

0.5

ln( d / d p )

sp

See [Ref 24] for more information.


REVEAL Manual

February, 2011

User Guide

78

Over/underburden data
The overburden/underburden rock density and thermal properties are also entered here.
Heat flux from the underburden and to the overburden is calculated using a model by Vinsome
and Westerveld [Ref 10].
The over/underburden are assumed to be in equilibrium with the reservoir's initial temperature
distribution.
Dispersivity
The longitudinal and transverse dispersion lengths are entered here only for IMPES models
where dispersion is selected.
PVT specification

Generally oil, water and gas PVT correlations should be converted to tables before a
simulation is performed. This speeds calculations in two ways, firstly the table lookup is
faster than correlation calculations and secondly the derivative information derived from tables
is smoother. To convert a PVT to tables, it should first be matched and all correlations
checked. Then use the Calc Tables button to set temperature and pressure ranges, then
calculate the tables and save then to the tables. Finally, the Use Matching option should be
deselected and the Use Tables selected. The tables should be viewed before the Use
Tables option is available.
Note that if the tables are calculated, while the Use Tables options set, then the tables will
be used to generate the new tables and the resulting tables will not be representative of the
underlying correlation.

1990-2011 Petroleum Experts Limited

79

REVEAL

PVT tables are not extrapolated, therefore they should always be complete and cover a full
range of anticipated temperatures and pressures. If incomplete tabular data is available, the
data should first be matched to a correlation, then tables built from the matched correlation.
To convert isothermal tables to thermal, copy the isothermal tables to the match screen,
perform the match, then extrapolate the correlations to a range of temperatures using the
Calc Tables button.
The Egboga et al oil viscosity correlation is recommended for heavy oils, for example when
steam injection for a heavy oil is used.
PVT data may be exported or imported using the Petroleum Experts '.pvt' files. When a
matched PVT is imported, it should be rematched. Match data can be imported/Exported
using the Petroleum Experts PTB file.
Non-Newtonian fluid
Non-Newtonian data is entered within the PVT screens using the 'Visc Tables' button. The
viscosity of heavy oils may be dependent on shear rate and this can be modelled by entering
various rheological constants for the oil phase as a function of temperature and pressure. If
this model is present, then the oil viscosity calculated from the standard PVT calculator will
not be used.
For a non-Newtonian fluid, the shear stress () is related to shear rate () by an exponential
equation, where the rheological constants (0,k & n) are entered on this screen as functions of
temperature and pressure.
n

In contrast, a Newtonian fluid has the simplified form, where is the Newtonian viscosity.
Note that if 0=0 and n=1, then k is the viscosity. The internal units for shear stress are Pa,
shear rate s-1, therefore k has units of Pa.sn, and in the Newtonian limit k has units of Pa.s,
where 1 Pa.s = 1000 cp.
The effective (Newtonian) viscosity ( ) is obtained using the shear stress calculated for each
grid block, see the polymer and gel mobility section for more information about shear. The
block shear stress is obtained using the following equation.
P

8k kr
9 S

If a grid block contains an injection well, then the well shear stress may be modified to reflect
increased shear near the well. The well bore radius (rw) and Peaceman radius (r0) are used
to estimate the increased potential gradient and hence shear stress near the wellbore.
ln

r0
rw

The effective Newtonian viscosity to be used for oil mobility is calculated for an oil using the
formula below, which is derived by comparison with laminar flow pressure drop calculations in
tubing for non-Newtonian oils.

REVEAL Manual

February, 2011

User Guide

80

Note that when 0 is zero n is unity, it reduces to the Newtonian form where the viscosity is
equal to k.
A maximum cutoff viscosity is required (zero shear limit), since as the shear stress
approaches zero, the model predicts the apparent Newtonian viscosity approaches infinity.
The following is a rheological plot of oil viscosity and shear stress as a function of shear rate.
The plot of shear stress (left axis) against shear rate is given using the parameters shown.
The effective viscosity may then be calculated at any shear rate as the ratio of shear stress
divided by shear rate. The resulting effective viscosity is also plotted on this plot (right axis).
It can be seen that these parameters (n < 1) correspond to a shear thinning fluid.

Corrected gas-phase viscosity for foam - The assumption is made that any gas present
forms a homogenous bubbly mixture (foam) with the oil, modifying (increasing) the equivalent
Newtonian viscosity (reducing the shear stress) for the foam mixture. Additionally, the gas
phase viscosity is set equal to the oil phase (foam) viscosity to reduce the mobility of the gas
phase (bubbles within the oil phase).
1

0
1 n

where

1 n

and

1990-2011 Petroleum Experts Limited

81

REVEAL

2.3.5.2 Rock compressibilities


The compressibility of each rock type is entered on this screen. Compaction and permeability
reduction are also modelled on this screen.

At least one rock compressibility should be entered, generally at the reference pressure (see
control section).
If the compaction option is not selected, then one rock compressibility and reference pressure
is entered. The porosity is calculated using the one of the following equations depending on
whether pore volume (default) or rock compressibility is selected.
Pore volume compressibility:
Rock compressibility:

ref

ref

cr P Pref

cr P Pref

If the compaction model is active then a table of porosity and permeability multipliers should
REVEAL Manual

February, 2011

User Guide

82

be entered as a function of pressure. The pressures and multipliers should increase


monotonically down the table. More than one entry should be made covering the entire range
of predicted reservoir pressures to ensure rock compressibility.
If the irreversible compaction option is selected, then the porosity and permeability multipliers
take their minimum values during the simulation history (corresponding to minimum pressure
experienced). Therefore the compaction only applies to reducing pressures and is irreversible
as the pressure rises. The default is reversible compaction.
If the tabulate using stress option is selected, then the pressure should be replaced by
effective stress change defined as pressure-initial pressure.
2.3.5.3 Miscellaneous models
Several unrelated physical properties for various models are entered on this screen.
options available will depend on models selected in the control section.

The

Viscosity Corrections
1990-2011 Petroleum Experts Limited

83

REVEAL

Wax dropout - this model is optional and no data entry is required. A rapid increase in oil
viscosity at the wax drop-out temperature may be modelled. The oil phase viscosity is
multiplied by (1 + exp[Bwax*(Twax-T)/(1+|Twax-T|)]), where T is the oil temperature
measured in degrees F, and a recommended value for Bwax is 5.0.
Use water phase viscosity correlation (salinity dependence) - this option is only available
if the Salinity component is present (Polymer/Gel models) or water chemistry is present. If
this option is selected, then the water viscosity calculated from the PVT section will be
overwritten by correlations including the salinity variations within the reservoir. This option is
provided since the PVT table data is defined at a specific constant reservoir water salinity.
Salinity component or water chemistry is required to use this option. When using the water
chemistry, the salinity is the total dissolved solids (kg/kg), not including dissolved gas.
w

(T , S )

176 /(T 100)

2.11

* 1 100 S 0.018 1.2 * 10 5 ABS 150 T

, where T is temperature (F) and S is

salinity (kg/kg). Viscosity is (cP).


Water viscosity correlation - the viscosity correlation used in the PVT table generation and
elsewhere in REVEAL. Before build 130 (IPM6.2) a correlation derived from McCain fluid
properties handbook was used. This correlation over estimates the pressure dependence of
water viscosity. The default correlation does not include this pressure dependence.
w

( P, T , S )

(T , S ) 3 * 10 9 P 2

4 * 10 5 P 1

, where P is pressure (psia). Viscosity is (cP).

Density Corrections
Use water phase standard condition density correlation (salinity dependence) - this
option is only available if the Salinity component is present (Polymer/Gel models) or water
chemistry is present. If this option is selected, then the standard condition water density
calculated from the PVT section will be overwritten by correlations including the salinity
variations within the reservoir. This option is provided since the PVT table data is defined at a
specific constant reservoir water salinity. Note that the temperature pressure dependence
(water FVF) is still applied from the PVT table data. When using the water chemistry, the
salinity is the total dissolved solids (kg/kg), not including dissolved gas.
If salinity (S) > 150000 ppm

w ( sc )

(S )

9.34 * 10 7 ( S 1017566.1) * 62.43

, where S is salinity (ppm).

Standard condition density (lb/ft3).


If salinity (S) < 150000 ppm

w ( sc )

(S )

6.78 * 10 7 ( S 1451378) * 62.43

, where S is salinity (ppm).

Standard condition density (lb/ft3).


Include dissolved CO2 water phase density variations - this option is only available if the
component CO2water is present within the water chemistry module. If this option is selected,
then the water phase density ( w) is modified to reflect the dissolved CO2.

REVEAL Manual

February, 2011

User Guide

1
w (CO2 )

C CO 2
78

1 C CO 2

84

, where CCO2 is the dissolved CO2 concentration (kg.kg).

Water

density (lb/ft3).
Interfacial tension
Interfacial tension is automatically calculated from Parachor correlations when it is required
for capillary desaturation.
Modify capillary pressure - Capillary desaturation is present as a relative permeability
option or automatically with the surfactant model. If these models are not present, the
interfacial tension may still be calculated for display output purposes by selecting this option.
Note that the J-Leverett function may be affected by these options.
Oil/Water IFT for use with J-Leverett - Apart from desaturation models, IFT is required for
the J-Leverett capillary pressure model. In this case the Parachor correlation value is chosen
by default, but this may be overwritten using the optional data entry value. In either case the
capillary pressure is calculated from the J-Leverett function using a single initial IFT value.
However, if the 'Modify capillary pressure' option is selected, then the IFT will be
dynamically modified as the simulation evolves, and affect the J-Leverett calculated capillary
pressures accordingly.
Miscibility/wettability
Wettability - only required if the wettability model is selected in the control section. This
parameter controls the desaturation (interpolation between high and low tension relative
permeability curves) as a function of adsorbed wetting agent.
The initial reservoir wettability is set in the initialisation section; where a value of 1 represents
high tension and -1 represents low tension. As the wetting agent is adsorbed from zero to its
maximum value, the wettability is increased from the initial value (at zero adsorbed wetting
agent) to the initial value plus twice the wettability change parameter entered on this page (at
maximum adsorbed wetting agent).
Therefore if the reservoir is initially high tension (wettability = 1) and a value of -1 is entered
for the wettability change parameter, when the adsorbed wetting agent reaches its maximum
value, the wettability will be 1+2*-1 = -1 (low tension). Similarly if the reservoir is initially low
tension (-1) and a wettability change parameter of 1 is used, the wettability at maximum
adsorbed wetting agent will be -1+2*1 = 1 (high tension).
Miscibility - only required if the miscibility model is selected in the control section. The
miscibility pressure is entered as a linear function of temperature. Pmisc = P1+P2*(T-Tref),
where T is the temperature and Tref is the reference temperature entered in the control
section. If the block pressure rises above the miscibility pressure, then the oil and gas phase
viscosities are modified by a quarter power mixing rule or the Todd Longstaff model [Ref 5] if
this option is selected.
1990-2011 Petroleum Experts Limited

85

REVEAL

A miscible hydrocarbon phase viscosity is calculated, where g is the non water blocked gas
fraction (gas fraction that is not water blocked).
h

1
4

(1 g )

1
4

Sg
So

Sg

S owb

The Todd and Longstaff model modifies the oleic and gas phase viscosities using a user
defined mixing parameter .
1

1
o

The oil and gas phase viscosities approach each other as the mixing parameter ( ) is
increased, with a value of 1 leading to the gas and oil phase viscosities being equal
(equivalent to the quarter power mixing rule).
See the relperm section for more information on the wettability and miscibility models.
Steam
Use steam tables for water phase FVF and viscosity - if the steam model is present, then
by default the steam tables are used for water phase FVF and viscosity and the PVT tables
for these properties are ignored. To use the PVT tables for these properties, deselect this
option.

2.3.6 Relperm section


2.3.6.1 Relperm options
The first screen of the relperm section initialises various options that will affect the options
and data required for the remaining relperm screens.

REVEAL Manual

February, 2011

User Guide

86

Model - basic relative permeability options


Stone Model - either Stone I, Stone II or a linear model are available for three phase oil
phase relative permeability. If the miscibility option is set and the pressure is above the
miscibility pressure then the oil and gas phase relative permeabilities are calculated using the
miscibility model.
Stone I
kro

Sw

Sro

S o krow krog
kr *ow (1 S w )(1 S g )
Sw Sm
1 Sr w
Srow

(1

Sr w Sr m
Sro Sr m
) Srog

kr *ow

So

krow

1 Sr w Sr ow
1 Sr ow

S o Sro
1 Sr w Sro Sr m

Sg

Sg
1 Srw

Sro

Srm

Sg
1 Sr w

Srog

Sr m

Stone II

1990-2011 Petroleum Experts Limited

87

kro

REVEAL

kr *ow

krow
kr *ow

krw

krog
kr *ow

kr g

krw

kr g

Linear
kro

S g krog
Sg

S w krow
Sw

Hysteresis - may be applied to the water, oil and gas phases, see residual saturations for
more information. Hysteresis is usually modelled when significant differences in relative
permeability and capillary pressure occur during drainage and imbibition.
Endpoint scaling - may be applied to water, oil and gas phases, see endpoint scaling for
more information. Endpoint scaling is an easy way to modify relative permeabilities on a
block by block basis without introducing a different rock type/relative permeability curves for
each block.
Desaturation and 4-phase behaviour
Capillary desaturation - This option is set for models where surfactant (capillary
desaturation) is present. The surfactant model is enabled in the control section. When the
capillary desaturation option is set, two relative permeability curves will be required for low
and high tension, with interpolation between the curves depending on the desaturation model.
Capillary desaturation may be set when the surfactant model is not present, in this case the
capillary desaturation will vary with the changing viscous forces and interfacial tension.
Capillary desaturation should be off when the wettability model is selected, since the
interpolation between high and low tension relative permeability curves will be dependent on
adsorbed concentration of wetting agent rather than by capillary desaturation.
Capillary desaturation model - This option specifies whether the desaturation is linearly
interpolated using Log10(Nc) between two endpoints, or whether a curve defined by Log10
(Nc) at which 50% desaturation (midpoint) is used.
Gas miscibility
This option is only available when the Todd and Longstaff miscibility option is selected in the
control section. When the oil and gas phases are miscible (pressure above miscible pressure
) the oil and gas relative permeabilities are modified using the Todd & Longstaff model [Ref 5]
to calculate weighted averages of the oil and gas phase relative permeabilities. The residual
interpolation scheme uses an interpolated (between oil and gas phases) value for
hydrocarbon phase residual saturation, while the simple model uses the oil and gas phase
residual saturations.
A residual saturation for the combined hydrocarbon phase is calculated, subject to water
blocking. The water blocked hydrocarbon residual saturation is a function of water saturation
and may be entered in tabular or parametric format on the capillary pressure screen.

REVEAL Manual

February, 2011

User Guide

88

The parametric model takes the following form.


S owb

krow S w
krw S w

Srow 1 a w

If capillary desaturation is present (see residual saturation page for definitions), then the
water blocked oil saturation is modified.
S owb

S owb 1 S1o log 10 Nc o

S 2o

The hydrocarbon phase residual saturation is then calculated using the gas fraction of nonblocked hydrocarbon phase (g).
g

Sg
So

Sg

Sr h

S owb

1 g Sr o

g Sr g

S owb

The model calculates the relative permeability of the entire miscible hydrocarbon phase, using
both the oil/water and the gas data.
krh

(1 g )krow

gkr g

Mobile phase saturations (Sm) are calculated for the hydrocarbon phase using either a simple
or interpolated (residual) model.
Simple model

Interpolated model

Oil and gas


permeabilities

Sm ow

So

Sg

Sro

Sm ow

krow Sm ow

Sm g

So

Sg

S owb

Sr g

Sm g

So
So

Sg
Sg

Sr h
Sr h

relative

kr g Sm g

The oil and gas relative permeabilities are then calculated.


kro

(1 g )krh

kr g

gkr h

1990-2011 Petroleum Experts Limited

89

REVEAL

2.3.6.2 Residual saturation

Rock List
Use the Add Region and Delete button to add or remove selected critical saturation tables.
The Left Rock Coverage table lists all the critical saturations and associates them with rock
types. To associate a critical saturation with a rock type select the required critical
saturation, then select the required rock type from the Right table Rock Coverage list.
If directional relative permeabilities are present, then the residual saturations for each relative
permeability curve will be the same and only one set of critical saturations is required for each
rock type.
Automatic Coverage - use this button to automatically assign each rock type to its
corresponding relative permeability curve, where coverage for rock type 'n' is set to relative
permeability curve 'n'. This may be useful for imported datasets, where each relative
REVEAL Manual

February, 2011

User Guide

90

permeability curve corresponds to the equivalent rock type.


Critical saturations
The residual saturations are entered for each rock type permeability curve. Note that the
residual saturations are the same for all directional relative permeability curves for a given
rock type.
Separate residual saturations are required for high and low tension fluids if the desaturation
model is present. Data are required for two phase water/oil and oil/gas relative permeability
curves, and the micro-emulsion phase if the surfactant model is present.
Hysteresis
Gas hysteresis - the critical gas saturation (Srgc) is the saturation at which gas initially
becomes mobile, while the maximum residual gas saturation (Srgm) is used to model gas
hysteresis. The historical maximum gas saturation (Sgm) is used to estimate the current gas
residual (Srg) saturation. The residual gas saturation will always be within the range defined
by Srgc and Srgm, so if both values are identical no hysteresis will take place.
Srg

Srgc

S gm

Srgc

1 Srw

Srgm

Srgc

Srgc

Srgc

Srg

Srgm

If the gas saturation is within the range [Srgc,Sgm], then the gas phase relative permeability
is calculated by using a normalised gas saturation (Sg*) and the original gas relative
permeability curve.
Srg*

Srgc

S g*

Srgc

S gm

Sg

S gm

Srg

Sg
1 Srw

Srg

Srg*
Srg*

Srgc

1 Srw

Srgc

Oil hysteresis - oil phase hysteresis is controlled by altering the residual oil saturation for the
water/oil relative permeability curves. A similar interpolation scheme to the gas hysteresis
option is employed for both the low (if desaturation is present) and high tension oil residual
saturations. The high and low tension oil residual saturations are calculated first accounting
for hysteresis, then interpolated to account for desaturation.
The critical oil saturation (Sroc) is the saturation at which oil initially becomes mobile, while the
maximum residual oil saturation (Srom) is used to model oil hysteresis. The historical
maximum oil saturation (Som) is used to estimate the current oil residual (Sro) saturation.
The residual oil saturation will always be within the range defined by Sroc and Srom, so if
both values are identical no hysteresis will take place.
Sro

Sroc

S om Sroc
Srom
1 Srw Sroc

Sroc

Sroc

Sro

Srom

If the oil saturation is within the range [Sroc,Som], then the oil phase relative permeability is
calculated by using a normalised oil saturation (So*) and the original oil/water relative
permeability curve. For the oil/water relative permeability curve, the oil saturation used is that
with no gas present, So=1-Sw.

1990-2011 Petroleum Experts Limited

91

Sro*

So*

Sroc

Sroc

REVEAL

S om 1 S w
S om Sro

1 Sw
1 Srw

Sro

Sroc

Sro*
1 Srw
Sro*

Sroc

Water hysteresis - water phase hysteresis is controlled by altering the residual water
saturation for the water/oil relative permeability curves. A similar interpolation scheme to the
gas hysteresis option is employed for both the low (if desaturation is present) and high
tension water residual saturations. The high and low tension water residual saturations are
calculated first accounting for hysteresis, then interpolated to account for desaturation.
The critical water saturation (Srwc) is the saturation at which water initially becomes mobile,
while the maximum residual water saturation (Srwm) is used to model water hysteresis. The
historical maximum water saturation (Swm) is used to estimate the current water residual
(Srw) saturation. The residual water saturation will always be within the range defined by
Srwc and Srwm, so if both values are identical no hysteresis will take place.
Srw

Srwc

S wm Srwc
Srwm
1 Srwc

Srwc

Srwc

Srw

Srwm

If the water saturation is within the range [Srwc,Swm], then the water phase relative
permeability is calculated by using a normalised water saturation (Sw*) and the original water
relative permeability curve.
Srw*

Srwc

S wm
S wm

Sw
Srw
Srw

S w*

Srwc

S w Srw*
1 Srwc
1 Srw*

Srwc

The following plot demonstrates the hysteresis in relative permeability, for saturations below a
historical maximum (Smax).

REVEAL Manual

February, 2011

User Guide

92

Desaturation Parameters
Desaturation - if a surfactant model is present, then desaturation parameters are required to
control the interpolation between high and low tension values.
If the desaturation model is set to Nc Endpoints, then the interpolation is a function of the
capillary number (Nc) and defined for each relative permeability curve by two parameters
each (Capillary number at low (Ncl) and high (Nch) tension).
Sr = Srl * (1-alpha) + Srh * alpha
alpha = [Log10(Nc) - Log10(Ncl)] / [Log10(Nch) - Log10(Ncl)]
Srl<Sr<Srh, where Srl and Srh are the low and high tension residual saturations.
If the desaturation model is set to Nc Midpoint, then the interpolation is a function of the
capillary number (Nc) and defined for each relative permeability curve by a single parameter
(Nc1/2) defining the Nc at which 50% desaturation occurs.
Sr = Srl * (1-alpha) + Srh * alpha
alpha = 1.0/(1.0+Nc/Nc1/2)
1990-2011 Petroleum Experts Limited

93

REVEAL

Srl<Sr<Srh, where Srl and Srh are the low and high tension residual saturations.
Note that with both models, the Nc values are entered as Log10(Nc).
Wettability - if the wettability model is present, then the interpolation between high and low
tension residual saturations is calculated as a function of the wettability. The wettability is
initialised in the initialisation section and changes as the wetting agent is adsorbed. A
wettability of -1 corresponds to low tension, while a wettability of 1 represents high tension,
with linear interpolation for intermediate values of wettability. The change to the wettability as
wetting agent is adsorbed is controlled by the wettability change parameter defined in the
physical section.
2.3.6.3 Relative permeability

Relperm List
Relative permeability curves must be entered for each region defined in the previous residual

REVEAL Manual

February, 2011

User Guide

94

saturation page. Select add or delete to create or delete relative permeability curves for
each region, and select entries in the relative permeability list to modify the data entered.
Directional relperms - relative permeability curves must be defined for each direction if
directional relative permeabilities have been defined. However, directions with the same
curves may be grouped to prevent excessive repetitive data entry.
Tabular & parametric - for each relative permeability curve, either tabular or parametric
entry may be used. The water/oil curves are for two phase water and oil, while the gas/oil
curves are for two phase oil/gas in the presence of connate water. Therefore, for the gas/oil
curves, the gas saturation range should be from Sgc to 1-Srw, and the corresponding oil
saturation range should be from Srog to 1-Srw.
Copy and paste may be used to enter or edit relative permeability tables. Use the Validate
button to check coverage and the Plot button to view the relative permeability curves entered.
Relative permeabilities
The parametric relative permeabilities take the following form for high and low tension curves,
where the end points (kr*) and exponents (n) are input.

The numerators represent the mobile phase fraction, while the denominators represent the
1990-2011 Petroleum Experts Limited

95

REVEAL

maximum mobile fraction.


Note that these correlations are based on the assumption of an oil reservoir initially containing
connate water only. If the mobile phase fraction is exceeded (due to desaturation, aquifer or
gas cap), then these correlations are not extrapolated and therefore tabular input should
usually be used.
For the oil in water relative permeability curves, So = 1-Sw, and for the oil in gas relative
permeability curves So = 1-Srw-Sg.
Surfactant - if the surfactant model is present, then in addition to the low and high tension
water/oil curves and the gas/oil curves, a middle (micro-emulsion) phase curve is required as
a function of micro-emulsion saturation.
Desaturation - for the capillary desaturation and wettability models the interpolation between
high and low tension relative permeability curves is parameterised by capillary number and
wettability in a similar manner to the interpolation used to calculate residual saturations.
0.8

0.7

Relative permeability

0.6

0.5
high tension
0.4

low tension
interpolated

0.3
interpolated residual saturation
0.2

0.1

0
0

0.2

0.4

0.6

0.8

Saturation

2.3.6.4 Capillary pressure


Capillary pressure tables are required for oil/water and gas/oil.

REVEAL Manual

February, 2011

User Guide

96

Rock Categories Predefinitions


Oil/water capillary pressure method
Oil/water capillary pressure Pco = Po - Pw
At the residual (connate) water saturation the water/oil capillary pressure is a maximum, and
should fall monotonically as the water saturation rises. If there is no water/oil contact, the
maximum water saturation will be 1-Sro.
If the J Leverett option is selected, then the dimensionless J function should be entered in the
water/oil table. Two J Leverett methods are available, differing in the permeability used
(either vertical or horizontal permeability may be used).
The water/oil capillary pressure for any block is then calculated (in oilfield units) by the
following formula for each grid block.

1990-2011 Petroleum Experts Limited

97

Pco

REVEAL

J
6.84945

where
is the water/oil interfacial tension (IFT dyne/cm), is the block porosity and k is
either the horizontal '(KX+KY)/2' or vertical 'KZ' permeability (Darcy).
The IFT may either be constant of vary with prevailing conditions according to a Parachor
correlation. Alternatively it may be constant (defined by the Parachor correlation at the initial
reference conditions or user specified). See the physical section to see how to set these
options.
Gas/oil capillary pressure Pcg = Pg - Po
At zero gas saturation the gas/oil capillary pressure is zero, and should rise monotonically to a
maximum value at a gas saturation of 1-Srw.
Gas/water capillary pressure Pcwg = Pg - Pw = Pcg + Pco
For a water-gas system, the water/gas capillary pressure curve is conventionally defined in
the oil/water table and the oil/gas table set to zero capillary pressure.
The rock coverage of the capillary pressure tables is the same as that entered for the critical
saturations.
If residual water or gas saturations are entered in the initialisation section, then these will be
used as the endpoints for the capillary pressure curves.
Water blocking
If the miscibility option is active then a hydrocarbon phase water-blocked residual saturation
(the residual saturation of the water blocked hydrocarbon phase) is required. This is a
function of water saturation and may be constant, tabular or have a parametric form,
parameterised by a wetting parameter. See the relperm options page for the equation of the
parametric form.
2.3.6.5 Endpoint scaling
Endpoint scaling is optional, and is only available if the option is selected on the relperm
options page.

REVEAL Manual

February, 2011

User Guide

98

Each relative permeability table has nominal endpoints defined as follows. Generally this data
is imported.
1] minimum saturation is the smallest saturation entered in the tables
2] critical saturation is defined as the maximum saturation for which the relative permeability is
zero
3] maximum critical saturation is the saturation at the nominal endpoint (where all other
phases are at critical saturation)
4] maximum saturation is the maximum saturation entered in the table
If endpoint scaling is applied, then relative permeability and capillary pressure tables will be
re-scaled between the entered critical (e.g. Swc) and maximum saturation entered in the table
(e.g. 1) endpoints. Endpoints are defined over the entire grid.
If the 3-point endpoint scaling option is chosen then a method similar to SCALECRS in
ECLIPSE is used, where the input relative permeability curves are scaled to 3 points, critical
saturation (e.g. Swc), 3phase maximum saturation (e.g. 1-Sowc) and maximum saturation (e.
1990-2011 Petroleum Experts Limited

99

REVEAL

g. 1).
Water scaled saturations - data for the minimum (SWL), critical (SWCR) and maximum (1SOWCR) water saturations may be entered.
Oil scaled saturations - data for the critical water saturations for oil/water (SOWCR) and
oil/gas (SOGCR) may be entered.
Gas scaled saturations - data for the minimum (SGL) , critical (SGCR) and maximum gas
(SGU) saturations may be entered.
Scaled endpoints - the maximum endpoint relative permeability may be re-scaled for the
water, oil and gas phases. This may be applied at the maximum saturations (KRW, KRO and
KRG), and also at the 3-point maximum saturations (KRWR, KRORW, KRORG and KRGR).
Capillary pressure saturations - the minimum water (SWLPC) and gas (SGLPC)
saturations to be used for capillary pressure calculations.

2.3.7 Aquifer section


2.3.7.1 Analytical aquifer
This section enters data to define an analytical aquifer model if the aquifer model was
included in the control section. For more detailed information see Carter Tracy

REVEAL Manual

February, 2011

User Guide

100

Region list
Several aquifers may be connected to the grid. Use the Add button to add an aquifer to the
list and select an entry in the list to alter its properties. An aquifer may be deleted by
selecting it in the region list and then selecting the Delete button.
Boundary and connection area
For each aquifer the boundary region of the grid connected to the aquifer must be defined.
Select the aquifer (grid) boundary (X-,X+,Y-,Y+,Z-,Z+) that the aquifer is connected to and
enter the 3D range of blocks, the All button may be used to select an entire surface of the
grid. Note that an aquifer will be connected to the first active block looking into the grid in the
defined direction as long as the block is within the 3D volume of blocks defined.
Multiple connection regions may be defined by using the Add and Delete buttons.
For illustration purpose, let imagine a 2-D grid, i.e. x=1NX, y=1NY, z=1. The Aquifer
1990-2011 Petroleum Experts Limited

101

REVEAL

Boundary selected is X- (West).


where the aquifer is active.

The blue gridblock on the following grid sketches show

The aquifer is encroaching the grid only for x=1

y axis
z axis
y=
y=3
y=2
y=1
x axis
x=1 x=2 x=3 x=

The aquifer is encroaching the grid from x=1 to x=3

REVEAL Manual

February, 2011

User Guide

102

y axis

z axis
y=
y=3
y=2
y=1
x axis
x=1 x=2 x=3 x=

General properties
Five aquifer models (linear and radial with either finite or infinite acting and user defined) are
available (See Carter Tracy for more information). The first four models are solutions to the
constant terminate rate diffusivity equation with different geometries and boundary conditions.
For the fifth model, the user is required to enter their dimensionless time/pressure response
for the aquifer. For all five models, some physical properties for the aquifer are required;
porosity, permeability and compressibility.
Geometry
Depending on the aquifer model chosen, the physical extent of the aquifer is entered. The
contact area is defined by the aquifer thickness (height) and encroachment angle, and either
the aquifer width (linear) or inner radius (radial). The volume of the aquifer for the finite acting
models are defined by the length (linear) and outer radius (radial).
Component concentrations
The concentration of components in the aquifer are entered. This will usually be 1 lb/lb for
water and zero for other components.
2.3.7.2 Carter Tracy model
The inflow to each grid block (IJK) connected to an aquifer is defined.
Qaq

ijk

ijk

( Aaq

Baq ( P ijk (t n 1 )

P ijk (t n )))

where aIJK is the fractional area of grid block IJK connected to the aquifer
ijk

A ijk
A ijk

Aaq and Baq are aquifer constants calculated for the aquifer model defined by the user, and
are functions of the aquifer influence function (t) and the cumulative influx W(t).
1990-2011 Petroleum Experts Limited

103

REVEAL

C aq

Baq

n 1
n 1

t
n

Aaq

W
C aq

( Pn

t
t
n 1

) Baq

where a dimensionless time t' and an aquifer constant Caq are defined.
encroachment angles.
Finite linear aquifer

Infinite linear aquifer

k aq t

aq c aq Laq

aq

C aq

f aq

aq

k aq t

aq

H aq Laq Waq c aq

C aq

f aq

aq

Radial aquifer
k aq t

aq c aq

aq

H aq Waq c aq

faq are the

C aq

aq

c aq Ri aq

2 f aq

2
2

aq

H aq Ri aq c aq

The aquifer influence functions are calculated as solutions to a constant terminal rate diffusion
equation.
2

The aquifer influence function has unit gradient at the inner boundary and zero initial value. A
zero gradient boundary condition is used for a finite aquifer at the outer boundary, or a zero
solution boundary condition for an infinite aquifer. Approximate solutions to the influence
function are obtained at the inner boundary and described below. The radial solutions are due
to Hurst and van Everdingen [Ref 1].
Infinite linear aquifer
t

Finite linear aquifer


t

1
3

0.20354 e

for

0.15

for

0.15

for

0.01

for

0.01 t

for

Infinite radial aquifer

0.80907 ln t
2

b
a

a2

1000

1000

3.15

REVEAL Manual

February, 2011

User Guide

b 1.15 a 1
c
s

104

a
5

0.112 b
ln t

Finite radial aquifer


t

2 t tc
Ro aq
Ri aq

tc

0.33

Ro aq
Ri aq

for

tc

for

tc

1.93

is the infinite radial solution.

2.3.8 Mobility section


2.3.8.1 Polymer & gel
The mobility section contains numerous models requiring a wide range of input data. Its
scope is primarily to describe the modifications to pure phase viscosities (obtained from the
PVT) arising from chemical additives including surfactants, polymers, gels etc.

1990-2011 Petroleum Experts Limited

105

REVEAL

This screen initialises the polymer and gel model and sets the shear thinning parameters.
Polymer/gel viscosity Model
Three models are available for viscosity resulting from polymer and gel components (original,
Carreau and Kuparuk). These models calculate a thickening factor (TF) for the aqueous and
micro-emulsion (if surfactant is present) phases, subject to shear thinning near wells. The
thickening factor is multiplied by the pure phase viscosity to obtain the modified phase
viscosity.
Details of the original and Kuparuk models (for polymer and gel) are given on subsequent
pages of the mobility section, when additional data input is required.
The Carreau model only applies to polymer (not available if gel is present) and requires no
additional data. It is a correlation derived from a xanthan polymer that includes shear thinning
implicitly.

REVEAL Manual

February, 2011

User Guide

106

Shear rate parameter


The shear rate ( ) is defined for each rock type and is parameterised by a critical shear rate (
c) entered on this screen.
qw
c

9
k S w krw
8

The average permeability in the direction of flow is defined. This permeability includes any
permeability reduction present.
1
k

qx w
qw

qy w
qw

1
kx

1
ky

qz w
qw

1
kz

If a grid block contains an injection well, then the well shear rate may be modified to reflect
increased shear near the well. The default is for this model to be inactive, (see the well
section to activate the well shear model). The well bore radius (rw) and Peaceman radius
(r0) are used to estimate the increased Darcy velocity near the well-bore.
ln

r0
rw

Once the shear rate (or shear stress) is calculated, it may be used to modify the effective
viscosity by modifying a thickening factor (TF).
Viscosity calculation
The zero shear thickening factor (TF0) is modified by the shear rate, using the user input
parameters gamma ( h), alpha (n) and thickening parameter (s). The shear thickening
parameter is optional and will only have effect if it is greater than 1.
Shear thinning
TF

s FT 0 1
n 1

1
h

2.3.8.2 Original polymer gel model


This model calculates a zero shear rate thickening factor (TF0) that is modified by the shear
rate (see shear rate) to obtain a total thickening factor (TF). This model applies to both
polymer and gel, although the input parameters are different for the two components. The
final thickening factor is multiplied by the pure aqueous phase viscosity to obtain a modified
water viscosity.
The PLOT button should be used to verify the input data.

1990-2011 Petroleum Experts Limited

107

REVEAL

The parametric parameters may be estimated from polynomial fits to data.


Some
spreadsheets are available from Petroleum Experts to help with this process. However,
manufacturer data is required to match these parameters.
Note that all of the concentrations are mass fractions (e.g. kg/kg) and the temperatures in this
correlation are absolute (R).
Zero shear thickening correlation
TF 0

g1c g

1 c se p1c p

g 2cg

p2 c p

g3 g4

REVEAL Manual

cg

p3 c p exp p 4

exp g 5

1
T

1
T

1
Tref

1
Tref

February, 2011

User Guide

108

Polymer viscosity parameters


Concentration - the concentration coefficient parameters p1, p2 and p3 are used to calculate
the contribution to the zero shear thickening factor for polymer.
Temperature - the thermal coefficient p4 is also used to calculate the contribution to the zero
shear thickening factor for polymer.
Salinity - the water component is clearly present in the aqueous phase, but may also be
present in a micro-emulsion phase. Volumetric concentrations of polymer (cp), gel (cg), salt
(cs) and divalent cations (cd) within the water component of the aqueous and micro-emulsion
phases are calculated.
The salinity contribution is optional and is included by selecting the salinity dependence option.
Effective polymer salinity (cse) is defined for the original model with reference to three user
input variables, a minimum threshold salinity (cs*), and two further coefficients, divalent cation
dependence (d) and dependence (S). The divalent cation dependence is only applicable if the
divalent cation component is present within the model.
c se

max c s *, c s

1 d cd

If a minimum threshold salinity (cs*) of zero is entered, then it is limited to 1ppm.


Gel viscosity parameters
Concentration - the concentration coefficient parameters g1, g2, g3 and threshold
concentration g4 are used to calculate the contribution to the zero shear thickening factor for
gel.
Temperature - the thermal coefficient g5 is also used to calculate the contribution to the zero
shear thickening factor for gel.
Plot - the plot may be used to check the data entered.

1990-2011 Petroleum Experts Limited

109

REVEAL

2.3.8.3 Carreau polymer model


This is a correlation model for polymer viscosity, including shear thinning and permeability
reduction. It is based on a xanthan polymer with data over ranges 50-1000 ppm and 20-70
oC and shear 1-100 s-1. Note that the concentrations (cp) are in ppm and the temperature
(T) is in K. The thickening factor (TF) is multiplied by the pure phase water viscosity to obtain
the modified viscosity.
TF

n 1
2

Zero shear specific viscosity


0

a1c p exp a 2 c p a3 exp

a4
T

reciprocal of critical shear rate


a5 c p
T

a6

exp

REVEAL Manual

a7 c p

a8
a11

February, 2011

User Guide

110

shear thinning constant


n

exp

a9 c p
T

a10

a6

The parameters a1 to a11 take the following values


a1 = 0.001295
a2 = 0.001784
a3 = 0.01046
a4 = 1910.5
a5 = 0.01577
a6 = 275.0
a7 = 0.0002939
a8 = 2.67
a9 = 2.189
a10 = 0.4334
a11 = 195.3
2.3.8.4 Kuparuk polymer gel model
This model calculates a zero shear rate thickening factor (TF0) that is modified by the shear
rate (see shear rate) to obtain a total thickening factor (TF). This model applies to both
polymer and gel. The final thickening factor is multiplied by the pure aqueous phase viscosity
to obtain a modified water viscosity.
The PLOT button should be used to verify the input data.

1990-2011 Petroleum Experts Limited

111

REVEAL

Note that all of the concentrations are mass fractions (e.g. kg/kg).
Model interpolation temperatures
The Kuparuk model basically interpolates the correlation between high (T[h]) and low (T[l])
temperature limits.
Polymer & gel viscosity parameters
The input parameters for both polymer and gel are identical.
For the polymer the parameters are p1[h], p1[l], p2[h] and p2[l].
For the gel the parameters are g1[h], g1[l], g2[h] and g2[l].
TF 0

p1

cp

REVEAL Manual

p2

cp

g1 g

g2

cg

February, 2011

User Guide

p1

fp1[l ] (1

f ) p1[h]

g1

fg1[l ] (1

f ) g1[h]

p2
g1

fg1[l ] (1

fp2[l ] (1

112

f ) p 2[h]

f ) g1[h]

T [ h] T
T [h] T [l ]

2.3.8.5 Gelation & degradation


Reactions between polymer and cross-linker to form gel, and between de-chelation agent
(chelated cross-linker) and cross linker is modelled by calculating mass reaction rates that are
applied to the component mass concentration equations.

Three models are available, depending on the components present. Note that in all of the
models the temperatures may be input in any allowed units, but the correlations are
expressed with absolute (R) temperatures. The concentrations are all mass fractions (kg/kg)
within the water phase.

1990-2011 Petroleum Experts Limited

113

REVEAL

When a reference temperature (Tref) is used, this temperature is the reference temperature
defined in the control section.
Polymer gelation and de-chelation
2 component model - this model applies when only polymer and gel are present. The
required data are rate coefficient (Rk), temperature coefficient (Bk), temperature threshold
(Tr) and polymer volumetric concentration threshold (Pc0).
If the temperature is greater than Tr and the polymer concentration is greater than Pc0 then a
reaction between polymer and gel occurs with mass reaction rates per unit volume of water
for polymer (Rp) and gel (Rg).

Rp

Rk c p exp Bk

1
T

1
Tref

Rg

Rk c p exp Bk

1
T

1
Tref

An option to allow gelation below the temperature threshold (Tr) is provided.


3 component model - this model applies when polymer, gel and cross-linker are present.
The required data are rate coefficient (Rk), temperature coefficient (Bk), temperature
threshold (Tr), polymer volumetric concentration threshold (Pc0), cross-linker volumetric
concentration threshold (XLc0), polymer reaction rate multiplier (P0) and cross-linker reaction
rate multiplier (XL0).
If the temperature is greater than Tr, the polymer concentration is greater than Pc0 and the
cross-linker concentration is greater than XLc0, then a reaction between polymer and crosslinker to produce gel occurs with mass reaction rates per unit volume of water for polymer
(Rp), cross-linker (Rxl) and gel (Rg).
1
T

Rp

Rk P0 c p c xl exp Bk

R xi

Rk XL 0 c p c xl exp Bk

Rg

Rk P0

1
Tref
1
T

XL 0 c p c xl exp Bk

1
Tref
1
T

1
Tref

An option to allow gelation below the temperature threshold (Tr) is provided.


4 component model - this model applies when polymer, gel, cross-linker and chelated crosslinker are present. It is identical to the 3 component model, except that the chelated crosslinker can react to form cross-linker, before the polymer and cross-linker reaction occurs.
The additional parameters for this model are de-chelation rate coefficient (Rk1), temperature

REVEAL Manual

February, 2011

User Guide

114

coefficient (Bk1), temperature threshold (Tr1), chelated cross-linker concentration threshold


(Cc0).
If the temperature is greater than Tr1, the chelated cross-linker concentration is greater than
Cc0, then a reaction between chelated cross-linker and cross-linker occurs with mass
reaction rates per unit volume of water for chelated cross-linker (Rc) and cross-linker (Rxl).
Rc

Rkl cc exp Bkl

1
T

1
Tref

R xl

Rkl cc exp Bkl

1
T

1
Tref

The 3 component reaction then occurs as described above, except that the cross-linker
reaction rate is the sum of the two reactions involving cross-linker.
An option to allow dechelation below the temperature (Tr1) threshold is provided.
Polymer and gel degradation
Both polymer and gel may degrade at rates defined by rate (Rp0 and Rg0) and temperature
coefficients (Bp0 and Bg0), reducing the reaction rates for these components.
Rp

Rp

R p 0 c p exp B p 0

1
T

1
Tref

Rg

Rg

R g 0 c g exp B g 0

1
T

1
Tref

2.3.8.6 Inaccessible pore volume


The inaccessible pore volume is used to increase the apparent volumetric concentration of
polymer and gel components during transport. This will affect the apparent mobility by
increasing the concentration of the transported component for polymer and gel. This is
achieved by dividing the calculated polymer and gel volumetric concentrations by 1-ipv
(inaccessible pore volume) entered on this screen. The apparent water viscosity is also
calculated using the elevated apparent 'mobile' concentration. Inaccessible pore volumes may
be entered for each rock type. The inaccessible pore volume should smaller than the
irreducible water saturation.

1990-2011 Petroleum Experts Limited

115

REVEAL

2.3.8.7 Foam & diluent


These models are only available if the foamer or diluent component is present.
The foam model increases the gas phase viscosity, thereby reducing its mobility and
modelling the production of foam in a heavy oil. The foamer model may be applied separately
to each rock type, or all rock types.
The diluent model alters the oil phase viscosity, thereby modelling diluent mixing.

REVEAL Manual

February, 2011

User Guide

116

Foamer Viscosity correlation


The concentration of foaming agent in the aqueous phase (cf), oil saturation (So) and five
input parameters describe the modification to the PVT defined gas phase viscosity ( g0).
The input parameters include CRFK, foam threshold (cfT), ES, oil saturation threshold (SoT)
and EO.

g 0 CRFK min 1,

cf
c fT

ES

max 0,1

So
SoT

EO

This correlation requires to be matched to manufacturer's data.


For information on natural foams associated with heavy oils, see the physical section.
For a steam model, the foamer adsorption and gas phase viscosity (total gas phase viscosity
1990-2011 Petroleum Experts Limited

117

REVEAL

i.e. hydrocarbon gas plus steam) will be affected by the aqueous (water) phase foamer
concentration. In addition, for a steam injector the foamer will be injected with the steam and
water components at the user specified injection concentration.
Diluent Viscosity model
The oil phase mobility only is altered by the concentration of the 'diluent' tracer.
The diluent viscosity is calculated from the pressure, temperature and reference conditions
entered.
d

1 A( P

dref

Pref ) exp B

1
T

1
Tref

, where the temperatures are absolute degrees Rankine = o

F+459.67.
The apparent modified oil viscosity is then modified by a linear weighting according to the
diluent mass concentration fraction.
mod

Cd

(1 C d )

If the logarithmic dependence flag is set then the apparent oil viscosity is calculated using a
logarithmic weighting.
Log

mod
o

C d Log

(1 C d ) Log

If this viscosity correction is also required within the tubing, then the 'Use Polymer/Gel
Viscosity' option should be selected in the wells section.
2.3.8.8 Sodium Silicate
The required components in the Polymer/Gel model are Gel, Silicate and SilicateTracker.
Water chemistry components and solids can also be added using the Water Chemistry
model. The water chemistry components are required to model pH.
The sodium silicate will activate at reduced pH, and once activated, and after a time to
gelation (tg), the conversion of the silicate component to Gel will occur. Once converted, the
Gel component takes care of reduced mobility by either increased viscosity for the gel or
adsorption and permeability reduction to all phases.
The Silicate component is the injected Sodium Silicate, and the SilicateTracker component is
a special required component described below. This component initial concentration or
injection is not specified by the user.
Once the required components are present, the silicate model wizard page is available.

REVEAL Manual

February, 2011

User Guide

118

Gelation time parameters


A gelation time (tg) is calculated from the prevailing set of conditions of pH, temperature,
Silicate concentration, mono-valent salinity.
tg

Ac s H

exp c NaCl

1/ 2

exp

Ea
RT

cs is the silicate concentration (mass fraction kg/kg)


[H+] is the hydrogen concentration in molarity (mol/l) pH=-log10[H+]
[NaCl] is the molarity (mol/l) of monovalent salinity.
This gelation time (tg) is the time at constant conditions that the Silicate would take before it
converts to a gel.
1990-2011 Petroleum Experts Limited

119

REVEAL

The fraction of the gelation process is characterised by the SilicateTracker component (f).
Once its value reaches unity (106 ppm), then the Silicate component may be converted to
Gel component.
Each timestep f is updated using timestep ( T) and gelation time (tg) by:
f = f + T/tg (1)
Then, as well as the Silicate concentration (cs) being tracked, an additional pseudo variable
(X) is also tracked. The pseudo variable is:
X = f.cs

(2)

Once cs and X are tracked, the SilicateTracker variable (f) is recalculated.


f = X/cs

(3)

Both, tg and f may be visualised with the 3D graphics.


Activation and gelation
Two additional points are noted.
1] The SilicateTracker is only updated (eqn 1) if the pH is less than the Activation pH.
2] Once the SilicateTracker reaches unity, the Silicate component is entirely converted to Gel
only if the concentrations of the Silicate component exceeds the Min Silicate Conc.

2.3.9 Phase behaviour section


2.3.9.1 Introduction
The purpose of the phase section is to model the effect of adding a surfactant to the system.
Surfactants emulsify oil and water into a new phase (an emulsion), causing desaturation and
potentially enhanced recovery.
Surfactants are generally used in conjunction with other chemicals, such as alcohols, which
affect the phase behaviour, and polymers, which may also affect the phase behaviour and
which are important for mobility control. Salinity and divalent ion concentration have a strong
influence on phase behaviour, as does temperature and the equivalent alkane number (EACN)
of the oil, which varies as the oil phase composition (Rs) varies.
For surfactant flood simulations with REVEAL, up to six volumetric components may be
present (water, oil, gas, surfactant and up to two alcohols). Non-volumetric components
include salinity, and optionally polymer and divalent ions. Additionally tracer components may
also be present. Alcohols are always assumed to be active in the phase behaviour; polymer
REVEAL Manual

February, 2011

User Guide

120

may be active, or simply a mobility control agent. Adsorbed material is assumed to play no
part in the phase behaviour calculation.
Surfactant flood systems are described in many books on Petroleum Engineering; only an
outline of the theory is given below.
The phase calculations determine first the phases that are present in a given system, and
from there determine those phase properties. The steps that are taken are:
1. Formation of pseudo-components - the components present are formed into three
pseudo-components - aqueous/brine, oleic, and chemical. These then become the
coordinates on a ternary diagram. All the water is placed in the aqueous pseudo-component,
the oil in the oleic, and the surfactant in the chemical. Tracers, anions, and gels are placed in
the aqueous pseudo-component. Alcohols and, optionally, polymers, are partitioned amongst
all three pseudo-components as described in Alcohol and Polymer partitioning.
2. Creation of a ternary diagram - a ternary diagram is constructed to determine the phase
behaviour of a system given a set of pseudo-component concentrations and a calculated
effective salinity. A more complete discussion of effective salinity and phase behaviour is
given in surfactant phase model. In brief, there are 4 possible systems (note the comment
below about gas):
a. Two phase oil/water (low/zero surfactant concentration)
b. Two phase oleic/micro-emulsion (Type II(-) system) (low effective salinity)
c. Two phase aqueous/micro-emulsion (Type II(+) system) (high effective salinity)
d. Three phase aqueous/micro-emulsion/oleic (Type III system) (intermediate effective
salinities)
The phase behaviour calculation is performed assuming all components throughout a gridblock
are thoroughly mixed and in equilibrium. This assumption is retained when gas is present,
even if the gas and oil are potentially immiscible; if the phase behaviour calculation results in
an excess oil phase being formed (i.e. the upper phase in type II(-), type III, or no surfactant
cases), then this phase is tested for immiscibility and split into separate oil and gas phases if
appropriate. Micro-emulsion phases containing both gas and oil (upper phase in type II(+)
cases, middle phase in type III cases, or single phase cases) are always assumed to form a
single miscible phase, regardless of whether the oil and gas are miscible. If the Todd and
Longstaff model [Ref 5] is used, it is applied to all miscible upper phases (but not to middle
phase or single phase micro-emulsions). The following table summarises the number and
type of phases present, and those phases to which the Todd and Longstaff model is applied.
Phase
behaviour
P>Pb

Single phase

No surfactant

P<Pb

Micro-emulsion Oil
Gas

Micro-emulsion Oil
Water

Type III

Type II(-)

Type II(+)

Oil*
Oil*
MicroMicro-emulsion Micro-emulsion emulsion*
Water
Water
Oil
Oil
MicroGas
Gas
emulsion*
1990-2011 Petroleum Experts Limited

121

REVEAL

Water

Micro-emulsion Micro-emulsion Water


Water

* Todd and Longstaff model is applied to these phases


The five phase regions identified are numbered from one to five, and may be plotted if 'Phase
Region' is selected as a property to be stored during a calculation (Run Simulation|Select
Properties...).
Phase region number
1
2
3
4
5

Description
Micro-emulsion phase only
Water, oil/gas phases present - no surfactant
Water, oil/gas and micro-emulsion phases
present (type III system) - intermediate salinity
Oil/gas and micro-emulsion phases present
(type II(-) system) - low salinity
Water and micro-emulsion phases present
(type II(+) system) - high salinity

3. Calculation of interfacial tension - the interfacial tension between emulsion and aqueous
phases, and/or emulsion and oleic phases, is calculated using a correlation. See the interfacial
tension section for more information.
4. Calculation of viscosity - the viscosity of the emulsion phase is calculated using a
correlation. See viscosity for more information.
2.3.9.2 Alcohol/Polymer partitioning
See also: Introduction
This screen contains the data for partitioning alcohol and polymer components among the
three pseudo-components. Press Plot to obtain a plot of the partitioning based on the data
that you have entered.

REVEAL Manual

February, 2011

User Guide

122

We introduce some symbols, definitions and identities.


Vcp is the volume of component c in pseudo-component p
Ccp is the volumetric concentration of component c in pseudo-component p
cc is the total volumetric concentration of component c
Vp is the volume of pseudo-phase p
V
is the total pseudo-phase volume
vp is the volumetric concentration of pseudo-phase p
Kcp is the partitioning constant for component c between pseudo-phase p and the aqueous
pseudo-phase
All concentrations have units of volume fraction.
Define pseudo-phase subscripts for the aqueous (a), oleic (o) and chemical (c) pseudocomponents, and component superscripts for the water (w), oil (o), surfactant (s), alcohol (x),
salinity (n), polymer (p) and divalent ion (d) components.

1990-2011 Petroleum Experts Limited

123

REVEAL

Component volumetric concentrations


Vax
Vaw

C ax

Vox
Voo

C ox

C cx

Vcx
Vcs

Total phase volume


V

Vp
p

Volume identities
cc

vp
p

Total component concentration


cx

Vx
V

Pseudo-phase volumetric concentration


vp

Vp
V

Alcohol material balance


cx

C ax c w

C ox c o

C cx c s

Polymer material balance


cp

C ap c w

C cp c s

C ap c w

K pcs

Alcohol partitioning
Alcohols are partitioned amongst all three pseudo-components, according to one of two
partitioning models. Data for one or two alcohols is required, depending on the number of
alcohol components in the model.
1. Hirasaki model - this is the default alcohol partitioning model. The alcohols are partitioned
between the pseudo-components with partition coefficients that are constant (at a given
temperature).
Partitioning constants relating partitioning of the alcohol components between the three
pseudo components are defined. The left column of data input correspond to the aqueous/
oleic partitioning and the right column corresponds to the aqueous/chemical pseudocomponent partitioning. K are the Alc coefficients and are the Alc Temp Dep variables.
K ox

C ox
C ax

K cx

C cx
C ax

The partitioning constants vary linearly with temperature.


K ox

K ox ref

x
o

Tref

K cx

K cx ref

x
c

Tref

2. Prouvost model [Refs 15 and 16] - this alternative partitioning model, due to Prouvost,
allows for self-association of alcohols in the oleic pseudo-component and treats the chemical
pseudo-component as an interfacial pseudo-component. The alcohol partition coefficients are
calculated from more fundamental coefficients in each grid block at each time step, according
to the overall composition in the grid block. No provision is made for these coefficients to be
temperature dependent.

REVEAL Manual

February, 2011

User Guide

124

For each alcohol, the model requires the input parameters: oil/water partition (ko(1)),
chemical/water partition (ko(2)), oil/chemical partition (kc), equilibrium constant (k) and
partition parameter (a).
Salinity-dependent oil/water partition coefficient
k ox

k ox (1)

where

k ox ( 2 )

cn
cw

cn
cw

C ax
1 C ax
C ox
1 C ox

is the salinity, and

C ax
1 C ax

Vax
V
Vax
w
a

is the volume fraction of alcohol in aqueous phase.

ko is the ratio of the volume fraction of alcohol in the aqueous pseudo-component to the
volume fraction of monomeric alcohol in the oleic pseudo-component.
Oil/surfactant partition coefficient
C cx
a C cx
x

k cx

C ox
1 C ox

kc is the ratio of the surface fraction of the alcohol in the chemical pseudo-component to the
volume fraction of monomeric alcohol in the oleic pseudo-component.
a is the ratio of the length of an alcohol molecule to the length of a surfactant molecule.
i-meric alcohol concentration
C ox ,i

kx
C ox ,1C ox ,i
1 C ox
x ,i

where C o is the ratio of the volume of i-meric alcohol in the oleic pseudo-component to the
total volume of that pseudo-component.
k is a self-association equilibrium constant.
These equations, together with the equation for the overall material balance of the alcohol,
can be rearranged to express all quantities in terms of Co resulting in a cubic equation for Co.
Thus the solution can be found analytically.
When a second alcohol is present, similar input parameters are required for the second
alcohol, and analogous equations apply. Simultaneous solution of both sets of equations then
requires an iterative method. A quasi-Newton method is used; the user may set the
convergence criterion (Alcohol threshold), and a limit on the number of iterations, which if
exceeded produces an error message.
Polymer partitioning
When the polymer is active in the phase behaviour, it is partitioned between the aqueous and
chemical pseudo-components according to a partition coefficient Kp, which may vary linearly
1990-2011 Petroleum Experts Limited

125

REVEAL

with temperature.
Kp

K p ref

T Tref

C cp
C ap

If a polymer is present but not active (i.e. it is simply a mobility control agent), polymer
partitioning may be switched on, in which case the polymer is put in the aqueous pseudocomponent, so that it partitions between phases in proportion to the amount of water in each
phase. Alternatively, the polymer partitioning may be switched off, in which case the polymer
is placed entirely in the aqueous phase at the end of the phase behaviour calculation, and thus
is prevented from partitioning into any middle or upper phase that forms.

2.3.9.3 Surfactant phase


See also: Introduction.
This screen displays the data used to set up the ternary phase diagram.

REVEAL Manual

February, 2011

User Guide

126

Press Plot to view a plot of the data. You can choose between a plot of effective salinity
(against salinity) or a full ternary phase diagram.
Pseudo-component concentrations - since only water, oil, gas, surfactant and alcohols are
allowed to be volumetric in surfactant flood simulations, the volumetric concentrations (volume
fractions) of the pseudo-components are given by (see Polymer/Alcohol partitioning for
definitions):
va

c w 1 C ax

C ax

vo

c o 1 C ox

C ox

vc

c s 1 C cx

C cx

cg

These volumetric concentrations (which should sum to one) are used as the coordinates in the
ternary diagram calculations.
3-Phase boundary - ternary phase diagrams
The particular ternary diagram used is selected according to the effective salinity CSE (see
introduction) and changes from type II(-) at low effective salinity, through type III at
intermediate effective salinity, to type II(+) at high effective salinity. In each case, the vertices
of the diagram represent pure pseudo-components (aqueous, oleic, chemical); the number of
phases present, and their compositions (in terms of pseudo-components), can be determined
from the overall pseudo-component concentrations (vcp) by looking at the appropriate point
(known as the overall composition point) on the diagram.
Lower, Upper & Optimal bound
The effective salinity threshold for each phase behaviour type is entered by the user: a lower
limit (CSEL), an upper limit (CSEU) and an optimal (CSEOP) effective salinity define the
boundaries of the 3-phase region.
Specifically, when CSE < CSEL, the phase environment is said to be type II(-), and a type II
(-) ternary diagram is used. If the overall composition lies above the binodal curve (see
below), then all components are solubilised into a single micro-emulsion phase. If the overall
composition lies below the binodal curve, two phases will be formed, an aqueous microemulsion phase in equilibrium with an excess oil phase.

1990-2011 Petroleum Experts Limited

127

REVEAL

When CSEL < CSE < CSEU, the phase environment is type III, and a type III diagram is
used. This differs from the type II(-) diagram in that the region below the binodal curve is split
into three parts by the three phase triangle. If the overall composition point lies in this
triangle, three phases are formed whose compositions are given by the vertices of the
triangle: a middle phase micro-emulsion in equilibrium with excess oil and water phases. If
the overall composition point lies in the lobes between the binodal curve and the three phase
triangle, two phases will be formed similar to those in type II(-) (right hand lobe) or type II(+)
(left hand lobe) cases. In the specific case where CSE = CSEOP (where CSEL CSEOP
CSEU). The micro-emulsion phase will contain equal volumes of oleic and aqueous pseudocomponents, i.e. the vertex of the three phase triangle will lie exactly halfway along the base
of the ternary diagram.

REVEAL Manual

February, 2011

User Guide

128

When CSE > CSEU, the phase environment is type II(+), and a type II(+) diagram is used.
This is similar to the type II(-) diagram, except that in two phase cases, the phases are an
oleic micro-emulsion and an excess aqueous phase.

1990-2011 Petroleum Experts Limited

129

REVEAL

In the type III case, the location of the apex of the three phase triangle, referred to as the
middle or invariant point, is assumed to move across the diagram from left to right as the
effective salinity increases from CSEL to CSEU. Thus the shape of the diagram changes
continuously as the effective salinity increases, and there are no discontinuities in phase
composition at CSEL or CSEU.
3-Phase Deselection
If the 3-Phase option is de-selected, then only one effective salinity is defined and the upper,
lower and optimal salinities are set to be equal. This is not generally recommended.
Chem threshold
If the total amount of surfactant present in solution is less than a threshold value (Chem
threshold) entered in the three-phase boundary section of this screen, two phases only are
assumed to be present, one containing only the oleic pseudo-component, the other the
aqueous and chemical pseudo-components.
Binodal Parameters
REVEAL Manual

February, 2011

User Guide

130

In each ternary diagram, only a single phase will be present if the overall composition lies
above the binodal curve, which is assumed to be symmetric and to be given by the Hand
equation:
v c2

Av a vo

The Hand parameter A is related to the "height" of the curve, i.e. the maximum chemical
concentration. At maximum chemical concentration, the hand parameter may be calculated
since vc,max+va+vo=1 and va=vo at the maximum chemical composition.
v c2,max

Av a

1 v c ,max
2

, therefore

2vc ,max
1 vc ,max

It is found by linear interpolation in the effective salinity from values calculated at zero,
optimal, and twice optimal effective salinity (denoted by subscripts j = 0, 1, 2 respectively):
C SE
A

C SEOP
A0

A1

C SE
C SE
C SEOP

A0

A1

C SEOP

A2

A1

C SE C SEOP
C SEOP

where the values Aj are found from the binodal curve heights at the three effective salinities:
2vc , j max

Aj

1 vc , j max

which in turn are specified as (linear) functions of alcohol concentration, polymer


concentration, temperature, and EACN:
vc , j max

H BNC , j

H BNX 1, j f cx

H BNX 2, j f cx

H BNP , j f c p

H BNT , j T

Tref

H BNE , j E

E ref

The H parameters are entered in the Binodal parameters section of this screen for zero,
optimal and twice optimal salinity, for a base value (HBNC), both alcohols (HBNX1 and
HBNX2), temperature (HBNT), polymer (HBNP) and equivalent alkane number (HBNE).
Three phase triangle - in the type III case, three phases exist if the overall composition point
lies in the three phase triangle below the binodal curve. The compositions of the three phases
are given by the vertices of the triangle, i.e. pure aqueous pseudo-component, pure oleic
pseudo-component, and a middle phase containing all components, generally with a high
chemical concentration but also with significant amounts of both oil and water, implying high
solubilisation parameters (ratios of oil or water to surfactant). The position of the invariant or
middle point (i.e. the apex of the triangle) is assumed to move across the diagram from left to
right as the effective salinity increases from CSEL to CSEU; to be precise, the value of the
expression
1
2

va

vo
2

increases linearly from 0 at CSEL to 1/2 at CSEOP to 1 at CSEU.


Two phase regions (tielines) - when two phases only are present, either in a II(+) or II(-)
phase environment, or if the composition point lies in one of the lobes between the threephase triangle and the binodal curve of a type III phase diagram, the compositions of the two
phases are given by the intersections with the binodal curve of the tieline passing through the
overall composition point. The locus of the tieline is determined by the position of the
1990-2011 Petroleum Experts Limited

131

REVEAL

appropriate plait point. This is the point on the binodal curve on which the pseudo-component
compositions of emulsion and excess phase (aqueous or oleic) are identical - it is essentially a
critical point. Two plait points are entered by the user in terms of a pseudo-oil concentration a left hand plait point and a right hand plait point. In the case where the plait points are in the
corners of the ternary diagram (0.0 and 1.0), the excess phases will consist of entirely the oil
or water pseudo-component.
In the type II(-) and type II(+) cases, the following Hand relation, known as the distribution
function, relates the (pseudo-component) compositions of the two phases:
C os C aw

EC as C oo

The Hand parameter E can be determined from the position of the plait point, the point on the
binodal curve to which the tielines converge. At the plait point, both phases have the same
composition (that of the plait point), and this composition lies on the binodal curve, so:
o

CP a

1 CP o

1
2

AC P o

o 2

AC P o

4 ACp

o
o

1 CP o

CP o

CP o
o

where C P o is the pseudo-oil concentration at the plait point. In type II(-) diagrams, C P o C PR o .
o
o
Similarly, in type II(+) diagrams, C P o C PL o . The plait points are input in the binodal
parameters section of the screen.
For the two phase lobes of a type III diagram, the distribution function is modified to reflect
the fact that the base of the lobe is a side of the three phase triangle rather than the base of
the ternary diagram, becoming:
Co s Caw

E Cas Coo

where for the type II(+) lobe:


C mo

C ao

C ao

Cas

C as

Caw

1 C ao

C mc

C mo

C ao C mc
C mo
Cas

CP a

CP o

where C mk is the composition of the invariant point. Similar formulae apply for the type II(-)
lobe. The position of the plait points is taken to vary linearly with effective salinity between
the type II(-) and type II(+) values, so the pseudo-oil concentration of the plait point in the II
(+) lobe is given by:
o

CP o
o

CP o

C SE C SEL
1
o
C PL o
2
C SEOP C SEL
C SE C SEOP
1
o
C PL o 1
2
C SEU C SEOP

for

C SE

for C SE
and that in the II(-) lobe by:

REVEAL Manual

C SEOP
C SEOP

February, 2011

User Guide

C PR o

C PR o

CP o

C SE C SEL
1
o
1 C PR o
2
C SEOP C SEL

CP o

for

C SE

132

C SEOP

C SE C SEOP
1
o
1 C PR o 1
2
C SEU C SEOP

for C SE C SEOP
In addition to satisfying the distribution function equation, the compositions of the two phases
must satisfy the binodal curve equation:
C as

s2

AC aw C ao

and C o AC o C o
and the relations:
w
o
s
C aw C ao C as 1
and C o C o C o 1
o
o
C aw S a C ow S o v a
and C a S a C o S o vo and S a S o 1
w
o
s
w
o
s
which gives a total of 8 equations for the eight unknowns C a , C a , C a , C o , C o , Co , S a and S o .
In the general case, these equations are solved for the pseudo-oil concentration in the microemulsion phase by an interval-halving iteration. In the special case where the plait point lies in
the corner of the phase diagram, the composition of the excess phase is known (it is the pure
pseudo-component), while the mico-emulsion phase has the same ratio of chemical pseudocomponent to oleic (type II(+)) or aqueous (type II(-)) pseudo-component as the overall
composition point; the equations can then be solved explicitly, and no iteration is necessary.
Effective salinity
The effective salinity is defined by:
C SE

cn
1
cw

x 1

f cx

x 2

f cx

f cp

Tref

E ref

Where cn/cw is salinity and fc are volume fractions of components in the chemical pseudocomponent. The coefficients are user supplied and entered in the effective salinities table
for alcohol-1, alcohol-2, temperature, polymer and EACN. Tref is the reference temperature
defined in the control section.
f cx
f cp

C cx
1 C cx
C cp

C cx

K p C ap

K pc p
c
K pcs
w

Also, T is the temperature, and E the EACN of the combined oil and gas present, given by an
average weighted by the number of moles of each.
E

cg
Eg
Mg
cg
Mg

co
Eo
Mo
co
Mo

where Eg and Eo are the EACNs, and Mo and Mg the molecular weights, of the oil and gas
respectively. These parameters and Eref are entered in the EACN section on this screen.
EACN and molecular weights
See the parameter required for the effective salinity calculation.
A ternary diagram generated with the data entered on this screen can be viewed by clicking
1990-2011 Petroleum Experts Limited

133

REVEAL

the Plot button.


Acid Oil Soap Generation
If the water chemistry model is present at the same time as the surfactant model then ASP
(Alkaline Surfactant and Polymer) may be modelled.
The updated (see note below) water chemistry database contains a component Oa (oileic
acid) which may partition between oil (HOaoil) and water (HOawater) according to user
defined partitioning set in the water chemistry section.
The HOawater component dissociates to H+ and Oa-.
The Oa- may react with Na+ ions present to form NaOa (NaOawater), which is a soap and
may have surfactant properties.
The log10 equilibrium constants (K1 and K2) are required for the following two reactions.
Oa- + H+ = HOa and Oa- + Na+ = NaOa
When NaOa is formed it is treated as a soap and a user specified fraction of the mass of this
soap is assumed to have to properties of the surfactant defined in this section.
To use this option, the components Na+, Oa-, HOaoil, HOawater and NaOawater must be
present.
The user should also set the gfw of the Oa- component. A default value of 100 g/l is set.
Note on water chemistry database
The location of the database may be found by selecting File|Preferences|Water Chemistry.
The water chemistry database is installed during the first installation of IPM. However, since
this database is editable it is not updated during subsequent installations to prevent user
modified data being over-written. To use the ASP option, an updated database is required.
To obtain the updated database, either
1] first close REVEAL, then delete the current database. When REVEAL is restarted, the
current default database will be copied to the location of the old (now deleted) database; or
2] alternatively, an option has been added to the water chemistry preferences screen to
automatically update the database file from REVEAL resources.
Restart REVEAL to re-read the new updated database.
REVEAL should not be open when the water chemistry database is being edited.

REVEAL Manual

February, 2011

User Guide

134

2.3.9.4 Ternary diagram


See also: Introduction.
This plot is invoked from the surfactant phase behaviour screen.

This screen can be used to view the data on the phase behaviour screen graphically.
Properties such as alcohol and polymer concentration, as well as component concentrations
of water and oil (for example) can be varied to see how the various phases develop with
these properties. The screen itself is divided into several sections:
Input parameters
Component Concentrations - these sliders can be used to set the relative concentrations of
oil, water, and surfactant to determine in turn the pseudo-component concentrations. The
values are normalised automatically - if you want to fix a value while changing another, check
the 'fix' box next to the slider.
Note that gas is not included in these basic calculations. The reason for this is purely to
simplify the input parameters: if gas were included, a PVT calculation would need to be
1990-2011 Petroleum Experts Limited

135

REVEAL

carried out at P,T, and the resulting gas concentration would depend on factors such as
miscibility and whether or not the system were repressurised. In the simulation, gas forms
part of the oleic pseudo-component as explained in the introduction to this section.
The absence of gas means that the binodal curve and effective salinity will not depend on the
EACN entered for the gas phase.
Variable Parameters - the following input parameters can be varied: alcohol concentration,
polymer concentration, salinity, and temperature. When the sliders are adjusted, the phase
diagram will change accordingly.
Calculation Results
The Hand parameter of the binodal curve and effective salinity for the input set are output. A
description of the system at the overall concentration point is also given (e.g. 'two phase
aqueous and oleic emulsion' for a type II(+) system).
Pseudo-component concentrations in phases
This gives the pseudo-component concentrations of the resulting phases. In II(-) and II(+)
systems, the phase concentrations are given by the intersections of the tieline with the binodal
curve, as plotted. For the type III case, the concentrations are simply the vertices of the three
phase triangle.
Interfacial tensions
Interfacial tensions for the emulsion/aqueous interface and the emulsion/oleic interface are
given, where applicable, if this input data has yet been entered.
Plot Phase Composition - this presents a diagram with the relative phase saturations for the
system at the overall composition point.
Zoom - the chemical pseudo-component concentrations along the binodal curve are often
quite small and this makes the detail of the plot quite difficult to see. Click on the 'zoom'
arrows to effectively increase the chemical concentrations (note that this will distort the plot
slightly as the concentrations still have to be normalised).
2.3.9.5 Surfactant interfacial tension
The interfacial tension between aqueous, micro-emulsion and oleic phase are modified by the
surfactant model, resulting in capillary desaturation.

REVEAL Manual

February, 2011

User Guide

136

Once the phase compositions have been calculated, the interfacial tension is calculated as a
function of solubilisation parameters (X). For an interface between water and micro-emulsion
(type II(+) environment or the II(+) lobe of a type III environment) the water/micro-emulsion
interfacial tension ( wm) is calculated. Similarly for an interface between micro-emulsion and
oil (type II(-) or the II(-) lobe of a type III environment) the oil/micro-emulsion interfacial
tension ( om) is calculated.
2- and 2+ Parameters
Water/micro-emulsion
log 10
Xw

wm

G12

G11
1 G13 X w

C cw
C cc

Oil/micro-emulsion
log 10
Xo

om

G22

G21
1 G23 X o

C co
C cc

Minimum Solubilisation parameter


1990-2011 Petroleum Experts Limited

137

REVEAL

In both cases, if the solubilisation parameter (Xw or Xo) is below a threshold Xmin (minimum
solubilisation parameter, default = 1), a linear interpolation between the oil/water value ( ow,
entered in the physical properties section) and the values given by the formulae above is
used.
log 10

wm

log 10

om

Xw
) log 10
X min

(1
(1

Xo
) log 10
X min

ow

Xw
log 10
X min

wm

Xo
log 10
X min

ow

om

if

Xw

if

Xo

X min
X min

Additionally, the interfacial tension is forced to approach zero at the plait point by multiplying
the calculated value of by
1 exp(
1 exp(

)
2

2)

C pw

C qw

C po

C qo

C ps

C qs

where p and q denote the two phases between which the interfacial tension is being
calculated.
3-phase triangle parameters
In the three-phase triangle of the type III phase diagram only, the interfacial tension may be
made a function of overall surfactant concentration at concentrations below a specified
threshold ( ), where the slope (S) is user defined.

log 10

log 10

wm

om

log 10

log 10

wm

om

S 1

cs
cw

S 1

cs
cw

2.3.9.6 Surfactant viscosity

REVEAL Manual

February, 2011

User Guide

138

Viscosity model
If the surfactant model is being used, then the aqueous, oleic and micro-emulsion phase
viscosities are calculated using one of two models, namely Pope and Barker (a variant of the
Barker model is also available). See the mobility section for more information on viscosity
models for polymer (thickening, shear thinning). At this stage, of a calculation, the aqueous,
oleic and gaseous phase viscosities have been calculated, accounting for all additives except
surfactant.
Each of the three phases (p), aqueous, oleic and micro-emulsion are considered in turn.
Within each phase, the volumetric component concentrations of water (Cwp), oil (Cop) and
surfactant (Csp) are known.
In addition to the model specific parameters required the user enters a thermal exponent
factor Alpha6 ( mT). Note that this factor is used with absolute temperatures (R).

1990-2011 Petroleum Experts Limited

139

REVEAL

Model Parameters
Pope model - the user is required to enter the parameters Alpha1 to Alpha5 ( m1 to m5).
The volumetric concentration of hydrocarbon components (Chp) comprising oil+dissolved gas
is calculated.
C ps

m1

exp

1
T

mT

1
Tref

C pw

exp

m4

C po

C ps

C ph

exp

m5

C pw

C ps exp

exp

wax

m2

C pw

m3

C po

Twax T
1 Twax T

w and o are the water and oil viscosities calculated without surfactant being present. When
the micro-emulsion phase is being considered, o is modified to reflect any miscible free gas
within this phase. Note that no free gas will be present within the oleic phase. The term 'free
gas' is used here to mean excess gas (GOR-Rs) beyond that associated with the oil, that
may be present within the micro-emulsion phase.
o

1
4

(1 g )

1
4

cg 1

Rs
GOR

cg
where
The above sum is over all gaseous components (usually only one).
g

Barker model - the user is required to enter the parameters Alpha1 to Alpha5 ( m1 to m5).
These are different from parameters entered for the Pope model.
Aqueous phase viscosity
w

TF w

Oleic phase viscosity

s
m1C a

w0

o0

R0

m2

C os exp

wax

Twax T
1 Twax T

The micro-emulsion phase viscosity depends on the phase present (i.e. region of ternary
diagram). The phases present are controlled in REVEAL by the effective salinity (cse), which
has values within a range extending from a minimum (cse,min) to a maximum (cse,max), with
an optimal value (cse,opt) between the minimum and maximum values.
Type II- (oleic and micro-emulsion phases only)
m

Type II+ (aqueous and micro-emulsion phases only)


m

Type III (aqueous, oleic and micro-emulsion phases)


c se
m

m3

m4

m4

m5

REVEAL Manual

m3

m4

c se ,min

c se ,opt

c se ,min

c se

c se ,opt

c se ,max

c se ,opt

exp

exp

1
T

mT

mT

1
Tref
1
T

1
Tref

for
for

cse

cse

cse ,opt

cse ,opt

February, 2011

User Guide

140

For the type III micro-emulsion, the micro-emulsion viscosity is modified by the thickening
factor calculated for the water present within the micro-emulsion phase. This modification is
not applied if the variant Barker_x model is selected.
m

TFm

The calculated micro-emulsion viscosity is then modified to reflect the presence of any 'free
gas'.
m
m
g

1
4

(1 g )

1
4

cg 1

where

Rs
GOR
cg

2.3.10 Adsorption section


2.3.10.1Adsorption properties
This screen sets the components that will adsorb onto rocks, and defines the isotherm
describing the adsorption.

Any component apart from water, oil and gas may be adsorbed. Adsorbed components are
1990-2011 Petroleum Experts Limited

141

REVEAL

not transported with the fluid flow or subject to diffusion. Adsorbed minerals take no part in
water chemistry equilibrations. Adsorbed surfactant takes no part in desaturation and microemulsion phase formation. Adsorbed components may reduce the permeability (e.g. polymer,
gel or water chemistry minerals). Adsorbed wetting agent is used to model wettability
desaturation.
Data for rock types
Adsorption data may be added for any or all rock types, with different data possible for
different rock types. Select Add to add a new entry to the table, select an entry in the table
to modify the adsorption data, or Delete to delete all of the adsorption data for the current
rock type.
Fluid list
This lists the components in the model that may be adsorbed. Select a component and use
the Add or Delete buttons to add or delete adsorption data for that component. Some
components must have adsorption data (e.g. surfactant, polymer, H+) if they are present,
these components will have a red cross beside them: use the Add button to add adsorption
data (which may be null if no adsorption is required).
Adsorption isotherm
Four adsorption models are available, Langmuir, Linear, Stripping and Thermal Active. Use
the Plot button to view the isotherm.
Permeability reduction
This is available for all adsorbed components apart from water chemistry minerals, which
have their own permeability reduction model. The permeability reduction (R0) is a function of
the adsorbed component concentration (Ca) and the input permeability reduction coefficient
(RF), which should be greater than one to reduce the permeability, i.e. the permeability is
divided by R0.
R0

1 (R F

1)

Ca
Ca max

The total permeability reduction is the sum of the permeability reductions of all adsorbing
components.
The permeability reduction may be applied to each phase independently, with different rates
of permeability reduction applied to each phase.
Adsorption initialisation
The initial adsorbed concentration is entered in units of mass per unit volume, where the
volume is the total rock volume (including pore volume). This data is optional, with a default of
zero. Data may be entered as a constant for each rock type, as a set of grid block ranges
each with a constant value, or as a datablock with an entry for each grid block. For more
information on using the range and array options see the reservoir section.
REVEAL Manual

February, 2011

User Guide

142

Plot - the resulting isotherms may be plotted.

Cation Exchange (Ref 25)


For the Polymer model, cation exchange with the rock is available.
divalent cation components must be present.

Both the salinity and

To use this option, select the Ion Exchange button, then select the divalent cation component.
When this model is used, there is no additional adsorption data required for the salinity
component.

1990-2011 Petroleum Experts Limited

143

REVEAL

The ion exchange model assumes that there are a fixed number of cation adsorption sites on
the rock (cation exchange capacity QV) that may hold monovalent or divalent cations.
Additionally there is an equilibrium between the adsorbed divalent/monovalent cation
concentrations on the rock and in the aqueous phase (cation exchange parameter K0).
Molecular weights are required to calculate equivalent masses (meq) of the various ionic
species.
Anion
Nomenclature
Cx
Cax

REVEAL Manual

Total mass of species x per unit total block volume (lb/ft3)


Mass of species x adsorbed per unit total block volume (lb/ft3)

February, 2011

User Guide

Cwx

Mass of species x in water per unit total block volume (lb/ft3)

QV

Ion exchange capacity of rock per unit pore volume (meq/ml)

wx

Conversion factor from lb/ft3 to g/ml (0.01601847)


Gram formula weight of species x (g/mole)

144

Xax
ml)
Xwx
volume (meq/ml)
K

Adsorbed concentration of species x per unit pore volume (meq/

Sw

Water saturation (limited to min of 10-6)

Aqueous concentration of species x per unit aqueous phase


Ion exchange equilibrium parameter
Porosity

Subscripts
d

Divalent cations

Monovalent cations

Salinity (anions)

Main equations
Xam + Xad = QV

Rock ion exchange capacity

Xad /(Xam)2 = K.QV.Xwd /(Xwm)2


Cad + Cwd = Cd

Ion exchange equilibrium

Divalent cation mass conservation

Cwm / wm + 2.Cwd / wd = Cs/ ws

Electrical charge neutrality

Constitutive equations
Xad = 2. Cad/(wd. f)

Divalent cation adsorbed concentration

Xwd = 2. Cwd/(wd. .Sw) Divalent cation aqueous concentration


Xam = Cam/(wm. )

Monovalent cation adsorbed concentration

Xwm = Cwm/(wm. .Sw) Monovalent cation aqueous concentration


1990-2011 Petroleum Experts Limited

145

REVEAL

K = K0(1 Xad/QV)

Ion exchange dependence

Simplified Gapon model


If this option is selected, then the ion exchange dependence is simplified.
K = K0

Ion exchange dependence

Initialisation
Initially, Cs and Cwd are assumed fixed from the initialization data entered, and an equilibrium
value for adsorbed cation (Cad) is calculated to be consistent with this data. Therefore initial
adsorbed cation is not required as input.
Solution
The four equations are solved by Newton-Raphson for each block at each time step for the
unknowns Cad, Cwd, Cam and Cwm. Convergence is to within a rms mass concentration
change of less than 10-9.
The adsorbed cation, aqueous cation concentration and salinity (anion) concentration may be
selected for 3D visualization.
The principal effect is that as the water is diluted, the total cation concentration reduces. To
maintain the rock ion capacity and rock-water equilibrium, the divalent cations prefer to be
bound on the rock due to their higher charge capacity.
Plot - the plot may be used to check the desired cation response.

REVEAL Manual

February, 2011

User Guide

146

2.3.10.2Adsorption isotherms
Four isotherm models are included, describing the adsorption profile as a function of
concentration, temperature, permeability and salinity. Irreversible, reversible or partially
reversible models are available, and the adsorption may also be rate dependent.
All components have a total (C) and adsorbed (Ca) concentration, and have dimension of
mass/volume. Aqueous phase concentrations (c) are defined as mass fractions (kg/kg), and
are defined by the ratio of a given component concentration divided by the concentration of
water (c=C/Cw).
The partitioning of the total component concentration (C) between that adsorbed (Ca) and the
1990-2011 Petroleum Experts Limited

147

REVEAL

concentration remaining within the aqueous phase after adsorption (c*) is defined by the
maximum adsorbed concentration (Camax) and the isotherm parameter (b), which describes
the shape of the isotherm.
Note that the entered maximum adsorbed concentrations are mass per unit rock volume, not
including pore volume.
Langmuir isotherm
The relation between adsorbed and aqueous component concentrations is characterised by
the following equations, where aref is defined below.
Ca
C

a ref c *

c*

1 bc *

C Ca
Cw

, since the total concentration of an adsorbing component (C) is:

Ca c * C w

The maximum adsorbed concentration occurs when the aqueous phase concentration (c*) is
large (i.e. Camax=aref/b). If b is small, then Ca rises slowly, and if b is large then Ca rises
quickly.
The parameter aref has units of mass/volume, while parameter b has effective units of (mass
fraction)-1. These units are not used in the interface since this parameter is effectively
dimensionless. Note that when the aqueous phase concentration (c*) is equal to 1/b, then the
adsorbed concentration (Ca) will be half of the maximum adsorption limit (Camax). Hence a
value of b=1000, will result in 50% of the maximum adsorption level with an aqueous
concentration of c* = 1/b = 10-3 kg/kg (or 103 ppm).
aref can be thought of a measure of 'adsorbability'. For example, with the linear isotherm, a
ref is the slope of the adsorption isotherm, and for the Langmuir isotherm, aref is the slope of
the isotherm at zero concentration.
a ref

Ca
c*

at c* = 0

In addition to Camax and b, the user enters the temperature (A[T]), permeability (A[k]) and
salinity (A[s]) coefficients used to modify the reference parameter (aref).
a

[a ref

A[ s ] c s

A[T ] (T

Tref )]k

A[ k ]

a ref

bCa max

kx 2

ky 2
2

The effective salinity (cS, kg/kg) is calculated from the salts present, while the reference
temperature (Tref) is input by the user in the control section. The mean permeability (k) is the
mean horizontal permeability in units of Darcy.

REVEAL Manual

February, 2011

User Guide

148

Note that changes to aref will both affect the adsorbability (a) and consequently the maximum
adsorbed (Camax), retaining the relationship with parameter b such that Camax = a/b.
Linear isotherm
The linear isotherm is identical to the Langmuir isotherm, with the following modification.
If c* <= 1/b then Ca = a.c*, where c* = C/(Cw + a), since Ca + c*Cw = C (total mass
concentration)
If c* > 1/b then Ca = a/b = Camax
Thermal Active isotherm
The Thermal Active isotherm is identical to the Linear isotherm, with the following modification
to the temperature dependence, requiring additional input parameters T[bw], A[bw] and
(epsilon).
a

[a ref [(1

tanh( A[ bw] (T

T[ bw] ))]

A[ s ] c s ]k

A[ k ]

Stripping isotherm
The stripping isotherm adsorbs all available component to its maximum value, hence the
isotherm parameter (b) is not required for this model.
Ca

max( C , Ca max )

pH Dependence
For the surfactant component if water chemistry is present, the adsorption of surfactant may
depend on pH.
The maximum adsorption is scaled linearly with pH between the lower limit (acidic full
adsorption defined by the entered maximum limit) and the upper limit (alkali zero adsorption).
Reversibility
Adsorption is always completely reversible for changes in salinity.
Adsorption may be completely reversible, or completely irreversible for changes in
temperature. If the irreversible option is selected, then the maximum historical thermal
contribution to the adsorption parameter (a) is used.
Adsorption may be completely irreversible, completely reversible, or partially reversible for
changes in concentration for all isotherm models. Reversibility is controlled by entering an
irreversible concentration limit (Cairrev). If Cairrev is not entered (cell left blank), then the
model is assumed to be fully reversible. A Cairrev value equal to Camax represents the fully
irreversible case, while intermediate values model partially reversible isotherms.
For a partially reversible isotherm, as the concentration of the adsorbing component
increases, the adsorption level rises in accordance with the isotherm. The Langmuir curve is
1990-2011 Petroleum Experts Limited

149

REVEAL

used as an example, where three points on the curve (Ca plotted as a function of c*) are
identified.
Point A is at the irreversible adsorption concentration (Ca = Cairrev).
Point B is the point on the isotherm curve where a straight line passing through (0,Cairrev) has
the same gradient as the isotherm curve (i.e. the tangent point).
Additionally, point C is defined as the point (Cairrev,0) used to define point B (tangent to the
isotherm curve).
If the concentration falls before point A has been reached, then the adsorption does not
reverse (irreversible). If the concentration starts to fall between point A and point B, then
desorption occurs along a straight line from the maximum point reached on the isotherm curve
to point C. If the concentration begins to increase again, adsorption moves back up the
straight line until the isotherm is reached, and then continues moving up the isotherm. If the
concentration starts to fall after point B, then desorption proceeds down the isotherm until
point B is reached and then down the straight line connecting point B to point C.

Adsorped concentratoin (C a)

Reversible Langmuir Isotherm

B
C
A

Concentration in solution (C*)

Adsorption rate
Adsorption may be assumed to take place instantly, or the time taken for adsorption to occur
may be modeled using an input rate parameter (A[rate]).
Ca n

Ca (Ca n

Ca)e

A[ rate] t

where Ca is the newly calculated instantaneous adsorbed concentration, and Can and Can+1
are previous and current time step values.

REVEAL Manual

February, 2011

User Guide

150

2.3.10.3Permeability reduction

Water chemistry permeability reduction


For adsorbed water chemistry minerals, both porosity ( ) and permeability reduction (R0)
are functions of the adsorbed concentration, rock density ( r), original porosity ( o) and user
defined permeability reduction coefficient (PN).
PN

Ca

Permeability reduction coefficients may be defined for each rock type or for all rock types.
The total permeability reduction is the sum of the permeability reductions of all adsorbing
components.
The permeability is divided by the permeability reduction factor R0.
1990-2011 Petroleum Experts Limited

151

REVEAL

The porosity reduction is used as an equivalent inaccessible pore volume (ipv = - / ), which
increases the effective volumetric concentration of all trace components (i.e. water chemistry
ions).
The permeability reduction is applied equally to all phases.
2.3.10.4Tracer partitioning
This section is optional and requires that tracers are present for all three phases.

If no data is entered, then no partitioning takes place.


Adsorbed tracer components are not included in tracer phase partitioning.
Select Available Tracer - select the available tracer (all three phase components are
required)

REVEAL Manual

February, 2011

User Guide

152

The tracer components are added in the control section. for example Water_Tracer_1,
Oil_Tracer_1 and Gas_Tracer_1 components are required to partition Tracer 1.
Oil/Water Partition Coefficient (at reference conditions)
The oil/water partitioning coefficient is defined as the mass concentration (ppm) in oil phase
divided by the mass concentration (ppm) in water phase.
Gas/Oil Partition Coefficient (at reference conditions)
The gas/oil partitioning coefficient is defined as the mass concentration (ppm) in gas phase
divided by the mass concentration (ppm) in oil phase.
Pressure and temperature dependence
Pressure and temperature dependence for the partition coefficients may be enabled by
setting a reference pressure and temperature and non-zero dependences.
The reference partition coefficients are then linearly modified according to the current
pressure and temperature.
Partition_Coef = Ref_Coef + (Pres - Ref_Pres) * Pres_Dependence + (Temp - Ref_Temp) *
Temp_Dependence

2.3.11 Water chemistry section


2.3.11.1Water chemistry
This section is only available for water chemistry calculations. The component model for
water chemistry calculations is set in the control section. The water chemistry model predicts
precipitation and dissolution of minerals within the aqueous phase.
All the components that will be present within the water chemistry calculation require to be
selected from the water chemistry database.

1990-2011 Petroleum Experts Limited

153

REVEAL

Additional general comments and model descriptions are available below.

REVEAL Manual

February, 2011

User Guide

154

Output region
This defines region(s) of the grid that will have the results of the water chemistry equilibration
output to the water chemistry results file. This file may be viewed by selecting Results|
Debug|Debug water chemistry from the main REVEAL window.
It is generally
recommended not to generate too much of this data since it may result in a very large file.
This data should only be generated for specific debugging purposes.
Calculation/output frequencies
The water chemistry equilibration may be performed every time step or with a defined
frequency in timesteps. If the output frequency is left blank then no water chemistry data will
be generated, preventing potentially large volumes of unnecessary data being generated.
Min relative concentration change for inclusion - by default a water chemistry
equilibration is performed for every gridblock where the maximum component relative change
in concentration exceed this value. Entering a value of zero will force every block to be
1990-2011 Petroleum Experts Limited

155

REVEAL

included, which will slow the calculation for large models where there may be significant
regions of constant composition. It is recommended that this option should be set to zero for
smaller souring models with CO2 or H2S partitioning.
Electrical neutralisation
One species pair (anion and cation) is required to be internally adjustable to ensure precise
electrical neutrality. This is usually chosen to be Cl- and H+. Electrical neutrality of the
mixture of ionic species (excluding free electrons, e-) should be ensured for both the reservoir
and injected waters. This may be checked using the input wizard calculator in the initialisation
and injection sections.
The H+ ion is chosen, rather than the Na+ ion (pre IPM7) since this improves the modeling of
strong acid/alkali behaviour. The model initially ensures that electrical neutrality of reservoir
and injection waters honoring the user input H+ (pH), using the Na+ and Cl- ion pair.
Other
New partition coefficient - if this option is set, then the water/oil partition coefficients for
CO2 and H2S will be initialised using the initial components present, rather than using the
value entered in the mobility section. See the mobility section for more information on the
partitioning model. This will only affect water chemistry models where partitioning can take
place (i.e. the components CO2oil/CO2gas or H2Soil/H2Sgas are present).
Simplified equilibration - this flag is only available if there are no mineral precipitate
components within the model. If this option is selected, then the chemical equilibrium program
is not used, and therefore aqueous speciation of the tracked master species does not take
place (i.e. the ionic master species do not associate to form aqueous dissolved species).
However, H2S and CO2 partitioning and the H2S souring models are still available. These
models calculate the aqueous dissolved CO2 and H2S using the database (for equilibrium
constants and activity coefficients), assuming that all of the ionic master species (CO3-2 and
HS-) are in ionic form (fully dissociated) and available to form aqueous dissolved CO2 and
H2S. This approximation results in large cpu savings.
General comments
H+ (pH), e- (pe) are required species and should be included for all water chemistry models.
Solid phase mineral concentrations are similarly input and tracked within the aqueous phase.
Redox reactions are possible, altering the electron activity. Note that the redox reactions may
have significant effect on the solution pH and pe.
HS- <> SO42- + 9H+ + 8e- - 4H2O

Sulphate, sulphide redox

The reaction species and thermodynamic reactions are defined within an editable database.
A default database is included with the REVEAL installation, and is written to the current data
directory with the name 'phreeqc.dat'. The current data directory is set using the menu option

REVEAL Manual

February, 2011

User Guide

156

File|Data Directory. To use a different chemical database, simply replace the 'phreeqc.dat'
file in the current data directory, ensuring that the replacement database has the correct
format for version 2.4.2 of PHREEQC.
Partitioning - the model also returns the molality of dissolved CO2 and H2S. The CO2 and
H2S may be partitioned between the aqueous and oil/gas phases.
CO2 (oil/gas) <> CO32- + 2H+ - H2O (aq)
H2S (oil/gas) <> HS- + H+ (aq)
The change in pH can dramatically affect the precipitation/dissolution of mineral species.
The species CO2water and H2Swater are supplied only for reporting purposes and are
optional.
Adsorption - precipitated minerals may be adsorbed. Adsorbed minerals are not transported
and take no part in the water chemistry equilibration.
Water chemistry calculator - a calculator is available to analyse the possible reactions of
mixed water before a simulation is run. All of the simulation input data must be entered
before the calculator can be used. The calculator can be started by selecting Input|Water
Chemistry Equilibration Calculation from the main menu.

1990-2011 Petroleum Experts Limited

157

REVEAL

Looking at the sample snapshot above, obviously the reservoir and injection waters should be
different compositions. Use the Control options to set the injection water.
Then select the mixing ratio, temperature etc.
Use the Mix reservoir/injection button to mix the reservoir and injection waters to give the
mixture concentration.
Use the Calculate equilibrium button to calculate the equilibrium concentration.
Use the Plot button to plot the reaction component concentrations over a range of mixing
ratios.
An additional water chemistry calculator is available for calculations using well results after a
calculation has been completed. This is started by selecting Input|Water Chemistry

REVEAL Manual

February, 2011

User Guide

Produced Fluid Calculation from the main menu.


capability.

158

This calculator has OpenServer

Master species components - chemical components (ions) corresponding to a master set of


reacting species are input and tracked. The water chemistry chemical components are
defined to have the same density as the water present, therefore volumetric and mass
concentrations are equivalent. Usually their concentrations are input as mass concentrations
(e.g. ppm).
Note that the H+ and e- concentrations are related to pH and pe with the following relations.
3 pe
[ H ] ppm 10 3 pH
and [e ] ppm 10
Seawater - a typical seawater composition is given below. Both sulphur valence states are
included; this is a general requirement and all ions with multiple valence states should be
included. Additional reservoir species (e.g. Ba+2) and possible minerals (e.g. Barite) should
be included in the model.
Ion Concentration (ppm)
H+ 6E-6 (pH=8.22)
e3.5E-12 (pe=8.45)
Ca+2 412
Mg+2 1292
Na+ 10768
K+ 399
Cl- 19353
CO3-2142
SO4-22712
HS- 0
Active species not present within the model- any species, aqueous or mineral, predicted
by the calculator will be displayed in red below the components present within the model.
Any aqueous species (usually a second valence state such as HS- if SO4-2 is present)
must be added to the model, since any concentration of this species will be lost from
the system if it is predicted.
Any mineral species predicted but not included within the model will have not be lost
from the system, but it will not remove aqueous ions as it precipitates.
Therefore it is strongly recommended that all possible valence states of ions are
included, and all minerals that are predicted to precipitate using the water chemistry
calculator are included.
Basic assumptions
The water chemistry master species are defined as the total mass fraction of each valence
state in its usual form. For example for the two valence states of sulphur: S(+6) has the
mass fraction (kg SO4-2 per kg water) and S(-2) has the mass fraction (kg HS- per kg
1990-2011 Petroleum Experts Limited

159

REVEAL

water).
The gram formula weight (gfw) of electrons is assumed to be 10-6 g/mole. Other gfws are
obtained from a database.
The water chemistry species are non-volumetric in that they take no direct part in the flow
equations; in other word they are merely tracers.
Their only interaction with the flow equations is explicitly through permeability reduction arising
from adsorption.
The water chemistry species are assumed to mix fully within each simulation gridblock.
The equilibration of the master species includes a large database of possible reactions
resulting in ionic bonded molecules, free ionic master species and solid precipitates. The
database includes thermal and ionic strength dependence on activity coefficients for each
possible state and temperature dependent equilibrium constants. Redox reactions are implicit
and therefore all valence states of a master species should be included.
Adsorbed minerals take no part in the water chemistry calculation.
Ionic neutrality is required and observed by adding/removing small concentrations of an ionic
pair; usually Na+ and Cl-.
Overview of solver
The flow equations are solved implicitly for the pressure, temperature and phase saturations.
The dependent parameters (PVT, relative permeability etc.) are updated and the Darcy
velocity field calculated. Each master species concentration is then updated using the
calculated Darcy velocity field. A 1-point upstream weighting implicit solver is used that
allows timesteps greater than the Courant limit.
Numerical dispersion associated with such implicit schemes will be present and therefore
sensitivity to grid geometry and timesteps will be present.
Once the updated component concentrations have been calculated, the water chemistry
module is entered.
During the initialisation every block is water chemistry equilibrated; on subsequent timesteps
only blocks satisfying the following conditions are re-equilibrated.
a) Maximum relative change in concentration exceeds user specified 'min relative change for
inclusion': (1-C(n+1)/C(n))/dt > user limit. C(n+1) is the concentration of a given species at
time step (n+1), and C(n) at the previous time step. This relative change is calculated for
each species and the maximum used. Any block exceeding the minimum concentration
change is included in the water chemistry calculation. The default user limit is 10-3.
b) Total water content in block is greater than 10-8 lb/ft3. Any block not meeting this criterion
is not included in the calculation, regardless of other criteria.
REVEAL Manual

February, 2011

User Guide

160

c) Block is completed to a well. All well completed blocks are included.


d) Souring model is present and the block temperature is within that specified for SRB
growth.
e) Souring model is present and concentration of CO2 or H2S in oil or gas phase is greater
than 10-8 lb/ft3.
The molality (kg/l) of each aqueous master species is calculated from its concentration in
water (kg/kg) and gfw. Additionally the pH and pe are calculated.
These data are passed to the water chemistry calculator which returns the resulting master
species and solid phase (precipitated mineral) molalities, which are used to update the
REVEAL component concentrations. Mineral concentrations will then be subject to adsorption
isotherms, either removing or adding mineral to the aqueous phase.
Souring
Two souring models are available in REVEAL. See the control section to set these model
options.
The first is a legacy model and is integrated into the water chemistry module and is based on
a bacterial sulphate reduction rate.
The second model is independent of the water chemistry module and is based on the concept
of bacterial activity. This model is recommended since it handles nutrient availability better, is
more implicit, can use longer timesteps and is therefore faster.
Souring legacy model
If the legacy souring model is present, then the concentration of SRB (sulphate reducing
bacteria) is calculated. If the temperature is within their growth range then their concentration
increases, otherwise it is set to zero. The growth rate is exponential and parameterised by a
half-life (dt*).
CSRB(n+1) = CSRB(n) e(ln2.dt/dt*)
The initial SRB concentration is set to the minimum defined by the user, and a maximum
concentration is also imposed by a value entered by the user.
If the nutrient component is present within the model, then the maximum growth is limited to
the nutrient available.
CSRB(n+1) - CSRB(n) < CNUT/R, where R is the nutrient/SRB mass ratio entered by the
user.
The nutrient concentration is also updated.
CNUT(n+1) = CNUT(n) - R(CSRB(n+1) - CSRB(n))

1990-2011 Petroleum Experts Limited

161

REVEAL

Once the SRB concentration is calculated, the sulphate reduction is calculated as a linear
fraction of the maximum reduction rate (X) entered by the user. The maximum reduction rate
is in units of molality/day. Therefore the change in sulphate and sulphide molality is calculated
as dt.X.CSRB/CSRBmax .
The molality of SO4-2 and HS- are updated and in order that the equilibrium calculation
preserves their relative concentrations, the equilibrium constant for the sulphate to sulphide
reaction is modified, using the current activity coefficients for all species in the equation
including H+ and e-.
SO4--2 + 9 H+ + 8 e- = HS- + 4 H2O
If souring is present, then the sulphate/sulphide equilibrium constant is recalculated for each
included block based on the prevailing sulphate/sulphide concentrations, thus preserving their
relative concentrations. This is essentially ensuring that the souring process is irreversible
and non-equilibrium conditions are preserved.
The simplified souring model is possible when no mineral species are present, since in this
case the total master species concentrations are not altered by the water chemistry
equilibration and only the sulphate-sulphide equation is calculated. This approximation can be
used to speed scooping calculations.
Souring bacterial activity model
In this model the SRB grow and respire using nutrient.
Their activity is the rate at which the nutrient is used by the SRB, and depends on the bacteria
type, concentration of SRB, temperature, pressure, salinity and nitrate concentration.
The fraction of nutrient used for growth is called the nutritional efficiency, the remainder is
used for respiration (reduction of sulphate to sulphide).
The nutrient may come from a finite source of VFA (volatile fatty acids) in equilibrium between
the aqueous and oleic phase. Once the VFA is exhausted, an unlimited nutrient source may
be obtained directly from the oil HC (hydrocarbon). The HC activity is much lower than the
VFA activity.
The following outlines the main variables and equations solved using this model for each
gridblock at each timestep.
Fw = mass conc of VFA in water
Fo = mass conc of VFA in oil
F = total mass of VFA
Xf = VFA equilibrium = Fw/Fo
Mw = mass of water
Mo = mass of oil

REVEAL Manual

February, 2011

User Guide

162

SRB = mass conc of SRB in water


SRBmax = maximum SRB conc
SRBmin = minimum SRB conc
H2S = mass conc of H2S in water
SO4 = mass conc of SO4 in water
E = nutritional efficiency (nutrient growth/nutrient respiration)
t = time
A = SRB activity (maximum VFA consumption rate)
Xr = Mass of H2S per mass of VFA (respiration)
Xg = Mass of SRB per mass of VFA (growth)
F = Fw . Mw + Fo . Mo = Fw (Mw + Mo / Xf)
dF/dt = - A . Mw . SRB / SRBmax
Mw . dSRB/dt = - Xg . E . dF/dt
Mw . dH2S/dt = - Xr . (1 - E) . dF/dt
dSO4/dt = - (96.064 / 34.08) . dH2S/dt
Partitioning
The partitioning model treats the hydrocarbon partitioned component (CO2, H2S or N2) as an
ideal gas in equilibrium with the aqueous phase. The partitioned component activity is equal
to its partial pressure and an equilibrium constant is derived from user specified partitioning
coefficients.
The user specified partitioning parameters are pressure dependent (described in partitioning
section).
The total volume of hydrocarbon is calculated per litre water. This is then treated as the
effective ideal gas volume in equilibrium with the water phase.
The activity (partial pressure) of the partitioned component in the hydrocarbon phases is
calculated from their total mass in the hydrocarbon phases, converted to moles per unit
volume, and finally to partial pressure using the ideal gas equation.
PV = nRT
The activity coefficient for the partitioned component in the aqueous phase is obtained from
the database and is dependent on the concentration of CO2, H2S or N2 and not their
respective master species (CO3-3, HS- or NO3-). The concentration of aqueous CO2, H2S
or N2 may be reported; these are purely derived quantities and are only present for reporting
purposes.
1990-2011 Petroleum Experts Limited

163

REVEAL

An equilibrium constant relating the aqueous concentration of the partitioned component


(CO2, H2S or N2) and the calculated partial pressure within a defined hydrocarbon volume is
obtained from the user specified partitioning parameters.
Partitioning is reversible, however scavenging may be modeled by adsorbing H2S or by
including scavenging minerals that will remove H2S in the water chemistry equilibrium
calculation.
Note that the partitioned CO2, H2S or N2 are only treated as tracer components and do not
affect the hydrocarbon PVT.
Scale inhibitor
A scale inhibitor model is present, which modifies the solubility index (SI) used for the
equilibrium between aqueous and solid phase minerals. This model increases the solubility of
minerals, modeling the reduced nucleation action of an inhibitor.
The SI is increased from zero to a maximum user specified value (SI*) as a linear function of
the inhibitor concentration (Ci) up to a maximum inhibitor concentration (Ci*).
SI = SI*.Ci/Ci*
The saturation index effectively increases the solubility of the mineral exponentially; i.e. an SI
of 1.0 makes the mineral 10 times more soluble and an SI of 2 makes the mineral 100 times
more soluble.
2.3.11.2CO2, H2S & N2 partitioning
This screen is present if the water chemistry model is active and partitioning of CO2, H2S or
N2 between aqueous and hydrocarbon phases is possible. For CO2 partitioning, the
components CO2oil and CO2gas must be included in the model, and for H2S partitioning
H2Soil and H2Sgas must be included, and for N2 partitioning N2oil and N2gas must be
included (see control section for component selection).
This screen may not be present if the fluid model is compositional, in which case the
equilibrium is calculated directly from a database.
Also see general description.

REVEAL Manual

February, 2011

User Guide

164

CO2 partitioning
Partition coefficients
Partition coefficients (PCwo and PCog) are defined for CO2 partitioning between aqueous and
oleic phases, and between oleic and gas phases. The activity of CO2 in water is
approximately equal to the molality (mole/kg water) of dissolved CO2. The partitioning is
achieved by considering the CO2 dissolved in the hydrocarbon phases to be represented by
an ideal gas in equilibrium with the aqueous phase. The ideal gas CO2 partial pressure is
related to the mass concentration of CO2 within the hydrocarbon phase.
PCwo = (Mole/litre of CO2 in oil) / (Activity of CO2 in water)
PCog = (Mole/litre of CO2 in gas) / (Mole/litre of CO2 in oil)
The partition coefficients are pressure dependant and take different forms depending on
1990-2011 Petroleum Experts Limited

165

REVEAL

whether the pressure is above or below the partition reference pressure.


For CO2 partitioning only, the oil phase partial pressure (Mole/litre of CO2 in oil) is replaced
with fugacity.
If the pressure is above the partition reference pressure.
PCwo = Partition coefficient + (Pressure-Partition reference pressure)*Kow above reference
pressure
PCog = 0
If the pressure is below the partition reference pressure.
PCwo = Partition coefficient + (Pressure-Partition reference pressure)*Kow below reference
pressure
PCog = Gas/oil partition coefficient + (Pressure-Partition reference pressure)*Kgo below
reference pressure
If the User CO2 O-W partitioning option is deselected, then a database equilibrium will be
used.
Initial partition coefficients - if the New Partition Coefficient flag is checked in the water
chemistry section (not available for bacterial activity souring model), then the water/oil
partition coefficients (Part Coefficient for both CO2, H2S and N2) are calculated from the initial
conditions (e.g. initial value of CO2oil or H2Soil and initial equilibrated CO2 or H2S in water).
Separator partitioning
Reported separator concentrations are calculated using two partition coefficients that reflect
the effective partitioning which will be process dependent.
The Oil/Water partition coefficient defines the ratio (mass fraction of CO2 in separator oil)/
(mass fraction of CO2 in separator water). Mass fraction is lb/lb.
The Gas/Oil partition coefficient defines the ratio (volume fraction CO2 in separator gas)/
(mass fraction of CO2 in separator oil). Volume fraction is scf/scf.
H2S partitioning
This model has the same data input and form as the CO2 partitioning model above.
Acidic oil (ASP) partitioning
This model has the same data input and form as the CO2 partitioning model above, but there
is no gas or separator partitioning.

REVEAL Manual

February, 2011

User Guide

166

2.3.11.3H2S souring (Legacy)


This H2S souring model is only available if the water chemistry and souring options were
selected in the control section.
Also see general description.

The souring model requires the components SO4-2, HS- and nutrient to be present. In
addition, the H2S partitioning components H2Soil and H2Sgas should usually be present within
a souring model. HS- may also be an adsorbed component, modeling its retardation. The
simplified equilibrium model may be used for souring calculations that do not contain
precipitating minerals.
The basis of the souring model is that SO4-2 reduces to HS- under the catalytic presence of
sulphate reducing bacteria (SRB).
The growth of SRB is controlled by the presence of the nutrient component within a suitable

1990-2011 Petroleum Experts Limited

167

REVEAL

temperature range. As the nutrient is used up, the rate of SRB growth reduces, but the SRB
remain present and available to reduce SO4-2 ions if they are present i.e. it is assumed that
the SRB may metabolise at a constant concentration with no nutrient present due to
remineralisation and resting cell metabolism. The SRB are assumed to not flow with the
injected water, but remain and grow within grid blocks. The net result is that as the SRB
grow, they are available to reduce SO4-2 ions within a cooled region near an injector, and the
reduced HS- ions may then form aqueous and hydrocarbon phase (assuming partitioning)
concentrations of dissolved H2S, which may then be transported in the aqueous and
hydrocarbon phases.
Temperature dependence
Minimum and maximum temperature at which the SRB may grow.
Concentration dependence
Minimum and maximum SRB concentration. The minimum concentration is assumed to be
present initially everywhere within the reservoir as a starting condition, in the form of SRB
spores. The maximum concentration is the maximum concentration that the SRB can achieve,
even it the conditions (temperature and nutrient availability) are otherwise favourable for SRB
growth.
Growth and respiration dependence
SRB growth rate - half life for SRB concentration to double under favourable conditions
(temperature within set bounds and nutrient available).
Nutrient/SRB growth mass ratio - the mass ratio of nutrient to SRB, required to reduce the
nutrient concentration as the SRB concentration increases (SRB growth). For each kg of
SRB growth, this ratio of nutrient mass is required.
Nutritional efficiency - the fraction of available nutrient that may be used for growth. The
remaining fraction is available for anaerobic respiration which reduces sulphate to sulphide.
Nutrient/sulphate reduction mass ratio - the mass of nutrient consumed for each unit mass
of sulphate reduced, modelling the nutrient requirements for respiration.
Maximum SO4(-2) reduction rate
The sulphate reduction rate (mole/kg/day) at maximum SRB concentration as a function of
temperature is entered in a table. The temperatures should be monotonically increasing. The
sulphate reduction rate at reduced SRB concentrations is a linear interpolation between zero
and the maximum value entered here as a function of SRB concentration between its minimum
and maximum values. The sulphate reduction rate is also limited by the sulphate ions present.
Reduction rate pressure dependence
The maximum reduction rate may be altered using a pressure dependent multiplier.
REVEAL Manual

The

February, 2011

User Guide

168

pressures should be monotonically increasing.


Reduction rate Total dissolved solids dependence
The maximum reduction rate may be altered using a T.D.S. dependent multiplier. The total
dissolved solids should be monotonically increasing.
Nutrient equilibrium
This is optional and relates the rate and equilibrium concentration at which nutrient in the
aqueous phase is generated from implied equilibrium with the oleic phase. This may be used
it the injection water is assumed to have zero nutrient and the nutrient requirements are
obtained by mixing and generation within the reservoir.
2.3.11.4H2S souring (Activity)
The activity based H2S souring model is available with or without the water chemistry option
selected; it is selected in the control section.
The souring model enables to take into account the reduction of SO42- to HS- under the
catalytic presence of sulphate reduction bacterias (SRB).
Two souring models are available in REVEAL:
- The OLD legacy souring model can only be used in association with the water chemistry
model and is based on the presence in the reservoir of a nutrient that will control both
growth (i.e. increase of the amount of SRBs present in the reservoir) and respiration (i.e.
catalytic action of the SRBs on the sulphate reduction reaction).
- The NEW activity souring model can be used with or without the water chemistry model
and has been proven more reliable than the old model. The way this model works will be
described in more details below.
SRB presence and activity is mainly controlled by temperature: a temperature range within
which the SRBs are active has to be specified.
If some reservoir sections are located within this SRB activity temperature range, then the
SRB growth and respiration will be controlled by the presence of a carbon source, Volatile
Fatty Acids (VFAs), within the reservoir.
These VFAs, that include chemical species such as acetate, propryonate, butyrate for
instance are coming from the degradation of oil through bacterial activity. They represent a
limited nutrient source for the SRBs and are partitioned between oil and water.
If VFAs are exhausted in the reservoir, then an HC nutrient source can be used: it is an
unlimited nutrient source but has a low generation rate.
The carbon source, should it be VFA or HC based, will be used according to the SRB
concentration and will be a function of temperature, pressure, salinity and nitrate
concentration.
The nutritional efficiency will determine how much of the total carbon source consumed is
1990-2011 Petroleum Experts Limited

169

REVEAL

used for growth and how much is used for respiration.


The SRB are assumed to not flow with the injected water: they will remain within the grid
blocks.
The net result is that as the SRB grow, they are available for instance to reduce SO42- ions
within a cooled region near an injector, and the reduced HS- ions may then form aqueous and
hydrocarbon phase (assuming partitioning) concentrations of dissolved H2S, which may then
be transported in the aqueous and hydrocarbon phases.
Use of the souring model will then enable to quantify the amounts of H2S that are formed,
enabling to understand whether they can create a problem at the processing plant for
instance and when H2S will start breaking through at the producer wells.
Also see general description.

Temperature dependence

REVEAL Manual

February, 2011

User Guide

170

Minimum and maximum temperature at which the SRB may grow.


Concentration dependence
Minimum and maximum SRB concentration. The minimum concentration is assumed to be
present initially everywhere within the reservoir as a starting condition, in the form of SRB
spores. The maximum concentration is the maximum concentration that the SRB can achieve,
even it the conditions (temperature and nutrient availability) are otherwise favourable for SRB
growth.
Growth and respiration dependence
H2S/Carbon source mass ratio - the mass ratio of H2S to carbon source. This is the kg of
H2S generated for each kg of carbon source used during metabolism.
SRB/Carbon source mass ratio - the mass ratio of SRB to carbon source. This is the kg of
H2S generated for each kg of carbon source used during growth.
Nutritional efficiency - the fraction of available nutrient that may be used for growth. The
remaining fraction is available for anaerobic respiration which reduces sulphate to sulphide.
VFA Activity rate
The SRB activity rate (rate at which carbon source is consumed for growth and respiration) at
maximum SRB concentration as a function of temperature is entered in a table. The
temperatures should be monotonically increasing. The SRB activity rate at reduced SRB
concentrations is a linear interpolation between zero and the maximum value entered here as
a function of SRB concentration between its minimum and maximum values.
Activity rate pressure dependence
The maximum activity rate may be altered using a pressure dependent multiplier.
pressures should be monotonically increasing.

The

Activity rate Total dissolved solids dependence


The maximum activity rate may be altered using a T.D.S. dependent multiplier.
dissolved solids should be monotonically increasing.

The total

Activity rate Nitrate dependence


The maximum activity rate may be altered using a nitrate dependent multiplier. The nitrate
concentration should be monotonically increasing.
Carbon sources
The VFA oil/water partitioning coefficient. The initial VFA content in the reservoir is input in
the initialisation section.
1990-2011 Petroleum Experts Limited

171

REVEAL

A fixed (not temperature dependent) hydrocarbon activity rate is entered for use when all of
the VFA is exhausted. This value may be zero.
2.3.11.5Scale inhibition
The scale inhibition model is only available if the water chemistry option was selected in the
control section, and there are precipitating minerals and the component Scale Inhibitor is
present (see component selection).
Also see general description.

Scale inhibition
The scale inhibition model increases the solubility of minerals as a function of inhibitor
concentration within the aqueous phase. The scale inhibitor may be adsorbed. Scale
inhibition is based on the assumption that the scale inhibitor acts to provide nucleation centres
REVEAL Manual

February, 2011

User Guide

172

for the precipitating mineral that prevents large particulate precipitation.


The solubility of the minerals is controlled by a saturation index (SI). The default value is zero,
and as the SI increases the soluble concentration of the mineral rises logarithmically, so that
an SI of 1.0 allows the soluble concentration of the mineral to be ten times larger than the
default value (defined by the database), before precipitation occurs.
Scale inhibition can be applied to none, any or all precipitating minerals, but they all use the
same scale inhibitor concentration to calculate the reduced solubility.
Maximum effective inhibitor concentration - the maximum effective scale inhibitor
concentration. Scale inhibitor concentrations above this maximum will not further increase
solubility.
Maximum saturation index - the maximum mineral saturation index (SI). The SI used will
rise linearly from zero to the maximum SI entered as the scale inhibitor concentration varies
between zero and the maximum effective value.

2.3.12 Solids section


2.3.12.1Asphaltene
Asphaltenes are modelled in REVEAL as a solubility limited component in the oleic phase, that
once precipitated may become trapped within the pore structure of the rock reducing
permeability.

1990-2011 Petroleum Experts Limited

173

REVEAL

The asphaltene input data can be accessed once the solids option and asphaltene component
has been selected in the control section.
The initial dissolved asphaltene concentration within the oil phase should be entered in the
initialisation section.
Flocculation properties
Flocculated density - this density is used to relate the mass and volume of trapped
asphaltene for permeability reduction.
The diameter distribution of the flocculated asphaltenes is characterised by a flocculated size
distribution index (m) and a maximum diameter (Dmax). The mass fraction of the flocculated
asphaltene with a diameter greater than D is given by the following power law.
1

D
Dmax

REVEAL Manual

February, 2011

User Guide

174

Solubility
The solubility of asphaltene is assumed to be strongly pressure dependent, generally falling
as the pressure falls towards the bubble point, then rising as the pressure continues to fall
below the bubble point. This data is entered as a table of solubility for monotonically
increasing pressure and is not extrapolated. The solubility is defined as a mass/mass (ppm)
concentration.
Rock dependent properties
Permeability reduction and rock grain structure properties are defined for each rock type.
Trapped asphaltene - the insoluble asphaltene will flocculate with a distribution of particle
sizes. Flocculated asphaltene with a diameter greater than the trapping diameter (Dt) will be
trapped and contribute to permeability reduction. The trapping diameter is a function of the
rock grain structure and porosity, and is defined next.
Dt
Dg

Dg
1

, where
is a dimensionless trapping diameter multiplier used for matching and
is the grain diameter. To trap all of the solid asphaltene, set to zero.

Reversibility - if the model is irreversible, then only the solid asphaltene that is not already
trapped may irreversibly accumulate as trapped asphaltene. If the model is reversible, then
all of the solid asphaltene, including that previously trapped, will be partitioned between
trapped and non-trapped solids according to the particle size distribution.
Permeability reduction - the trapped asphaltene will reduce the permeability according to
the equation below.
k

k 1

, where C is the trapped mass of asphaltene per unit grid block volume,
trapped asphaltene density and n is a permeability reduction index.
a

is the

2.3.12.2Wax
Waxes are modelled in REVEAL as a solubility limited component in the oleic phase, that once
precipitated may become trapped within the pore structure of the rock reducing permeability.
The details for the wax model are exactly analogous the asphaltene, except that the solubility
is temperature rather than pressure dependent.

1990-2011 Petroleum Experts Limited

175

REVEAL

The wax input data can be accessed once the solids option and wax component have been
selected in the control section.
The initial dissolved wax concentration within the oil phase should be entered in the
initialisation section.
Flocculation properties
Flocculated density - this density is used to relate the mass and volume of trapped wax for
permeability reduction.
The diameter distribution of the flocculated wax is characterised by a flocculated size
distribution index (m) and a maximum diameter (Dmax). The mass fraction of the flocculated
wax with a diameter greater than D is given by the following power law.
1

D
Dmax

REVEAL Manual

February, 2011

User Guide

176

Solubility
The solubility of wax is assumed to be strongly temperature dependent, generally falling
sharply below the cloud point. This data is entered as a table of solubility for monotonically
increasing temperature and is not extrapolated. The solubility is defined as a mass/mass
(ppm) concentration.
Rock dependent properties
Permeability reduction and rock grain structure properties are defined for each rock type.
Trapped wax - the insoluble wax will flocculate with a distribution of particle sizes.
Flocculated wax with a diameter greater than the trapping diameter (Dt) will be trapped and
contribute to permeability reduction. The trapping diameter is a function of the rock grain
structure and porosity, and is defined next.
Dt
Dg

Dg
1

, where
is a dimensionless trapping diameter multiplier used for matching and
is the grain diameter. To trap all of the solid wax, set to zero.

Reversibility - if the model is irreversible, then only the solid wax that is not already trapped
may irreversibly accumulate as trapped wax. If the model is reversible, then all of the solid
wax, including that previously trapped will be partitioned between trapped and non-trapped
solids according to the particle size distribution.
Permeability reduction - the trapped wax will reduce the permeability according to the
equation below.
k

k 1

, where C is the trapped mass of wax per unit grid block volume,
trapped wax density and n is a permeability reduction index.
a

is the

2.3.12.3Sand
The sand model in REVEAL requires that the solids option is selected in the control section
and that the components SandWater, SandOil and SandGas are present. These components
represent the concentration of sand in each of the three possible mobile phases.
Sand is modelled in REVEAL in two stages.
First there is the transport and trapping of solids (sand). This is a general solid transport
model and is not limited to sand. The transport and trapping is dependent on the solid particle
diameter and the pore throat diameter distribution defined in the physical section. Trapping
may lead to permeability reduction. Each mobile phase may transport sand and the total
sand is partitioned between the phases present according to partitioning coefficients.

1990-2011 Petroleum Experts Limited

177

REVEAL

Secondly, there is a model in REVEAL to predict sand generation, arising when the stress
within the reservoir rises sufficiently. A calculator is provided to estimate this failure criterion
based on pre-consolidation failure (Ref 24 and 26).

Sand properties
The sand particle diameter is defined, as well as the partitioning between oil/water and gas/
oil.
Once the shear rate (see mobility where c = 1) for a given mobile phase exceeds the critical
shear rate for transport, then a fraction of the sand present with a block will be transported
and the remainder will be trapped. The fraction that is trapped is calculated from the particle
size and the pore throat distribution (y(x)). dp is the effective pore throat diameter, and sp is
its log STD (standard deviation). A plugging efficiency (E) is also added to account for
bridging effects.

REVEAL Manual

February, 2011

User Guide

y ( x)

0.5

1
xs p 2

ln( x / d p )

178

sp

The trapped fraction is given by:


d

E y ( x)dx

1
2

ln( d / d p )
1
Erf
2
sp 2

, where Erf is the error function. Note Erf(-x) is equal to -Erf(x).

If significant trapping occurs, then a buildup of solids can occur. This may result in
permeability reduction. The permeability reduction is parameterised by a permeability
reduction index (n), sand density ( s) defined in the physical section and total sand mass
concentration (cs).
k

k0 1

cs

Rock dependent properties


Rock properties may be defined for all rocks, or for each defined rock type.
The sand trapping properties and their use are defined above.
Sand generation properties
Sand is generated when the reservoir pressure falls below a critical value and the stresses
consolidating the rock cannot be supported by the pore pressure.
Once the pore pressure has fallen below its critical value, then the rate of sand generation is
defined to be a function of total shear over the time step. Since shear rate has units of s-1
the total shear is the total shear rate multiplied by the time step.
Critical shear rate - sand may only be generated once the total shear rate exceeds this
value.
Sand generated per unit shear - the mass of sand generate per unit shear.
Maximum sand generated - the maximum sand that may be generated over the life of the
simulation.
Cap effective stress - this is equivalent to the pore pressure reduction from the initial value
before sand failure can occur. It is the preconsolidation effective stress at which plastic
(sand) failure occurs.
Angle of friction - the angle of friction for the rock.
This is the most important parameter and may be estimated using the PLOT button.

1990-2011 Petroleum Experts Limited

179

REVEAL

The main idea of this model is that laboratory tests that calculate preconsolidation (Cap)
effective stress when end cap hardening occurs may be used to estimate failure.
A preconsolidation (Cap) effective stress is defined to be an isotropic (all stress components
equal) effective stress (rock stress - pore pressure).
End cap hardening is the point at which the grain structure starts to fail and is indicative of
plastic deformation and is used for the criteria for sand production. This occurs before
catastrophic (shear) failure.
The model in REVEAL follows the work in Ref 26, and relates the isotropic preconsolidation
(Cap) effective stress to that in a non-isotropic reservoir.
As the pore pressure falls, the vertical stress is assumed to be constant and the horizontal
stresses reduce according to the poro-elastic coefficient entered. A mean (S) and variance
REVEAL Manual

February, 2011

User Guide

180

(Q) of the three stresses are calculated.


A stress path (blue line) is considered, starting at the initial reservoir pressure and reducing
the pore pressure. As the pressure reduces, the minimum principal direction stress reduces
according to a poro-elastic coefficient.
A shear failure criteria (green line) is defined from the angle of friction (Mohr's circle), and the
two stresses S and Q.
The elastic limit (red line) is calculated by relating the isotropic preconsolidation effective
stress limit to an isotropic effective stress limit.
The pore pressure reduction before elastic deformation is reported and is the value
recommended in REVEAL for sand failure.
Model equations
Prec
P
P0
dS/dP

Preconsolidation (Cap) effective stress


Reservoir pressure
Initial reservoir pressure
Angle of friction
Poro-elastic coefficient

P0 P

Pressure reduction

S1
S2 = S20 dS/dP (P0 P)
S3 = S30 dS/dP (P0 P)

Maximum stress
Middle stress
Minimum stress

S = (S1 + S2 +S3) / 3 P

Mean effective stress

Q2 = [(S1-S2) 2 + (S2-S3) 2 + (S3-S1) 2] / 2 Stress variance


M = 6 tan / (3 sqrt(tan2 + 1) - tan )

Critical state line

M 2 S2 = M 2 S Prec - Q2
MS=Q

Hardening criteria (plastic failure)


Fracturing criteria (faulting failure)

Q = 0 => S = Prec => P = (S1 + S2 + S3) / 3Isotropic preconsolidation


- Prec
definition

(Cap)

pressure

Note that while these equations are used for the plot, during a simulation the three principal
direction stresses (S1, S2, S3) are calculated using the full rock mechanics method
accounting for thermal and pressures effects as well as strain. From these S and Q may be
calculated, then a shear failure criteria (angle of friction) and hardening failure (cap pressure)
may be calculated. Note that the cap failure uses the user input angle of friction. If the
calculated failure criteria exceed those for the rock, then failure is predicted. In the case of
1990-2011 Petroleum Experts Limited

181

REVEAL

the sand generation model, this is when the calculated cap pressure exceeds the user input
cap (preconsolidation) pressure.

2.3.13 Wells section


2.3.13.1Location and properties
This section initialises the location and properties of wells. Use the Plot button to view the
wells (green) and completions (red) over a plot of the grid. To toggle between wireframe and
solid views of the plot use the 'W' and 'S' keys.

NOTE: To be able to select annular flow through a multilateral well description, the
"Friction and Heat Transfer" radio button must be selected in the above screen.
Well list
Wells may be added using the Create button. Once a well has been added, its properties
may be modified by selecting the well in the list. A well may be deleted by selecting it in the
REVEAL Manual

February, 2011

User Guide

182

well list and using the Delete button. The well name (or label) is set in the well identification
section.
Sort Alphabetically - the well order is permanently sorted alphabetically and will be used in
the order elsewhere in the interface and results.
Data for all wells
Trace component averaging - this models define how the concentration of components
within phases from producing wells are calculated. The default option (block) sets the
component concentrations equal to the concentrations present within the producing block, and
is generally recommended. The average option sets the component concentrations equal to a
horizontal spatial average, which makes the assumption that component concentrations have
a cubic form near the well.
c

28 ci , j ,k

ci

1, j , k

ci

1, j , k

ci , j

1, k

ci , j

1, k

24

Shear model - the shear model applies a shear thinning correction for water injection wells
containing polymer and gel components. See the mobility section for more details.
Well identification
Well label - a name for the well that can be edited to identify the well.
Enter well position by - the method of defining the well completions can take three forms.
A completion table containing the I,J,K coordinates of the completed blocks
A vertical column of grid blocks identified by I,J block coordinates
A general multi-lateral well may be defined. The general multi-lateral well includes the well
deviation survey and allows friction, heat transfer between the well and reservoir and
realistic cross-flow. Depending on the well type selected, the input data will vary.
Wells present within refined regions must be defined as multi-lateral.
For radial and curvilinear geometries the first two wells are defined by the geometry and their
location cannot be altered. Additional wells for these geometries are not recommended.
Convert to multilateral - this will convert a completion table or vertical column well to a
deviation survey (multilateral well). Care should be taken with this option since clearly a
trajectory cannot be accurately calculated from a completion table.
Allow unstable THP control - if this option is selected (default), then a well exhibiting
unstable flow will be allowed to flow, if it is not selected then the well will be closed for the
current time-step. Unstable flow is defined to be when the gradient of the VLP curve changes
sign at lower rates indicating that the frictional gradient is insufficient to maintain steady tubing
flow.

1990-2011 Petroleum Experts Limited

183

REVEAL

Layer data & completion table


For the completion table or vertical column method of defining the well location, the data for
each block associated with the well are entered. For the completion table, the I,J,K
coordinates of the well must be entered for each block.
The block connection factor (CF) is defined below. This may be entered directly, or the
constituent parts entered, or calculated from the well geometry (kh and re).
2 kh

CF
ln

re
rw

where CF is the well connection factor and is a unit conversion factor. kh is the effective
penetration of the well, rw is the wellbore radius and re is the effective radius at which the
block pressure is defined. S is the mechanical/perforation skin.
Completion table
The I,J,K coordinates of each completed block are entered
Next a flag is set to whether the block is perforated or not
If the block is perforated, then either CF may be input directly or it may be calculated
If the CF is to be calculated, then the wellbore radius (rw), mechanical skin (S) and nonDarcy skin (D) are set (see notes below on non-Darcy flow). The kh and effective radius
(re) may either be calculated assuming a fully penetrating well in either of the three principal
directions or they may be entered directly
This table should be scrolled right to enter all of the required data.
Vertical grid column
The I and J coordinated of the column should first be entered
Then for each layer, the perforated flag should be set to 'Yes' or 'No'.
For perforated wells, the wellbore radius (rw) and mechanical skin (S) should be set.
Additionally a multiplier to the CF may be entered to model partial penetration or deviation.
For the well-bore heating model, the earth and electrode locations are identified in the final
column of the completion or layer data table.
Multilateral well
If the well is a multilateral or defined by a deviation survey, then it must be given an identifier
name. Select the Edit Multilateral button to enter a deviation survey.
NOTE: To be able to select annular flow through a multilateral well description, the
"Friction and Heat Transfer" radio button must be selected in the Well Section - well
positions and properties screen.

REVEAL Manual

February, 2011

User Guide

184

A reference location for the top of the well must be entered in either grid or map axes. A
hierarchy of connected tubing sections (possibly consisting of several branches) can be added
or deleted from the tubing list. For each tubing section a deviation survey is entered using
either grid coordinates or deviation survey coordinates. Any interval on the tubing section may
be completed and given a radius, skin, roughness, internal diameter and heat transfer
coefficient (well conductivity) and PI multiplier. The well may be viewed using the View button
at any time. Note that deviation surveys can be imported from previously exported files.
Excessive discretisation of the well (short lengths) may significantly reduce performance.
Tubing Flow
The friction for tubing is calculated from the roughness (R), by first calculating an effective
roughness (Reff) from the hydraulic diameter (Dh).
Reff

R
Dh

This is then correlated with the Reynolds number using the Moody diagram to calculate a
friction coefficient (F). The frictional pressure drop is then calculated.
P

FL Q
Dh A

If the user selects the tubing to be an orifice, then a discharge coefficient (K) is required and
the frictional pressure drop is calculated.

1990-2011 Petroleum Experts Limited

185

REVEAL

Q
A

Heat Transfer
Considering the heat transfer from the fluid flowing in the annulus to the fluid flowing in the
tubing, this heat transfer will be by way of three components: the heat transfer by way of
convection from fluid to tubing wall, by way of conduction through the tubing wall, and by way
of convection from the tubing wall to the fluid. Alternately if the tubing fluid is hotter than the
annular fluid, then heat transfer will be in the other direction.
Of these three elements, the conductivity of the pipe wall is a relatively large value as
compared to the other two. However, the total heat transfer is the combination of the three
elements, the actual heat transferred will be highly dependent upon the lowest value of these
three.
Before the release of IPM Version 7.5, the Heat Transfer Coefficient input for the Multilateral
well is the total heat transfer coefficient across the fluid from the annulus to the tubing (or
from tubing to annulus). The convection components of the heat transfer were implicitly
considered in the total heat transfer coefficient.
With the release of IPM Version 7.5, this heat transfer coefficient represents just the
conduction through the tubing wall. The forced convection elements are taken into account by
considering the Nusselts number.
Heat transfer between annulus fluid and tubing wall and from tubing wall to tubing fluid is
modeled using a forced convection analogy with Nusselt number (Nu) correlated with
Reynolds (Re) and Prandtl (Pr) numbers. The heat transfer between the annulus (or base
pipe when no annulus is present) is modeled using the the user entered effective total heat
transfer coefficient.
For heat transfer between tubing and annulus:
Nu

hL
k

Nu

3.66

Nu

0.023 Re 0.8 Pr 0.4

for Re > 2000 and Pr < 0.6

Nu

0.027 Re 0.8 Pr 0.33

for Re > 2000 and Pr > 0.6

, where h is the heat transfer coefficient, L is the segment length and k is the fluid
thermal conductivity.

Re

for Re < 2000

vd

, where d is the hydraulic diameter


Pr

Cp
k

REVEAL Manual

February, 2011

User Guide

186

For multi-phase flow, all parameters are calculated as mass weighted fractions of the
constituent phases.
All heat transfer coefficients are with respect to the well internal area ( ID.ID/4).
Gravel Pack
Gravel packs may be specified using a similar model to that in PROSPER and calculates a
Darcy and non-Darcy contribution to pressure drop from the reservoir to the well.
P

aQ 2

where

bQ

9.08 *10 13 B 2 L
12 A2

BL
12 *1.127 *10 3 KA

1.47 *10 7
K 0.55

and

Pdiameter
4
12

S pf Peff Pint

K is the gravel pack permeability


L is the gravel pack length
Pint is the perforation interval
Pdiameter is the perforation diameter
Peff is the perforation efficiency
Spf is the shot density
B is the fluid FVF
b is the turbulence factor which may be calculated (above) or entered directly by the user
For an open hole completion, the area (A) is calculated
A

2 rw Pint

, where rw is the flowing wellbore radius.

The Vs (screen velocity is calculated) and may be used as a well control constraint in the
schedule section.
If the gravel pack is modeled with the annular flow model, then the gravel pack flow-pressure
drop relation is also used for flow along the annulus, with the area (A) being the annulus flow
area and the length (L) being the interval length.
Casing flow and ICD
If annular flow is present, then flow of heat and fluid between annular and tubing may be
modeled. The heat transfer coefficient is relative to the tubing ID. Roughness and ID/OD for
the casing are required.
Additionally, the casing and inflow flow may be set to zero for a section of completion
modeling a packer.
The fluid flow between the tubing and annulus may take several foms.

1990-2011 Petroleum Experts Limited

187

REVEAL

1] User - the tubing - annular flow is modeled using an orifice plate model.
P

1
Q
K
2
A

, where K is the discharge coefficient, Q is the flow rate per unit length and A is
the flow area per unit length.
2] Tubing - this is no flow
3] Screen - various screens are allowed, effectively giving very low flow resistance between
the tubing and annulus. For the screens, an orifice type pressure drop is calculated using a
discharge coefficient of 1.
A 6.625" screen has an effective flow area of 27.29 in2/ft.
A 5.5" screen has an effective flow area of 23 in2/ft.
A 4.5" screen has an effective flow area of 19.19 in2/ft.
4] EqualizerTM - the geometry and pressure loss characteristics for these ICD devices is
included, and the various geometries available may be selected.
The user should take care that the deviation survey is discretised to model the correct lengths
for the equipment modeled. Adjacent equipment of the same type does not require additional
deviation survey disretisation. For example is 3 joints consecutively have 40' equalizers of the
same type, then a single entry for a 120' segment is correct, and will generally reduce
computation time compared to modeling 3 individual sections of 40' each.
REVEAL initially calculates the intersection of the completions with the matrix grid blocks. It
then calculates the Peaceman connection factors [Refs 7,13].
The effective radius (re) is calculated using Peaceman's equations modified for irregular grids
and partially penetrating/deviated wells. Peaceman's equation for a fully penetrating vertical
well with non-uniform grid dimensions and anisotropy is given below.
1

re

0.28

ky

kx 2
y
ky
1

kx
ky

kx
4

ky

x
1

kx

The Peaceman well connection (PI) accounts for the logarithmic pressure distribution around
a vertical well, and for a given rate (Q) and bottom hole pressure (Pwf) sets the appropriate
mean block pressure (P) that will give the correct inflow (Q=PI(P-Pwf)) and total rate to
surrounding grid blocks using the linear Darcy formula.
Heater Conductivity
If an electrical heater is defined in the control section, then an electrical heater may be
specified for any well segments by entering a heater conductivity. This conductivity relates

REVEAL Manual

February, 2011

User Guide

188

the heating of the fluid within the wellbore from the heater, and the well conductivity now
relates the heating of the reservoir from the heater.
The heater conductivity is also with respect to the well internal area.
If this option is selected, then maximum power and maximum temperature for the heater will
require to be specified in the schedule section.
PI modifiers
Non Darcy factor - a non-Darcy factor may be applied to the gas phase of any well. This
factor is scaled for each completed block according to the Darcy connection factor (assumes
equal drawdown for completed blocks) and applied as a rate dependent skin.
The block geometrical connection factor (CF) prior to the non-Darcy effect is defined as
CF b

2 kh
r
ln e
S
rw

and is modified to include the non-Darcy skin as


CF bnonDarcy

2 kh
r
ln e
rw

Dwell
Db Qb

, where

Db

CF b
b

CF b

Note that if the well completion blocks are entered as a table with only the total connection
factor, the non-Darcy skin will be applied with the denominator of the connection factor
assumed to be unity.
PI Multiplier - the optional PI multiplier will multiply all of the well connection factors for all
blocks intersected by the well regardless of the well type (vertical column, completion table or
multilateral).
Min XFlow DD - this may optionally be set to limit the minimum drawdown associated with a
well completion. This can be useful for numerical reasons, where there is very large mobility
and hence potentially vanishingly small pressure drop between the well and completed block.
For example steam injection into a reservoir with high permeability, may have extremely large
injectivity, where the well to completed block drawdown may be less than 10-3 psi causing
cross-flow instabilities. This method is adjusted automatically within REVEAL, but may be
over-ridden with this option. The default internal value for this parameter is 0.1 psi for all
wells and 1.0 psi for steam models.
Filter cake - a compressible filter cake model is available for each well and may be accessed
by selecting the filter cake button. See the filter cake page for more details.
Pseudo Pressure - a pseudo pressure calculation is performed to modify the inflow for gas
wells. Note that currently, only density and viscosity are included in the pseudo-pressure
calculation.

1990-2011 Petroleum Experts Limited

189

P
z

REVEAL

Pres

Pres

Pwf

res

is replaced by

Pwf

P
dP
z

The pseudo pressure option in REVEAL is only available for the connection between the well
and grid block where it intersects.
Drainage region (for PI calculations)
A PI is calculated base on a produced rate, Pwf and mean reservoir pressure. In REVEAL,
the drainage region pressure may be calculated by two main methods (the default and
recommended method is by diffusivity).
Drainage method (diffusivity) - if the diffusivity method is selected, then the drainage region
associated with each well is calculated based on a diffusivity transit time from the well. This
method does not require a well to be flowing and the regions for all wells may overlap. Also,
for this method the diffusivity time is required to be input and the drainage regions may be
updated only at the start of the simulation, or at each time step.
Diffusivity time - the maximum diffusivity time at which blocks are associated with a well.
The larger this value, then the larger the drainage regions. If a negative value (-1) is
selected, then the diffusivity time will be set to the current time step size.
Update - the diffusivity drainage regions are updated every simulation time step. This is
always used if the diffusivity time is set to a negative number indicating the current time step
should be used.
Drainage method (streamlines) - if the streamlines method is selected, then the drainage
region will be calculated every time step, based on the region where flow is towards each
producer (or away from each injector). This is equivalent to the extent of streamlines towards
or away from each well. This method depends on the well production rates and for a shut-in
well, the drainage region consists only of the blocks perforated by the well. One of the
limitations of this method is that the drainage region would change if the rates are changed.
For this method, the drainage regions for all producers do not overlap, and the drainage
regions for all injectors do not overlap.
If the REVEAL model is part of the RESOLVE model, then when generating the IPR's in
RESOLVE, the Drainage Region option specified here in REVEAL will not be considered.
Friction and cross-flow model
Wellbore friction and heat transfer - if this option is selected then an internal diameter and
absolute roughness should be entered for every well segment of the multilateral well
description, whether it is completed or not. This option is only available for multi-lateral well
descriptions. By default he wellbore friction model uses a no-slip frictional pressure drop
model, taking into account a mean density and viscosity at each node within the wellbore.

REVEAL Manual

February, 2011

User Guide

190

Use gas slip flow correlation - if this is selected than a slip flow correlation (Petroleum
Experts 2) is used to calculate the holdup, density and viscosity.
Use Polymer/Gel Viscosity - this option is only available if polymers or gels are present. If
this option is selected, then the aqueous phase mobility will be modified by the current
viscosity model including shear thinning. The shear rate ( ) within the tubing is defined as:
4Q
r3

The effects of polymer and gel within an injecting thermal fracture model attached to the well
are also included. The shear rate within the fracture is defined as:
4u
w

Max Segment Length - this is the maximum tubing segment length used when the multilateral friction model is present. If pipe segments exist that are longer than this length, then
additional nodes will be added to improve the discretisation of the wellbore friction calculation.
Note that excessively short segments may slow calculations with long tubings. A default
value of 100 ft is present.
Cross Flow - a cross flow model is available for any well. It is recommended that crossflow
is used for wells for which a trajectory and wellbore friction has been set using the multilateral well model, otherwise the crossflow fluid will be the combined produced or injected
fluid not taking into account the local fluid within a wellbore. This model is not recommended
to be used in conjunction with fractures, since cross flow within the fracture is not modelled.
Annular Flow - tubing (base pipe) and casing (annular) flow are allowed for multi-lateral
wells. If this is selected, then annular data and ICDs may be modeled.
If cross flow is present, then the well must always remain overall an injector or producer.
This may be important when connecting to GAP through RESOLVE.
Pwf reference depth
The default (top of well tubing) location of the Pwf reference pressure depends on whether
the well is defined by completion table, vertical column or a multilateral. For a completion
table or vertical column, the Pwf is located at the top centre of the first block in the completion
list, whether this block is completed or not. For a multilateral well the Pwf is located at the
first (reference) node.
Alternatively, a reference depth may be entered for each well.
If a reference depth is set that does not correspond to the default (top) reference depth, then
a static pressure drop is calculated from the 'top' node to the reference depth based on the
density estimated at the reference depth.

1990-2011 Petroleum Experts Limited

191

REVEAL

The reference depth pressure is calculated differently for any well model with a deviation
survey and frictional pressure drop calculations (usually termed multilateral well with friction).
For this type of well definition, the first node is the reference start coordinate for the well.
This is usually the top of the completion and may be connected to TPD tables with the same
reference depth. However, occasionally it is desirable to model a well inside REVEAL above
the usual Pwf reference - perhaps to model thermal heat transfer to the overburden. In this
case if the user specified a reference depth below the first node of the well model, then the
pressure inside the tubing at this depth is the desired Pwf, which cannot be calculated with a
static gradient. However, this is solved by ensuring the total system response satisfies the
desired Pwf at the reference depth within the tubing.
In the case where a multilateral well with friction is specified and the reference depth is within
the well trajectory, then the tubing pressure at the first measured depth equal to the reference
depth will be used.
Note that this is the tubing (base pipe) pressure and not the annulus or any other well internal
pressure at this depth.
Also note that the first measured depth is the point inside the tubing at the specified measured
depth closest to the first node - this is required for cases where the well trajectory may have
multiple pressures at the desired reference depth (e.g. multi-lateral or horizontal well).
Lift curve
A PROSPER lift curve (*.tpd) may be imported. Generally it is recommended that the lift
curve is imported and associated with a well in the schedule section rather than in the well
section. This is because a well may change from an injector to a producer in the schedule,
and even if a lift curve is defined in this section, it must be reset in the schedule section. A lift
curve is only required in this section if REVEAL is being controlled by GAP/RESOLVE and the
schedule is effectively ignored. Care should be taken to ensure that the imported lift curve is
of the correct type (e.g. water injector or producer) for the well.

2.3.13.2Filter cake
The filter cake model is applied to wells and fractures associated with water injections.
If this model is being used with wells (as opposed to fractures), then the internal surface area
of the wellbore is used to calculate the filtrate buildup. Therefore, a multi-lateral (deviation
survey) wellbore description is recommended, and the completion table well description is not
recommended unless the wellbore direction (X, Y or Z) is used to define the wellbore. If the
completion table is used and the well direction is not defined, then it is assumed to be vertical,
and the kh (if entered) is used to estimate the well length.
REVEAL Manual

February, 2011

User Guide

192

Filter cake mass concentration


Data entry is optional, with the default applying no filter cake skin. A concentration of filtrate
equal to zero corresponds to the model being switched off. A non-zero value will result in the
model parameters being applied.
Filtrate concentration - the total mass fraction of filtrate (w).
Filter cake default properties
Several filtrate models are provided (see SPE 28488), but in general this data should be
obtained from a core test. Select the mineral and oil coated status, they use the apply button
to set the properties.
Filter cake properties
Filtrate density - the dry density of the filtrate ( f).
The remaining data relate the filter cake permeability to its porosity and the porosity to the
applied pressure drop across the filter cake (compressibility). A core test should be
performed that obtains the pressure drop across the filter cake after known total water flow
1990-2011 Petroleum Experts Limited

193

REVEAL

at a constant rate. Additionally, the filter cake thickness should be obtained dynamically as
the test is being performed.
The sample data provided should only be used as guidelines. In general data matched from a
core test is required.
The permeability is obtained from the filter cake pressure drop ( P) and filter cake length (
L).
k (mD )

Q( ft 3 / d ) (cP ) L( ft )
6.3266 10 3 A( ft 2 ) P( psi )

The porosity is obtained from the cumulative water volume passed (W) and the filter cake
length.
Ww

A L1

The permeability-porosity relation should then be fitted to either an exponential or power law.
k

k0 1

or

k0e n 1

, where k0 and n are entered as the two required parameters.

The compressibility (c) is calculated as a fit to the following equation.


max

c P

Finally a minimum porosity is required that accounts for the maximum filter cake compression
and minimum permeability.
These data are used to calculate the filter cake skin as a dynamic function of cumulative
water injected per unit area and the filter cake pressure drop.
Note that if the maximum porosity is set to one and the power law equation is used for the
permeability-porosity relation then the commonly used compressible filtrate equation is
reproduced.
k

k0 c P

, which is often expressed in terms of specific filtration resistance (r), which is the
reciprocal of permeability r r P .
s

2.3.13.3Fractures
This screen is only active if fracture models is selected in the control section. It initialises the
fracture type (producing or thermal injection), location and initial dimensions.
Further information on rock mechanics and thermal fracturing can be found here: Rock
Mechanics and Thermal Fracturing.

REVEAL Manual

February, 2011

User Guide

194

All fractures have an origin at the centre of a grid block (with coordinates IJK), associated
with a completed well. The fracture then has a two-dimensional shape running down the
centre of adjacent blocks with constant (X, Y or Z) coordinate.
Some general comments about the thermal fracture model are present lower down on this
page.
Fracture list
Use the Add button to add fractures to the model. Select a fracture in the fracture list to alter
its properties or use the Delete button to delete the fracture. The Clear button will delete all
fractures.
Auto Generate Fracture Seed - this option may be used to seed multiple potential fractures
along a well, effectively including most or all perforated blocks. These seed locations will be
flagged as such in the Fracture Position screen as Auto generated fractures.

1990-2011 Petroleum Experts Limited

195

REVEAL

As such, these fracture locations will be tested each timestep and if it looks likely that the
fracture may initiate, then the most promising location will be included in the full fracture
calculations. If a fracture has already propagated into a seed location, then an additional
fracture will not be started here.
This method is intended to help initially with analysing potential fracture initiation, rather than
an automatic option that removes the requirement to consider where fractures may initiate.
Fracture position
Give the fracture a label name or use the default and select a well to be associated with the
fracture. Every fracture must be associated with a well. For both injection and producing
fractures more than one fracture (multi-layer fractures) may be associated with a well.
The location of the fracture origin is then defined. For wells with a completion list or vertical
wells, the completed block number for the fracture is entered. Note that this is the completed
block number and not the layer number. For a multi-lateral well the coordinates of the
fracture centre are input; use the Calculator button to select a completion segment and
interpolate a position along the completion (using either an X,Y or Z coordinate).
The following sketch illustrates a well entered in REVEAL using the "multilateral description".
The blue lines correspond to the well trajectory as the red lines correspond to the completion
intervals. The fracture position (origin) is defined with three geometric coordinates X0, Y0 and
Z0. It has to be within a completed block.

The option "Coordinates Calculator" is used to calculate the three coordinates X0, Y0 and
Z0 by fixing only one of them. The user has to enter the completion interval where the
fracture origin is located (between the two block coordinates [X, Y, Z] and [X', Y', Z']),
clicking on the left boxes as shown below:

REVEAL Manual

February, 2011

User Guide

196

Once the completion interval is selected, one has to enter one of the three coordinates X0,
Y0 and Z0 (say X0).

The other two coordinates (Y0 and Z0) are interpolated, clicking on "Calculate", by the
program which assumes that the fracture origin is situated on the straight line defined by the
two ends of the completion interval.

1990-2011 Petroleum Experts Limited

197

REVEAL

Note that for multi-lateral wells, the fracture origin will be moved from the input position to the
centre of the block containing the input position when the calculation is run. This is because
the fracture origin must be defined at a block centre, since the connection of the well to the
block is defined by reference to the block centre.
Fracture model
Model - three fracture models are available, a 1D analytical thermal fracture model
(Geertsma deKlerk), a finite-element thermal fracture model (3D model) and producing
fracture model. The first two models are thermal injection fractures, where the shape of the
fracture evolves as the fracture propagates, while the producing fracture model has a static
fracture shape, assumed to be sustained by proppant or acid treatment.
Geertsma deKlerk - this model is basically a volume balance model based on a leakoff
correlation. The leakoff and spurt coefficients are the only additional data required for this
model. This model is a single wing model and the fracture origin should be positioned in the
first row of the grid (I=1 or J=1) so that the wing may propagate in the X+ or Y+ direction.
The propagation direction is normal to the minimum principal stress direction.
3D fracture - this model calculates the fracture shape including effects of stress changes due
to injected fluids, elastic fracture opening, propagation depending on rock strength, flow within
the fracture, leakoff rate balancing the well injection rate and Pwf. The propagation direction
is normal dependent on the minimum principal stress direction.
This model may be a single wing (Image ON), in which case the fracture is only calculated on
one wing (X+ or Y+) of the fracture. For this fracture the inflow from the second wing (X- or
Y-) is not added to the grid, therefore this fracture model should always be positioned at the
minimum X or Y coordinate (I=1 or J=1) within the grid. Reported injection rates will be the
total injected by the well-bore, and therefore may be as much as double that injected into the
reservoir simulation model. If the Image OFF option is selected, then both wings of the
fracture will be calculated and the fracture should be positioned within the grid model.
The double wing option is recommended.
REVEAL Manual

February, 2011

User Guide

198

Fixed dimension fracture - this model uses a fixed fracture shape and width distribution to
calculate inflow from surrounding blocks to a producing or injecting well. The orientation of
each fixed dimension fracture may be normal to either the X, Y or Z directions.
The shape of the fracture plane may be rectangular or elliptical. The width at the fracture
origin is entered, and the width profile defined to be either constant (=central value) or
decrease with an elliptical cross-section towards the fracture boundaries.
Additionally, it is possible for the fracture geometry to be completely specified by the user. In
this case coordinates relative to the fracture centre must be entered (105 points in the correct
order), along with the width and permeability for each node.

For the user defined fracture, the node, coordinates, width and permeability are required.
The geometry data will have to come from an external source (or from a previously
calculated thermal fracture model in REVEAL). If only the centre and perimeter coordinates
are specified, then the internal node coordinates required by REVEAL may be calculated.
Additionally smoothing of the coordinates may be performed by equal area or equation
perimeter lengths (recommended).
Double/single wing - If only half of the fracture is defined because the injection well is at the
edge (first row) of the model due to symmetry reason, then the single wing fracture model
1990-2011 Petroleum Experts Limited

199

REVEAL

may be used. In general for almost all applications, the double wing calculation should be
used, this is because confusion can arise from the well rate being double that injected into the
reservoir for the single wing model and there are no performance improvements using the
single wing variant.
Initial dimension - for all three fracture models the initial dimensions of the fracture are
required; a half height above and below the fracture origin and a half length. For the injection
(thermal) fractures, this data is used to describe the initial fracture dimensions arising from
formation damage or naturally occurring fractures. The propagation of a fracture starts when
the well Pwf is large enough to generate a stress intensity at the fracture tip greater than the
critical stress intensity. Prior to propagation initiation, no inflow from the fracture is assumed.
A smaller initial fracture size will require a larger initiating Pwf and hence longer Darcy (well
completion only) inflow time before the fracture is initiated.
Generate fracture text debug data - if this option is selected, then data is output to the text
debug file listing properties at each node on the fracture surface at each time step. This data
may be large and therefore may not be output if this option is deselected.
Fracture properties
Orientation plane - this is the minimum principal stress direction and a fracture will
propagate with a plane parallel to this direction.
Permeability - for the 3D fracture and producing fracture, a two dimensional finite-element
grid is used and explicitly models the fluid flow and pressure drops within the fracture. For
these fracture models, the permeability (k) within the fracture must be defined. Four models
are available, including:
constant permeability
constant conductivity
Fcd (dimensionless fracture conductivity)
parallel plate with user multiplier
The latter two models depend on the fracture width (w), fracture half length (L1/2) and Xdirection reservoir permeability (kx) for the Fcd model, and are defined below.
k

Fcd k x L1 / 2
w

w2
12

An Fcd value of 500 to 1000 represents the infinite conductivity approximation.


Closed fracture width - this is the fracture width used for flow calculations within the fracture
for regions within the fracture where the fracture has previously been opened, but has since
closed.

REVEAL Manual

February, 2011

User Guide

200

Heat flux function - this describes the temperature profile within the fracture, and is basically
a power law correlation with a value of 1 corresponding to a linear temperature profile.
Fracture skin - this may be included for this model, reducing injectivity with a positive value.
Non-Darcy beta factor - this may be entered for gas producing fractures, the pressure
gradient, gas velocity within the fracture is modified as follows:

The default units of beta are Forchheimer (atm.s^2/g).


Regarding the beta factor, the following equations can be considered:
1. In Field Units

Which leads to the beta units being

2. In Metric Units

Which leads to the beta star units being:

Therefore, if a beta factor corresponding to the metric units is obtained from correlations, it
will be needed to correct it to enter it in REVEAL in field units by dividing it by g, as illustrated
below:

This is the same concept than when considering a head calculation in metric and field (i.e.
from lb/mass to lb/force).
Leakoff and spurt coefficients - these parameters are required for the Geertsma deKlerk
1990-2011 Petroleum Experts Limited

201

REVEAL

model and are described separately.


Fracture shrink mode - this option is only for the 3D thermal fracture model.
In the case where a fracture stops propagating due to insufficient well rate or Pwf the fracture
shape calculation may either:
keep the fracture area constant and reduce the width (width shrinkage)
reduce the fracture area to maintain the propagation criteria on the fracture perimeter
(perimeter shrinkage)
a more stable version of the perimeter shrinkage model is also provided that reduces
fracture shape oscillations in most cases - this is achieved by:
a) coupling the fracture to the well model using line source rather than central point where
possible.
b) not shrinking the fracture perimeter when it cannot be sustained open, rather using the
minimum fracture width to reduce flow into closed regions of the fracture.
c) better predicting high stress contrast barriers.
It is generally recommended that the predictive shrinkage model is used, since it better
handles fracture closure.
Fracture boundary mode - this allows the boundary fracture nodes to be spaced by equal
perimeter or equal segment area. The default option of equal perimeter is recommended for
almost all cases. The equal area option may be used for fractures that develop very large
aspect ratios, while remaining centered on the initial seed location.
General thermal fracture comments
The thermal fracture model couples the dynamic reservoir matrix conditions with a finite
element solution of fracture mechanics and an injection well performance.
The thermal fracture model is designed to test initiation and propagation of fractures. At early
stages, initiation is largely controlled by the Pwf that may be maintained and the reduction in
stress near the injection site where cooling occurs, which is a function of the well injection
rate. At later stages the size of the fracture will largely be controlled by the leakoff rate and
the shape by the stress distribution.
It is therefore strongly recommended to use a well injection curve with Pwf and temperature
defined for a range of injection rates.
More than one fracture may be 'seeded' along a wellbore, where sand and shales are
explicitly defined within the simulation model to investigate where a fracture may occur first
and whether it is likely to penetrate adjacent layers.
Additionally, fixed dimension fractures may be defined for production (or injection wells).
The model makes the following assumptions.
REVEAL Manual

February, 2011

User Guide

202

1] The stress field tensor within the reservoir is calculated in the minimum principal direction
defined by the user. The stress field within the reservoir is calculated at any time step from
the prevailing temperature and pressure distribution, the initial stress distribution, poro-elastic
and thermo-elastic stress reduction parameters.
2] Given the stress field acting to close any fracture, the pressure and width distribution with a
fracture of fixed perimeter dimension is calculated using an elastic stress-strain relation
coupled to the flow within the fracture and leakoff to the reservoir matrix. This is coupled to
the injection potential of the well. The elastic properties required for the fracture include
Young's modulus and Poisson's ratio.
3] The fracture perimeter is adjusted by an iteration procedure to satisfy the fracture
propagation criteria that the stress intensity on the perimeter is equal to the critical stress
intensity entered by the user.
For the thermal fracture model, a two-dimensional finite element grid is used and coupled with
the overall three-dimensional finite difference main model grid, as illustrated below for a
vertical fracture.
This finite element grid explicitly models the fluid flow and pressure drops within the fracture,
and is characterised by triangular internal elements and quadrilateral boundary elements.

1990-2011 Petroleum Experts Limited

203

REVEAL

The fracture properties are controlled by both pressure, temperature and flow variations near
the wellbore. The model is based on the calculation of the effects of the pressure distribution
variation due to injection, the stress applied on the fracture surface and the rock elastic strain.
The following parameters can therefore be considered in the fracture model:

REVEAL Manual

February, 2011

User Guide

204

The following relation will be used to balance a stress-strain integral equation over the surface
of the fracture:
P - = strain(w)
The parameters included in this equation are affecting the fracture as follows:
a) The pressure is acting to open the fracture and the stress is acting to close the fracture. It
will be a function of both pressure and temperature. The stress value taken into account will
not be referring to the specific pressure and temperature at the exact point considered, but to
the pressure and temperature distributions within the system. For instance, as the stress is a
function of rock expansion, it will be lowered if the temperature drops. Therefore, if the point
at which the stress needs to be estimated is surrounded by a cool area, the stress value at
this specific point will depend on the extension of this cool area.
b) The pressure distribution will be a function of the flow behaviour within both the fracture
(Qfrac) and the matrix (Qleakoff). The leakoff will be strongly dependent on the fracture size,
reservoir and fracture pressures and the mobility of injected fluid, which is strongly
temperature dependent through viscosity. The pressure distribution will then be function of
the ratio between the flow within the fracture (i.e. which will tend to open the fracture) and the
leak off flow (i.e. which will tend to decrease the fracture propagation capacity).
c) The injected fluid (Qinj) and central pressure (Pwf)/temperature (Twf) will be dependent on
the injection VLP and the fracture leakoff properties.
1990-2011 Petroleum Experts Limited

205

REVEAL

d) The fracture tip stress intensity represents the resistance of the reservoir medium to the
fracture propagation. It will be a function of fracture width (i.e. strain): effectively, as the
width of the fracture increases, the stress applied on the fracture focuses on the tip of the
fracture, and will tend to propagate the fracture.
To investigate accurately the initiation and propagation of the fracture, it will be needed to
have a relation between the well flowing bottom hole pressure and the well injection rate: it
will be needed to have a well VLP.
Effectively, the following Pwf vs. Qinj diagram can be drawn:

Therefore, for the pressure initiation, it will be needed to have a high flowing bottom hole
pressure, therefore linked to a low injection rate. However, it will be necessary as well to
reduce the stress as much as possible by cooling the near wellbore area. However, in order
to cool the near wellbore area, a high injection rate will be needed. Therefore, the fracture
propagation conditions would be a balance between flowing bottom hole pressure and bottom
hole temperature.

REVEAL Manual

February, 2011

User Guide

206

2.3.13.4Geertsma deKlerk fracture


This is a simple model that only allows a single-wing fracture to be modelled. It requires a
leakoff and spurt coefficient to be supplied, defining the leakoff rate as a function of fracture
area. It is most applicable in cases where the rock is fairly elastic and relatively large
fracture volumes may be present. These coefficients should be obtained from fracture tests
and type curve analysis.
Fracture opening and propagation criteria - this model assumes a rectangular vertical
fracture with half-length (Lf) and a constant pressure (Pf) within the fracture. If this pressure
is greater than the rock stress (), then the fracture can open. The criterion for fracture
propagation is that Pf generates a stress intensity at the tip greater than the critical stress
intensity, KIc. Propagation stops when the stress intensity at the tip is equal to the critical
stress intensity.
Open condition
Pf

Propagation condition
K Ic

Pf

Lf

Width and length equations - the width of the fracture at its widest point (ww) (injection
site) and the fracture half-length are related to the total fracture injection rate (Qf), leakoff
rate (QL), leakoff (C) and spurt (SP) coefficients, time (t), half-height (h), and history of the
evolving fracture area (A(t)). Basically, this model is a material balance model, where the
changing volume of the fracture is the difference between the injected and leakoff rates. The
volume of the fracture is a function of its length and central width, which in turn are related to
the elasticity and tensile strength of the rock for a given internal pressure.
Elastic strain relation describing fracture shape
2(1 )
L f ( Pf
G

ww

Material balance equation


V
t

Qf

QL

Sp

A
t

Fracture volume and area


V

hL f ww

and

4L f h

Leakoff equation
t

QL
0

C
t

dA
d
d

G is the shear modulus and defined by Young's modulus (E) and Poisson's ratio (v).

1990-2011 Petroleum Experts Limited

207

REVEAL

E
21

These equations are solved for the fracture pressure and leakoff rate for an input total
fracture injection rate. The result depends on whether the fracture is propagating or not. The
fracture pressure is then coupled to the injection lift curve, finally after iterations returning a
consistent total injection rate Q=Qf+Qw.
2.3.13.53D fracture
Both single-wing and complete (double-wing) fractures are possible using this model. A finiteelement grid is introduced, with triangular internal elements and quadrilateral boundary
elements. The fracture is therefore approximated by a 2D plane with fracture widths defined
over this plane.

A skin (S) may be defined for the fracture. The mobility connection factor (M) for a grid block
intersecting the fracture with an area of intersection (A) and pressure drop ( P) between the
fracture and grid block is calculated assuming linear flow in the a normal direction (Y direction
in equations below) away from both sides of the fracture.
Q

M
1 S

Ky

kr p

A filter cake may also be defined using a user specified filter cake parameter (F). The filter
cake skin is dependent on the cumulative throughput of injection water into each matrix block
(qcum) .
S

F q cum
Y A

k rock
k skin

and
where C is a constant describing the volume of the filter cake layer per unit volume of injected
water, and krock/kskin is the ratio of rock permeability to filter cake permeability.
Internal pressure width equation - the pressure and width within the fracture are related by
the following equation.
(P

)( x, z )

G
4 (1

1
( )
R

w dA

(x

x )2

(z

z )2

G is the shear modulus and defined by Young's modulus (E) and Poisson's ratio ().

REVEAL Manual

February, 2011

User Guide

208

E
21

Singularities are dealt with analytical expressions on the internal triangular elements. On the
outer quadrilateral elements, it is assumed that w a , where a is the distance from the tip
and w=0 on the outermost boundary.
The critical width (wc) at which the fracture will just propagate is defined at a small fixed
distance (a) from the fracture tip such that the stress intensity at the tip is equal to the critical
stress intensity for the rock (KIc).
4 K Ic 1
G

wc

a
2

The critical stress intensity KIC represents the additional pressure ( P above the minimum
principal stress) required to open a fracture sufficiently to propagate. For an initial fracture
size (a) of 1 ft (default value), this results in the following approximate relation for initiation
over-pressure.
P = KICsqrt(18/ a), where P is in psi and KIC is in psi.ft1/2
When a = 1 ft, DP = 2.4 KIC. This relation may be used to enter an appropriate (KIC), if only
the initiation pressure (DP) is known.
Incompressible fluid fracture flow equation - the flow and pressure within the fracture are
related to the fracture leakoff rate.
w2
12

h
)dV
144

(P

M (P

P mat )dA

wdA V0
tf

Qf

Qf is the total fracture injection rate, added at the central node of the finite-element grid.
Volumetric storage rate within the fracture is included, reflecting the volume increase
of the fracture since the previous fracture update t f .

wdA V0

Finite-element equation - the fracture width and leakoff equations are written in finiteelement form.
Finite-element width equation
Wij w j

Pi

Finite-element leakoff equation


Fij ( Pj

hj
144

) Lij M j ( Pj

P mat j )

Lij w j

V0 i
tf

Qi

Solution method - the finite-element equations are combined and solved iteratively for the
fracture widths using the Newton Raphson method.
Fi ( w j )

J ij

where

wi

wi

Fi
wj

J ij F j

is the Jacobian and is a scale factor found using a line-search algorithm.

The finite-element fracture width solver is supplied with a total rate (Qf), and the shape of the
fracture is iterated on until a consistent shape is found with the stress intensity at the fracture
1990-2011 Petroleum Experts Limited

209

REVEAL

tip equal to the critical stress intensity (KIc) for the fracturing rock. The pressure at the
centre of the fracture (Pf) is returned and a top level of iteration is performed to ensure that
Qf and Pf are consistent with the total well rate (including flow directly from the well into the
rock matrix) and the bottom hole flowing pressure (Pwf).
Note that for a single wing fracture only the flow from the well completions and one wing of
the fracture are injected into the grid. However, the total well rate and Pwf must be defined
for both wings of the fracture. The result is that the reported injection rate (well and one
fracture wing) may be as little as 50% of the total well injection rate entered in the schedule.
Stress calculation - the stress on the fracture surface is calculated from the in-situ stress
field ( insitu) and poro/thermo-elastic stress reductions ( P &
T). The in-situ stress is
defined by the user as a function of depth or by horizontal layer.
The Goodier displacement method (default) was provided prior up until IPM6 build 130, and is
still available for reference purposes. It assumes zero displacement on the model boundary.
While this model works well for most cases, an alternative model (Oedometric displacement)
is now provided and has some advantages.
1] It allows vertical strain displacement and therefore is able to calculate compaction.
2] Due to its formulation it handles grids with complex regions of inactive blocks better.
3] It better handles cases where the stress changes suddenly (e.g. due to producer changing
to injector).
4] Due to the vertical strain calculation included, it better handles horizontal fractures where
the vertical stress changes are important.
Goodier Displacement potential
The poro and thermo stress reductions take a similar form and the equations used were
obtained from Koning [Ref 18].
insitu

insitu

yy

The Goodier ( ) displacement potential is first calculated over the entire FD (finite difference)
grid by solving Laplace's equation.
2

where

1
E
P

Ap P

Pinitial

AT T

and

Treference

AP and AT are poro-elastic and thermo-elastic constants.


The displacement potential could be used to calculate any component of the stress reducing
tensor. The Y direction stress reduction (perpendicular to fracture surface) is then calculated.
Similar forms for the stress reduction are performed if the principal stress direction is in the
REVEAL Manual

February, 2011

User Guide

210

X or Z direction.
2

E
yy

Ap P

y2

AT T

Oedometric Displacement potential


This method is an extension of the Goodier displacement potential,allowing vertical strain to
be included [Ref 27].
The Oedometric ( ) displacement potential is first calculated over the entire FD (finite
difference) grid. Boundary conditions are : zero displacement on the horizontal and bottom
boundaries; displacement is allowed on the top surface.
(K

2
G )d
3

2G

AP P

where

E
21

31 2

AT T (1 v) /(1 2v)

and

2
2

z2

The change in strain and stress is then calculated (for example in the y direction):
y

yy

2
G )d
3

(K

and

Note that

AP (1 v) /(1 2v) is

2
v

2G

y2

AP P

AT T (1 v) /(1 2v)

Biot's coefficient.

Note that this displacement potential equation reduces to the Goodier displacement potential
described above, when top surface strain (compaction) is disregarded.
The reported (3D graphics results) compaction is the integral of vertical displacements ( z)
from the bottom upwards. Also, the vertical displacements are shown with a positive
displacement being downwards.
These methods are effective for thermal fracturing only once the cooled region is at least the
same size as the grid blocks being used. An analytical model for fracture initiation and
propagation within the fracturing block is used. The simplified model was derived from
references [Refs 9, 12, 14, 22]. An estimate of the cooled and flooded region radii are
calculated from the total downhole volume of injected water (W).
Cooled region radius
Vcooled

Cp w
Cp

rcooled

3Vcooled
4

Flooded region radius


V flood

W
1

Sr

r flood

3V flood
4

1990-2011 Petroleum Experts Limited

211

REVEAL

The pressure and temperature distribution within the cooled and flooded regions are
estimated as a function of radial distance (r) from the fracture centre. These simple
approximations assume that the temperature and pressure are at a mean between the
injection and reference/initial conditions at their respective cooled/flooded radii.
Cooled region temperature
Tcooled

Tinj

Tinj

Tref

r
2r

Flooded region pressure

ln(

cooled

Pflood

Pinj

Pinj

Pinit
2 ln(

r
)
rw
r flood
rw

The thermo-elastic and poro-elastic stress reductions on the fracture surface within the
fracturing block are then calculated, assuming a 'circular' shape function of 0.5.
yy

0.5 AT Treference

Tcooled

AP Pinitial

Pflood

As the fracture extends beyond its initial block, the stress reductions calculated using the
Goodier displacement potentials are interpolated onto the 2D fracture surface. For this
interpolation, the stress reduction for the fracturing block is calculated using the simple model
above with the cooled temperature set equal to the injection temperature (Tcooled=Tinj), and
the flooded pressure set equal to the block average pressure (Pflood=Pblock). Note that this
stress reduction is only applicable once the fracture has grown beyond its initial block.
Implementation - the two-dimensional finite-element (FE) fracture grid described above is
coupled to the three-dimensional finite-difference (FD) main grid. The FE grid is located down
the centre-line (constant Y) of the FD grid. The origin of the fracture is located at the centre
of a FD grid block.
The FE grid has internal triangular and quadrilateral elements on its boundary. The size of the
elements may vary as the fracture propagates, although their topology remains constant.
Variables are defined at the nodes of the grid. These variables include the fracture width,
internal fracture temperature and pressure, fracture surface stress, and derived quantities
such as injection water density and viscosity.
The FD grid has hexahedral elements, which have fixed size. Variables are defined at the
centre of the grid blocks and represent volume average properties, and therefore are
dependent on the grid block dimensions (especially near an injection source, where the spatial
variation of physical properties such as pressure and temperature are far from linear).
Relevant variables include pressure, temperature, permeability and phase mobilities.
Some variables are required on both the FD and FE grids and linear interpolation is used to
transfer properties from one grid to the other. The FE grid basis functions are used to
interpolate to the FD grid, while interpolation from the FD to the FE grid is performed using
bilinear interpolation of four values at FD grid block centres.
The temperature within the FE fracture grid is set using the following formula (Meyer).
1 x 1
T

Tinj

Tmatrix

1 x

2
2

2 1

where x is the fractional distance from the centre of the fracture to its tip, and
REVEAL Manual

is a user
February, 2011

User Guide

212

specified heat flux coefficient. Note that the temperature at the FE grid nodes is not a
function of the grid shape or area, since x remains constant as the grid grows.
The displacement mobility ( (kr/ )) of fluids within the FD grid is calculated using the FD grid
temperature, pressure and phase saturations. These are merely the mobilities used for the
flow within the FD grid. The previously injected water displacement mobility (calculated as a
water blocking fracture skin) uses the internal fracture temperature (FE grid) and FD grid
pressure to calculate the water viscosity with the water phase relative permeability end-point.
The thickness of the water blocking layer is calculated from the total volume of water
injected.
Finally, once the fracture shape, pressure and total rate have been calculated, the resulting
fracture is connected to the FD grid as a set of 'connection factors' and a constant rate
injection. The connection factors are calculated by considering the total flow from the FE
fracture grid to each FD grid block intersected by the fracture. Once the volumetric rate into
each FD grid block is calculated, the connection factor for that block is simply the rate divided
by (Pf-Pi), where Pf is the internal fracture pressure and Pi is the FD grid block pressure.
Several FD grid time-steps may be taken before the fracture is updated again. The
connection factors (and rate) remain constant during these time-steps, resulting in the Pwf
increasing until the fracture shape is updated again.
2.3.13.6Stress & elasticity
This screen is only available if thermal fractures are present and defines the mechanical
properties of the rock to be fractured and the initial in-situ stress.

1990-2011 Petroleum Experts Limited

213

REVEAL

Stress
Stress value at temperature - an initial reference stress and reference temperature are
input. If an optional temperature is not specified, then the reference temperature will be
assumed to be the initial temperature for each grid block.
Also, the reference pressure is set to be the initial pressure within the block. Therefore the
initial stress should equal the in-situ stress entered.
Depending on the stress layering method selected (below), the initial stress value may not be
required.
Stress model - the Goodier (zero boundary displacement - default) and Oedomentic
(includes vertical compaction) models are available - see 3D fracture model description for
more details.
Overburden depth - an analytical model for overburden compaction coupled to the numerical
REVEAL Manual

February, 2011

User Guide

214

oedometric stress model.


Compaction permeability - a table of permeability multipliers as a function of total volumetric
strain.
Stress properties per layer
The elastic coefficients (young's modulus and Poisson's ratio), elastic stress reduction
parameters (poro and thermo-elastic stress reduction) and the critical rock stress intensity
(sometimes called rock strength or fracture toughness) are entered layer by layer.
The poro-elastic stress coefficient is defined as:
1

AP

and

cg

1 2

cb
E

is Young's modulus
is Poisson's ratio
P is the linear poro-elastic expansion coefficient
cg
is the matrix grain compressibility
cb
is the bulk matrix compressibility
E

cg

cb

is known as Biot's poro-elastic coefficient, which for consolidated rock is sometimes


estimated (Raymer) from porosity.
1

3.8

The thermo-elastic stress coefficient is defined as:


AT

E
T

is the linear thermal expansion coefficient

Select the variable to entered, then select Add to enter data. Different data may be entered
for different vertical layers (Z increasing with depth), or the All button may be used to enter
the same data for all layers. Select a layer from the layer summary table to modify the data
or Delete the layer. The variable will turn from red to green when all of the data is entered,
or use the Validate button to check all required data has been input.
Set Defaults - this will set some nominal default values for stress properties and stress
layering, where no data has yet been entered.
It is possible to switch between two data entry modes for the poro and thermo-elastic
coefficient. If the Poro and Thermo coefs option is selected, then data for AP and AT are
1990-2011 Petroleum Experts Limited

215

REVEAL

entered. If the Biot and thermal exp coefs option is selected, then and T are entered.
Since the conversion between these input types requires Poisson's ratio and Young's
modulus, some checking of the conversion should be made in cases where data is entered for
multiple layers.
Stress layering
Four methods to modify in-situ stress by depth and layer are available.
Using the first two methods, a stress increment term may be added to the reference stress
as a function of layer or depth. Enter a top and bottom stress increment at the top and
bottom limit of each layer or depth range entered. This may be used to define stress barriers
or a vertical stress gradient. The increments need not be continuous (i.e. the bottom of one
layer need not be the same at the top of the layer immediately below). Note that if layer
stress variations are used, then data for each layer should be included if there are inactive
blocks within the grid.
Using the second two methods, the stress within a layer or by depth is calculated from a
stress offset, its true vertical depth and stress gradient (the in-situ stress simply being equal
to the offset + gradient * depth). In this case, the initial reference stress is not used.
A fracture will tend to propagate from its origin into low stress regions. To minimise large
distortions to the finite-element grid the in-situ stress field should be reasonably smooth (and
not a high stress barrier) at the fracture origin.
Generally we recommend using stress varying with depth or gradient, since this does not
cause potential problems with inactive layers within a model. Inactive layers (porosity zero)
have no data associated with them, therefore interpolation of stress when inactive layers are
present may be inaccurate.
In addition to defining the insitu stress profile in the three principal directions (X, Y and Z) is is
required to specify a stress profile for inactive regions and external regions. These are the
minimum principal stress to be applied when a fracture grows outside the gridded system.
Inactive regions refer to any inactive blocks that are either internal to the grid or located on
the side of the grid.
External regions refer to any inactive blocks that are located either above or below the grid.
Example - the following may be used as a guide to estimate stress layering.
Assume an initial reservoir pressure gradient of 0.45psi/ft for a naturally pressured reservoir
and vertical stress gradient (sv) of 0.9 psi/ft.
For depth z, the vertical stress is then sv = 0.9z psia, and the effective vertical stress sveff =
sv-P = 0.9z - 0.45z = 0.45z psi.
Poisson's ratio (v) may be used to estimate the effective horizontal stress using sheff = v/(1v) sveff. If v = 0.25, then sheff = 0.15z psi, hence sh = sheff + P = 0.6z psia.
REVEAL Manual

February, 2011

User Guide

216

If we set the horizontal stress gradient to 0.6psi/ft, the horizontal stress offset required is
0psia such that sh = 0 + 0.6 z.

2.3.14 Well-bore heating section


2.3.14.1Well-bore heating
This section is only active if the well heating model is selected in the control section. The
location of the electrodes (electrode and earth) are defined in the wells section and the
voltage to be applied is set in the schedule section. The well-bore heating model cannot
currently be used with the multi-lateral well model and therefore precludes it from being used
within a refined region.
See also the electrical wellbore heating model.

The heating model applies a microwave frequency voltage across two points on a well and
1990-2011 Petroleum Experts Limited

217

REVEAL

calculates the heating effect within the reservoir, which in turn will reduce the viscosity of
heavy oils. The voltage generated (V) within the reservoir is calculated on the finite difference
grid used for the flow equations by solving Laplace's equation with boundary conditions V=V0
on the electrode, V=0 on the earth electrode and no voltage flux on the boundary of the grid.
V

The heat supplied to the grid (W) is then calculated from the voltage field.
W

Resistivity
Rw is the water resistivity and is calculated using Arp's law, or input as a table of values as a
function of temperature.
Rw

Rref

Tref
T

C
C

where C is Arp's constant 6.77F


Lithology, saturation and tortuosity
The conductivity of the reservoir ( ) is calculated from Archie's law.
m

Sw
aR w

where
is the porosity, a is the lithology coefficient, m is the tortuosity (cementation)
coefficient and n is the saturation exponent. The lithology coefficient, tortuosity coefficient and
saturation exponent may be entered for multiple regions of the grid, defined by ranges of
blocks. See the reservoir section for information on how to add range data. Use the
Validate button to check coverage is complete.
Archie's law is applied up to the boiling point of water defined by T=0.08329742*P+458.76
(F); once this temperature is reached, the conductance is set to zero and the lithology
coefficient set to 1E6 to make the loss of conductance virtually irreversible.

2.3.15 Initialisation section


2.3.15.1PVT initialisation
This section initialises the PVT for each region defined within the reservoir section. Each PVT
region should be non communicating, so that different PVT fluids do not mix within the
reservoir.
If fluid does flow from PVT region to another, then the PVT description will always be that
defined for the region, rather than carried with the fluid.

REVEAL Manual

February, 2011

User Guide

218

Region List
This selects the region to be initialised. All regions must be initialised.
PVT Files
Select the PVT file to be associated with the current region. The PVT files may be added to
or viewed. Generally, the PVT files are entered within the physical section.
RS - Gradient
This section is optional and can only be entered if the 'Variable Pb' option has been set for
the PVT. The 'Variable Pb' option provides the possible for multiple saturated oil tables and
a variable initial RS. The initial RS versus depth should be entered within this table. If this
table is not set, then a default Rs will be obtained from the PVT data entry screen. The table
is not extrapolated so sufficient depth range should be entered.

1990-2011 Petroleum Experts Limited

219

REVEAL

Temperature & Rs or Pb - this may be used to switch between Rs and bubble point for data
entry purposes. The data is always stored internally as Rs. The temperature is required to
enable the conversion between Rs and Pb for thermal PVT cases.
2.3.15.2Equilibration
This section initialises the reservoir for each equilibration region specified within the reservoir
section. Each equilibration region must have only one PVT, i.e. equilibration regions must be
a subset of the PVT regions.

The equilibration includes pressure and contact (oil/gas water/oil or water/gas) depths. The
pressure and contact depths are use during the initial reservoir equilibration to assign initial
pressures and saturations to all grid blocks.
Region List
This selects the region to be initialised. All regions must be initialised.

REVEAL Manual

February, 2011

User Guide

220

Reference depths
One reference pressure is required at a reference depth for each equilibration region.
If a gas/oil contact is to be defined then the reference pressure will be the bubble point
pressure and does not require to be entered.
If an oil/water or gas/water contact depth is defined, then the reference depth and pressure
are only required if there is no gas/oil contact.
If no contacts are present, then a reference pressure and depth should be entered. Although
the reference depth can take any value, it should generally lie within the reservoir. If a GOC
is then calculated during equilibration then a gas cap will be present.
Thermal gradient
The thermal gradient must be entered for each equilibration region.
The reference
temperature is the temperature at the temperature reference depth, and the gradient is the
initial thermal gradient (increasing with depth).
Initial wettability
The initial wettability is only required for models with relative permeability desaturation
controlled by adsorbed wetting agent. This model is enabled in the control section. A value
of -1 corresponds to initial low tension relative permeability, while a value of +1 corresponds
to initial high tension relative permeability. Intermediate values are possible and correspond
to intermediate (interpolated) desaturation.
Start status
Generally the model is initialised by equilibration using the specified contacts and initial
pressure defined in this section. If restart files are present within the REVEAL archive, then
these may be set using the 'Set Restart' option. Whenever, a REVEAL simulation is run, the
initialisation conditions specified will be used. The main menu option Run Simulation|Restart
Simulation... may still be used to over-ride the start conditions specified.
Additionally, the initial pressure, saturation, Rs and temperature may be explicitly specified. If
this option is selected, then the initial conditions will not generally be in equilibrium and
significant initial transient behavior may be expected.
It is possible to populate the user initialisation from a running simulation. At any time during a
simulation (e.g. at the start), the simulation may be paused and the user specified initial data
may be initialised from the main menu using the option Run Simulation|Generate a User
Restart Step. The user initialisation data may then be modified as required to alter some
initial values. To do this a time step must be completed - use the Do one step option to
completed a paused time step.

1990-2011 Petroleum Experts Limited

221

REVEAL

2.3.15.3User initialisation
This section is only available if user initialisation is specified in the equilibration section.

Data may be entered by selecting the <No Data> button, where either range or array data
may be entered. If any data is entered, then it should cover all active blocks within the model.
See the reservoir section to get information on how to use the range and array selection
methods.
The optional Reference conditions represent the pressure and temperature of the reservoir at
its initial equilibrated state (not the restart conditions). These are only used for rock mechanic
studies, where the insitu stress is defined relative to these conditions.
2.3.15.4Component initialisation
This screen is only available if more than three components (water, oil and gas) are present.
The initial concentrations of the trace components in their initial phase (aqueous phase for
most components) in mass fraction (component mass per unit mass of host phase).
REVEAL Manual

February, 2011

User Guide

222

Component concentrations
Select a component and enter its initial concentration. The concentration may be defined over
a number of range regions or for each grid block (array). See the reservoir section to get
information on how to use the range and array selection methods. Use the right mouse button
within the concentration input cell to toggle units between kg/kg and ppm.
Component Porosity Exclusion Function
This optional method may be used to modify a component's transport by effectively trapping it
in lower permeability blocks. The model is precisely the same as the sand trapping model
with a unit trapping efficiency and no permeability reduction. For example a gel component
may be excluded from entering low permeability blocks.
Electrical neutrality

1990-2011 Petroleum Experts Limited

223

REVEAL

Only used for water chemistry models, where electrical neutrality is required (all ions except
e-). Neutrality will be maintained internally by adding or removing the ion pair defined in the
water chemistry section, but the electrical neutrality of the initial concentrations of ions
entered may be tested and modified (usually by adding or removing H+, Na+ or Cl- ions) after
using the Calculate button. Alter the tolerance parameter to view the grids with charge
imbalances greater than a defined limit. Generally the electric neutrality should be better than
0.05 charge/mole for all grid blocks. If the water is not electrically neutral, then this is a
strong indication that there has been a data entry or other error with the data.

2.3.16 Schedule section


2.3.16.1Well schedule
This section defines the schedule of well control (production and injection) and the time step
control.
It is characterised by a sequence of schedules, that run sequentially until a termination (exit
condition) is met, when the next schedule is started. Schedules may be cycled, or imported
for history match purposes. Inter-well control such as group control are not included in
REVEAL, since this sort of control is best achieved by using an optimised surface network
model (see Petroleum Experts GAP and RESOLVE).

REVEAL Manual

February, 2011

User Guide

224

Schedule list
This lists the schedules that will be applied in chronological order. Select a schedule, then all
of the remaining data entered on this screen is applied separately for each schedule entered.
Cycling of Schedules / Loops
It is possible to set the simulation to cycle over existing schedule entries in the list for a given
amount of time or until a constraint is breached. This is potentially useful for applications such
as WAG injection or polymer treatments. To create a cycle, select the Add or Insert
Sched./Cycle button. If there is more than one schedule prior to this in the list, you will be
given the option to create the new schedule as a cycle. Select from the list boxes the start
and end points of the cycle. REVEAL does not allow nested cycles, or cycles over schedule
entries that have conditional exit conditions (e.g. exit when water cut exceeds a certain value).
This is reflected in the validation of the list box entries. You may, however, enter a
conditional exit condition on the cycle itself.

1990-2011 Petroleum Experts Limited

225

REVEAL

Add Sched./Cycle - Add a schedule or cycle existing schedules at the end of the current list
of schedules.
Insert Sched./Cycle - Insert a new schedule or cycle existing schedules immediately before
the currently selected schedule.
Delete - Delete the currently selected schedule or cycle.
Clear - Delete all of the schedules. If this is accidentally pressed, then Cancel the wizard to
prevent the deleted schedules from be saved.
Import from file - Schedules may be imported from an ASCII file with the following format, all
data is imported in the prevailing REVEAL units. The keywords are in capitals and the
names/values should replace lower case fields. The liftcurvename is the well liftcurve label
entered in the well section (the liftcurve must be already present in the REVEAL model). This
import method is largely superseded by the history method described below.
WELL wellname CLOSE
WELL wellname PRODUCE WRATE fixedwaterrate
WELL wellname PRODUCE GRATE fixedgasrate
WELL wellname PRODUCE ORATE fixedoilrate
WELL wellname PRODUCE OWRATE fixedliquidrate
WELL wellname PRODUCE PWF fixedPWF
WELL wellname PRODUCE THP fixedTHP
WELL wellname WATINJ RATE fixedwaterrate
WELL wellname WATINJ PWF fixedPWF
WELL wellname WATINJ THP fixedTHP
WELL wellname GASINJ RATE fixedgasrate
WELL wellname GASINJ PWF fixedPWF
WELL wellname GASINJ THP fixedTHP
WELL wellname LIFTCURVE liftcurvename OILNOLIFT
WELL wellname LIFTCURVE liftcurvename OILGASLIFT
WELL wellname LIFTCURVE liftcurvename OILESP
WELL wellname LIFTCURVE liftcurvename WATER
WELL wellname LIFTCURVE liftcurvename GAS
The time to the end of the current schedule, equivalent of the until statement, this follows the
well control to be applied for the schedule:
TIME time
(The time must be specified in the number of days since 01/01/1900)
The last schedule should be indicated by a STOP keyword:
TIME time STOP
As an example, consider that the following schedule is to be entered in REVEAL:

REVEAL Manual

February, 2011

User Guide

226

"Well1" Shut-in from Start of forecast run to 31/03/2007


"Well1" Producing at Fixed FBHP = 4000 psig till 01/01/2008
"Well1" Injecting at Fixed Water rate = 2000 stb/day till 01/01/2009
The following figure shows the format of the text file which can be used to import the above
mentioned schedule.

(31/03/2007 = 39171 days since 01/01/1900; 01/01/2008 = 39447 days since 01/01/1900;
01/01/2009 = 39813 days since 01/01/1900)
View History - A well history may be imported or set up using this button. The history is not
applied to the schedule until the 'History->Schedule' button is used.
History->Schedule - Views the well history, allowing it to be modified or imported, then
converts the history into a schedule. Any existing schedule is first deleted. The history as
well as the simulation results will be available to be viewed for comparison purposes during
and after the simulation is completed by viewing the well results.
More details on the history screen may be found below.
Restart file
A restart file may be generated at regular intervals or not generated at all. If a restart file is
generated it may overwrite the previous restart file or be added to a list of restart files.
It is recommended that for most models the restart files are suppressed. A restart file may
be generated interactively at any time during a calculation by pausing the simulation and using
the menu option Run Simulation|Generate restart step. If the simulation pauses before the
current time step is completed and the restart option is unavailable, use the Run Simulation|
Do One step command to complete the time step. The list of restart files may be viewed or
deleted using the menu option Project|Edit view project.

1990-2011 Petroleum Experts Limited

227

REVEAL

Suppress - When the Suppress feature is unselected, REVEAL will save the Restart files.
Restart file type - three types of restart files are possible.
The STANDARD (default) restart file stores only the data required to perform a restart and
should be used under most circumstances.
A DEBUG restart file stores all current data structures (including workspace) and may be
very large and slow to write; the debug restart files should only be used for the fracture IPR
calculations or for diagnostic reasons if requested by Petroleum Experts.
A BASIC restart file, which just contains the block pressures, saturations, Rs and
temperature and will occupy the least space.
Interval - set the time interval at which restart files are created. If there is no value defined
for the Interval REVEAL will save the Restart file at each time-step. If there is a particular
value defined in the Interval section, then REVEAL will save the restart files when the current
time since the last save exceeds the value entered.
A value of 0 generates a restart at each time step.
A value of -1 generates a restart only at the end of the current schedule.
Overwrite - select this switch to continuously overwrite restart files as the simulation
proceeds. If this option is used, then only the last restart file will be available.
Deleting Restart Files - It is possible to delete some of the Restart files by clicking on
Project | Edit / View Project. The list of Restart Files are displayed in this screen and if
required can be deleted from here.
Step size setup
This section sets the initial time step control and data entered is dependant on the solver
options (IMPES or implicit) used.
The first schedule must have an initial time step size, this should generally be set to a small
value, that will increase as the simulation progresses, this prevents a potentially large number
of retrys at the start of the simulation where transient behaviour may be severe. Subsequent
schedules may also have initial timesteps set, but this is not necessary.
General limits
The maxdt and mindt are minimum and maximum time step sizes and should not generally be
set. Sometimes the maximum time step size may be set to increase temporal resolution.
The limdT and limdP options are limits on temperature and pressure change during a time
step. Again these options should not generally be set, except in cases where rapid changes
in temperature or pressure are generating instability in the solutions obtained (e.g. large
oscillations in thermal fracture behaviour).
IMPES specific limits
REVEAL Manual

February, 2011

User Guide

228

The volumetric error is the principal time step control parameter for the IMPES solver. It is
recommended that a value 1E-3 with 5 iterations or 1E-4 with 5 iterations is used. The
material balance volumetric error is defined as the fractional volumetric error at the end of the
time step (i.e. difference between porosity and total volume fraction of fluids present within a
gridblock calculated using the pressure and temperature at the end of the time step). A
smaller tolerance for the volumetric error may result in smaller timesteps and require more
solver iterations. Material balance iterations are not used with the implicit solver, which only
generates material balance errors as a result of explicit thermal effects and incomplete
convergence.
The saturation overflow limit is only required for the IMPES solver, and limits saturation
changes near the residual saturations of fluids, preventing undershoot in saturation
(saturations below the residual saturation). The default value is 0.01 and may be reduced to
0.001 in cases where very mobile phase saturations are oscillating near the residual
saturation (e.g. production below the bubble point). A reduction of this limit will result in
smaller timesteps being used and slow the simulation to improve stability.
The limit dC option only applies to the IMPES solver and sets a limit on the fractional change
in trace component concentrations within a time step. This option should generally not be
used. It may be applied to reduce timesteps near large concentration gradients to limit
numerical dispersion in some models.
Well schedule
Data is entered for each well by selecting the well in the list and selecting the well to be
closed, producing or injecting.
Closed
This well plays no part in the simulation. If crossflow is required for a well that has zero rate,
then set the well as a producer with zero rate.
Produce
A producer well, may be set as fixed PWF, fixed rate, fixed THP or fixed downhole rate. A
fixed rate well may be fixed liquid (oil+water), fixed oil, fixed water or fixed gas rate.
Inject
An injector well, may be set as fixed PWF, fixed rate, fixed THP, voidage or fixed downhole
rate. A fixed rate well may be fixed liquid or fixed gas rate, depending on the fluid defined
using the Injection fluid button.
A voidage injection well has a voidage fraction defined. This voidage fraction refers to the
reservoir volume removed by one or more producers. The producers relating to the entered
voidage fraction as set up using the Voidage wells button.

1990-2011 Petroleum Experts Limited

229

REVEAL

For an injection well, the bottom hole temperature and composition must be entered. If an
injection curve generated by PROSPER has bottom hole temperature data, then this may be
used by selecting the Use TPD Temp option. Use the Injection fluid button to set the
injector as water or gas and set the concentration of any trace components in the injection
fluid. Electrical neutrality for ions present in the injection water for water chemistry
calculations can be checked. See the initialisation and water chemistry sections for more
information. Generalised liquid (oil+water injection) or generalised gas (gas+water injection)
may also be defined. It should be noted that the 3-component PVT describing the water, oil
and gas properties is used for all injection and reservoir fluids. Therefore an injected gas is
always identical to a produced gas.
The relative permeability model for the injection must also be set. The options are:
1. Standard (the default model). In this case, the fluid mobility for a connected grid block is
given by the sum over phases of the rel perm for that phase divided by its viscosity.
2. End point. The relative permeability used will be the end point of the rel perm curve for the
injected phase.
3. Fixed. Enter a fixed value for the relative permeability that will be used in injection.
Options 2 and 3 are not available if wellbore friction or well cross-flow are being modeled due
to the possibility of multi-component injection.
If the injector has a filter-cake defined, then it may be cleared at the start of the current
schedule by selecting the Clear Filter Cake option. When the filter cake is cleared (an
assumed acid treatment), the model is returned to its initial state and filtrate will build up from
zero again as the injection proceeds.
Tubing Source

REVEAL Manual

February, 2011

User Guide

230

If a well has been defined as a multi-lateral with wellbore friction, then it is possible to use this
option to inject an additional fluid (e.g. diluent) into any location within the well (tubing or
annulus). The injection control must be of fixed pressure or rate (liquid, gas or reservoir) and
fixed temperature (or heat for steam). A negative injection rate will result in fluid removal.
A well segment is defined within the multi-lateral well data entry, with each row of data entry
representing sequential segments. The source is added at the end of the given segment.
The total well rate reported is the rate entering or leaving the reservoir. The rates set using
this method are in addition to the main tubing rate set in the main well schedule control
window.
A source with an undefined (blank) rate is deleted.
The Source Number refers to the possibility of multiple sources defined within the well.
Tubing Pump

1990-2011 Petroleum Experts Limited

231

REVEAL

If a well has been defined as a multi-lateral with wellbore friction, then it is possible to use this
option to apply a pump performance curve within any segment of the well (tubing or annulus).
For an injector the pump head is generated from heal to toe (i.e. in the presumed direction of
flow), and reversed for a producer.
A pump attached to a well is deleted if the Lateral Segment is set to None. The pump
characteristic curve is only deleted when the Delete Pump option is selected. Use Add
Pump to create a new pump characteristic curve. A pump characteristic may be used for
more than one pump in different schedules.
The characteristic pump type name may be changed by editing it in the Pump Type dialogue.
The Pump Number refers to the possibility of multiple pumps defined within the well.
The following schematic shows possible methods to inject using tubing and annular flow.

REVEAL Manual

February, 2011

User Guide

232

Lift curves
For any control mechanism (required for Pws control) a lift or injection curve may be
associated with the well. Use the Import button to import the lift curve. Ensure that the curve
type (e.g. Oil - naturally flowing for an oil producer or Water injector for a thermal fracture
well) matches the well. A label name may also be given to the lift curve. The lift curve should
cover the full range of possible condition (GOR, water cut, rate etc.) for the model being
investigated.
Previously imported lift curves may be assigned to several wells without re-importing the lift
curve.
Constraints
Use the Constraints button to enter constraints or abandonment conditions on the well.
If an constraint is violated, then the control will change. For example, if a maximum Pwf is
exceeded for a fixed rate injector, then the control will switch to fixed Pwf injector until the
rate rises above the initial rate and the Pwf falls below the constraint when it will revert to
fixed rate.
If an abandonment condition is violated, then the well will be closed, with no cross-flow.
Perforations
For wells that have completions defined by completion table or vertical well (not multilateral)
use the Perforations button to enable/disable or modify the perforation properties.
This option is only partial in its implementation, and it is therefore recommended that if
perforations are scheduled to change then multiple wells representing the different
perforations are modelled.
Wellbore heating
If a microwave wellbore heating model is present, then the heating can be turned on and an
electrode voltage applied. If the heating is turned off, then no heating will take place.

1990-2011 Petroleum Experts Limited

233

REVEAL

If the electrical wellbore heating model is present, then it may be turned on and maximum
heater power and maximum heater temperature specified.
Efficiency - downtime
A well efficiency value is applied to the cumulatives, but not the instantaneous peak well rates.
A value of 1.0 represents zero downtime, while a value of 0.9 represent 10% downtime.
The input and reported rates will be the peak rates and the reported cumulatives and
reservoir material balance will be the mean rate; mean rate = efficiency*peak rate.
Steam
If a steam model is present, then the injection fluid is assumed to be steam (set Injection
Fluid to water), and an enthalpy rather than temperature is required. Use the Steam
Calculator button to calculate steam enthalpy as a function of pressure and quality, and view
its position on the steam phase envelope. For all injection fluids (e.g. generalised liquid or
gas), the injection temperature is defined by the specific enthalpy of water entered.
Constant tubing heat
If a well has well-bore friction and heat transfer set (multi-lateral well model) and is an injector
with no wellbore heating model, then an option to keep the heat content constant within the
tubing is displayed. With this option set, conduction losses from the tubing are only applied to
the reservoir and not to the tubing fluid. This approximation may be used to model a well that
is heating (or cooling) a reservoir by recycling a fluid; the reservoir heating is supplied by an
assumed fluid that is not being injected.
Exit conditions
The schedule will run until an exit condition is met. Use the left mouse button to select options
in the exit condition table. An exit condition will be until a given time in days/date, or for a
given time in days.
History

REVEAL Manual

February, 2011

User Guide

234

This screen may be accessed using View History or History->Schedule. The history screen
should only be used with a dated calculation. See Options|Dates on the main REVEAL bar
to set a non-dated run to dated.
Cancel - exit from the screen without saving.
Save - save the current history.
OK - save the current history and exit the screen. If the history screen was enabled using
View History, then the data is saved and control returned to the schedule. If the history
screen was enabled using History->Schedule, then the data is saved and the current
schedule is deleted and overwritten with data from the history screen.
Current Well - data for each well is defined. If data is not present, the well is shut-in. As
dates added to the history are automatically added for all wells.
1990-2011 Petroleum Experts Limited

235

REVEAL

Temperature - Injection wells require an injection temperature that may not be present in
some imported history schedules. This should be set, then applied to all wells, or just the
current well using the buttons Set All Well Temperatures and Set Current Well
Temperature. The temperatures will be set for producing and injecting wells, but only used in
the simulation schedule for injecting wells.
Clear Current Well - delete all data for current well. The dates will remain since these are
defined for the remaining wells.
Clear All Wells - delete all the data including the dates. This is recommended before any
schedule data is imported.
Export Current (All) Well to File - the data will be exported to a text file that may be
manipulated in EXCEL for example.
Import Current (All) Well from File - data from a text file will be imported. It must have
exactly the same format as the exported text. Therefore it is recommended to export some
data to a file, modify the file, then re-import the modified data. Note that data is imported
using the current set units.
Import ECLIPSE schedule - an eclipse history schedule will be imported.
This method is designed to import a history match, NOT a prediction schedule, since these
will typically be more complex with group control and additional constraints.
You will be prompted to specify whether the file is using metric or field units.
The keywords, DATES, WCONHIST, WCONINJH, WCONPROD, WCONINJE and WEFAC
are recognised and the history should be input using the OPEN or STOP keywords.
The history should be defined using ORAT, GRAT, WRAT or LRAT for producers (for the
LRAT case, both oil and water rates must be present) and WATER or GAS for injectors.
Note injection temperatures are not imported, and non standard history schedule files may not
be read correctly.
If a well control is defined at one date, this control method will continue through subsequent
dates unit it is stopped or modified by another well control statement.
Status
This option may be used to change the well control method that will be set in the REVEAL
schedule.
It may be set for a single well or all wells for which applicable data is present (for example a
fixed rate injector cannot be have its status changed to fixed Pwf producer).
The status options include:
REVEAL Manual

February, 2011

User Guide

236

Shut - the well is closed.


Fixed oil rate producer
Fixed water rate producer
Fixed gas rate producer
Fixed water rate injector - temperature should be set
Fixed gas rate injector - temperature should be set
Fixed Pwf producer
Fixed THP producer - the well lift curve set in the well section will be used
Voidage rate producer - oil, water and gas rates should be present, and the equivalent
voidage volume is calculated (calculated at the reservoir drainage region conditions)
Fixed Pwf injector - temperature should be set
Fixed THP injector - temperature should be set and the well lift curve set in the well section
will be used
Voidage water injector - temperature should be set and water rates should be present, and
the equivalent voidage volume is calculated (calculated at the reservoir drainage region
conditions)
Voidage gas injector - temperature should be set and gas rates should be present, and the
equivalent voidage volume is calculated (calculated at the reservoir drainage region
conditions)

2.3.16.2Thermal fracture
This screen sets the thermal fracture update options, and is only displayed if a thermal
fracture is present. The update options are applied separately to each schedule and each
thermal fracture.

1990-2011 Petroleum Experts Limited

237

REVEAL

Fracture Schedules
The fracture schedules match the schedules defined for wells. Select each schedule to view
the fracture schedule.
Fracture update criteria
Select each fracture in the list to update its update criteria. The criteria define how often (if at
all) the fracture calculations are performed. The most frequent and recommended default is
every time step.
Update - if the fracture update is set to off, then no fracture calculation will take place for the
current schedule. If it is set to on, then three update criteria are provided. The first criteria to
be met will cause the fracture shape to be updated. If an update criteria is left blank then that
criteria will not be used.
The fracture is automatically updated every time a new schedule is started.
REVEAL Manual

February, 2011

User Guide

238

If more than one fracture is associated with a well, then a fracture update will be performed
including all fractures associated with the well every time any of the fracture update criteria
are met.
Timesteps - the fracture will be updated every given number of timesteps. The default is 1,
which updates the fracture every time step and is recommended.
Days - the fracture will be updated at a constant frequency. This is optional and only has an
effect if the timesteps is set to a value larger than 1.
Pressure - the fracture will be updated when the pressure at the centre of the fracture
changes by a fixed amount. The fracture model calculates the fracture size, grid connection
factors, central pressure and injection rate every time it is updated. The well constraint was
used during the fracture update to calculate the fracture pressure, injection rate and
connection factors. Therefore, after subsequent normal iterations (without fracture update
using the same connection factors), a change in the fracture pressure reflects changes in the
reservoir arising from the injection and is a good measure of when the fracture should be
undated. This option is recommended with an update pressure of about 50 psi. If the well
connected to the fracture is controlled by a constant Pwf, then this update parameter will not
result in fracture updates. This is optional and only has an effect if the timesteps is set to a
value larger than 1.

2.4

Grid refinement

2.4.1 Overview
This section describes the grid refinement available within REVEAL. The following image is of
a grid with five refined regions.

1990-2011 Petroleum Experts Limited

239

REVEAL

Grid refinement is not available for radial or curvilinear grids, or using the original IMPES
solver. Grid refinement is incorporated directly into the solvers with no additional iterations
required.
Every REVEAL simulation has a master grid, which consists of a topologically regular
hexahedral grid, with NX, NY and NZ blocks in the X, Y and Z directions. Therefore a total of
NX.NY.NZ grid blocks are defined and may be identified by three integer indices (I,J,K).
Some of the master grid blocks may be inactive (reference porosity set to zero). Grid
refinement is achieved by defining a set of contiguous (touching) master grid blocks, and then
defining refinement parameters for the refined regions. More than one refined region is
possible.
A maximal range is defined for each refinement, it includes all of the master grid blocks
contained within a region (Imin,Jmin,Kmin) to (Imax,Jmax,Kmax), where subscripts min and
max are the minimum and maximum master grid indices in each principal direction for the
refined region.
The following graphic provides an example. Refinement (yellow blocks) is defined for (1,3,4)
to (4,4,4) and (3,5,4) to (7,5,4). The maximal range is (1,3,4) to (7,5,4), (outlined in red).

REVEAL Manual

February, 2011

User Guide

240

The following is a list of limitations applied to the selection of refined regions.


1 Refined blocks must consist of a connected (contiguous) selection of master grid blocks.
2 The boundary of each refined region must either be coincident with the master grid
boundary or be surrounded by master grid blocks, not other refined regions i.e. refined
regions must not touch each other. This limitation is currently extended to preclude any
two refined regions that have any overlap in their maximal range.
The steps required to include refinement are the following
1

Define the extent of the refined region within the main grid.

The extent of the refined region is defined within the reservoir section of the main input script.
2

Define wells

Any wells or fractures present within a refined region are identified in the wells section of the
main input script and must be specified as multi-lateral well that means they are described by
a deviation survey rather than a list of connected blocks.
The well control (fixed Pwf, Pws or rate and constraints) for all wells is controlled within the
schedule section of the main input script.
3

Setup the data specific to the refined region

The refined grid geometry and properties assigned in a separate refinement script.
This is achieved by selecting refinement input script, which has the same form as the main
input script, using a script generating wizard, except that fewer sections are required. The
following pages detail the input options required to be entered in the refinement script.
refinement section - defines the degree of refinement
reservoir section - initialise physical properties for the refined region
1990-2011 Petroleum Experts Limited

241

REVEAL

relperm section - initialise end point scaling values for the refined region if present
initialisation section - initial component concentrations within refined region

2.4.2 Refinement section


This section contains two screens and initialises the degree of refinement for a refined region
previously defined in the reservoir section of main input script.
The first screen is used to enter a label for the refinement. Generally it is best to use a
separate label for each refinement datablock. Enter a unique label name and select Edit
Refinement. Once the refinement has been entered use the Plot and Validate buttons to
check the refinement coverage.
The second screen defines the grid refinement. The coverage section at the top of the
screen identifies the maximal range for the refinement. The maximal range is listed for each
principal direction (X,Y and Z) and covers blocks on the master grid. Only some of the blocks
implied by the maximal range may actually be refined (e.g. if the refined region is not a
complete hexahedral).
The refinement is defined separately in the X, Y and Z directions. Select the direction for
data to be entered. X, Y and Z direction data must all be entered. For each direction, data
must be entered for each master grid block listed in the coverage, regardless of whether
refinement is actually required.
The refinement data is therefore entered for each master grid block in each of the three
principal directions. Refinement data takes the form of normalised ratios to subdivide the
master grid block. A value of 0.5 will subdivide the master grid block into two equal blocks,
values of 0.2, 0.4, 0.6 and 08 will divide the master grid block into five equal blocks, and if no
data is entered, then no refinement is recorded. In this last case a warning will be applied,
but the simulation may be run.
In the following example, the master grid is 15 by 15 by 1 (NX by NY by NZ) and the refined
region is identified as including master grid blocks (9,10,1) to (10,10,1) and (9,9,1) to (9,9,1)
representing a simple 'L' shape. Therefore, the maximal range in the X, Y and Z directions
are (9 to 10), (9 to 10) and (1 to 1). The following refinement data was entered.
direction
X
X
Y
Y
Z

master block
refinement
9
0.5
10
0.3 and 0.7
9
0.5
10
0.3 and 0.7
1
0.2, 0.4, 0.6 and 0.8

The table entry for X direction, master grid block 10 is shown below.

REVEAL Manual

February, 2011

User Guide

242

This results in a refined grid with NX = 5, NY = 5 and NZ = 5, in an 'L' shape.

2.4.3 Reservoir section


This section contains nine screens and initialises the required reservoir properties for the
refined region (porosity, permeability, transmissibility multipliers, absolute transmissibilities,
net to gross ratio, pore volume multipliers, rock type, PVT region and equilibration regions).
1990-2011 Petroleum Experts Limited

243

REVEAL

Generally, Use Parent Grid Values should be used to set refined block properties to the
parent master grid properties; this is the default option. Use the Plot and Validate buttons
where available to check coverage. See the reservoir input script for the master grid input
script for more information entering data on these screens.
Porosity - either enter porosities for the refined grid using the same input method as was
used for the master grid, or select the Use parent grid values button, which will copy the
values from the master grid into the refined grid variables.
Permeability - either enter permeabilities for the refined grid using the same input method as
was used for the master grid, or select the Use parent grid values button, which will copy
the values from the master grid into the refined grid variables. Note that if parent grid
properties are required, then these should be set for each of the X, Y and Z directions
separately using the tab at the bottom of the screen.
Transmissibility multiplier - this is optional, the default being unit transmissibility multipliers.
Any transmissibility multiplies set for the master grid will be used automatically for refined
grid blocks on the boundary of the refined region, but transmissibility multipliers required
internally within the refined region should be entered explicitly on this screen.
Absolute transmissibility - this is optional, the default being that the transmissibilities are
calculated from the grid geometry and permeability.
Net to gross - this is optional, the default being unit net to gross ratios. Either enter net to
gross ratios for the refined grid using the same input method as was used for the master grid,
or select the Use parent grid values button, which will copy the values from the master grid
into the refined grid variables.
Pore volume multiplier - this is optional, the default being unit pore volume multipliers. Either
enter pore volume multipliers for the refined grid using the same input method as was used for
the master grid, or select the Use parent grid values button, which will copy the values from
the master grid into the refined grid variables.
Rock type - enter the coverage of each rock type within the refined grid. Rock types are
defined within the main grid script and will be listed in the rock list. Ensure full coverage of the
refined region.
PVT region - enter the coverage of each PVT region within the refined grid. PVT regions are
defined within the main grid script and will be listed in the rock list. Ensure full coverage of the
refined region.
Equilibration region - enter the coverage of each equilibration region within the refined grid.
equilibration regions are defined within the main grid script and will be listed in the rock list.
Ensure full coverage of the refined region.

REVEAL Manual

February, 2011

User Guide

244

2.4.4 Relperm section


This section is only required if endpoint scaling is present, in which case the endpoints are
entered for each refined gridblock. Either enter endpoint scaling values for the refined grid
using the same input method as was used for the master grid, or select the Use parent grid
values button, which will copy the values from the master grid into the refined grid variables.
See the main grid relperm section for information on the endpoint scaling.

2.4.5 Initialisation section


This section contains two screens, connate saturations and the initial component
concentrations which are only available for multi-component models.
Connate water and gas saturations - this is optional, the default being to use the critical
saturations defined in the relperm section of the master grid.. Either enter connate
saturations for the refined grid using the same input method as was used for the master grid,
or select the Use parent grid values button, which will copy the values from the master grid
into the refined grid variables.
Initial component concentrations - this is available if more additional components (other
than water, oil and gas) are present within the model. The initial component concentrations
are entered in a similar way to those within the main grid. See the initialisation screen in the
main input script for more information on the data entry required.

2.5

Menu commands

2.5.1 Menu commands


This section describes the drop-down menu items on the main REVEAL bar. These options
are available when a REVEAL archive has been loaded. If the current window is the 3D
graphics window, then the Options, Edit and Results menus are different. The additional
drop-down menus Playback and Multi views are also available if the current window is the
3D graphics window (see the graphics help for more information on the 2D and 3D displays).
File
Options
Edit
Input
Project
Run Simulation
Results
View
Window
Help
Playback (3D only)

1990-2011 Petroleum Experts Limited

245

REVEAL

2.5.2 File
New

open a new REVEAL archive. A REVEAL archive is all of the input


data, associated files (PVT lift curves etc.) and results that archived
into a single file with extension rvl.
Open...
open an existing REVEAL archive.
Close
close the current REVEAL archive.
Save Project
save the current REVEAL archive.
Save Project As...
save the current REVEAL archive with a new name.
Save Scripts
save changes made to the input script to the current REVEAL
archive, does not save result data.
Print...
print the input script or 3D display, depending on which window is
active.
Print Preview
preview and print the image to printed.
Print Setup...
initialise the printer and associated options.
Set Data Directory
set the default directory tree that will be used for Open and Save
operations.
Use Last Directory
if this option is selected, then the last directory used will be the
default directory for Open.
Purge Temp Directory
this will delete all temporary files created by REVEAL. These
potentially large files are normally deleted at the end of a session,
but remain if REVEAL terminates unexpectedly and may build up
over time.
Preferences
set some preferences, including:
default data recording frequencies
water chemistry database file
memory allocation
plotting style (connected or step) and backwards compatibility
option for compressed plot data storage, also precision for
reported output
3D view options (left or right handed orthogonality)
Register Imported Components this registers the drivers used to import ECLIPSE and VIP
models. This is performed automatically during installation, but may
be required if several versions of REVEAL are present.
Toggle Enable Menus
this is on by default and toggles whether all of the menus are
available.
(files)
list of the previous 10 REVEAL archives, select one to open it.
Exit
end the REVEAL session.

2.5.3 Options
Units
Dates
ICD Database

set or change the units system to be used, all data in the input
script and wizard will be changed to reflect changes to the units.
Use either days or date to control the schedule.
Add equipment to the Equalizer database.

If the current REVEAL window is the 3D graphics then the following menu options are
REVEAL Manual

February, 2011

User Guide

246

available.
General
Viewing Properties
Scale
Playback
3D View Store
Reset View
Preferences

select variable to be displayed, use cell (recommended) or point


data (only for regular grids) interpolation.
various options to select part of a grid to view, alter transparency,
shrink grid blocks, view wireframe.
alter the colour table end points manually, exact end points or
rounded end points, also set linear or logarithmic range.
movie playback settings, frequency, range and speed.
save or load previously generated 3D view settings.
re-scale the view to show the entire grid.
set colour tables for plotted variables and background colour.

2.5.4 Edit
Undo
Cut
Copy
Paste
Clear
Select All
Find...
Find Next
Replace...
Goto Section

undo last change made while editing the input script. <control> Z
delete selected text in the input script. <control> X
copy selection to clipboard, from any text (input script, debug etc.).
<control> C
paste clipboard (input script only). <control> V
delete selected text in the input script. Delete
select entire text (input script, debug etc.) <control> A
find text in an text file (input script, debug etc.). <control> F
repeat previous find. F3
find and replace text in the input script. <control> H
scroll the input script to the selected section.

If the current REVEAL window is the 3D graphics then the following menu options are
available.
Select Multiple Blocks select some blocks using IJK coordinates to view 2D plot of
variables (against time). Use Results to view the selected blocks.
Unselect All Blocks
deselect all blocks selected.

2.5.5 Input
Script Wizard
Control
Reservoir
Physical
Relative Permeabilities
Aquifer

start the input wizard, for a single section or multiple


sections.
start the wizard at a selected screen in the control
section.
start the wizard at a selected screen in the reservoir
section.
start the wizard at a selected screen in the physical
section.
start the wizard at a selected screen in the relperm
section.
start the wizard at a selected screen in the aquifer
section.
1990-2011 Petroleum Experts Limited

247

REVEAL

Mobility

start the wizard at a selected screen in the mobility


section.
Phase
start the wizard at a selected screen in the phase
section.
Adsorption
start the wizard at a selected screen in the adsorption
section.
Water Chemistry
start the wizard at a selected screen in the water
chemistry section.
Solids
start the wizard at a selected screen in the solids
section.
Wells
start the wizard at a selected screen in the wells
section.
Well-bore Heating
start the wizard at a selected screen in the well-bore
heating section.
Initialisation
start the wizard at a selected screen in the initialisation
section.
Schedule
start the wizard at a selected screen in the schedule
section.
Import from simulator or ASCII file ... import basic geometry and physical properties. See
importing from ASCII for more details.
Import multi-lateral well data
import well data from an ascii file format. See importing
wells from ASCII for more details.
Water Chemistry Equilibration Calculation
water chemistry calculator - requires water
chemistry data to be present in input script.
Water Chemistry Produced Fluid Calculation
water chemistry calculator - requires water
chemistry data to be present in well results.
Thermal Fracture IPR Calculation
thermal fracture IPR calculator - requires thermal
fracture calculation to have saved (debug) restart
files.
Visualise Init Data
view the entire model topology, including wells and
refined regions.
Apply mask to reservoir properties a utility to modify reservoir petrophysics as a function of
other properties.
The objective of this feature is to apply changes to the reservoir model at a more detailed
level. For example instead applying a change to the whole grid it is possible to implement
changes based on other criteria allowing smaller sub sections of the grid to be modified.
For example to set the porosity to zero (set cells as inactive) for blocks within a certain PVT
Region the following steps would be taken.
The first step is to set the action, which is done under the 'Array variable to be modified' input.
In this case the action is to set the porosity to zero. This will information will be saved in the
array labeled '_Grid porosity_2'.

REVEAL Manual

February, 2011

User Guide

248

The next step is to define which PVT Region the changes will be applied to and this is done
under the 'Array variable to be used as mask' section. In the above example the changes will
be made to all of the grid cells that fall within PVT Region 1.

2.5.6 Project
Edit / View Project...
view, delete or re-import various files contained in the REVEAL
archive. Also import and export datablock or well trajectory structures.
Create a PVT File... create a Petroleum Experts PVT description.
Edit a PVT File...
edit a Petroleum Experts PVT description.
Create a refinement file
create a blank template for a refined region of the grid.
Edit a refinement file...
edit a previously created refinement input script.
View Project Log view a log of events (Save, Run etc.) for the REVEAL archive.
Data Blocks...
view, edit and delete datablocks (arrays of data such as grid
coordinates) held in the REVEAL archive.

2.5.7 Run Simulation


Select Properties...

Start/Resume
Do One step
Run until
Pause
Stop
Restart Simulation...
Generate a Normal Restart Step

select the properties and frequency of variables to be


stored for visualisation during and after the
calculation.
start a calculation, or resume after a calculation has
been paused.
do one time step and pause the calculation.
run the calculation until a specified runtime is reached.
pause a calculation.
stop a calculation, a stopped calculation cannot be
restarted.
restart a simulation from a restart file.
manually generate a normal restart file, pause (do not
stop) a calculation before using this option. When a
simulation is paused, it may not pause at the end of a
1990-2011 Petroleum Experts Limited

249

REVEAL

time step, to complete the current time step and allow


the restart file to be generated, use the 'Do One step
' command. The normal restart file contains just the
data required to restart a simulation.
Generate a Debug Restart Step
manually generate a debug restart file, pause (do not
stop) a calculation before using this option. The
debug restart file contains every data structure
(including workspace) used by REVEAL and may be
very large: in general the first restart option (above)
should be used.
Generate a Basic Restart Step
manually generate a basic restart file, pause (do not
stop) a calculation before using this option. The basic
restart file contains just the block pressures,
saturations, temperature and Rs. This is similar to an
externally imported restart file.
Generate a User Restart Step
manually generate a user restart file, pause (do not
stop) a calculation before using this option. The user
restart file contains just the block pressures,
saturations, temperature and Rs/CGR. Instead of
being set as a restart file, this data is included in the
initialisation section, and may be edited.
Generate a User Restart Step from 3D Results manually generate a user restart file from
saved 3D results. The user restart file contains just
the block pressures, saturations, temperature and Rs/
CGR. Instead of being set as a restart file, this data
is included in the initialisation section, and may be
edited. Only data present in the 3D results is set. A
default value of zero is set for inactive blocks and
therefore validation limits may require to be reset to
run from this restart. A simulation must be stopped
for this option to be available.
Edit Script
edit a script to be used by REVEAL during a
calculation, or in when REVEAL is stopped/paused.
See OpenServer.
Run with Script
toggle run the simulation using the any script set.
Execute 'stopped' Script
run any 'stopped' script that is set.
Execute OpenServer command
evaluate a DoGet, DoSet or DoCmd using a GAP
style method
Show Output
show/hide the calculation summary window.
Show Input
show/hide the input script window.

2.5.8 Results
Average Reservoir Results
Well Results
Reservoir Graphics
Wellbore Results
REVEAL Manual

display and plot average and total reservoir properties.


display and plot well properties.
start the 3D graphics display.
display and plot results for wells, including tubing flow if a
February, 2011

User Guide

250

multi-lateral wellbore description is present.


deletes the 3D graphics data, this can be useful to reduce
the size of a file to e-mail it.
Save Well and Reservoir Resultssave the well and average reservoir plotting results
streams. A copy of the current results is made, that will
be saved in the REVEAL archive the next time it is saved.
Delete all Well and Reservoir Results delete all of the saved well and average reservoir
plotting results streams.
Export Region/Well/Completion resultsexport option that allows average reservoir, well and
wellbore results to be selectively output to EXCEL.
Clear Grid Results

Export Grid data

Export all of the grid geometry and petrophysics to an


ASCII file.

1990-2011 Petroleum Experts Limited

251

REVEAL

Clear grid results

Delete all of the 3D graphical results to reduce the size of


the REVEAL archive.

Save well and reservoir results Save the current stream well and average well results.
Existing result streams may also be renamed or deleted.
Delete well and reservoir results Delete all saved well and average reservoir result
streams.
The grid data is output to a text file using the following keywords (where applicable). See
ASCII import for the definition of these keyword.
DIMENSION
CORNERS
PORO
NTG
PERMX
PERMY
PERMZ
MULTX
MULTY
MULTZ
TRANX
TRANY
TRANZ
MULTPV
SATNUM
PVTNUM
EQLNUM
FIPNUM
SWCR
SWU
SOWCR
SOGCR
SGCR
SGU
KRW
KRO
KRG
SWL
SGL
KRORG
KRORW
KRWR
KRGR
SWLPC
REVEAL Manual

February, 2011

User Guide

252

SGLPC
The following user initialisation arrays are also output if data is present.
SWINIT
SGINIT
POINIT
RSINIT
TEMPINIT
END
Debug

view the debug or water chemistry debug files. These


text files contain diagnostic information not displayed
elsewhere.

If the current REVEAL window is the 3D graphics then the following menu options are
available.
Results of Selected Cells

display and plot the results (2D variable v time) of


selected data cells in the 3D display.

2.5.9 View
Toolbar
Navigator

enable/disable the run/graphics toolbar towards the top of the main REVEAL
window.
enable/disable the Help Viewer and Navigator window on the left of the
REVEAL window.

2.5.10 Window
Cascade
Arrange Icons
Tile vertically
Tile horizontally
(windows)

cascade the REVEAL windows.


arrange any iconified windows.
tile the REVEAL windows vertically.
tile the REVEAL windows horizontally.
bring a selected window to the foreground.

2.5.11 Help
Help Index
Start the online help at the first page (Contents).
Help Search
Start the online help.
Script On-ContextBrief description of keyword in input script, move the mouse over the
script to view the on-context help.
About REVEAL... REVEAL version and Petroleum Experts contacts.

2.5.12 Playback (3D view only)


Forward move forward (in time) through previously run case.
Backward move backward (in time) through previously run case.
Stop
stop the 3D movie or stop the 3D update during a calculation.
Pause
pause the 3D movie or pause the 3D update during a calculation.
1990-2011 Petroleum Experts Limited

253

REVEAL

Resyncronise after pausing the 3D update during a calculation, reconnect to the calculation.
Goto Timestep goto the 3D results for an input time step.

2.6

External data import

2.6.1 Importing overview


This section describes how data can be imported into REVEAL from other simulators or
ASCII files. In general, there is no one-to-one correspondence between REVEAL data and
that of other simulators, and so a certain amount of post-import manipulation may be
required. See the individual sections below for more information.
Enter the import facility by invoking Input|Import from simulator or ASCII file.
The import procedure consists of an Import Wizard of three screens to take you through the
import process.
The three steps are:
1. Load the simulation or ASCII case into REVEAL
2. Specify the properties that you wish to import
3. View the import results to check for additional data required
1. Loading the case to import
Select from the top the format that the data is in. At the moment the following formats are
supported: ASCII, Eclipse binary, Eclipse ASCII, VIP MAP, and VIP VDB (split or non-split).
The details of this screen obviously depend on the format selected - for more information go
to the specific sections in the help.
2. Specifying the import properties
For each of the import formats, the second screen presents options specifying which
properties are to be imported.
3. Completing the import
A status screen will be displayed: this tells you whether the import of each section has been
successful or not. If any section has failed to import, highlight that section in the list and press
Details. A message box will be displayed with the reason for the failure.
On the right hand side of the status screen are some notes on the data that has been
imported. See the individual sections on the data source in question for more information.
4. Additional import
Some OpenServer scripts may be provided by Petroleum Experts on request for well
import.

REVEAL Manual

February, 2011

User Guide

254

2.6.2 Importing from ASCII


A single text file is required for the ASCII data import option. The text file to import should be
entered on the first screen in the import wizard. The units for the data should be those
currently selected for the REVEAL case.
The following keywords and data are required. Alternative syntax are specified in brackets.
The order of the data is unimportant.
Much of this data is in the PETREL and ECLIPSE output format.
Comments starting with 'C ' and '! ' are ignored.
Multiple equal numeric entries may be specified using a '*' e.g. '3*0' is equivalent to '0 0 0'.
For ASCII data export use the button

DIMENSION (DIMENS) (SPECGRID) - followed by the grid dimensions NX, NY and NZ.
END - marks the end of the file.
The following keywords and data are optional for grid block data. For each case there will be
NX.NY.NZ entries, and they will be ordered cyclically in the X, Y then Z directions with the X
direction cycling fastest.
NODES - followed by the node coordinates X,Y,Z for each node. There will be a total of
(NX+1).(NY+1).(NZ+1) nodes, and they will be ordered cyclically in the X, Y then Z directions
with the X direction cycling fastest.
NODES_8PT (CORP)- followed by the node coordinates X,Y,Z for each node. There will be
a total of (2*NX).(2*NY).(2*NZ) nodes, a total of 8 corner nodes per block. The 8 nodes for
each block are entered sequentially, and the blocks are ordered cyclically in the X, Y then Z
directions with the X direction cycling fastest. Therefore there will be 24 coordinates entered
for each block. The 8 corner nodes should be ordered as shown below.
4

3
Y

2
8

COORD and ZCORN - followed by the standard ECLIPSE representation of these keywords.

1990-2011 Petroleum Experts Limited

255

REVEAL

CORNERS - followed by the X, then the Y, then the Z coordinates. The ordering is identical
to the NODES_8PT option, except that all of the X, Y and Z coordinates are input
sequentially, rather than (X, Y, Z) for each node. This is the CMG format.
MAPAXES - followed by the two (X,Y) coordinates of the origin (C1, C2) and the two
coordinates of the X axis (X1, X2) and the two coordinates of the Y axis (Y1,Y2).
POROSITY (PORO)- followed by the grid block porosities (inactive blocks have a zero
porosity).
PERMX - followed by the grid block permeabilities in the X direction.
PERMY - followed by the grid block permeabilities in the Y direction.
PERMZ - followed by the grid block permeabilities in the Z direction.
NETTOGROSS (NTG) - followed by the grid block net to gross ratios.
TRANSX (MULTX) - followed by the grid block transmissibility multipliers in the X direction.
The transmissibility multipliers are applied to the block face in positive direction.
TRANSY (MULTY) - followed by the grid block transmissibility multipliers in the Y direction.
TRANSZ (MULTZ) - followed by the grid block transmissibility multipliers in the Z direction.
ABSTRANSX (TRANX) - followed by the absolute grid block transmissibility values in the X
direction
ABSTRANSY (TRANY) - followed by the absolute grid block transmissibility values in the Y
direction
ABSTRANSZ (TRANZ) - followed by the absolute grid block transmissibility values in the Z
direction
SWC (SWCR) - followed by the endpoint scaling critical water saturations
SWM (SWU) - followed by the endpoint scaling maximum water saturations
SOWC (SOWCR) - followed by the endpoint scaling critical oil/water saturations
SOGC (SOGCR) - followed by the endpoint scaling critical oil/gas saturations
SGC (SGCR) - followed by the endpoint scaling critical gas saturations
SGM (SGU) - followed by the endpoint scaling maximum gas saturations
KRW - followed by the endpoint scaling maximum water relative permeability

REVEAL Manual

February, 2011

User Guide

256

KRO - followed by the endpoint scaling maximum oil relative permeability


KRG - followed by the endpoint scaling maximum gas relative permeability
KRWR - followed by the 3 point endpoint scaling critical water relative permeability
KRORW - followed by the 3 point endpoint scaling critical oil/water relative permeability
KRORG - followed by the 3 point endpoint scaling critical oil/gas relative permeability
KRGR - followed by the 3 point endpoint scaling critical gas relative permeability
SWR (SWL) - followed by the minimum water saturations
SGR (SGL) - followed by the minimum gas saturations
SWLPC - followed by the minimum water saturations for capillary pressures
SGLPC - followed by the minimum gas saturations for capillary pressures
ROCKTYPE (SATNUM) - followed by the grid block rock types (integers > 0).
PVTREG (PVTNUM) - followed by the grid block PVT region identifier (integers > 0).
EQLREG (EQLNUM) - followed by the grid block equilibration region identifier (integers > 0).
FIPREG (FIPNUM) - followed by the grid block fluid-in-place region identifier (integers > 0).
PVMULTIPLIER (MULTPV) - followed by the grid block pore volume multipliers.
NNC - followed by the number of non-neighbour connections, followed by the connections
themselves in the format: (x1,y1,z1) (x2,y2,z2), Transmissibility. See below for an example.
NNC2 - followed by the number of non-neighbour connections, followed by the connections
themselves in the format: Direction, (x1,y1,z1) (x2,y2,z2), Transmissibility, Multiplier.
Direction is an integer indicating the direction of the connection defined below.
0123-

undefined, the Transmissibility and Multiplier will be used.


Transmissibility calculated using NEWTRAN and the Multiplier in the X direction
Transmissibility calculated using NEWTRAN and the Multiplier in the Y direction
Transmissibility calculated using NEWTRAN and the Multiplier in the Z direction

A trivial example file is listed below.


DIMENSION
222
NODES

1990-2011 Petroleum Experts Limited

257

REVEAL

3*0
100 0 0
200 0 0
0 100 0
100 100 0
200 100 0
0 200 0
100 200 0
200 200 0
0 0 100
100 0 100
200 0 100
0 100 100
100 100 100
200 100 100
0 200 100
100 200 100
200 200 100
0 0 200
100 0 200
200 0 200
0 100 200
100 100 200
200 100 200
0 200 200
100 200 200
200 200 200
POROSITY
0.2
0.2
0.2
0.2
0.2
0.2
0.2
0.2
PERMX
100
100
100
100
100
100

REVEAL Manual

February, 2011

User Guide

258

100
100
NETTOGROSS
11111111
TRANSZ
100 100 100 100 100 100 100 100
NNC
1
1 1 1 2 2 2 0.3
END

2.6.3 Importing wells from ASCII


A single text file is required for the ASCII import of multi-lateral wells data.
To use this option select Input|Import multi-lateral well data.
The units for the data should be those currently selected for the REVEAL case.
The following keywords and data are required. All fields are required an no additional data
should be present within the text file.
For each well the keyword WELL should appear first and the keyword END should complete
each well data entry.
For each lateral, the keyword LATERAL should be used first, followed by the LATDATA data
for the lateral.
The laterals should be numbered in sequential order.
After all of the lateral data (deviation survey) is entered, the PERF and PERFDATA keywords
may be used consecutively for each perforation in each lateral. The perforations should be
ordered sequentially.
Further information on the data can be obtained by looking at the multilateral well wizard.
Keywords
WELL wellname coodsystem vectorX vectorY Xflow friction slip
LATERAL latnumber parent
LATDATA X Y Z MD roughness ID wellHTC heaterHTC
PERF latnumber
PERFDATA MD1 MD2 rw skin multiplier
END
Definitions
WELL
required keyword.
wellname name for the well. A well already in the deck with this name will be replaced.
1990-2011 Petroleum Experts Limited

259

REVEAL

coordsystem flag for data entry using the map axes [0] or grid coordinate system [1].
vectorX azimuth reference vector X coordinate.
vectorY azimuth reference vector Y coordinate.
Xflow
cross flow flag for well [0-no crossflow, 1-crossflow].
friction
wellbore friction flag [0-no friction, 1-friction].
slip
flag for wellbore slip correlation [0-no slip, 1-slip].
LATERAL required keyword.
latnumber index number for current lateral. These should start at 1 and increase by 1 for
each lateral.
parent
the lateral index for the parent (lateral from which current lateral is connected) of
the the current lateral. The first lateral should have a parent index of 0, indicating it
has no parent.
LATDATA required keyword. Only the X Y Z MD data is required for the first point of the
lateral deviation survey.
Subsequent tubing data (roughness ID wellHTC
heaterHTC) refers to the well segment connecting lateral coordinate points.
X
X coordinate of deviation survey.
Y
Y coordinate of deviation survey.
Z
Z coordinate of deviation survey.
MD
measured depth of deviation survey.
roughness well roughness (required for all lateral points apart from the first).
ID
well internal diameter (required for all lateral points apart from the first).
wellHTC well heat transfer coefficient (required for all lateral points apart from the first - if
this data is not required a 'dummy' value should be entered).
heaterHTCwell electrical heater heat transfer coefficient (required for all lateral points apart
from the first - if this data is not required a 'dummy' value should be entered).
PERF
required keyword.
latnumber lateral number for which the perforations are required.
PERFDATA required keyword.
MD1
measured depth (relative to the MD entered for the lateral deviation survey) for the
start of perforation.
MD2
measured depth (relative to the MD entered for the lateral deviation survey) for the
end of perforation.
rw
wellbore flowing radius.
skin
perforation skin.
multiplier perforation connection factor multiplier.
END

required keyword at the end of each well.

Example
WELL Well2 1
LATERAL
1
LATDATA
950
REVEAL Manual

0
0
50

50

February, 2011

User Guide

LATDATA
LATDATA
PERF 1
PERFDATA
END
WELL Well3
LATERAL
LATDATA
LATDATA
LATDATA
LATDATA
LATDATA
LATERAL
LATDATA
LATDATA
LATERAL
LATDATA
LATDATA
LATDATA
PERF 1
PERFDATA
PERFDATA
PERF 2
PERFDATA
PERF 3
PERFDATA
END

950
850

50
150

75
100

25
0.0006
168.6140662

4
8
0.0006

8
4

25

168.61

0.354 0

1
1
950
950
900
800
400
2
600
300
3
500
520
525

0
0
450
450
400
250
150
1
200
450
1
175
55
25

50
100
150
175
175

0
50
0.0006
4
8
136.6025404 0.0006
4
318.6052876 0.0006
4
730.9158502
0.0006

8
8
8
4

8
8
8

175
225

0
393.7003937

175
215
255

0
128.0624847 0.0006
4
178.3118629
0.0006

8
4

8
8

0.0006

318.6052876 524.7605689 0.354 0


627.8382095 730.9158502 0.354 0

1
1

196.8501969 393.7003937 0.354 0

128.0624847 178.3118629 0.354 0

260

1990-2011 Petroleum Experts Limited

261

REVEAL

2.6.4 Importing from Eclipse (binary files)


There is no one-to-one correspondence between an Eclipse data set and a REVEAL data
set. This section describes the special processing carried out by REVEAL to import Eclipse
cases.
See the worked example for more information.
Data files required
To import the geometrical and physical data (including tabular data), the Eclipse files required
are the binary output grid geometry (*.grid or *.grd or *.egrid) file and initialisation file (*.init or
*.ini). The *.init file is generated by ECLIPSE using the keyword INIT. The *.egrid file is
generated by ECLIPSE using the keyword GRIDFILE. Formatted version of these files can
also be read (.fgr and .fin). See the Eclipse manual if these files have not been generated.
To import the restart data (solution and well data) restart file(s) will be required (*.rst or *.
unrst). These may be in individual or unified format (this must be specified on the load
screen).
The importer can also read the ASCII deck to retrieve the corner points to a higher precision
(ZCORN & COORDS). This is useful when corner points are offset to a high starting value,
meaning that single precision calculations on the transmissibility can be in error. To read the
corner points directly, select the 'Read grid from COORD/ZCORN.. option), and give the
importer the name of the base text file of the Eclipse import. Any 'Included' files in this file will
be opened automatically, although you must ensure that the paths are set correctly to allow
the importer to find the relevant files. Note that the $DIR Eclipse environment variable will be
replaced by the importer internally by './'.
If external transmissibilities and pore volume multipliers are used then the single precision
corner point geometry is sufficient for all internal calculations with the following exception. The
calculation of multi-lateral well grid intersection where the well segments are less than about
10-7 of the X or Y grid coordinate values may fail if the single precision (egrid) binary import is
used. In that case, either import using the ZCORN & COORDS high precision import or
increase the well segment lengths. A large number of small well segment lengths should be
avoided in any case for performance reasons.
Rock Type Arrays and Compressibilities
There is no direct analogue to the REVEAL rock type within Eclipse. Rock type arrays can be
imported optionally from the SATNUM, PVTNUM, or EQLNUM arrays.
Rock compressibilities can only be imported if a rock type array is imported from the
PVTNUM data in Eclipse. (This is because there should be a rock compressibility value
defined for each individual value in the PVTNUM table). The rock compressibility is only
available if the rock compaction facility is not being used in the Eclipse data set.
Note also that the rock compressibilities are set at a given reference pressure. This reference
REVEAL Manual

February, 2011

User Guide

262

pressure is not imported into the REVEAL data set and should be set manually if required.
This is because the REVEAL reference pressure is used in calculations other than that for
rock compression.
Relative Permeabilities
In REVEAL, residual saturations, relative permeabilities, and capillary pressures are all
dependent on a defined rock type. Each rock type has a set of residual saturations for all
phases, and for each set of residual saturations there will be a set of capillary pressure tables
and relative permeability tables. There may be more than one set of rel perm tables for each
set of residual saturations - indeed, this would be required if you were using directional rel
perms.
In Eclipse, there is no direct analogue to the REVEAL rock type. Arrays such as SATNUM
and PVTNUM have similar meanings but are used in different ways within Eclipse (for
example, SATNUM is used to specify rel perm tables, PVTNUM is used to specify separate
PVT areas and, optionally, rock compressibility values).
For this reason, no attempt is made to assign the imported rel perm data to any particular
rock type regardless of whether the rock regions have been defined or not. Each rel perm
table (of which there may be several) is assigned to All Rock Types, and it is up to the user
after the import has been carried out to assign the rel perms to the required rock region. See
the Relperm section on the input wizard for more information on how to do this.
For Eclipse two phase systems, REVEAL will generate dummy rel perm tables for the phases
that are not present in the simulation. These, of course, will not affect the calculation if the
phase in question remains absent.
PVT
REVEAL imports oil or gas PVT data from Eclipse. It is not currently possible to import an
Eclipse condensate PVT.
The Petroleum Experts black oil PVT module consists of two sections: a correlation data set
and a tabular data set. If both sets are present, the tabular data is used in preference: the
correlations are used to fill in 'gaps' in the tabular data. When a PVT table is imported from
Eclipse, it is expected that all the required tabular data will be present and so there will be no
need for the correlation data. Dummy correlation data is generated by the import process:
this should not affect the PVT calculations.
The REVEAL PVT is always three phase (water, oil, and gas). It is nevertheless possible to
import Eclipse 'dead oil' (i.e. no gas phase or no dissolved gas) cases: in these situations a
nominal low value for Rs is provided for the saturated tables and no undersaturated tables are
generated.
When undersaturated tables are used by REVEAL, a controlled miscibility setting must be
provided by the user. This determines the rate at which gas will dissolve in the oil if the
1990-2011 Petroleum Experts Limited

263

REVEAL

reservoir is pressurised. The import process sets this value to infinity (i.e. gas completely redissolves if it can): the user is free to change this value after the import. See Eclipse
keyword DRSDT.
Eclipse PVT tables are isothermal - REVEAL tables are not. It is possible in REVEAL to
generate several saturated tables (each with up to 5 undersaturated tables 'hanging' from
each) for various temperatures. When the import is carried out, only one saturated table will
be generated. The temperature for this table will be the reference temperature for the
simulation if specified, or 100 degrees F if not.
Eclipse may contain several PVT tables (corresponding to the PVTNUM array). REVEAL only
uses one black oil PVT. After the import the status screen will display the PVT files that have
been generated by REVEAL. Select the PVT file that you would like to use in subsequent
REVEAL simulations. The other PVT files will remain within the archive and can be swapped
into the simulation at a later date.
When a 'live' oil PVT is imported, you must tell REVEAL the initial bubble point pressure for
the reservoir. The is used to calculate the initial Rs from the saturated curves that have been
imported.
EndPoint Scaling
The endpoint scaling saturation arrays corresponding to the Eclipse keywords SWL, SWCR,
SWU, SOWCR, SOGCR, SGL, SGCR and SGU may be imported. Additionally, the relative
permeability endpoint scale factors KRW, KRO, KRG, KRORG, KRORW, KRWR and KRGR,
and capillary pressure lower limits SWLPC and SGLPC may be imported. Check for the
Eclipse keyword SCALECRS for 3-point end-point scaling.
Well Data
This is imported as a table over completed blocks (ijk) with connection factors as calculated
by Eclipse.
Solution Data
A REVEAL format restart file will be generated from which simulation restarts can be run. See
the Run Simulation menu item for more information.
Additional Checklist - data not imported
One a model has been imported, the following should be checked.
Control section
Eclipse may be run in 5 point or 9 point mode; its default is 5 point, whereas the default in
REVEAL is 9 point.
Set the starting date.
REVEAL Manual

February, 2011

User Guide

264

Set a reference temperature.


Reservoir section
The inter-block transmissibilities calculated by REVEAL are equivalent to the Eclipse
NEWTRAN method. If another Eclipse method (e.g. HALFTRAN) is used, then REVEAL may
be set to use the imported neighbour transmissibilities directly. This may also be set in
REVEAL if the corner point geometry is imported in lower precision. If this is selected, then
the model should usually be run in 5 point model to reproduce the Eclipse model.
The non-neighbour connections associated with faults are imported directly, whereas the
NNCs associated with pinchouts are set by REVEAL. Check that the Eclipse keywords (GAP
etc.) associated with the PINCH command correspond to the options set on the NNC screen
in the reservoir section. If the externally imported transmissibilities are being used, then the
pinchout connections will automatically be generated according to the imported model and the
pinchout data specified will not be used.
Grid refinement is not imported.
Physical section
Thermal properties are not imported and should be set, even for isothermal runs. For thermal
calculations the PVT should be reviewed and thermal dependence added.
Check if the keyword STRESS was used to define compaction tables.
Imported metric PVT may have slightly different properties depending on the metric system
imported, since the definition of standard conditions varies between countries that use metric
units. This difference is however small.
Relative permeability section
The relative permeability tables should be associated with the relevant rock type. Select each
relperm table in turn then select the rock types to which it applies. Often, there is a simple
on-to-one correspondence.
Hysteresis should be set if present.
If J-Leverett capillary pressures are required then this option should be set, and the default
oil/water interfacial tension set in the physical section. If J-Leverett capillary pressures are
used, then check that the values have not been altered by a units conversion before modifying
the capillary pressure method.
Aquifer section
Numerical aquifers are imported directly, since they consist of standard gridblocks with large
pore volumes. However, analytical aquifer models require to be set up manually in REVEAL.
1990-2011 Petroleum Experts Limited

265

REVEAL

Wells section
Check that the cross flag was set; it is set by default in REVEAL.
With VIP import, check the well data is imported correctly, since some of the well
specification methods in VIP are handled differently.
Initialisation section
Set the Rs versus depth table. This data is may not be imported (only imported if the table is
Rs v depth, not Pb v depth) and should be obtained from the original deck for each PVT
region.
Schedule section
Schedule data is not imported directly and simple comparison runs should be performed to
validate the imported data. ECLIPSE history match data may be imported from the schedule
section.

2.6.5 Importing from Eclipse (ASCII files)


It is currently possible to bring the corner points of an Eclipse grid into REVEAL directly from
the Eclipse ASCII deck. Specifically, REVEAL can read the COORD and ZCORN cards and
translate the data into a REVEAL datablock.
This data can also be imported using the ASCII data import.
The units for the data should be those currently selected for the REVEAL case.
On the first import wizard screen select the Eclipse (ASCII) option from the drop down list.
On the resulting screen you must specify the dimensions of the grid that you are about to
import, as this data may not be present in the grid file that you specify later on. The table on
the lower part of the screen allows you to enter several ASCII files that contain the data for
different areas of the grid. The columns of the table are as follows:
Box definition - x1, y1, z1, x2, y2, z2, 'all grid': These define the sub-region of the total grid
that is to be imported from the ASCII files that follow. Alternatively, click 'all grid' if the ASCII
files contain coordinates over the entire grid.
ACTNUM file (optional): If you wish, you may specify a file which contains the ACTNUM
array for the grid so that only coordinates of active blocks are imported
COORD file: This file contains the COORD card of the Eclipse deck.
ZCORN file: This file contains the ZCORN card of the Eclipse deck.

REVEAL Manual

February, 2011

User Guide

266

2.6.6 Importing from VIP


There is no one-to-one correspondence between a VIP data set and a REVEAL data set. The
logic applied during the import process is the same as that applied for Eclipse - see the
Eclipse import page for more information.
Note that the VIP analogues of PVTNUM, SATNUM, and EQLNUM are IPVT, ISAT, and
IEQL.
Data files required
Two different VIP formats are supported. For any format the import process starts by
selecting 'Input | Import from simulator or ASCII file' from the main menu.
1. MAP data
In this case the files required are:
1. Core data - .map file (binary) and i.dat file (text)
2. Exec data - .map file and r.dat file - only required for the import of restarts
The core data contains the grid properties (topography, petro-physical properties) and tabular
data (PVT and relative permeabilities). The exec data contains the solution (restart) data.
To load data of this format, select 'VIP MAP format' from the drop down list at the top of the
screen. Enter the root directory for the case under 'Directory'. Enter the files to read: the
'core file name' is the ASCII file ending 'i.dat' (the 'i.dat' will be appended automatically). The
'core file MAP name' is the binary file ending '.map'.
If you choose to import restart/solution data then check the box marked 'Load Solution/
Restart data'. You will then have to fill in equivalent fields to those above for the 'exec' data.
2. VDB data
This format can appear in two different but equivalent forms - VDB files from VIP are either
'flat' (the data is archived into a single .vdb file) or 'split' (the vdb file is actually a separate
directory under Windows).
First determine whether you have a flat or split format VDB file and check the 'Split VDB file'
box if it is necessary.
In this case the files required are:
1. Study data - .vdb file (binary)
2. Core file - ending i.dat (as above)
3. Exec file - ending r.dat (as above) - only required for the import of restarts
To load data of this format, select 'VIP VDB format' from the drop down list at the top of the
screen. Enter the root directory for the case under 'Directory'. Enter the vdb file name (the
extension .vdb will be appended automatically) and click 'Load'. The cases in the archive will
be listed in the box. You must now select the studies from the list for the core data (grid
1990-2011 Petroleum Experts Limited

267

REVEAL

properties) and exec data (solution data).


Enter the i.dat (and optionally the r.dat) file name in the fields at the bottom of the screen.
The 'i.dat' and 'r.dat' are appended automatically.
The following steps show how to import a split VDB VIP file output into REVEAL:
1. Specify the directory where the *.vdb folder, *.dat files, and the include folder resides
2. Specify the VDB directory name excluding the *.vdb extension
3. Select the Load case names button the case name will appear

4. Select the case name to high-light it then click the Core study and Exec study buttons
5. Enter the Core file name and Exec file name excluding the i.dat and r.dat extensions
then click Next to load the file

REVEAL Manual

February, 2011

User Guide

2.7

268

Graphics

2.7.1 Visualisation
Use the

, , , and
buttons to view the results.
interactively during a calculation.

The results may also be viewed

The
button provides average reservoir properties such as mean phase pressures,
saturations and volumes. These data may be viewed, plotted and printed, or copied to the
clipboard for import into another application.
The button provides well results data, including instantaneous and cumulative rates, GOR,
water cut and phase pressure and saturation data at well blocks.
The button provides a three dimensional display of the fluid properties that were selected
for display ( Run Simulation|Select Properties...). Note that the variables and frequency
with which they are to be stored must be set before a calculation is run. It includes graphical
representation of wells, completions and fractures.
The button deletes all of the stored 3D graphics, thus reducing the size of the REVEAL
archive.
The
button allow the user so save the current well and average reservoir properties to
saved streams. It also allows, previously saved streams to be renamed and deleted.
The

button deletes all saved well and average reservoir properties result streams.

The
button generates a 3D visualisation of the grid and initial static variables such as
porosity, permeability etc.

1990-2011 Petroleum Experts Limited

269

REVEAL

The frequency of the well results and 3D properties to plot may be selected before a run
using the button .

REVEAL Manual

February, 2011

User Guide

270

Streamline plots will be available if the phase velocities are selected.


The button provides a three dimensional schematic of the wellbore with the intersected grid
blocks. If a wellbore model has been set up in the input deck this view will display the results
of the wellbore calculations, i.e. the calculated properties at the nodes and in the tubing. It
also provides information on any crossflow that may be occurring.

1990-2011 Petroleum Experts Limited

271

REVEAL

The 3D graphics requires the display driver to be operating with a screen area of at least
1280*1024 pixels and 16 bit (high colour) resolution.
If the current window is the 3D graphics window, then the drop down menus Options, Edit and
Results are specific to 3D graphics. The additional drop down menu Playback is also
available if the current window is a 3D graphics window .
Interaction with the 3D visualisation windows
Rotation
- to rotate the view, click the left button of the mouse and drag the mouse in the direction
that you would like to rotate. The rotation axis is perpendicular to the direction of mouse
movement and in the current focal plane of the view.
- to rotate the view about an axis normal to the screen and passing through the current focal
point, press the Ctrl key with the right mouse button. The speed of rotation is proportional to
the distance from the centre of the screen to the mouse position.
- the centre of rotation may be set by zooming in from two different (preferably orthogonal
directions).
Zooming
- area ('rubber band') zooming can be achieved by holding down the Ctrl key while dragging
the mouse with the left mouse button depressed.
- alternatively, click on the magnifying glass icon ( ) in the toolbar and then click and drag
across the area to be zoomed into.
- a single click with the magnifying glass icon ( ) selected will perform a zoom in of a fixed
REVEAL Manual

February, 2011

User Guide

272

ratio, centred on the position at which the mouse was clicked.


- similarly, a single click the magnifying glass icon ( ) selected will perform a zoom out of a
fixed ratio, centred on the position at which the mouse was clicked.
- the mouse wheel may also be used to zoom in or out, and the mouse wheel button may be
used to centre the visualisation.
Panning
- panning can be achieved by holding the shift key while dragging the mouse with the left
button depressed. Essentially, the viewing position is shifted parallel to the focal plane of the
view, although the effect is to 'drag' the objects from one position to another.
Other keyboard controls
- and F5 will reset the display to the initial size, such that the entire system is visible.
- W acts as a shortcut to present a wireframe mode view of the entire system.
- S acts as a shortcut to present a surface mode view of the entire system.
- X rescales the view and orientates the visualisation to be viewed from negative X direction
(West)
- Shift X rescales the view and orientates the visualisation to be viewed from positive X
direction (East)
- Y rescales the view and orientates the visualisation to be viewed from negative Y direction
(South)
- Shift Y rescales the view and orientates the visualisation to be viewed from positive Y
direction (North)
- Z rescales the view and orientates the visualisation to be viewed from negative Z direction
(Above)
- Shift Z rescales the view and orientates the visualisation to be viewed from positive Z
direction (Below)
3D visualisation preferences
To invoke the preferences screen from any 3D view, select Options | Preferences... from the
main menu. This is also accessible from a right click.
The screen is divided into two tabs:
Lookup tables - the colour tables for different view properties can be changed. The default is
for a basic RGB graduation for pressure and default properties, with phase saturations
represented by a single colour with a graduation in colour saturation. To change a lookup
table, adjust the palette at the top of the screen to the starting (low value) colour and click on
the button at the left hand side of the lookup table that you are changing. The table will
change to reflect the selection. Then perform the same action for the ending (high value)
colour. The lookup table is calculated by interpolating HSV values between the top and bottom
of the table.

1990-2011 Petroleum Experts Limited

273

REVEAL

View properties:
- the perspective mode determines whether the view is generated with parallel rays or by
applying a false (but perhaps more visually pleasing) perspective based on a view position.
The parallel projection is recommended if the distance measurement tool is used.
- the background colour can be changed by adjusting the sliders on the colour palette.
- the mouse rotation sensitivity governs how quickly the view is rotated for a unit movement of
the mouse position.

REVEAL Manual

February, 2011

User Guide

274

Main 3D View Functions


The graphics toolbar (below the main toolbar at the top of the REVEAL screen) contains most
of the functions that are available from the visualisation window. Some functions are different
depending on whether the current view is a 3D view or a wellbore (Xflow) view - these
differences are detailed below.
Going from left to right across the toolbar:
Animation buttons:
Advance the view by one step
Animate the view results from the current step
Advance to the last step
Reverse the view by one step
1990-2011 Petroleum Experts Limited

275

REVEAL

Reverse the view results from the current step


Reverse to the first step
Stop an animation
If a simulation is currently being run, this pauses the graphics (i.e. disengages the
graphics from the current run)
If a simulation is currently being run, this re-synchronises the graphics with the run (if
the graphics had previously been paused)
Selection buttons:
(3D) Allows cells to be selected. As the mouse is moved over the view, the grid cells
below the mouse pointer are highlighted. Click on the required cell to select it - 2D results for
this cell can then be viewed by invoking Results | Results of selected cells. Many cells can be
selected at once.
(Xflow) Allows results for an item in the view to be displayed at an instant in time.
Move the mouse over the item in question and a window will appear giving the current time
step results for the item. If the view contains grid blocks and wellbore items (tubing and
nodes) it can be difficult to select a tubing node rather than a grid block. To get round this,
invoke the 'Object Properties' screen (either from the toolbar or Options | Viewing properties)
and change the 'pick mode' selections.
(3D only) Unselects all cells.
(3D only) Invokes a screen to allow cells to be selected from IJK lists or blocks
perforated by wells.
View save buttons:
Use Options|Preset Options|Save File and Options|Preset Options|Load File to achieve this.
Enter a name for the view, select the properties to be saved (usually All) and select OK.
Note that the REVEAL archive must be saved for the view to be saved permanently. Many
of the REVEAL example cases have default views saved.
(3D only) Open a previously saved 3D view.
(3D only) Save the current 3D view.
Zoom buttons:
These allow the view to be zoomed in or out.
Also, the mouse wheel and <control> left click rubber band may be used to zoom in or out.
This is equivalent to pressing F5, i.e. the view is reset to the initial zoom.
Cell Results:
(3D) Invokes a screen with the time dependent results for the currently selected set of
cells.
(Xflow) Invokes a screen with time dependent results for all the items in the system
(grid blocks, calculation nodes, and tubing)
(Xflow) Invokes a screen with wellbore results that may be plotted as a function of
measured depth for each of the timesteps
(3D) Export grid and 3D graphical results to text file. Either all data within a grid or
data for selected blocks may be output. If all data for a grid is selected, then optionally, the
active grid blocks and grid corner point geometry are also output. The active blocks are first
REVEAL Manual

February, 2011

User Guide

276

listed, cycling through X, Y, Z. Only data for active blocks is then presented. The grid
coordinates are listed for each active block (X,Y,Z) for the 8 corners of each active cell,
ordered (1,1,1) (2,1,1) (2,2,1) (1,2,1) (1,1,2) (2,1,2) (2,2,2) (1,2,2). The data for selected
times and variables are exported to the file for all active or selected blocks using the
prevailing units for the 3D results.
Distance measure:
This tool may be used to measure distances. Ensure that the Z direction scaling
(invoked from
and the Details button for Grids) is unit and that the projection mode is
parallel.
Property buttons:
These options may also be accessed using a right click within the 3D view screen.
(3D) Invokes a screen allowing you to change the variable that is currently displayed. It
also allows you to view point scalar data rather than cell data. The point data is interpolated
from the grid block corners and weighted by the inverse square of the distance to the corners.
(Xflow) Invokes a screen allowing you to change the variable that is currently displayed
for the different object categories. The tubing variable can be set to the calculated fluid rate,
or alternatively can be set to display simple interpolated values between the end nodes.
(3D) Invokes a screen that allows the properties of the objects in the view to be
altered, e.g. the transparencies or visibilities of the grid objects, and whether to display
surface or wireframe data. It is also possible, from this screen, to display subsets of grid cells
(normally a plane of blocks in X, Y, or Z) and to change the z scale factor. Most of the
visualisation options are accessed from this option. There are sub-buttons that may be used
to refine the viewed data.

1990-2011 Petroleum Experts Limited

277

REVEAL

(Xflow) In addition to setting general object properties, the 'pick mode' can be
changed. The pick mode determines those objects that are candidates for picking when
'selection mode' is entered. It may be desirable, for example, to remove grid blocks from the
pick mode to allow easier picking of nodes and inflow objects.

REVEAL Manual

February, 2011

User Guide

278

Scale. Sets the ranges of values that are mapped to the colour tables.
Playback. Sets various playback / animation options.
The last field on the display is a well selection list box. Select from the drop down list the
well data that you wish to view.

2.8

Debug output

2.8.1 Debug output


The debug output is contained within the REVEAL archive as a text file. It may be viewed
during or once a simulation has been completed using the menu command Results|Debug|
Debug Simulation. or using the button . Note that the menu command Results changes its
function when the active REVEAL window is the 3D display.
Additional debug output is created during a water chemistry calculation and can be view using
the menu command Results|Debug|Debug Water Chemistry.
The finite element fracture variables are also output in detail to the debug output file.
The debug output file contains much general model information not displayed elsewhere. The
most useful information it contains falls into three categories.
Initialisation data - including the analytical well PI calculation results and post equilibration
saturations and pressures for each block.
Runtime data - includes time step data which gives information on the number of iterations
(IMPES and implicit formulations), what variable is controlling the time step, maximum
volumetric error and maximum variable changes. See the table at the end this page for
information on the time step control summary (8 digit summary at the end of each completed
time step). Additionally, fracture data for the finite element grid is output in detail for each
thermal fracture calculation.
Completion data - includes error and warnings at the end of a calculation, total runtime
statistics and some information on the final state of the calculation.
Digit
1

Meaning
Character
Retake & 'on-hold' #
*
h
Timestep limited r
v
t
c
p

Description
OK
Timestep to be reduced
Timestep to be retaken
Timestep to be unchanged
None
Max growth rate
Volumetric flow limit
Temperature constraint
Concentration constraint
Pressure constraint
1990-2011 Petroleum Experts Limited

279

5
6
7

REVEAL

i
f
d
e
l
Cause of retake n
v
m
p
t
c
d
Cause of 'on-hold' m
p
t
c
d
Limit reached
l
u
Volumetric flow c
s
w
Implicit solver
i
l
d
c
p
s
Unused

Injection schedule
Fracture update
Implicit solver (diverging Newton steps)
Implicit solver (estimated next time step)
Maximum number of linear solver iterations
No retake
Negative concentrations
Volumetric flow limit
Material balance constraint
Pressure constraint
Temperature constraint
Concentration constraint
Implicit solver (diverging)
Not 'on-hold'
Material balance constraint
Pressure constraint
Temperature constraint
Concentration constraint
Implicit solver (diverging)
Not limited
Minimum time step
Maximum time step limit
Total volume inflow (Courant)
Mobile phase saturation undershoot
Total well inflow/outflow
Pre-conditioner failure
Linear solver failure
Newton steps diverging
Newton steps not converged
Pressure change too large
Saturation change too large

Statistics and information are also located at the start and end of this file, including the
following information.
Calculated well connection factors
Multilateral well node and pipe geometry
Active block count
Initial in place fluids
Number of iterations and retry steps
Fraction of cumulative production for each well associated with each injector. This is
calculated from overlapping drainage regions calculated using effective streamlines and may
be used to estimate injection efficiency and help planning an injection strategy.
Timing summary information

REVEAL Manual

February, 2011

User Guide

2.9

280

Engineering

2.9.1 Contents
This section provides descriptions of the reservoir engineering models and solution methods
provided by REVEAL that are not described elsewhere in detail. It concentrates on the
underlying physical processes and the numerical approximations used to model them.
This designed as an overview of the equations solved.
models in rest of the help manual.

More detail is given for individual

Phases and components definitions of phases and components within REVEAL


Transport equations flow equations applied for IMPES and implicit solver options
Dispersion and diffusion
trace component flow
Thermal equations
heat transport applied for IMPES and implicit solver options

2.9.2 Phases and components


Phases - a phase is a distinct (immiscible with other phases) fluid. The three phases
aqueous, oleic and gaseous are always possible, but may not be present. Phases are
characterised by their saturations (volume fraction of pore volume), which sum to one. If the
surfactant component is present, then a middle (micro-emulsion) phase may be present
between the aqueous and oleic phases.
The transport equations are formulated on the basis of phase properties (saturation, density,
relative permeability, viscosity and capillary pressure).
Components - a component is a chemical species (or mixture of chemicals) that forms the
basis of the fluids present. The components water, oil and gas are always present within all
models.
Components are partitioned within phases. For an oil reservoir, the water component is
present within the aqueous phase, the oil component present within the oleic phase and the
gas component present within the oleic and gaseous phases. For a condensate reservoir, the
gas component is only present within the gaseous phase, while the oil component is
partitioned between the oleic (dropout) and gaseous phases. For a dry gas reservoir, both oil
and gas components are partitioned within the gaseous phase (no oleic phase). If a 4th
micro-emulsion phase is present, then the water, oil and gas components will be partitioned
between their original phase and the micro-emulsion phase.
Only components that affect the phase densities are considered volumetric.
These
components include water, oil, gas, non-reservoir injected gas, surfactant, and the two
possible alcohol components. All other components are non-volumetric, they only contribute
to the transport equations by modifications to phase mobilities, or not at all for tracer
components.

1990-2011 Petroleum Experts Limited

281

REVEAL

2.9.3 Transport equations


Transport equations - laminar flow through a porous medium is assumed, and quantified by
Darcy's equation in oilfield units for each phase (p).
qp

6.3266

k .kr p

Pw

Pc p

144

p
(i)
where qp is the Darcy velocity (ft/d)
k is rock permeability (D)
krp is phase relative permeability
p is the phase viscosity (cp)
p is the phase density (lb/ft3)
h is the depth (ft)
Pw is the water phase pressure (psi)
Pcp is the phase capillary pressure (psi)

The accumulation of mass (mp) of a phase into a control volume (V) is then defined by a
summation of fluxes over the surface area (A).
mp
pqp A
(ii)
The accumulation of mass into volume Vp is then subject to phase compressibility (cp) and
rock compressibility.
cp

1 Vp
Vp P

mp

Vp

Vp
VS p
(iii)
Equating these accumulation terms leads to a material balance equation.

Sp

qp A

Sp 1
t
(iv)
This differential equation is non-linear and also requires to be discretised both spatially and
temporally before it can be solved numerically.
p

For all solution methods, a harmonic average permeability (k) is used at grid block faces,
while different upstream weightings for face mobilities (Mp) are available for the implicit/
explicit solver options. A face volumetric transmissibility (Tp) is also defined, resulting in a
final version of the transport equation.
Mp

kr p

(v)

(vi)

Tp

Sp
p

Tp

6.3266 AkM

Pw

Pc p

144

Implicit solution - for this solver option, the transport equation is solved with respect to the oil
phase pressure (Po) and the three phase saturations (Sp). A single point upstream weighting
is applied for mobility and density.
IMPES solution - for this solver option, the transport equation is solved in two steps using a
total volumetric implicit pressure (explicit transmissibility and capillary pressure) solution to
calculate the water phase pressure (Pw) and an explicit concentration (saturation) update
using the calculated phase Darcy velocities. The implicit pressure solution uses a total
REVEAL Manual

February, 2011

User Guide

282

compressibility term (c) including rock and fluid phase compressibilities.


Vc

(vii)

Pw
t

Tp

Pw

Pc p

Pw

Pc p

144

Tp

qp

144

(viii)
The explicit nature of this formulation allows more sophisticated upstream weightings for
phase transmissibility, trace component concentrations and density, reducing numerical
dispersion, but more severe limitations on the time-step size are required to ensure stability.
Trace component concentrations are updated using the phase Darcy velocities and upstream
weightings for component volume fractions.
For more information on the solver options see the control section of the input wizard help.

2.9.4 Dispersion and diffusion


The dispersion and diffusion of trace components within phases is optionally available in the
physical section, and is only possible using the IMPES solver option.
The IMPES solver, first solves an implicit pressure model, resulting in phase Darcy velocities
(qp) between neighbouring grid blocks. The transport of trace components in the explicit
phase of the solve, is calculated by calculating mass fluxes of the trace components (Fc). If
dispersion and diffusion are not present, then the trace component mass fluxes are calculated
using upstream weighting of component concentrations within associated phases (Ccp) and
the phase Darcy velocities.
Fc

q p C pc

(ix)
If dispersion or diffusion are present, then the trace component mass fluxes are modified by
calculating a dispersive flux (Gcp), dependent on the component concentration gradient. Note
that trace components are only partitioned within one phase (unless a middle phase microemulsion is present) and the component density is equal to its host phase density (i.e.
volumetric and mass fractions of component within phase are equivalent).
p

(x)

Fc

q p C pc

G pc

G pc

S p D pc

qp

Tp

C pc

qp
qp

Lp

Tp

qp

C pc

(xi)
where Dcp are component diffusion coefficients, and
transverse phase dispersion lengths.

Lp and

Tp are longitudinal and

Numerical dispersion may be minimised by selecting the fct/2-point upstream weighting for
component concentration in the control section of the input script.

1990-2011 Petroleum Experts Limited

283

REVEAL

2.9.5 Heat transport


For both the IMPES and implicit formulations, the thermal heat transport equations within
REVEAL are applied after the pressure and component concentrations have been updated.
Therefore, the phase Darcy velocities between grid blocks is known and the heat transport is
calculated explicitly with respect to the flow and pressure.
Convective heat transport (heat flowing with the fluid) and optionally conductive heat transport
(heat flowing with thermal gradient) are included.
The accumulation of heat (J) into a control volume (V) is defined by a summation of
conductive and convective fluxes over the surface area (A). The thermal conductivity is a
harmonic average between adjacent blocks, and includes contributions from the rock and all
phases present. The phase heat capacities (Cpp) are those calculated at the end of the time
step. In oilfield units, J has dimensions of (BTU/d).
J

Ak T

qp

Cp p AT

p
(xii)
The accumulation of heat into volume V then results in a temperature change (heat transport
equation).

HT
t

(xiii)
where H is the total heat capacity (BTU/F) of the control volume V (grid block), calculated
before and after the flow is updated (beginning and end of time step).
For the IMPES formulation, or the implicit formulation when the CFL limit is selected, the heat
transport equation is solved explicitly for temperature (T) i.e. J is first calculated, then T is
updated. This has the advantage that upstream weighting models (fct/2-point recommended)
may be used for convective thermal fluxes, reducing numerical dispersion. The upstream
weighting is the method used to estimate the heat capacity ( p.Cpp) at the interface between
adjacent blocks.
For the implicit formulation, the CFL limit is not observed, and the explicit method used for the
IMPES formulation is unstable. Therefore, the temperature is calculated by implicitly solving
the heat transport equation in one step, a 1 point upstream weighting is used for calculating
convective thermal fluxes.
Heat source terms are also added for well-bore heating, well inflow/outflow and overburden/
underburden heat flow.
If Joule Thomson effects are included, then the change in pressure over the time step results
in a term reflecting the corresponding enthalpy change.

2.10 References
2.10.1 References
1
2

Van Everdingen A.F., Hurst W., The Application of the Laplace Transformation to Flow
Problems, Trans. AIME 156, 1949.
Carter R.D., Tracy G.W., An Improved Method for Calculating Water Influx, SPE 1626-

REVEAL Manual

February, 2011

User Guide

3
4
5
6
7
8
9
10
11
12
13

14
15

16

17
18
19
20
21
22
23

284

G, 1960,
Geertsma J., deKlerk F., A Rapid Method of Predicting Width and Extent of
Hydraulically Induced Fractures, SPE 2458, 1969.
Wiliams B.B., Fluid Loss from Hydraulically Induced Fractures, SPE 2769, 1970.
Todd M.R., Longstaff W.J., The Development, Testing and Application of a Numerical
Simulator for Predicting Miscible Flood Performance, SPE 3484, 1972.
Cinco-Ley H., Ramey H.J., Miller F.G., Pseudo-skin Factors for Partially-Penetrating
Directional-Drilled Wells, SPE 5589, 1975.
Peaceman D.W., Interpretation of Well-Block Pressures in Numerical Reservoir
Simulation, SPE 6893, 1978.
Clifton R.J., Abou-Sayed A.S., On the Computation of the Three-Dimensional
Geometry of Hydraulic Fractures, SPE 7943, 1979.
Zolotukhin A.B., Analytical Definition of the Overall Heat Transfer Coefficient, SPE
7964, 1979.
Vinsome P.K., Westerveld J., A Simple Method for Predicting Cap and Base Rock Heat
Losses in Thermal Reservoir Simulators, J. Can. Pet. Tech., 1980.
Clifton R.J., Abou-Sayed A.S., A Variational Approach to the Prediction of the ThreeDimensional Geometry of Hydraulic Fractures, SPE 9879, 1981.
Perkins T.K., Gonzalez J.A., Changes in Earth Stress Around a Wellbore Caused by
Radially Symmetrical Pressure and Temperature Gradients, SPE 10080, 1984.
Peaceman D.W., Interpretation of Well-Block Pressures in Numerical Reservoir
Simulation with Nonsquare Grid Blocks and Anisotropic Permeability, SPE 10528,
1983.
Perkins T.K., Gonzalez J.A., The Effect of Thermoelastic Stresses on Injection Well
Fracturing, SPE 11332, 1985.
Prouvost L.P., Pope G.A., Rouse B., Microemulsion Phase Behaviour: A
Thermodynamic Modeling of the Phase Partitioning of Amphiphilic Species, SPE
12586, 1985.
Prouvost L.P., Satoh T., Sepehrnoori T., Pope G.A., A new Micellar Phase-Behaviour
Model for Simulating Systems with up to Three Amphiphilic Species, SPE 13031,
1984.
Christie M.A., Bond D.J., Multidimensional Flux-Corrected Transport for Reservoir
Simulation, SPE 13505, 1985.
Koning E.J.L., Fractured Water Injection Wells - Analytical Modelling of Fracture
Propagation, SPE 14684, 1985.
Vandamme L., Jeffrey R.G., Curran J.H., Pressure Distribution in Three-Dimensional
Hydraulic Fractures, SPE 15265, 1986.
Meyer B.R., Heat Transfer in Hydraulic Fracturing, SPE 17041, 1989.
Clifton R.J., Wang J-J., Multiple Fluids, proppant Transport, and Thermal Effects in
Three-Dimensional Simulation of Hydraulic Fracturing, SPE 18198, 1988.
Detienne, J-L., Creusot M., Kessler N., Sahuquet B.,Bergerot J-L., Thermally Induced
Fractures : A Field Proven Analytical Model, SPE 30777, 1995.
Parkhurst D.L., User's Guide to PHREEQC-a Computer Program for Speciation,
Reaction-Path, Advective-Transport, and Inverse Geochemical Calculations, US
1990-2011 Petroleum Experts Limited

285

24
25
26
27

REVEAL

Geological Survey, 1995.


Ohen A.H., Cirvan F, Simulation of Formation Damage in Petroleum Reservoirs, SPE
19420.
Pope G.A., Lake L.W., Cation Exchange in Chemical Flooding, SPE 6771, 1978.
Chan A.W., Production-induced reservoir compaction, permeability and land surface
subsidence, Stanford University Dissertation, 2004.
Gutierrez M., Lewis R.W., Masters I., Petroleum Reservoir Simulation Coupling Fluid
Flow and Geomechanics, SPE 72095, 2001.

2.11 OpenServer
2.11.1 OpenServer
OpenServer is the Petroleum Experts implementation of an open architecture for all of its
software products. It allows external control of the programs with using the interface.
Typically it is used for one of the following purposes.
Automated data entry or results gathering
Batch control of multiple calculations
Advanced calculation control such as scheduling
The OpenServer has three basic functions.
Get a data value
value = DoGet(datatag)
Set a data value
DoSet(datatag,value)
Perform a function command
DoCmd(command)
where datatag and command are strings containing data identifiers or commands which
possibly contain arguments. If an argument is a string, then it will need to be included within
double quotes.
In the following documentation only the datatag and command string syntax is defined.
Scope
This section is designed to complement the Petroleum Experts IPM OpenServer manual,
providing REVEAL specific implementation information.
See the OpenServer examples in the sample files section for basic examples using EXCEL
macros to control REVEAL using OpenServer.
The following sections describe the OpenServer commands specific to REVEAL, and the
data structures that may be accessed. The data structures fall into three categories; script
data, results data and runtime variables.
All of the data exchanged via OpenServer will by default be in oilfield units. See the main
OpenServer documentation to see how data may be transferred in alternative unit systems.

REVEAL Manual

February, 2011

User Guide

286

Data Types
All REVEAL string datatags and commands start with the tag "REVEAL".
There are 6 main datatag types that may be accessed when before a simulation is run or
after it is completed. The datatag for a specific piece of data can be found by using
<CONTROL> right click within the interface.
"REVEAL.SCRIPT" - wizard script input data.
"REVEAL.AVERES" - average reservoir results.
"REVEAL.WELLRES" - well results.
"REVEAL.CELLRES" - gridblock cell results.
"REVEAL.XFLOWRES" - wellbore crossflow results.
"REVEAL.WATCHEMCALC" - water chemistry calculator.
Runtime datatags correspond to the actual data structures invoked to run REVEAL.
Therefore, altering a SCRIPT datatag during a simulation will have no effect. Runtime
datatags have the tag "REVEAL.MASTER".
All runtime commands start with the tag "REVEAL.RUN".
OpenServer in REVEAL
The OpenServer may be accessed from external applications such as EXCEL or RESOLVE.
Alternatively, runtime data may be accessed at the start, during, at the end of a simulation
using the inline script in REVEAL. A 'stopped' script may also be run, when the simulation is
paused or stopped.
Several macro function commands are supplied to alter data and flags consistently during a
simulation (e.g. for well control). These should always be used in preference to setting data
variables manually.
Clearly extreme case should be taken modifying runtime variables during a simulation.
To access the inline script and run a 'stopped' script use the buttons

and

The OpenServer commands may also be run individually using the button
includes summaries of the available REVEAL specific commands.

.
. This option also

To toggle whether to run with the script or not use the option Run Simulation|Run with
Script.
The syntax in a script must be correct, and it is best tested thoroughly before a simulation is
run using this feature.
The logmsg function may be used to send a string to the text debug file.
logmsg("This is a test message")
1990-2011 Petroleum Experts Limited

287

REVEAL

The current REVEAL timestep, time, date and step may be obtained using the following script
functions. The timestep is the current timestep, starting from zero, which may be non-zero
when starting from a restart. The step variable is always initialised to -1 at the start of a run,
is set to 0 after any initialisation/equilibration at the start of the first simulation timestep, and is
then incremented for subsequent timesteps.
timestep = REVEAL.TIMESTEP
time = REVEAL.TIME
date = REVEAL.DATE
step = REVEAL.STEP
Breakpoints and other debugging of scripts may be performed using Microsoft tools.
Commands
The REVEAL specific function commands are listed blow. Some functions have more than
one name for backwards compatibility reasons. Additional well specification keywords
required to automate a well description in the input script may be found in the OpenServer
examples.
NEWFILE()
Function: Start a new REVEAL project file
Arguments: None
Example: "REVEAL.NewFile()"
OPENFILE(filename)
Function: Open an existing REVEAL project file
Arguments: filename - if the filename contains 'white space' characters, then it should be
enclosed with double quotes ("")
Example:
"REVEAL.OpenFile(C:\Petex\testfile.rvl)"
;
"REVEAL.OpenFile(""C:\Petex
directory\test file.rvl"")"
SAVEFILE()
Function: Save an existing REVEAL project file
Arguments: None
Example: "REVEAL.SaveFile()"
SAVEASFILE(filename)
Function: Save a REVEAL project file with a new name
Arguments: filename
Example: "REVEAL.SaveAsFile(C:\Petex\newfile.rvl)"
SHUTDOWN()
Function: Exit REVEAL
Arguments: None
Example: "REVEAL.Shutdown()"
REVEAL Manual

February, 2011

User Guide

288

RUN_BLOCK()
Function: Run/continue while blocking other OS communication (recommended)
Arguments: None
Example: "REVEAL.Run_Block()"
RUN()
Function: Run/continue a simulation (not recommended)
Arguments: None
Example: "REVEAL.Start()"
RESTART(restart_number)
Function: Start a simulation from a restart file and pause before the equilibration
Arguments: restart_number - an integer reflecting the restart file number starting from zero.
Use the Project|Edit / Review Project.. menu option to view the stored restart
file available
Example: "REVEAL.Restart(0)"
INITIALISE()
Function: Start a simulation and pause before the equilibration
Arguments: None
Example: "REVEAL.Initialise()"
ONE_STEP()
Function: Take one time step for the simulation
Arguments: None
Example: "REVEAL.One_Step()"
STOP()
Function: Stop a simulation
Arguments: None
Example: "REVEAL.Stop()"
PAUSE()
Function: Pause a simulation
Arguments: None
Example: "REVEAL.Pause()"
READ_SCRIPT()
Function: Read the current script..
Arguments: None
Example: "REVEAL.Read_Script()"
WRITE_SCRIPT()
Function: Rewrite the script following changes to the input, required for changes to the script
to be registered for subsequent simulation runs.
Arguments: None
1990-2011 Petroleum Experts Limited

289

REVEAL

Example: "REVEAL.Write_Script()"
OPEN_DATABLOCK(datablock_label)
Function: Open a datablock for data read or write in the input script
Arguments: datablock_label - the label (name) associated with a datablock (red font) in the
input script
Example: "REVEAL.Open_Datablock(""_xperm"")"
WRITE_DATABLOCK(datablock_label)
Function: Rewrite the datablock following changes to the input, required for changes to the
datablock to be registered for subsequent simulation runs.
Arguments: datablock_label - the label (name) associated with a datablock (red font) in the
input script
Example: "REVEAL.Write_Datablock(""_xperm"")"
OPEN_WELLTRAJ(datablock_label)
Function: Open a multilateral well datablock for data read or write in the input script
Arguments: datablock_label - the label (name) associated with a datablock (red font) in the
input script
Example: "REVEAL.Open_WellTraj(""well1"")"
WRITE_WELLTRAJ(datablock_label)
Function: Rewrite the datablock following changes to the input, required for changes to the
datablock to be registered for subsequent simulation runs.
Arguments: datablock_label - the label (name) associated with a datablock (red font) in the
input script
Example: "REVEAL.Write_WellTraj(""well1"")"
CREATE_PVT(fluid_type, pvt_label)
Function: Add a PVT.
Arguments: fluid_type - the fluid type of the PVT to be created (0-oil, 1-gas, 2-condensate)
pvt_label - label for the PVT.
Example: "REVEAL.Create_PVT(0,""PVT1"")"
IMPORT_PVT(file_name, well_label)
Function: Import a PVT.
Arguments: file_name - file name of the PVT file to be imported
pvt_label - label for the PVT
Example: "REVEAL.Import_PVT(""C:\PVT1.pvt"",""PVT1"")"
IMPORT_LIFTCURVE(file_name, tpd_label, tpd_type)
Function: Import a PVT.
Arguments: file_name - file name of the liftcurve (tpd) file to be imported
tpd_label - label for the liftcurve
tpd_type - index integer specifying lift curve type 0:OilNoLift 1:OilGasLift 2:
OilESPLift 3:Gas 4:Water 5:Condensate 6:OilPCPLift 7:OilHSPLift 8:OilJETLift
Example: "REVEAL.Import_Liftcurve(""C:\producer.tpd"",""producer"",0)"
REVEAL Manual

February, 2011

User Guide

290

ADDWELL(well_label, welltype)
Function: Add a well.
Arguments: well_label - the label (name) associated with the well to be added
welltype - integer specifying well type (0-completion table, 1-vertical column, 2multilateral)
Example: "REVEAL.Addwell(""well1"",2)"
DELETEWELL(well_label)
Function: Delete a well.
Arguments: well_label - the label (name) associated with the well to be added
Example: "REVEAL.Deletewell(""well1"")"
SORT_WELLS()
Function: Re-order the wells alphabetically.
Arguments: None
Example: "REVEAL.Sort_Wells()"
READ_HISTORY()
Function: Read current history data from archive into memory.
Arguments: None
Example: "REVEAL.Read_History()"
WRITE_HISTORY()
Function: Write history data to schedule and script.
Arguments: None
Example: "REVEAL.Write_History()"
Example to add a row to a history using VB.
Call DoCmd("Reveal.Read_History")
nwell = DoGet("Reveal.Script.Well.Count")
count = DoGet("Reveal.Script.History.Count")
Call DoSet("Reveal.Script.History.Add",1)
Call DoSet("Reveal.Script.History["+Cstr(count)+"].Date.DateStr","1/1/2010")
FOR iwell = 0 TO nwell-1
Call DoSet("Reveal.Script.History["+CStr(count)+"].Well.Add",1)
Call DoSet("Reveal.Script.History["+CStr(count)+"].Well["+CStr(iwell)+"].Status",1)
Call DoSet("Reveal.Script.History["+CStr(count)+"].Well["+CStr(iwell)+"].OilRate",1000.0)
NEXT
Call DoCmd("Reveal.Write_History")
LOAD_CELLRESULTS(grid_number)
Function: Load the cell results into memory for a given grid. This function will first unload any
cell results previously loaded for other refinement grids. Only cell results for the
currently loaded grid may be obtained using cell result OpenServer variables.
Arguments: grid_number - each grid has an integer, with the first main grid being zero and
1990-2011 Petroleum Experts Limited

291

REVEAL

refined grids starting from one. Optionally, a subset of a grid may be loaded to
save memory and cpu time. The subset is defined over the interval [X1,X2], [Y1,
Y2] and [Z1,Z2], and entered as LOADCELLRESULTS(grid_number,X1,Y1,Z1,X2,
Y2,Z2).
Example: "REVEAL.Load_CellResults(0)"
CLEAR_CELLRESULTS()
Function: Unload from memory any cell results currently loaded.
Arguments: None
Example: "REVEAL.Clear_CellResults()"
EXPORT_CELLRESULTS()
Function: Export grid and 3D graphical results to text file. The active blocks are first listed,
cycling through X, Y, Z. Only data for active blocks is then presented. The grid
coordinates are listed for each active block (X,Y,Z) for the 8 corners of each
active cell, ordered (1,1,1) (2,1,1) (2,2,1) (1,2,1) (1,1,2) (2,1,2) (2,2,2) (1,2,2).
Arguments: grid_number - each grid has an integer, with the first main grid being zero and
refined grids starting from one.
output file - results file to be written to.
[Variable number] - Optional integer specifying the variable to be reported, indexed
from 0 (-1 is all variables).
[Timestep number] - Optional integer specifying the timestep to be reported,
indexed from 0 (-1 is all timesteps).
Example: "REVEAL.Export_CellResults(0,"C:\results.txt",3,-1)"
LOAD_XFLOW_BLOCK_RESULTS()
Function: Load the Xflow well block results into memory. This operation is only required to
be performed once, prior to all OpenServer operations on the Xflow well results.
Arguments: None
Example: "REVEAL.Load_Xflow_Block_Results()"
LOAD_XFLOW_WELL_RESULTS()
Function: Load the Xflow well tubing results into memory. This operation is only required to
be performed once, prior to all OpenServer operations on the Xflow well results.
Arguments: None
Example: "REVEAL.Load_Xflow_Well_Results()"
WATCHEM_EQUILIBRATE()
Function: Perform a water chemistry equilibration calculation based on the 'Input|Water
Chemistry Produced Fluid Calculation' screen. All of the input data (pressure,
temperature, souring time, water rate, oil rate and gas rate) must be set by
OpenServer. Additionally, all of the well concentration concentrations should be
set by OpenServer. After the calculation, the equilibrated concentrations may be
obtained by OpenServer.
Arguments: None
Example: "REVEAL.WatChem_Equilibrate()"

REVEAL Manual

February, 2011

User Guide

292

DELETE_CELL_RESULTS()
Function: Delete all of the 3D cell results.
Arguments: None
Example: "REVEAL.Delete_Cell_Results()"
SAVE_RESULT_STREAMS(label)
Function: Save a copy of the current well and average reservoir results streams.
Arguments: label - label for results streams
Example: "REVEAL.Save_Result_Streams(""run_1"")"
DELETE_RESULT_STREAMS()
Function: Delete all saved well and average reservoir results streams.
Arguments: None
Example: "REVEAL.Delete_Result_Streams()"
DELETE_RESTART(label)
Function: Delete a specified restart file.
Arguments: label - restart file name
Example: "REVEAL.Delete_Restart(""2.8 days (normal)"")"
DELETE_ALL_RESTART()
Function: Delete all restart files.
Arguments: None
Example: "REVEAL.Delete_Restart()"
SET_SCRIPT(status)
Function: Set the runtime internal script status.
Arguments: status - script status 0:Off 1:On
Example: "REVEAL.Set_Script(0)"
Script data
The script or input data variables may be read or written using the OpenServer.
If the data to be read/written is within a datablock, then the datablock should be opened using
the Open_Datablock command, then saved using the command Write_Datablock once the
modifications are completed.
The OpenServer data strings can be obtained using <CTRL> + mouse right click within input
wizard. This should always be used to identify the OpenServer string.
Once changes have been made to the input data, the Script_Write command should be run to
register the changes.
Example - set a transmissibility multiplier barrier for a horizontal layer when the data is input
as a range; the second range (index 1) is being modified

1990-2011 Petroleum Experts Limited

293

REVEAL

DoSet ("REVEAL.Script.Reservoir.Data[11][1].Value",0.0)
DoCmd ("REVEAL.Script_Write()")
Example - set the porosity when the data is entered as a datablock array for block (3,2,1) to
0.2 - note the indexing starts at zero and cycles (Z,Y,X)
DoCmd ("REVEAL.Open_Datablock(""_porosity"")")
DoSet ("REVEAL.Block._porosity.Tab[0].Data[0][1][2]",0.2)
DoCmd ("REVEAL.Script_Write()")
Results data
The reservoir average and well results can be accessed using OpenServer.
The OpenServer data strings can be obtained using <CTRL> + mouse right click within
output data results.
The well and average reservoir results data OpenServer strings have the following form:
"REVEAL.WellRes[{stream_label}][{well_lablel}][timestep].Variable"
"REVEAL AveRes[{stream_label}][{region_lablel}][timestep].Variable"
where label names may be replaced by integer values
The number of timesteps is found with the following function:
n_timesteps = DoGet("REVEAL.WellRes[0][0].Count")
Example - total cumulative oil for current stream at the 10th recorded time step
CO = DoGet("REVEAL.WellRes[{Well Results}][{Total}][9].CumOilProduced")
Example - bottom hole temperature for first saved stream, second well, at the 6th recorded
time step
BHT = DoGet("REVEAL.WellRes[1][2][5].REVEAL.BottomHoleTemperature")
Example - initial total pore volume for current stream
PV = DoGet("REVEAL.AveRes[{Average Results}][{Total}][0].PoreVolume")
Runtime data
All of the internal REVEAL data are available during a simulation. This data is not available
once a simulation has been stopped. Since this data is extremely large and most of it of no
interest only some variable will be specified. Great care should be taken setting internal
calculation variables to the point where it is not recommended for most variables, with the
exception of well control variables.

REVEAL Manual

February, 2011

User Guide

294

If additional data require to accessed, contact Petroleum Experts.


The data in REVEAL is organised into a main structure called Master.
All of the runtime variables are indexed from 0. However, if the returned value is an index,
then the returned value is indexed from 1 (see ACTIND and KWM).
The following is a list of some of the useful Master variables that may be accessed. The
variables listed are those associated with time step and well control.
"REVEAL.IsRun"

flag if simulation is still running: 0-still running,


1-run finished
"REVEAL.Master.T"
current time
"REVEAL.Master.DT"
current time step - may be modified during the
next solve
"REVEAL.Master.DTMAX"
maximum time step allowed for next solve
"REVEAL.Master.LSHUTIN[well_number]"
if true then well is not included in solver
calculations: 1-true, 0-false, the well_number
is in the order it appears in the well section,
indexed starting from zero
"REVEAL.Master.LNOFLOW[well_number]" if true then well rate is zero (no VLP/IPR
intersection), cross flow may still occur and
Pwf is calculated :1-true, 0-false
"REVEAL.Master.IFLAG[well_number]"
well type flag: 1-fixed Pwf injector, 2-fixed Pwf
producer, 3-fixed rate injector, 4-fixed rate
producer, 5-fixed THP injector, 6-fixed THP
producer
"REVEAL.Master.IVOLR[well_number]"
rate type for producer: 1-liquid, 2-oil, 3-water,
4-gas
"REVEAL.Master.INJTYPE[well_number]"
rate type for injector: 1-water, 2-gas
"REVEAL.Master.LTINJ[well_number]"
if true then injection temperature calculated
from VLP: 1-true, 0-false
"REVEAL.Master.CTOTW[0][well_number]" injection water mass fraction: 1 for water
injector, 0 for gas injector
"REVEAL.Master.CTOTW[1][well_number]" injection oil mass fraction: 0 for water injector,
0 for gas injector
"REVEAL.Master.CTOTW[2][well_number]" injection gas mass fraction: 0 for water
injector, 1 for gas injector
"REVEAL.Master.PWF[well_number]"
well control bottom hole flowing pressure
"REVEAL.Master.PWS[well_number]"
well control tubing head pressure
"REVEAL.Master.QI[well_number]"
well control flow rate in scf/d (positive for
injection, negative for production)
"REVEAL.Master.TTI[well_number]"
well control bottom hole temperature
REVEAL.Master.FVFWELL[well_number]
well effective FVF (referenced to reservoir
reference depth) (rft/scf)
REVEAL.Master.QTRES[well_number]
well total downhole rate at completed blocks
(RB)
REVEAL.Master.QTRESREF[well_number] well total fluids flashed to drainage region
1990-2011 Petroleum Experts Limited

295

REVEAL

pressure/temperature (reservoir reference


depth)(RB)
REVEAL.Master.DRAINPRES[well_number] well drainage region pressure at reservoir
reference depth (psig)
REVEAL.Master.PWF[well_number]
well Pwf (psig)
REVEAL.Master.QWST[well_number]
well water rate (positive is injection) (STB/d)
REVEAL.Master.QOST[well_number]
well oil rate (positive is injection) (STB/d)
REVEAL.Master.QGST[well_number]
well gas rate (positive is injection) (MMscf/d)
REVEAL.Master.NBCW[well_number]
number of blocks associated with well
The following is a list of some of the useful runtime variables that may be accessed. Contact
Petroleum Experts for details of additional runtime variables if required.
"REVEAL.Master.NX"
"REVEAL.Master.NY"
"REVEAL.Master.NZ"
"REVEAL.Master.IJKD"
"REVEAL.Master.ACTIND[99]"

"REVEAL.Master.P[0][99]"
"REVEAL.Master.P[1][99]"
"REVEAL.Master.P[2][99]"
"REVEAL.Master.S[0][99]"
"REVEAL.Master.S[1][99]"
"REVEAL.Master.S[2][99]"
"REVEAL.Master.TT[99]"
"REVEAL.Master.RSSOL[99]"
"REVEAL.Master.GRIDV[99]"
"REVEAL.Master.POR[99]"

X direction dimension of main grid


Y direction dimension of main grid
Z direction dimension of main grid
total number of active blocks in all grids
active block number (indexed from 1)
corresponding to global grid block 100 in main
grid - global grid block = (IZ-1)*NX*NY + (IY1)*NX + IX, where NX, NY and NZ are the grid
dimensions and IX, IY and IZ are the indices in
the global grid.
If the global grid block
specified is inactive, then the value returned is
zero.
main grid water phase pressure for active
block 100
main grid oil phase pressure for active block
100
main grid gas phase pressure for active block
100
main grid water phase saturation for active
block 100
main grid oil phase saturation for active block
100
main grid gas phase saturation for active block
100
main grid temperature for active block 100
main grid solution RS (scf/STB) for active
block 100
main grid total block volume for active block
100
main grid porosity for active block 100

Example - find the oil phase saturation for block IX,IY,IZ = (10,20,5) in the main grid
NX = DoGet("REVEAL.Master.NX")
REVEAL Manual

February, 2011

User Guide

296

NY = DoGet("REVEAL.Master.NY")
NZ = DoGet("REVEAL.Master.NZ")
IJK0 = (NZ-1)*NX*NY+(IY-1)*NX+IX
IJK = DoGet("REVEAL.Master.ACTIND["+Cstr(IJK0-1)+"]")
SO = DoGet("REVEAL.Master.S[1]["+Cstr(IJK-1)+"]")
Runtime Commands
These commands may be used during a simulation. They are mainly associated with well
control.
The units for data input may be set to the default internal REVEAL units using the command
(this is assumed for the examples below):
"REVEAL.RUN_DOUNITCONV(0)"
If the units set in the schedule section of the REVEAL wizard interface are required, then the
following command may be given.
"REVEAL.RUN_DOUNITCONV(1)"
The following is a table of well control commands available.
OpenServer String
"REVEAL.RUN_RESTART()"
"REVEAL.RUN_DEBUG_RESTART()"
"REVEAL.RUN_BASIC_RESTART()"
"REVEAL.RUN_DOUNITCONV(0)"

Function
Make a normal restart file
Make a debug restart file
Make a basic restart file
Set the unit conversion for
runtime command arguments
(0:field, 1:User)

"REVEAL.RUN_WELL_SETTPD(""well_name"", ""TPD_label"")" Associate a lift curve with a


well
"REVEAL.RUN_WELL_SHUTIN(""well_name"")"
Shut in (close) a well
"REVEAL.RUN_WELL_PRODUCE_LIQUIDRATE(""well_name"", 1000.0)" Convert a well to
fixed liquid rate producer
(1000 STB/d)
"REVEAL.RUN_WELL_PRODUCE_OILRATE(""well_name"", 1000.0)"
Convert a well to
fixed oil rate producer (1000
STB/d)
"REVEAL.RUN_WELL_PRODUCE_WATERRATE(""well_name"", 1000.0)" Convert a well to
fixed water rate producer
(1000 STB/d)
"REVEAL.RUN_WELL_PRODUCE_GASRATE(""well_name"", 10.0)"
Convert a well to
fixed gas rate producer (10
MMscf/d)
"REVEAL.RUN_WELL_PRODUCE_RESRATE(""well_name"", 1000.0)"
Convert a well to
1990-2011 Petroleum Experts Limited

297

REVEAL

fixed
downhole
rate
producer (1000 RB/d)
"REVEAL.RUN_WELL_PRODUCE_PWF(""well_name"", 1000.0)" Convert a well to fixed
Pwf producer (1000 psig)
"REVEAL.RUN_WELL_PRODUCE_THP(""well_name"", 1000.0)"Convert a well to fixed THP
producer (1000 psig)
"REVEAL.RUN_WELL_PRODUCE_GASLIFT(""well_name"", 10.0)" Set a gaslifted well gas
lift rate (10 MMscf/d)
"REVEAL.RUN_WELL_PRODUCE_FREQUENCY(""well_name"", 60.0)"
Set a pump lifted
well frequency (60 Hz)
"REVEAL.RUN_WELL_INJECT_WATERRATE(""well_name"", 1000.0)"
Convert a well to
fixed water rate injector
(1000 STB/d)
"REVEAL.RUN_WELL_INJECT_WATERRESRATE(""well_name"", 1000.0)"
Convert a
well to fixed downhole rate
water injector (1000 RB/d)
"REVEAL.RUN_WELL_INJECT_GASRATE(""well_name"", 10.0)" Convert a well to fixed
gas rate injector (10 MMscf/
d)
"REVEAL.RUN_WELL_INJECT_GASRESRATE(""well_name"", 1000.0)" Convert a well to
fixed downhole rate gas
injector (1000 RB/d)
"REVEAL.RUN_WELL_INJECT_WATERPWF(""well_name"", 1000.0)"
Convert a well to
fixed Pwf water injector
(1000 psig)
"REVEAL.RUN_WELL_INJECT_GASPWF(""well_name"", 1000.0)" Convert a well to fixed
Pwf gas injector (1000 psig)
"REVEAL.RUN_WELL_INJECT_WATERTHP(""well_name"", 1000.0)"
Convert a well to
fixed THP water injector
(1000 psig)
"REVEAL.RUN_WELL_INJECT_GASTHP(""well_name"", 1000.0)" Convert a well to fixed
THP gas injector (1000 psig)
"REVEAL.RUN_WELL_INJECT_SETTEMPERATURE(""well_name"", 100.0)"
Set
an
injection well bottom hole
temperature (100 F)
"REVEAL.RUN_WELL_INJECT_TPDTEMPERATURE(""well_name"")"
Set an injection
well to use TPD (injection
curve)
calculated
temperature
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""QMAX"",1000)"
Set well constraint
for maximum rate (producer 1000
STB/d liquid, water injector 1000 STB/
d, gas injector 1000 MMscf/d)
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""QOMAX"",1000)" Set well constraint
for maximum water rate (producer
REVEAL Manual

February, 2011

User Guide

298

1000 STB/d oil)


"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""QWMAX"",1000)" Set well constraint
for maximum oil rate (producer 1000
STB/d water)
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""QGMAX"",1000)" Set well constraint
for maximum gas rate (producer 1000
STB/d gas)
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""QRMAX"",1000)" Set well constraint
for maximum downhole rate (producer
or injector 1000 RB/d)
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""PWFMIN"",1000)" Set well constraint
for minimum PWF (producer 1000
psig)
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""THPMIN"",1000)" Set well constraint
for minimum THP (producer 1000 psig)
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""PWFMAX"",1000)" Set well constraint
for maximum PWF (injector 1000 psig)
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""THPMAX"",1000)" Set well constraint
for maximum THP (injector 1000 psig)
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""DDMAX"",1000)"
Set well constraint
for maximum drawdown (producer or
injector 1000 psi)
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""QMIN"",1000)"
Set
well
abandonment minimum rate (producer
1000 STB/d liquid, water injector 1000
STB/d, gas injector 1000 MMscf/d)
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""QOMIN"",1000)"
Set
well
abandonment minimum water rate
(producer 1000 STB/d oil)
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""QWMIN"",1000)"
Set
well
abandonment
minimum
oil
rate
(producer 1000 STB/d water)
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""QGMIN"",1000)"
Set
well
abandonment minimum gas rate
(producer 1000 STB/d gas)
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""QRMIN"",1000)"
Set
well
abandonment minimum downhole rate
(producer or injector 1000 RB/d)
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""WCMAX"",0.9)"
Set
well
abandonment maximum water cut
(producer 0.9 fraction)
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""GORMAX"",1000)" Set
well
abandonment
maximum
GOR
(producer 1000 scf/STB)

1990-2011 Petroleum Experts Limited

299

REVEAL

"REVEAL.RUN_SET_SOURCE(""well_name"",0,0,500,100)"

Set the first injection source


for a well to be controlled by
liquid rate 500 STB/d and
100 F.
The source must already be present within the interface schedule, this command just changes
an existing source.
The second argument is the source number for the well (indexed from zero).
The third argument is the control type (0:Liquid rate 1:Gas rate 2:Reservoir rate 3:Pressure)
The fourth argument is the control value
The fifth argument is the temperature (or heat for steam models)
The following completion control data may be accessed. This data should only be used for
wells defined as a vertical
column or as a completion
table.
If these methods are used with 'multi-lateral well' definitions, then the completion defined skin
(S) is included within the completed block effective radius (RE) and the block skin set to zero;
and the completion multiplier is included within the kh (KH). This is because multiple sections
of tubing with potentially different geometries and properties are combined into effective
properties for the grid blocks. Therefore a skin of 0 set for one of these blocks will leave the
block connection factor unchanged, regardless of the skin used in the completion description.
Get perforation data
"REVEAL.RUN_GETCOMP(""well_name"",block,""variable_name"")"
This command gets data for well_name, completion block number "block" with the
variable_name set to the variable to be retrieved.
The REVEAL runtime variable "REVEAL.MASTER.OSVAR" contains the retrieved variable
value
The REVEAL runtime variable "REVEAL.MASTER.OSUNIT" contains the retrieved variable
unit as a string
The following is a list of the available data that may be retrieved.
variable_name
Variable name
PERF
RW
RE
KH
S
DIR
THETA

REVEAL Manual

i.e. string values for

Data returned to OSVAR


Perforation status (0-not perforated, 1perforated)
Wellbore flowing radius (ft)
Effective Peaceman radius (ft)
KH (Darcy.ft)
Skin
Well direction (0-not defined, 1-X, 2-Y, 3-Z)
Block PI multiplier
February, 2011

User Guide

IJKW
QO
QG
QW
QR
QL
GOR
WC
CGR
WGR

300

Block index in grid


Oil rate (STB/d)
Gas rate (STB/d)
Water rate (STB/d)
Reservoir rate (MMscf/d)
Liquid rate (STB/d)
GOR (scf/STB)
water cut (fraction)
Condensate gas ratio (STB/MMscf)
Water gas ratio (STB/MMscf)

Example - get the perforation status and flowing radius of block 3 of well "well1"
DoCmd ("REVEAL.RUN_GETCOMP(""well1"",2,""PERF"")")
status = DoGet("REVEAL.MASTER.OSVAR")
DoCmd ("REVEAL.RUN_GETCOMP(""well1"",2,""RW"")")
rw = DoGet("REVEAL.MASTER.OSVAR")
unit = DoGet("REVEAL.MASTER.OSUNIT")
If only the unit is required, an optional 4th parameter may be set to 1. This will allow the unit
to be returned if a simulation is not running and no runtime data is present. This option is
primarily there for RESOLVE.
Set perforation data
"REVEAL.RUN_SETCOMP(""well_name"",block,0)" - This command will close the specified
perforation.
"REVEAL.RUN_SETCOMP(""well_name"",block,1)" - This command will open the specified
perforation.
"REVEAL.RUN_SETCOMP(""well_name"",block,1,RW,RE,KH,S,DIR)" - This command will
set some perforation data and recalculate the connectivity.
The data RW,RE,KH,S,DIR should be replaced with numeric values corresponding to the data
listed in the table above.
If RW, RE, KH or DIR is less than zero, then the current value will remain unchanged.
If S is less than -1000, then the current value will remain unchanged.
if DIR > 0, then RE and KH will be recalculated
if DIR = 0, then both RE and KH should be defined
Well block counting
Note that the block counter is indexed from 0.
Also, the ordering internally within REVEAL is altered from the vertical column or completion

1990-2011 Petroleum Experts Limited

301

REVEAL

table order if inactive blocks are completed (these are removed from the internal runtime list).
As an option to the RUN_GETCOMP and RUN_SETCOMP commands, an additional integer
optional flag may be set as a last argument.
If this flag is set to 1, then the block counter is indexed from zero, and is the same block
number as in the interface for vertical and completion table data entry regardless of whether
inactive blocks have been defined.
For example, if 5 completions are defined in the interface:
well Well1 at table 5
1 1 1 1 1 -1 0.354
2 1 1 2 1 -1 0.354
3 1 1 3 1 -1 0.354
4 1 1 4 1 -1 0.354
5 1 1 5 1 -1 0.354

0
0
0
0
0

0
0
0
0
0

3
3
3
3
3

!
!
!
!
!

feet
feet
feet
feet
feet

day/scf
day/scf
day/scf
day/scf
day/scf

And, if completions 2 and 3 are within an inactive blocks, then only completions 1, 4 and 5 are
listed within REVEAL, and may be obtained with either of these functions.
Completion layer 1: "REVEAL.RUN_SETCOMP(""Well1"",0,1)" or "REVEAL.RUN_SETCOMP
(""Well1"",0,1,1)"
Completion layer 4: "REVEAL.RUN_SETCOMP(""Well1"",1,1)" or "REVEAL.RUN_SETCOMP
(""Well1"",3,1,1)"
Completion layer 5: "REVEAL.RUN_SETCOMP(""Well1"",2,1)" or "REVEAL.RUN_SETCOMP
(""Well1"",4,1,1)"
Completion layer 5 status: "REVEAL.RUN_GETCOMP(""Well1"",2,""PERF"")" or "REVEAL.
RUN_GETCOMP(""Well1"",4,""PERF"", 0, 1)"
Note the additional 'placeholder' argument 4 set to zero required due to it being used to
indicate whether unit only data is required (see above).

2.12 REVEAL Frequently Asked Questions: A Few Additional


Technical Notes
2.12.1 Difference between 5 and 9 points Horizontal Point Schemes
Question:
What are the differences between a 5 point and a 9 point horizontal point scheme in a
gridded reservoir model?
Answer:
The Control section of REVEAL enables to choose between two types of horizontal point
scheme for the fully implicit solver: 5 point or 9 point.
REVEAL Manual

February, 2011

User Guide

302

The 9 point horizontal flow scheme enables to minimise grid orientation effects by allowing
diagonal flow, as illustrated in the diagram below, and is therefore the recommended (i.e. and
default option in REVEAL). It is believed to be a more realistic approach to fluid flow in the
reservoir.

If a 5 point average scheme is used then flow will be enhanced in the grid direction relative to
its diagonal direction, and on the other hand, the flow in the diagonal direction will be underestimated.
Therefore, this can generate differences in estimated breakthrough times for instance.
This can be shown by the following example: a simple grid with one injector and one producer,
both controlled with fixed rates.
The interest of this model is to be able to monitor the difference in water breakthrough time
between a 5 point scheme and a 9 point scheme.
Case 1: The injection and the production wells are aligned in the direction of the grid.

Comparing the water breakthrough obtained by running this model using 5-point or 9-point
averaging, the following results are obtained.

1990-2011 Petroleum Experts Limited

303

REVEAL

Due to grid orientation effects, the 5-point scheme will predict the water breakthrough in the
producer to happen around 3 month earlier than the 9-point scheme.
This example is available on demand: edinburgh@petex.com
Case 2: The injection and the production wells are diagonally spaced compared to the grid
direction.

REVEAL Manual

February, 2011

User Guide

304

Comparing the water breakthrough obtained by running this model using 5-point or 9-point
averaging, the following results are obtained.

1990-2011 Petroleum Experts Limited

305

REVEAL

Due to grid orientation effects, the 5-point scheme will predict the water breakthrough in the
producer to happen around 3 month later than the 9-point scheme.
This example is available on demand: edinburgh@petex.com
In summary:
- If the wells are positioned in the direction of the grid, a 5-point scheme will
predict a early water breakthrough
- if the wells are positioned diagonally to the direction of the grid, a 5-point
scheme will predict a late water breakthrough
It is important to consider that the 5 point scheme is the default used by ECLIPSE, therefore
this scheme should be used for imported models that have been history matched using this
option.

REVEAL Manual

February, 2011

User Guide

306

2.12.2 Rock Mechanics and Thermal Fracturing


Overview:
This section introduces basic concepts of rock mechanics and relate them to the thermal
fracturing module available in REVEAL.
Rock Mechanics and Thermal Fracturing:
1. Concepts of Pressure and Stress
What are pressure and stress?
Both variables have the same dimension: [Force/Unit Area].
However, pressure is a concept attached to liquids: it is a measure of the number of
collisions between the liquid molecules, and is therefore uniform in all directions.
Because of this definition, this concept cannot be applied to a solid.
Stress is the same concept as pressure but applied to solids: a stress is the internal
distribution of force per unit area that balances and reacts to external loads applied to a body.
To summarise, it is a pair of equal and opposite forces acting on unit area of a body. Stress
can be different in different directions and is therefore a directional concept.
Mathematically, it is a second-order tensor with nine components, only six of which are
independent.
If one considers a certain solid body, the combination of all the stress applied to that body in
different directions will be referred to as the stress field applied to that specific body.
The main difference between the concepts of pressure and stress are therefore the medium
considered as well as the directional component.
2. Concept of Strain
Strain is the geometrical expression of the amount of deformation caused by the action of
stress (or combination of stresses) on a body.
Strain is therefore defined as being the change in size and shape of a body resulting from the
action of an applied stress field.
Strain can be for instance a rotation, distortion (shape change) or dilation (volume change).
If the application of a stress field results in the change of dimension of a line of the body
considered, it is said to be resulting in an extension strain.
If the application of a stress field results in the change in angle between two lines of the body
considered, it is said to be resulting in an shear strain.
3. Stress / Strain relationships
As the strain results of the application of a stress, there is a direct geometrical relationship
between the two.
This relationship depends on the composition and mechanical properties of the material
considered.
The following ideal types of response can be considered:

1990-2011 Petroleum Experts Limited

307

REVEAL

ELASTIC STRAIN
When considering an ideal elastic strain behavior, the removal of the deforming stress
will lead to an immediate return of the body to its original unstrained shape.
An analogy of that type of strain is the compression and release of a spring.
The behaviour of perfectly elastic bodys is governed by Hookes law:
e= /E
e is the extensional strain = L / L
is the stress applied
E is a constant known as Youngs Modulus, characteristic of the material.
An ideal elastic stress / strain relationship is represented below:

The Youngs modulus will be the slope of the straight line.


PLASTIC STRAIN
In ideal plastic strain behavior, there is no recovery after removal of the deforming
stress: all the movement is permanent.
For a constant stress, the strain will increase linearly with time t, leading to the following
equation:
e = .t /
e is the extensional strain = L / L
is the stress applied
t is the time
is a constant referred as the viscosity of the material.
Real rocks combine the properties of ideal elastic and viscous bodies.
The total strain might then be obtained by adding (at constant stress) the two previous
equations, leading to the following relationship:
e = / E + .t /
Rocks are usually referred to as ductile or brittle.
When sufficiently high stress is applied, the material will lose cohesion by development of a
fracture or set of fractures: this type of behaviour is called brittle behaviour.
Ductile materials can sustain large plastic deformations without fracturing.
Therefore a typical stress strain relationship for a rock will be the following:

REVEAL Manual

February, 2011

User Guide

308

The stress at which fracture occurs might be referred as yield stress or material strength.
The importance of the plastic behaviour of a rock will depend on the following parameters:
Differential stress (The difference between the biggest and smallest stresses applied
to the rock).
Hydrostatic pressure (Affects the rock strength: When hydrostatic pressure increase,
the critical stress intensity will increase)
Temperature (Decrease in temperature reduces the yield stress of strength of the
rock).
Pore Fluid pressure (Modifies the ratio between 1and 3, facilitating rock failure).
Strain rate (The extent of the period of time over which a certain stress is applied will
lead to a different strain behavior).
4. Rock Mechanics Parameters: What do they mean?
When considering fracture mechanisms in a reservoir, the following parameters have to be
considered:
YOUNG's MODULUS
Youngs Modulus has been defined earlier as being the slope of the stress / strain
relationship.
Its dimension is Force / Unit Area, with a unit of psi if one considers standard oilfield
units.
A material that is difficult to deform will therefore have a high youngs modulus.
For instance:
Material

Youngs Modulus (psi)

Rubber

1,500 to 15,000

Sandstone

Approx. 500,000 to 2,000,000

Oak Wood

1,600,000

Aluminium
Alloy

10,000,000

Diamond

150,000,000

POISSON's RATIO
Poissons ratio determines the lateral displacement that a solid will exhibit to
accommodate a certain change in volume: when a sample of material is stretched in one
1990-2011 Petroleum Experts Limited

309

REVEAL

direction, it tends to get thinner in the other two directions.

Poissons ratio is therefore the ratio of the relative contraction strain (i.e. normal to the
applied stress) divided by the relative extension strain (i.e. in the direction of the applied
stress). It is a non-dimensional parameter.
For a perfectly incompressible material the Poissons ratio will be 0.5.
For an infinitely compressible material the Poissons ratio will be 0.
Guidelines regarding values of Poisson's ratios in different types of rocks can be found
in the illustration below:

REVEAL Manual

February, 2011

User Guide

310

RELATIONSHIPS BETWEEN YOUNG's MODULUS,


POISSON's RATIO,
COMPRESSIBILITY AND GRAIN DISTRIBUTION: Some Guidelines
From the definition of Youngs Modulus and Poissons ratio, it appears that a rock that
will tend to have a high Youngs Modulus will tend to have a high Poissons ratio.
Moreover, it is also possible to relate these concepts to the rock compressibility: a rock
with a high compressibility will tend to have a low Youngs Modulus (i.e. it will be easy to
deform) and a low Poissons ratio.
A rock with a high compressibility will then be associated with a relatively low stress
field.
A relationship can also be build between grain distribution and stress: a very
homogeneous grain distribution will lead to a high Youngs Modulus and Poissons ratio,
and therefore to a relatively high lateral stress, as there will only be a small possibility of
deformation by grain re-arrangement.
A heterogeneous grain distribution will lead to a low Youngs Modulus and Poissons
ratio and therefore to a relatively low stress.
These basic relationships will enable analysis of specific datasets to determine whether
they make physical sense.
Let's consider the following table:

1990-2011 Petroleum Experts Limited

311

REVEAL

Layers

Young's Modulus Poisson's Ratio


(psi)
1: 2e6
0.241

Layer
Sandstone
Layer 2: Shale 1.5e6
Layer
3: 2e6
Sandstone

0.265
0.25

It is possible to see that the evolution of Young's Modulus and Poisson's Ratio observed
when comparing the sandstone layers and the shale does not make sense: The
Poisson's ratio in the shale is higher than in the sandstone, which will be expected,
however this is linked with a Young's Modulus that is lower for the shale than for the
sandstones.
In reality, as in this case, the correct Young's Modulus for the shale is 3.2e6 psi.
THERMO-ELASTIC COEFFICIENT
The thermo elastic coefficient translates the effect of temperature on the reservoir
stress field.
Lets consider a sample of rock. The grains are kept together by cementation; if the
temperature of the rock is decreased (e.g. by injecting cold water in the reservoir) the
rock will tend to shrink. However, because it is linked to the rest of the reservoir, this
specific sample of rock will not be able to shrink and its volume will have to be kept
constant.
The decrease in temperature will then force the rock cementation to fight against the
shrinkage potential. This will then make the rock weaker and reduce the stress field. The
rock will then be more liable to fracture.
PORO-ELASTIC COEFFICIENT
The poro-elastic coefficient translates the effect of fluid pressure on the reservoir stress
field.
Lets consider another sample of rock. The grains are kept together by cementation; if
the fluid pressure of the rock is increased (e.g. by injecting water in the reservoir) the
rock will tend to expand. However, because it is linked to the rest of the reservoir, this
specific sample of rock will not be able to expand and its volume will have to kept
constant.
The increase in pressure will then provide additional "support" to the rock cementation
and make the rock stronger. This will result in an increase in the stress field. The rock
will then be less liable to fracture.
EFFECT OF TEMPERATURE AND PRESSURE ON THE STRESS FIELD
The following diagrams illustrate how the injection of cold water will affect the stress
field around the injection well, illustrating the effects of pressure and temperature
individually.

REVEAL Manual

February, 2011

User Guide

312

It is possible to notice that the injection of cold water will generally tend to decrease the
stress field around the wellbore, increasing the potential for fractures to be formed. The
impact of the temperature decrease on the stress field will generally be more significant
than the that of a pressure increase.
CRITICAL STRESS INTENSITY
The critical stress intensity represents the stress intensity that needs to be achieved for
the rock to fracture. It can be considered relatively equivalent to the yield stress defined
earlier.
EFFECTIVE STRESS
The effective stress is defined as being equal to the total stress minus the pore
pressure.
The following relationship can then be considered:
eff = tot - Ppore
If the effective stress is positive, the system is said to be in compressive state: the total
stress (i.e. a force that tends to keep the fracture closed) is higher than the pore
pressure (i.e.a force that tends to keep the fracture open). A fracture cannot initiate
or propagate when the system is in compressive state.
If the effective stress is negative, the system is said to be in tensile state: the total
stress (i.e. a force that tends to keep the fracture closed) is lower than the pore
pressure (i.e. a force that tends to keep the fracture open). A fracture can initiate or
propagate when the system is in tensile state.

1990-2011 Petroleum Experts Limited

313

REVEAL

MINIMUM PRINCIPAL STRESS DIRECTION


Since stress is a directional concept, when considering a rock sample, three main
stresses must be defined:
- The vertical stress, or overburden stress, applied in the z direction 3.
- The horizontal stresses in both X and Y directions, often referred as 1 and 2.
The two horizontal stresses will have different values: the direction in which the lower of
these two stresses can be found will be called the minimum principal stress direction. As
it will be the direction in which it will be the easier to separate the rock grains, the
fracture width will develop alongside that plane, the fracture length therefore developing
in the diagonal plane, the Y plane.
This is why the fracture will always be propagating NORMALLY to the minimum
principal stress direction.
5. Thermal Fracturing: An Overview of REVEAL model and calculations
The purpose of the thermal fracture model in REVEAL is to investigate the possibility of
fracture initiation and growth geometry within a dynamically coupled reservoir and well bore
system.
The basic principle of the thermal fracture model is to balance,
a) flow, pressure and temperature supplied by an injection tubing,
b) rock mechanics of a fracture,
c) prevailing reservoir conditions.
The following steps are taken to estimate whether a fracture will be produced and how it will
propagate through time:
STEP 1: STRESS FIELD CALCULATION
The first step will be to estimate the stress field in the reservoir.
The stress will be calculated as a function of the following parameters:
- In-Situ Stress
- Temperature
- Pressure
- Poisson's Ratio
- Young's Modulus
- Poro and Thermo-Elastic coefficients
STEP 2: GRID CALCULATION
Once the stress field has been calculated, the grid calculations are performed, divided
between flow and rock mechanics equations.
Flow Equation
The flow equation used will enable calculation of the flow within the fracture as well
as the leak-off rate.
The flow within the fracture is calculated based on the fracture conductivity. This
REVEAL Manual

February, 2011

User Guide

314

fracture conductivity in REVEAL can be setup to be independent of the fracture


width using the fixed FCD option or can be modified as a function of the fracture
width using the parallel plate option.
The leak-off flow will be calculated based on the pressure distribution around the
fracture. The leak-off flow will mainly be a function of the difference between the
pressure in the fracture and the pressure in the matrix.
Rock Mechanics Equation
The rock mechanics equation allows accurate description of the existing stressstrain relationship.
This relationship will enable to know whether the fracture is being initiated,
propagating or even closing, as a function of the following parameters:
- Difference between the well bottom hole flowing Pressure and the stress in the
minimum principal stress direction
- Poisson' Ratio and Young's Modulus
- Width gradient across the fracture
The impact of the width gradient across the fracture on the fracture behavior
through time is important to understand:
- If a high width gradient is considered (i.e. the width of the fracture changes
rapidly as a function of the fracture length), the pressure required to
propagate or even keep the fracture open will be high. This situation is
usually observed at the start of the fracturing process, when the fracture is
still relatively small.
- If a small width gradient is considered (i.e. the width of the fracture changes
slowly as a function of the fracture length), the pressure required to
propagate or even keep the fracture open will be low. This situation is usually
observed when the fracture is already relatively large.
This can be illustrated as a leverage problem. A fracture with a high width gradient
will be equivalent to a small leverage system: a lot of force will need to be applied
to create a displacement. A fracture with a small width gradient will be equivalent
to a large leverage system: a small force will need to be applied to create a
displacement.
Both the flow and the rock mechanics equations will be solved for a fixed fracture shape
to obtain fracture width and bottom hole pressure.
STEP 3: FRACTURE PROPAGATION ITERATIONS
Using the results from the grid calculation, REVEAL will calculate the stress intensity at
the tip of the fracture. If this stress intensity is higher than the critical stress intensity
defined in the REVEAL model, then the fracture can propagate.
Iterations on the fracture shape (i.e. steps 2 and 3) will be performed until the stress

1990-2011 Petroleum Experts Limited

315

REVEAL

intensity calculated equals the critical stress intensity.


Iterations on the well flow rate will be performed as well until the well bottom hole
flowing pressure equals the fracture in-situ pressure.
It is important to notice that this iteration set will not be performed if the well is defined
as being a fixed rate injector: the fracture shape will then be dictated by the rate, which
will not be realistic.
In order to accurately model the fracture initiation and propagation process, the well has
to be controlled based on a fixed THP rather than on a fixed rate.
The following diagram will summarise the different relationships involved in the fracture model
calculations and the variables they depend upon:

6. Thermal Fracturing: Technical Discussion: Analysing the REVEAL fracture model


results
We can consider the implications of the model in two stages, firstly looking at the BHP
response of a hydraulic and thermal fracture, then consider the effects of changes to the
reservoir pressure as a model proceeds.
Initially, we consider the stress field to be constant both spatially and temporally. In order to
propagate a small initial fracture we require an over-pressure (Pf-) that is quite large. This
large BHP will typically correspond to a low injection rate.
This is indicated on the following diagram as point A.
As the fracture grows, the leakoff rate increases and the BHP required to maintain an open
propagating fracture reduces towards the reservoir stress.
This is indicated on the following diagram as point B.
We now consider the effect of cooling (which of course is injection rate dependent). As the
rock cools, it contracts and the stress reduces locally around the injector. As the stress
reduces, a lower BHP is required to open the fracture to propagation conditions. This is
thermal fracturing and is indicated on the following diagram by the dashed lines at progressive
times.

REVEAL Manual

February, 2011

User Guide

316

It is very instructive to consider the consequences of using such a model with an injection well
that is controlled by fixed rate or fixed BHP.
We now consider the effects of changing reservoir pressure. Reservoir pressure may
increase or decrease locally around an injector as a consequence of the entire reservoir
depletion.
The discussion relates to the following diagram.

A] Initially, within the reservoir, the in-situ stress will be above the reservoir pressure, and the
pressure required for fracture propagation will be above the stress. If this cannot be
achieved, then the fracture will not initiate.
B] If this pressure cannot be achieved initially, then a period of cooling is required to reduce
the stress until propagation can occur.
C] As the fracture propagates and the cooled region stabilises, the over-pressure required for
propagation reduces and the fracture pressure falls. As the fracture pressure falls, the
injection rate rises.
D] If the reservoir pressure falls, then the leakoff will tend to increase and the fracture
pressure will fall to maintain the leakoff. As the fracture pressure falls, the fracture will stop
propagating and start to close, until it collapses completely when the fracture pressure falls
below the stress.
E] If the reservoir pressure rises, then the fracture pressure will rise to maintain the leakoff.
When the fracture pressure rises sufficiently above the stress the fracture will propagate,
1990-2011 Petroleum Experts Limited

317

REVEAL

and continue to propagate as long as the reservoir pressure rises. If the reservoir pressure
rises above the stress, then the fracture size will be unbounded by the rock mechanics (the
formation is effectively unconsolidated).
These simple examples demonstrate how to approach analysis of the thermal fracture model
in REVEAL.
It is useful to look at the dynamic changes to fracture pressure, stress and reservoir
pressure.

REVEAL Manual

February, 2011

Chapter

319

REVEAL

Worked Examples

3.1

Worked Examples - Overview

This document contains tutorials for the Petroleum Experts software REVEAL.
These tutorials will lead you through a number of program examples.
If you are relatively new to the software, then these will allow you to use the software
immediately and will provide a good overview of the programs functionality.
The tutorials will be split into three sections:
Dexterity Examples:
The first set of tutorials is for beginners and focuses on the dexterity skills needed to
use the program.
Physics Examples:
The second set of tutorials assumes the user understands the basics of the program
and focuses more on physics and engineering issues relating to the program.
OpenServer Examples:
The third set of tutorials focuses on the use of OpenServer: i.e. how to control the
program through external macros.
The models used in these examples can all be found under the samples sub-directory of the
main installation.
The models are distributed as REVEAL files characterised by the.RVL extension.
A detailed index of the examples available can be found in the Worked Examples - Index
section.

3.2

Worked Examples - Index

The following table can be used as a reference for the worked examples included in this
guide:
Application Area
Setup of a
REVEAL model

REVEAL Manual

Topic

Examples
Section

Demonstrate how Dexterity


to create a
Examples
REVEAL model
from scratch, run

Hyperlink
Getting Started

Type of Example
Step by Step

February, 2011

Worked Examples

Importing an
Eclipse model
into REVEAL

Use of radial
aquifers

Thermal
Fracturing

Souring

Dry Gas

Retrograde
Condensate

a forecast and
analyse the
results.
Demonstrates
Dexterity
how to import and Examples
Eclipse deck
within REVEAL
and how to
compare the
results of both
software for a
similar simulation.
Demonstrates
Dexterity
how to setup a
Examples
radial aquifer in a
simple REVEAL
model.
Demonstrates
Dexterity
how to setup a
Examples
thermal fracture
calculation
including fracture
initiation and
propagation.
Demonstrates
Dexterity
how to setup a
Examples
simple souring
model without
minerals (i.e. this
model is not using
the water
chemistry module)
being defined in
the reservoir and
injected water.
Demonstrates
Dexterity
how to setup a
Examples
REVEAL model
with a dry gas
PVT.
Demonstrates
Dexterity
how to setup a
Examples
REVEAL model
with a retrograde
condensate PVT.

Eclipse Import

Step by Step

Radial Aquifer

Step by Step

320

Thermal Fracture Step by Step

Souring

Step by Step

Dry Gas

Step by Step

Retrograde
Condensate

Step by Step

1990-2011 Petroleum Experts Limited

321

REVEAL

Radial Gridding

Demonstrates
Dexterity
Radial Grid
how to setup a
Examples
radial grid within
REVEAL.
Curvilinear
Demonstrates
Dexterity
Curvilinear Grid
Gridding
how to setup a
Examples
curvilinear grid
within REVEAL.
Grid Refinement Demonstrates
Physics Examples Grid Refinement
how to setup a
REVEAL model
including grid
refinement.
Water Chemistry Demonstrates
Physics Examples Water Chemistry
how to use both
water chemistry
and souring
models.
Permeability
Demonstrates
Physics Examples Permeability
Reduction
how to use the
Reduction
permeability
reduction model
of REVEAL due to
adsorption of
species formed
through the water
chemistry
reactions.

Step by Step

Step by Step

Step by Step

Step by Step

Step by Step

Surfactant

Demonstrates the Physics Examples Surfactant


Step by Step
impact of
surfactant
injection in a
REVEAL model,
where a
surfactant microemulsion phase is
created.
Gel Injection
Demonstrates the Physics Examples Gel Injection
Step by Step
impact of gel
injection in a
horizontal well
with the objective
of reducing the
water coning.
Wellbore Heating Demonstrates the Physics Examples Wellbore Heating Step by Step
REVEAL Manual

February, 2011

Worked Examples

Asphaltene

Non-Newtonian
Fluid

Equalizer
Modeling

OpenServer Well Results

OpenServer Well Production

OpenServer Batch Matching

322

impact of wellbore
heating in order to
reduce fluid
viscosity around
the wellbore.
Demonstrates the Physics Examples Asphaltene
Step by Step
use of the
Asphaltene model
associated with
permeability
reduction
calculations.
Demonstrates the Physics Examples Non-Newtonian
Step by Step
use of REVEAL in
Fluid
case the fluid
considered is a
non-Newtonian
fluid.
Demonstrates the Physics Examples Equalizer
Step by Step
use of complex
horizontal
completions, with
both tubing
screens and
Equalizer
options.
Demonstrates the OpenServer
OpenServer - WellStep by Step
use of
Examples
Results
OpenServer to
export all well
results to an Excel
spreadsheet.
Demonstrates the OpenServer
OpenServer - WellStep by Step
use of
Examples
Production
OpenServer to
report block by
block well
production rates.
Demonstrates the OpenServer
OpenServer Step by Step
use of
Examples
Batch Matching
OpenServer to
automate batch
calculations for
sensitivity /
matching analysis.

1990-2011 Petroleum Experts Limited

323

REVEAL

OpenServer Well Control

OpenServer Water Injection


Allocation

3.3

Demonstrates the OpenServer


use of
Examples
OpenServer to
automate well
control (i.e. THP
and injection
temperature).
Demonstrates the OpenServer
use of the
Examples
REVEAL internal
script to calculate
an optimum water
injection allocation
pattern.

OpenServer - WellStep by Step


Control

OpenServer Internal Script

Step by Step

Getting started

3.3.1 Step 1 - Initialise new case


Start a New Project
Start REVEAL, and open a new project (File|New), or use the icon .
A blank script is present, which will be written to by data entered by the wizard later.

REVEAL Manual

February, 2011

Worked Examples

324

In common to all Petroleum Experts software, the main functions should be accessed from
left to right across the menu bar.
Within one section of the menu, sub-section are organized so that logical progress can be
made by going from the top to the bottom of the list.
Setup the Unit System
Select Options|Units and reset the input and output units to Oilfield, then select OK.

1990-2011 Petroleum Experts Limited

325

REVEAL

In this case, oilfield units are going to be used.


However, using this procedure, one can select a standard set of units or build and
save a customised set of units.
For further information regarding this subject, refer to the Units section of the MBAL
manual.
Save the File
Now is a good time to save the file using File|Save Project As..., and enter a file name (e.g.
Getting_Started.rvl).
It is obviously advisable to save the REVEAL file archive (*.rvl) using File|Save Project or
File|Save Project As... at regular intervals.
The REVEAL archive file contains the script and additional project files such as PVT, lift curve,
output graphics etc. The archive files present may be viewed, added to or deleted using the
option Project|Edit / View Project....

REVEAL Manual

February, 2011

Worked Examples

326

3.3.2 Step 2 - Wizard basics


Input Script and Data Entry Wizard
The REVEAL input script is divided into several sections.
These may be modified either by directly altering the text in the input script, or by using the
project wizard.
The wizard may be used for one section only, or run consecutively through all of the sections.
The wizard is activated with a right click inside the input script window (i.e. Start Wizard), or
by selecting Input (i.e. Script Wizard).
Once the wizard ends normally (section(s) completed, or Finish selected), the output script is
updated.
The only data stored internally by REVEAL is that written to the script and held in datablocks.
Datablocks headers are recognisable in the script as they are coloured in red.
To prevent the changes made in using the wizard from being written to the output script,
select Cancel.
The Next and Previous buttons can be used to navigate forwards and backwards through the
wizard screens.
The Validation, Plot and Calculate buttons may be used on some screens to check data
input.
The script and all associated data structures (including results) are only saved to the REVEAL
archive when the REVEAL project is saved.
The wizard cannot be running while a save is made.
Start the wizard using Input|Script Wizard|Run All.
On-Context Help
The on-context help can be invoked at any point when using the REVEAL script by selecting
the icon shown below to view a simple description of the data entered.
Move the cursor over the script to view the on-context help and turn the on-context help off by
de-selecting the icon shown.

1990-2011 Petroleum Experts Limited

327

REVEAL

When using the Wizard, the on-context help can be invoked by selecting the Help button on
the right hand side of the wizard screen.

3.3.3 Step 3 - Control section


This section sets the scope of the REVEAL model being created, and includes major solver
options.
Depending on the different options selected at that stage, the input data sections relevant to
the model will be automatically displayed in the right hand corner of the wizard screen.
The name of each input data section will be displayed in red and have a red cross associated
with it until all the input data needed has been entered. Once this is done, the section name
will be displayed in green.
The first screen selects the solver and its options.
Two IMPES (implicit pressure and explicit saturation) schemes or two fully implicit schemes
are available.
Select the Fully Implicit option, and select Next.

REVEAL Manual

February, 2011

Worked Examples

328

The default solver options (i.e. Fully implicit solver and associated settings) are setup to
handle successfully a wide range of model, and should only be modified when facing specific
cases such as non-convergence issues for instance.
More information regarding the effect of the different solver options can be find in the Input
Wizard | Control Section.

The next screen selects the models that will be included and sets the reference depth and
temperature.
- A reference temperature is needed for certain correlations that require reference
conditions
- A reference depth is needed to report mean reservoir pressures
For this simple example, simply add the reference conditions as shown below, and select
Next.

1990-2011 Petroleum Experts Limited

329

REVEAL

The next screen enables to select reservoir components additional to the standard oil, gas
and water including non-reservoir injection gases.
In this example, none of these additional components are selected.
Select Next. This completes the control section.

3.3.4 Step 4 - Reservoir section


In the reservoir section, grid geometry and petrophysics characteristics are entered.
On the first screen enter a Cartesian grid with X and Y dimension set to 25 and Z dimension
set to 15, then select Next.
We are going to enter a very simple grid with 300 ft square and 20 ft deep blocks. Enter the
values as shown, then select Add to enter the Z direction depths.
Select Plot to view a wire frame mesh. Close the plot screen to return to the 'Reservoir
Section: grid input' screen and select Next.
REVEAL Manual

February, 2011

Worked Examples

330

The next screen enters the reference depth at the top of the grid. Select Add, then All, to
select all the blocks, then enter a value of 10000 ft.
This data has been entered and can be checked using the Validate button.
The list of data entered is not updated on the screen dynamically, but may be seen by clicking
left over the list.
There is no need to click on the Add button to confirm this set of data.

1990-2011 Petroleum Experts Limited

331

REVEAL

Select Next to enter the porosity data, select Add, then select All grid blocks, and enter a
value of 0.2.
Select Next to enter the X direction permeability, select Add, then select All grid blocks,
enter a value of 100 mD.
Select the Y Permeability tab at the bottom of the screen, and leave the Y direction
permeability multiplier at 1, select Z Permeability tab and set the Z direction permeability
multiplier to 0.1.
This will lead to the following distribution of permeability in the reservoir:
- Horizontal permeability is uniform through the reservoir and equal to 100mD.
- Vertical permeability is uniform through the reservoir and equal to 1/10th of the
horizontal permeability, therefore 10mD.
Select Next to enter transmissibility multiplier data. This is an optional parameter.
If used, the transmissibility calculated for the positive face between the cell considered and its
neighbor will be multiplied by the value entered.

REVEAL Manual

February, 2011

Worked Examples

332

Each cell in the grid has an index specified in each direction of the grid (i.e. X, Y and Z). The
combination of these three indexes is unique and enables to characterise the location of a cell
in the grid.
The positive face of a cell in one direction is defined as the face enabling communication
between the cell considered (i.e. characterised by an index i) and the adjacent cell (i.e.
characterised by an index i+1), as specified by the diagram below.

These transmissibility multipliers are usually used to model the effect of transmissibility
barriers for instance.
We won't be using these so select Next to enter absolute transmissibility data.
If this is entered (and the drop-down list at the top of the screen is changed to say 'Yes')
REVEAL will not perform its own transmissibility calculations but will use these
transmissibilities directly.
These would normally be imported directly from the results of another simulator: it is
particularly important to use these absolute transmissibilities when trying to reproduce in
REVEAL the results of another simulator with the same model. More information regarding
this subject can be found in the External Data Import section.
We won't be using these, select Next.
We won't be setting net-to-gross ratios so select Next again.
We won't be using pore volume multipliers so select Next again to define rock types.
Large pore volume multipliers can be specified at the edge of sector models to
ensure that the pressure at the reservoir boundaries stays constant during the
run.
We will have only one rock type and this is the default set on this screen (one rock type
covering the entire grid). The same goes for PVT, equilibration and fluid in place regions on
the next two screens.
1990-2011 Petroleum Experts Limited

333

REVEAL

The fluid in place region enables to define several oil in place regions in the model to obtain
information such as recovery factors per region for instance. One option will be to define one
oil in place region per layer for example.
After completing the PVT, equilibration and fluid in place region screens select Next to enter
non-neighbour connections, then Next again to enter grid refinement regions. We won't be
using either of these for this example.
This ends the reservoir section and the data entered should be saved. Select Finish to end
the wizard and write the data entered to the input script. Then select File|Save Project to
save the REVEAL archive.
The data entered so far can be seen by scrolling up within the input script window.

3.3.5 Step 5 - Physical section


This section enables to specify the fluid (i.e PVT for oil, gas and water) and rock physical
properties (i.e. Compressibility and Thermal Properties).
Use the right mouse button from within the input script window to restart the wizard at the
physical section by selecting Start Wizard|Physical.
PVT:
We are going to enter a simple (unmatched) black oil PVT for an oil that is undersaturated at
5000 psig and 200 F.
Select New to enter a new PVT, then select Oil for the fluid type and enter a name (e.g.
Getting Started), then select OK to bring up the PVT entry screen.
This is the same as other Petroleum Experts PVT entry and indeed previously created PVT
files can be imported directly using the Import option.
Do not do this now since we are creating PVT data from scratch and not importing an existing
file.
Enter the following black oil PVT data. We are not concerned with complexities of PVT
matching and miscibility during this tutorial, however, it is recommended to use the Variable
Pb option to generate the PVT tables, as illustrated below.

REVEAL Manual

February, 2011

Worked Examples

334

The fluid properties at different P and T can be estimated by using either black oil PVT
correlations or PVT tables, as per the other tools of the IPM suite.
Taking into account the volume of calculations to be done in REVEAL it is generally preferable
to generate PVT tables from a correlation (i.e. this technique is valid with either matched or
unmatched PVT correlations).
This will enable to decrease the simulation run time.
The range of pressures and temperatures considered when generating the PVT tables should
be wide enough to cover the reservoir conditions encountered during the run.
If not REVEAL will have to extrapolate the PVT tables and this may lead to erroneous results.
For this reason a facility is available to generate tables from a correlation.
Tables and enter the following ranges.

Select Calc

1990-2011 Petroleum Experts Limited

335

REVEAL

Next select Calculate, then OK and Done to return to the main PVT screen.
Select Tables to check the table data has been generated correctly, as illustrated below: in
this case, both saturated and undersaturated tables have been created for a range of
pressure up to the maximum pressure entered and for one single temperature, 200F.

REVEAL Manual

February, 2011

Worked Examples

336

When Done is selected to return again to the main PVT screen, the Use Tables option is
automatically selected, as illustrated below:

Select Done to save the PVT data.


Thermal Properties, Diffusivity and Dispersion Data:
Once the PVT has been entered the "Physical Section: general description" screen enables to
specify the thermal conductivity, diffusivity and dispersion data.

1990-2011 Petroleum Experts Limited

337

REVEAL

It is important to note that REVEAL is always performing fully thermal calculations, even if the
PVT is not defined as thermal.
The following situations can then occur:
1. IsoThermal PVT is defined: REVEAL will calculate how the temperature evolves in
the system, but will not modify the PVT properties of the fluid in situ.
2. Thermal PVT is defined (i.e. PVT tables include several temperatures): REVEAL will
calculate how the temperature evolves in the system and will modify the PVT properties
of the fluid in situ.
This will result in the correct modelling of injectivity in cold water injectors for instance,
where the change of water viscosity due to the drop of reservoir temperature modifies
the injectivity of the wells.
As REVEAL is always performing fully thermal calculations, the default thermal properties
should always be selected when setting up the model.
More over, it will be recommended to include thermal exchanges by conductivity by selecting
the "Thermal Conductivity" option, as illustrated below.
Once this has been selected, the Default thermal properties button should be used to setup
automatically the default values for the fluid and rock heat capacities.

REVEAL Manual

February, 2011

Worked Examples

338

Note that units may altered dynamically by left clicking over the unit (highlighted above). Don't
alter the units now.
Diffusivity and Dispersivity models can be selected in this screen as well. These options will
be available only if the IMPES solver is used.
Select Validate to check the data entered. Click right over any data entry cell and select
Validation Range to change the minimum and maximum values.
It is not necessary to alter the validation range for REVEAL to accept data input. Any
changes made to the validation ranges are saved with the file.
Compressibility Data:
Select Next to enter the rock compressibility, enter a value of 1e-5 psi-1 at 5000 psig for the
uniform pore volume compressibility, as illustrated below.

1990-2011 Petroleum Experts Limited

339

REVEAL

It is possible to enter rock compressibility rather than pore volume compressibility in REVEAL
by changing the compressibility definition.
- In case the rock compressibility is selected, the volume of rock the compressibility
value considers does not include the pore volume.
- In case the pore volume compressibility is selected, the volume of rock the
compressibility value considers include the pore volume.
Select Next to enter various (mostly optional) viscosity model parameters. No data entry is
required for this model so select Next to complete the physical data section.

3.3.6 Step 6 - Relperm section


The relative permeability and capillary pressure data are entered in this section.
The first screen enables to select the relative permeability models to be used.
Relative permeabilities may be directional, well or interfacial tension dependent (i.e.
desaturation model), but not for this case so we will use the standard setup. Select Next.
REVEAL Manual

February, 2011

Worked Examples

340

The next step will be to create and define the different residual saturations and relative
permeability regions present in the model.
In the case considered, there is only one saturation and relative permeability region defined.
Select Add Region and make sure the Rock Coverage All checkbox is ticked.
Enter the residual phase saturations as shown and select Next.
Residual saturations for desaturation and gas hysteresis would be entered on this
screen if these models were active.

The following screen enables to complete the set of relative permeability.


Select Add Rel Perm to add a relative permeability table, then tick the All Directions tickbox.
By default the data entry is done using a parametric form: it is then needed to enter the end
points and Corey exponents characterising the relative permeability curves.
1990-2011 Petroleum Experts Limited

341

REVEAL

If the Data Entry option is set to Tabular rather than Parametric, one can enter the
residual saturations as tables rather than end points and Corey Exponent.
Tables can be copied and paste from an Excel spreadsheet for instance.
Enter the following data and select Plot to view the data entered.
Select OK, then Next to enter the capillary pressure data.

We are going to have no capillary pressure in this model, so enter the following tabular data.
Capillary pressures can be entered either under tabular form or using the J-Leverett function.

REVEAL Manual

February, 2011

Worked Examples

342

This completes the relative permeability section, so select Finish to write all of the data
entered so far to the input script.
Save the REVEAL archive and restart the wizard at the Wells section.
Note that the Aquifer, Mobility, Phase behaviour, Adsorption, Water Chemistry and Solids
sections are not required for this simple example.
These sections are therefore greyed out in the progress window in the wizard right hand side
corner.

3.3.7 Step 7 - Wells section


This section enables to specify the different types of well (i.e. producers and injectors)
existing in the field modelled.
Start the wizard in the wells section if it is not already there.
Wells may be entered as:
- Vertical wells with connection factors calculated using Peaceman's equation
1990-2011 Petroleum Experts Limited

343

REVEAL

- User entered connection factors (i.e. this is the option used when data is imported
from a third-party simulator deck)
- Multilateral wells entered through their deviation survey. This type of well is defined as
Multilateral and wellbore friction and crossflow can be modelled when using this type of
well definition.
We are going to enter one horizontal well perforated at a depth of 10150 ft (centre of the
reservoir).
In the wells list select Create to add the well, then select Multilateral description in the
Enter well position by selection box.
Give the multilateral description an identifier name (e.g. horiz) and set the BHP (Pwf)
reference to Fixed depth and set a value of 10050 ft (remember the top of the reservoir is at
10000 ft and we have 5 vertical blocks of 20 ft each).
In REVEAL it will be possible to use tubing performance curves to describe the well outflow
performance. If this the case, it is important that the well reference depth set in that
section matches the one defined when generating the well outflow performance curve.
In other words, the depth entered as reference depth in REVEAL should correspond to the
top of the perforation defined in PROSPER (i.e. lower depth in the PROSPER file downhole
equipment section).

REVEAL Manual

February, 2011

Worked Examples

344

Select the Edit Multilateral button to enter the deviation survey for the well.
Select the Change Reference button to set the first node of the well at coordinates
(2000,3750,10150).
Select OK once the reference position has been entered.

Select Add tubing and then OK. Next, enter the deviation survey as shown below.
1990-2011 Petroleum Experts Limited

345

REVEAL

Note that the internal diameter and roughness units have been change from feet to inches,
and finally select OK to return to the wells input screen.

Select Plot to view the reservoir and completed well

In order to obtain the image above, that shows a cut of the reservoir in the Y direction with an
upscaled Z scale and a transparency applied to the system, the following steps were used:

REVEAL Manual

February, 2011

Worked Examples

346

- 1: Select Plot to view the reservoir


- 2: Right click on the plot area and select Viewing Properties
- 3: Set the grid transparency to 0.5

- 4: Select the Properties | Details section


In the Cutting Plane section:
This section enables to visualise part of the models, either single horizontal or vertical
slices of the model, either a specific box area.
Select the Apply Cutting Plane option and specify the plane in which the cut needs to
be performed (i.e. here Y plane) and the layer number (i.e. here 13).
In the Z-Scaling section:
This section enables to magnify the view of the model in the vertical direction. This is
extremely useful for models where a large number of thin layers are defined.
The scaling factor can be set to 5: this will multiply the vertical scale used to display
the model by a factor 5 but will not affect the horizontal scales used.

1990-2011 Petroleum Experts Limited

347

REVEAL

- 5: Rotate the view using the mouse left button and zoom in/out using the mouse roller
button.
If the view becomes too distorted, the F5 button enables to come back to the initial
view.
- 6: The red floppy disk icon on the top right hand side of the view enables to save the
graphic configuration used.
Give a name to the file to be saved, and this specific viewing configuration can be reused directly by selecting the 3D | Load View option in the 3D graphical window.

- 7: Close the plot window to return to the wizard and select Next to complete the
Wells section.

REVEAL Manual

February, 2011

Worked Examples

348

3.3.8 Step 8 - Initialisation section


This section enables to specify:
- Which PVT description is to be assigned to which PVT region:
Initialisation Section Page 1
- Rs vs. depth gradient for variable Rs PVTs:
Initialisation Section Page 1
- Depth of initials WOC and GOC contacts:
Initialisation Section Page 2
- Reservoir reference depth (i.e. datum depth at which the reference pressures will be
reported) and reference temperature:
Initialisation Section Page 2
- Reservoir thermal gradient:
Initialisation Section Page 2
These inputs are important for REVEAL to be able to know the status of the reservoir at the
beginning of the prediction calculation.
For this example the following dataset will be used:
Since we only have one PVT region and one PVT description the default assignment has been
made already.
The PVT defined is using the Variable Pb option so the variation of Rs with depth has to be
specified, as illustrated below.

1990-2011 Petroleum Experts Limited

349

REVEAL

Select Next to access the second page of the initialisation section.


Reference depth of 10000 ft and reference pressure of 5000 psig will be used in that model,
which correspond to the reservoir centre.
The PVT has been defined as isothermal so there will be no thermal gradient to be defined.

REVEAL Manual

February, 2011

Worked Examples

350

Select Next to enter the last section, the schedule section.

3.3.9 Step 9 - Schedule section


This section enables to define the forecast schedule to be used by defining time step
specifications and well constraints.
This model is to be run for 1 year with a constant production rate of 10,000 STB/d.
In order to do so, the following steps need to be followed:
- 1: Select the well status and control mode: select Produce for the well type and Fix
rate for the well control
Enter a rate of 10000 STB/d and set the Rate type to Total (oil+water).
- 2: Set the initial time step size to 1 day.
We recommend not using other time-step controls unless it is shown to be required.
- 3: Set the schedule to run for 1 year as shown below.
1990-2011 Petroleum Experts Limited

351

REVEAL

Finally select Next to complete the data input.

Save the REVEAL file using File|Save Project.

3.3.10 Step 10 - Run simulation


Prior to running the simulation, it will be necessary to set the variables that are to be reported
during the run.
In order to do so, select Run Simulation|Select Properties... to select which data and how
often it should be saved.
The 3D grid data (arrays over active grid blocks) can be saved at different intervals to the
tabular data (well, average reservoir properties, wellbore results).
Modify this as appropriate and select OK when this has been done.

REVEAL Manual

February, 2011

Worked Examples

352

It is possible to note that in this case, all the parameters have been selected to be reported,
and the frequency of the 3D grid array has been set to 1 timestep.
This is a setup that can be useful for initial runs to gain a good understanding of how the
model / reservoir is behaving. However, it will tend to generate a large amount of results,
which might not be practical, especially when working with larger models.
Start the calculation using the "Play" button ( ) and save the REVEAL archive once it has
completed.
The other buttons on the Play bar can be used as follow:
- The button enables to run the simulation on a step by step basis
- The button enables to run the simulation until a specific date specified by the user
- The pause and stop button are available as soon as the simulation is running
When the simulation is running, the calculation progress will be displayed and it will be

1990-2011 Petroleum Experts Limited

353

REVEAL

possible to visualise the average, well, 3D and wellbore results using the visualisation buttons
below.

3.3.11 Step 11 - View results


The following section describes how to access and view results in REVEAL.
Results in REVEAL can be viewed dynamically during the simulation run and analysed after
the simulation run.
In the main shortcut menu bar, use the

buttons to view the results.

- The button provides access to the simulation debug output.


Further information regarding how to use the debug output file can be found in the
debug output section of the manual.
REVEAL Manual

February, 2011

Worked Examples

354

- The button provides average reservoir properties such as mean phase pressures,
saturations and volumes for the different regions defined in the model.
These data may be viewed, plotted and printed, or copied to the clipboard for import
into another application.
The Save button available on that screen enables to save this specific set of results so
that it can be retrieved even after another simulation has been run with the same model.
This can be used to compare results between different runs.
It is important to note that if the results are not saved that way, each time a new
run will be launched, results of previous runs will be overwritten and therefore lost.
- The button provides well results data, including instantaneous and cumulative rates,
GOR, water cut and phase pressure and saturation data at well blocks.
The Save button available on that screen enables to save this specific set of results so
that it can be retrieved even after another simulation has been run with the same model.
This can be used to compare results between different runs.
It is important to note that if the results are not saved that way, each time a new
run will be launched, results of previous runs will be overwritten and therefore lost.
- The
button provides a three dimensional display of the fluid properties that were
selected for display (Run Simulation|Select Properties...).
It includes graphical representation of wells, completions and fractures.
The following buttons are available on the 3D menu bar:
The
properties.

buttons control the dynamic visualisation of 3D

The "Play" button enables the user to visualise REVEAL results through time for
the simulation run. The interval at which 3D snapshots are saved has been defined
prior to the simulation being run. For more information regarding how to setup
these, please refer to the Run Simulation section.
The "Fast Forward" button enables to go step by step through the run results
The "Play to End" button enables to go directly to the last 3D snapshot,
corresponding to the end of the simulation run.
The
buttons respectively enables to recall a 3D view that has already been
saved and to save a 3D view.
The
buttons respectively enable to select, unselect, select multiple grid
block and visualise grid block properties. Once individual blocks have been
selected, 2D plots of the grid block properties can be seen and saved using the
CR button. The select multiple grid block button enables as well to select
automatically all the grid blocks in which a well is completed.

1990-2011 Petroleum Experts Limited

355

REVEAL

The
button enables to calculate the distance between two points. It is
important to note that the distance calculated will be accurate strictly if the
different points considered are located on the same plane.
The
buttons respectively enable to Zoom In, Zoom Out of the current view
and to come back to a standard view.
The
buttons respectively enable to select the variables to view prior
to running the simulation, select the viewing properties, set a scale range, select
the playback options and the visualisation preferences (i.e. colour scales used can
be modified in there).
The following is a list of recommended control functions within the 3D display window.
Left mouse
Ctrl+right mouse
Shift+left mouse

Ctrl+left mouse
Mouse Roller Button
F5
W key
S key

rotates the image in wire-frame mode about the X and


Y axes.
rotates the image in wire-frame mode about the Z axis.
pans the image. This may also be achieved by using
the left mouse button near the edge of the display
window.
selects a region to be enlarged.
zoom In / Out
returns the scaling to its original size.
sets the display to wire-frame mode.
sets the display to surface mode.

The following is a list of recommended options available using the right mouse button
within the 3D display window.
right mouse|3D Options set block shrink factors, surface transparencies and
select regions of blocks (usually a plane of blocks) to
view.
right mouse|Scale
set the scale range for colour tables; set linear and
logarithmic scaling and the end points (minimum and
maximum values to scale between).
right mouse|Object Properties
set visibility (presence or absence),
transparency, wire-frame or surface mode for
individual elements within the display (e.g. set fractures
to be wire-frame). Some element types may be
selected individually (wells, completions, fractures) by
selecting the appropriate element type with the left
mouse button in the Viewing Objects column of the
table.
right mouse|View
set the variable to view.
right mouse|Playback Options
set the range, interval and speed of 3D
playbacks.
REVEAL Manual

February, 2011

Worked Examples

356

It is possible to display separate results and runtime windows by using the View | Cascade
option in the main menu bar.

3.4

Dexterity Examples

3.4.1 Getting Started


Details of that example can be found in the Getting Started section.

3.4.2 Eclipse Import


Associated Files:
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\Reveal\Dexterity_Examples\Eclipse_Import
The files associated with that example are the following:
1. Eclipse data deck
Eclipse_Import.DATA
Eclipse_Import.INIT
Eclipse_Import.UNRST
Eclipse_Import.EGRID
1990-2011 Petroleum Experts Limited

357

REVEAL

2. Excel results comparison


Eclipse_Import_Results.xls
3. REVEAL file
Eclipse_Import.rvl
Worked Example Objectives:
1. Develop dexterity skills using the Eclipse import facility of REVEAL.
2. Compare the results obtained by Eclipse and REVEAL for the same models
Model Setup:
The workflow below will describe how to import an isothermal Eclipse model in REVEAL,
what is the additional data required by REVEAL and what are the particular elements /
Eclipse keywords one needs to be particularly attentive to.
An Eclipse (i.e. or VIP) model is imported into REVEAL from binary files generated following
the keyword entry in these simulators. This is to ensure that the data obtained is not subject
to alteration by subsequent keywords in the input deck, but is the final results of all keywords
and represents the model to be simulated.
The Eclipse files required are the following files:
- To import the geometrical and physical data (including tabular data), the Eclipse files
required are the binary output grid geometry (*.grid or *.grd or *.egrid) file and
initialisation file (*.init or *.ini). Formatted version of these files can also be read (.fgr and
.fin). See the Eclipse manual if these files have not been generated.
- To import the restart data (solution and well data) restart file(s) will be required (*.rst
or *.unrst). These may be in individual or unified format (this must be specified on the
load screen).
- It is also currently possible to bring the corner points of an Eclipse grid into REVEAL
directly from the Eclipse ASCII deck. Specifically, REVEAL can read the COORD and
ZCORN cards and translate the data into a REVEAL datablock.
The consistency between Eclipse and REVEAL models in terms of Units system used is taken
care automatically by the importing workflow.
STEP A: Launch the REVEAL Eclipse importer wizard.
1. Create a new REVEAL file, by going to the File / New section of the REVEAL menu.
2. In the Input section of the REVEAL menu, select the Import from Simulator or ASCII file
option.

REVEAL Manual

February, 2011

Worked Examples

358

3. The first import wizard screen will appear. This screen enables to select the files to import
in REVEAL.
The first step to take in this screen is to select what type of file needs to be imported.
In order to import Eclipse files, it will be necessary to select the Eclipse deck (.init, .grid, .
rst/unrst, .data) option.
The Browse button can be used to select the directory where the Eclipse files are saved.
After doing so, it will be needed to enter the name of the file considered:
- name of the Eclipse init file
- name of the Eclipse grid file (if this file has got the same name than the init file, there
is no need to specify it again)
- name of the Eclipse data file (if this file has got the same name than the init file, there
is no need to specify it again)
To load the Well Data from the Eclipse deck, a restart file is required. REVEAL will import the
information about the completion of the wells only from the Restart files.
If the restart data needs to be imported, the Load solution / Restart data (for solution
data and well tables) option must be selected.
The name of the restart file then needs to be entered (if this file has got the same name than
the init file, there is no need to specify it again).
For this example, the file considered is a unified restart file (i.e. it is characterised by the .
unrst extension). It is therefore needed to select the Unified restart file option.

1990-2011 Petroleum Experts Limited

359

REVEAL

It is now possible to pass to the following import wizard step, which will enable one to select
the information to import from Eclipse to REVEAL. To do so, the Next button should be used.

REVEAL Manual

February, 2011

Worked Examples

360

STEP B: Select the data to be imported from Eclipse to REVEAL.


The following screen list all the information that may be contained in the Eclipse file and that
can be used in REVEAL. It is here possible to import all the data from the Eclipse file (i.e. by
selecting the All option on each of the sub-screen), what is going to be done in this example,
or to select individually the data that have to be imported from Eclipse.
As it can be observed, each sub-screen lists the Eclipse data corresponding to specific model
characteristics, such as geometry and petrophysical properties or connate saturations for
instance.

In this case, endpoint scaling is not use in the Eclipse deck, so the Endpoint scaling data is
not selected.
1990-2011 Petroleum Experts Limited

361

REVEAL

It can be seen that in the 'Well and Solution (restart) data' section the user has the ability to
select dates. These dates correspond to the dates on which the restart files were created in
Eclipse.
For the 'Well Data' section, it is possible that in the Eclipse Deck there are more than one
wells and that the wells come online at different dates. The restart file which has the
information for all the wells in the Eclipse deck will be the last restart file i.e. at the end of the
Eclipse run. Therefore by default REVEAL will select the last available date on which to read
the information about the wells.
The 'Solution data' section corresponds to the date on which to read the condition of the
reservoir. REVEAL will import the condition of the reservoir on the date selected in the
'Solution Data' section. To import the correct information about the reservoir, it is important to
select the first date, which corresponds to the date on which the forecast run was started.
REVEAL by default will select the first available date.
Once all the data to import have been selected, a REVEAL model will be created including all
the data from the Eclipse model that have been selected.
The following screen enables one to check the validity of the import process. It lists all the
parameters imported from Eclipse to REVEAL and specify if the import has been made
properly.
Here, it is possible to notice that all the parameters have been imported properly.
If a check is run in the Eclipse data file, it is possible to notice that these values were not
defined in the Eclipse file; therefore they have not been imported.

REVEAL Manual

February, 2011

Worked Examples

362

If several rock types / PVT tables are defined in the Eclipse deck (i.e. which is not the case
here), this screen will allow to relate the rock type maps imported from Eclipse to the rock
type maps used in REVEAL using the Map Imported Rock Tables to REVEAL rock types
and the Map PVT tables to REVEAL PVT regions option.
To complete the procedure, the Finish button can be used.
The Eclipse model is now imported in REVEAL, as shown by the automatic implementation of
the REVEAL script.

1990-2011 Petroleum Experts Limited

363

REVEAL

STEP C: Further elements to be looked at.


In order to get the model to run, the following elements need to be setup:
Using the REVEAL wizard, the screens presented below can be accessed:
- In the Control Section:
1. The horizontal point scheme used by REVEAL by default is based on 9 points,
whereas Eclipse is using a 5 point based horizontal point scheme.
If the objective of the study is to reproduce Eclipse results, then it will be needed to
switch to 5 point. In all other cases, it is advised to keep the 9 point horizontal point
scheme selected by default.

2. The simulation starting date is not imported. It is important to input it manually in


the control section of the input wizard.
If the reservoir temperature at the reference depth is known, it will be necessary to
REVEAL Manual

February, 2011

Worked Examples

364

implement it, as REVEAL is a thermal numerical simulator. The temperature may be


estimated as well from the imported water viscosity table.

- In the Reservoir section:


1. External transmissibilities are calculated by Eclipse. If those need to be used, then
the option Use External Transmissibilities should be selected.
The default in REVEAL is to use the equivalent of NEWTRAN.

1990-2011 Petroleum Experts Limited

365

REVEAL

2. If the Use External Transmissibility option is selected, then all non-neighbour


connections and pinchouts will be automatically made consistent between the Eclipse
and REVEAL decks.
- In the Physical section:
As REVEAL can work as a thermal numerical simulator, it is necessary to set the
thermal properties used during the calculation. A set of default value for these thermal
properties exists in REVEAL and can be automatically inserted in the model using the
Default Thermal Properties option. If the thermal model has to be used, the PVT data
will need to be upgraded to thermal PVT data as well.

REVEAL Manual

February, 2011

Worked Examples

366

- In the RelPem section:


The rock coverage of the model will be handled automatically provided the Automatic
Rock Coverage option is selected.

1990-2011 Petroleum Experts Limited

367

REVEAL

- In the Schedule section: The Eclipse schedule is not imported in REVEAL. It then
needs to be setup.
For example, it will be possible to use the simple schedule defined below:
o an initial step size needs to be entered: here 1 day
o the well PROD is set to produce at a fixed rate of 2,000 STB/d from the
01/01/2007 to the 01/01/2008.

REVEAL Manual

February, 2011

Worked Examples

368

The REVEAL model can now be run as a classic REVEAL model is.
It will be important to proceed to some results quality control after the import procedure has
been done.
Other Possible Areas to be considered during the Import Procedure:
- Possibility of 3 point Endpoint scaling in Eclipse model: this should be set manually in
REVEAL.
- Analytical aquifers are not imported
- Refinement is not imported
- Only black oil and dry gas PVT tables can be imported
- By default, well crossflow is switched OFF in REVEAL
- Check that the Rs vs. depth table and equilibration data have been imported
correctly.
It is possible to find more detailed information regarding specific points of the Eclipse import
facility in the Importing from Eclipse (binary files) and the Importing from Eclipse (ASCII files)
1990-2011 Petroleum Experts Limited

369

REVEAL

section of the online help.


Results Analysis:
Using the model setup previously, it will be possible to check the validity of the REVEAL
model obtained through the import procedure by comparing similar run of the two models.
This can be quite useful as one of the main objectives of REVEAL is to integrate different
studies such as reservoir simulation, scale modelling, thermal studies, fracturing studies, etc..
that are usually done in isolation in one unique model, that is based on the published reservoir
model.
It is therefore important for the engineer to be confident in the REVEAL results: under the
same conditions, they should reproduce the Eclipse results.
The Excel file Eclipse_Import_Results contains results of two similar runs of the model above,
one ran with Eclipse and one with REVEAL.
In this case, the well rates are fixed, but it will be possible to compare the well bottom hole
pressures as illustrated below.
Phase saturations in the different grid blocks can be checked as well and will be found to be
similar.
Therefore, once the import procedure is done, one can be confident that if setup exactly
similarly, the REVEAL model will behave exactly similarly to the Eclipse model.
It can therefore be use with confidence for the rest of the study.

REVEAL Manual

February, 2011

Worked Examples

370

3.4.3 Radial Aquifer


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\\Dexterity_Examples\Radial_Aquifer
The file associated with that example is the following: Radial_Aquifer.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the use and setup of radial aquifer models in
REVEAL.
Model Setup:
Two radial aquifers encroaching the X direction faces of a square reservoir are to be setup.
In order to do so, the following steps can be followed:
1. Select the Analytical Aquifer Model in the Control Section of the REVEAL input
wizard.

1990-2011 Petroleum Experts Limited

371

REVEAL

Once this is done, the aquifer section will be added automatically to the input script and the
input wizard, as illustrated above.
Go to this section of the wizard to enter the aquifer properties.
2. Specify the Aquifer Properties in the Aquifer Section of the REVEAL input wizard.
Two types of aquifer are available in REVEAL: Linear and Radial. Each of them could be
defined as infinite acting (i.e. no external boundary will be defined for the aquifer) or finite
acting.

REVEAL Manual

February, 2011

Worked Examples

372

Two aquifers are added to that model:


- Aquifer 1 is a finite radial aquifer encroaching the reservoir from the X- face.
The connection area is defined as:
X from 1 to 1: the aquifer encroaches only the first column of grid blocks in the
X direction
Y from 1 to 13: the aquifer encroaches all the columns of grid blocks in the Y
direction
Z from 1 to 5: the aquifer encroaches all the rows of grid blocks in the Z
direction
The data for aquifer 1 is illustrated above.
- Aquifer 2 is an infinite radial aquifer encroaching the reservoir from the X+ face.
The connection area is defined as:
X from 13 to 13: the aquifer encroaches only the last column of grid blocks in
the X direction
Y from 1 to 13: the aquifer encroaches all the columns of grid blocks in the Y
1990-2011 Petroleum Experts Limited

373

REVEAL

direction
Z from 1 to 5: the aquifer encroaches all the rows of grid blocks in the Z
direction
The data for aquifer 2 is illustrated below.

This step finishes the aquifer setup.


It is possible to check the aquifer setup by plotting the aquifer blocks in a 3D view of the
initialised reservoir.
This can be accessed by selecting the t=0 button in the icon menu bar and selecting View |
Aquifer blocks.

REVEAL Manual

February, 2011

Worked Examples

374

Results Analysis:
Once the model has been run, the impact of the aquifer can be analysed by plotting for
instance the water saturation evolution at certain points in time in a Y direction reservoir slice.
This can be obtained by going to 3D View |, select the water saturation in the View section
and select Cutting Plane and Y=10 cutting plane in the properties section.
Contours have been plotted on the graph below as well as they illustrate well the importance
of the water encroachment and pressure support due to the aquifers.

1990-2011 Petroleum Experts Limited

375

REVEAL

3.4.4 Thermal Fracture


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\\Dexterity_Examples\Thermal_Fracture
The file associated with that example is the following: Thermal_Fracture.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the use and setup of the thermal fracturing
module in REVEAL.
Model Setup:
The reservoir considered is a square shape reservoir including a horizontal produced and a
vertical water injector.
The water is injected at surface temperature: the reservoir temperature will then be lowered
around the water injection wellbore. Rock stress being temperature dependant, the stress
field around the water injection wellbore will be decrease and may lead to a fracture forming
around the water injection wellbore.
Using REVEAL it will be possible to setup a POTENTIAL fracture at the water injection well
level and analyse whether this fracture is going to form and how will it be propagating through
time.
The following steps need to be taken to setup this type of model:
1. Activate the fracture model in the Control section of the input wizard.
REVEAL Manual

February, 2011

Worked Examples

376

2. Setup the thermal PVT in the Physical section of the input wizard.
For the variation of temperature due to injection of surface temperature water in the reservoir
is to be computed, it will be necessary to define the fluid PVT properties at different
temperatures.
It is important to note that if the PVT properties of the fluid are defined at only one
temperature, REVEAL will perform its calculations isothermally: it will not extrapolate the PVT
properties across a temperature range.
The following steps can be taken to setup thermal PVT:
- Go to the Physical section of the data input wizard and edit the reservoir hydrocarbon
properties.

1990-2011 Petroleum Experts Limited

377

REVEAL

- Go to the Calculate Tables section.


Before calculating the tables, make sure the "Use Tables" is not selected.
If the "Use Tables" section is selected when the tables are calculated, the new
tables will just be a straight copy of the existing ones.

REVEAL Manual

February, 2011

Worked Examples

378

- Specify a range of temperatures and pressures over which the PVT tables need to
be generated.

This ranges of temperature and pressure should cover the range of temperature and
pressure that will be encountered during the life of the reservoir.
- Calculate the PVT tables and click on Save

1990-2011 Petroleum Experts Limited

379

REVEAL

- Go to the Tables section to inspect the PVT Tables that have been saved.

REVEAL Manual

February, 2011

Worked Examples

380

- Make sure the "Use Tables" option is selected in the main screen.

- Go back to the data input wizard.


3. Add the fracture to the fracture list in the Well section of the input wizard.
The potential fracture needs to be added in the well section.
Two consecutive screens enable to setup the fractures:
- The first screen enables to define the fracture model used and the fracture location.

1990-2011 Petroleum Experts Limited

381

REVEAL

- The second screen enables to define the rock geo-mechanical properties.

REVEAL Manual

February, 2011

Worked Examples

382

More information regarding the fracture models can be found at the following location: Wells
Section | Fractures.
4. Turn the fracture update criteria ON in the Schedule section of the input wizard.
The fracture model will not be activated unless the fracture update criteria is turned ON.
The fracture update criteria can be found in the schedule section of the input data wizard, as
illustrated below.

1990-2011 Petroleum Experts Limited

383

REVEAL

It is important to notice that in the case considered, the temperature of the water injected has
not been specified, but is being taken from the lift curve assigned to the injection well, as
illustrated on the snapshot below.

REVEAL Manual

February, 2011

Worked Examples

384

Results Analysis:
When the model is running, the calculation progress log will provide information on the
evolution of the size and injection volume associated to the fracture.

1990-2011 Petroleum Experts Limited

385

REVEAL

Once the run is ended, it will be possible to analyse the evolution of the following parameters
close to the water injection wellbore.
- Temperature evolution around the injection wellbore.
It is possible to see the drop in temperature around the wellbore due to the cold
water injection

REVEAL Manual

February, 2011

Worked Examples

386

- Stress evolution around the injection wellbore.


The stress field being dependant on the temperature, it is possible to observe a
stress decrease around the water injection wellbore.

1990-2011 Petroleum Experts Limited

387

REVEAL

- Fracture development around the injection wellbore.


The decrease in the stress field will facilitate the formation of a fracture. The finite
element grid super-imposed on the reservoir grid illustrates the fracture development.

REVEAL Manual

February, 2011

Worked Examples

388

The same model has been run without the fracture being modelled. The plot below illustrates
the difference in the water injection rate at a fixed THP between both cases, illustrating the
impact of the fracture and therefore the importance of taking the fracture into account when
designing the water injection system for that reservoir.

1990-2011 Petroleum Experts Limited

389

REVEAL

3.4.5 Souring
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\\Dexterity_Examples\Souring
The file associated with that example is the following: Souring.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the use and setup of the souring module in
REVEAL.
Model Setup:
Two souring models are present in REVEAL:
- Reduction Rate Based Model
This model is derived from the water chemistry model (i.e. the water chemistry model
needs to be active for the souring model to be used), and is mainly based on sulphate
reduction rate.
REVEAL Manual

February, 2011

Worked Examples

390

The downsides of this model are the fact that it requires short timesteps and has been
found not to model accurately the nutrient behaviour. This model has been super-seeded
by the activity based model described
below.
- Activity Based Model
This more recent model has been added in REVEAL v2.0 of IPM v6.0. It is
independent of the water chemistry module and model the nutrient behaviour more accurately
than the previous model.
On top of that, being independent from the water chemistry module, the timesteps that
can be taken are longer,leading to faster simulation runs.
This is the recommended model for souring modelling purposes.
Further technical details regarding both models can be found in the Souring section.
The model considered is constituted of one producer and one water injector. The souring
model (i.e. Activity Based Model) is activated in order to illustrate the development of the SRB
bacteria around the water injection wellbore and the consequent evolution of H2S
concentration in the reservoir.
In order to setup this model, the following steps can be taken:
1. Activate the Souring Model in the Control section of the input data wizard

1990-2011 Petroleum Experts Limited

391

REVEAL

Once the souring model is selected, the reservoir component list specified in the next screen
will automatically be updated to include the components needed by the souring model, as
illustrated below.

REVEAL Manual

February, 2011

Worked Examples

392

2. Specify the Partitioning Coefficients in the Water Chemistry section of the input
data wizard
In that example, no adsorption has been specified: all the species formed will be transported
with the fluid flow.
The adsorption section will then be left empty as illustrated below:

1990-2011 Petroleum Experts Limited

393

REVEAL

Once the list of components has been specified, one needs to specify the partitioning of the
H2S between aqueous and oleic phases, and between oleic and gas phases.
The partitioning is achieved by considering the H2S dissolved in the hydrocarbon phases to be
represented by an ideal gas in equilibrium with the aqueous phase.
The ideal gas H2S partial pressure is related to the mass concentration of H2S within the
hydrocarbon phase.
Reported separator concentrations are calculated using two partition coefficients that reflect
the effective partitioning which will be process dependent.
The Oil/Water partition coefficient defines the ratio (mass fraction of CO2 in separator oil)/
(mass fraction of CO2 in separator water). Mass fraction is lb/lb.
The Gas/Oil partition coefficient defines the ratio (volume fraction CO2 in separator gas)/
(mass fraction of CO2 in separator oil). Volume fraction is scf/scf.
If the "User H2S o-W partitioning" option is unselected, then the partitioning of H2S between
the oil and water phase will not be defined by the user, but an equilibrium database will be
used to estimate this partitioning.
REVEAL Manual

February, 2011

Worked Examples

394

More information on the partition coefficients can be found in the CO2 and H2S partitioning
section.

3. Specify the Souring model parameters in the Water Chemistry section of the input
data wizard
Once the partitioning data has been entered, the souring model parameters need to be
specified.

1990-2011 Petroleum Experts Limited

395

REVEAL

The temperature range entered enables to limit the activity of the SRB to a temperature range
they can physically sustain.
The concentration dependence section enables to define the minimum and maximum SRB
concentrations in the reservoir.
The growth and respiration dependence section enables to specify the mass ratio between
the carbon source and H2S and SRB respectively.
The nutritional efficiency enables to define the fraction of the SRB energy that is used for
growth and the fraction of the SRB energy that is used for respiration (i.e. and therefore for
H2S production).
The VFA activity rate enables to define the VFA consumption rate at the maximum SRB
concentration. In that case, at 100F, the activity of SRBs will be able to consume up to
100pm of VFA in a day.
The VFA available is partitioned between oil and water phases as defined by the VFA
partitioning parameter: a VFA partitioning of 10 illustrates the fact that the concentration of
REVEAL Manual

February, 2011

Worked Examples

396

VFA in the oil will be 10 times higher than the VFa concentration in water.
4. Specify the Reservoir Water Composition
In the initialisation section, one needs to specify the reservoir water composition as illustrated
below.
The following composition can be considered:
H2Soil = 0 ppm
H2Sgas = 0 ppm
Salinity = 100,000 ppm
VFAwater = 5,000 ppm
VFAoil = 50,000 ppm
Sulphate = 0 ppm
Sulphide = 0 ppm
Nitrate = 0 ppm
Hplus = 0.0001 ppm

1990-2011 Petroleum Experts Limited

397

REVEAL

5. Specify the Injected Water Composition


Once the reservoir water composition has been entered, the composition of the injected water
needs to be specified as well.
In order to do so, one needs to go to the schedule section and select the injection well. The
injection fluid section at the bottom of the screen enables to specify the injected water
composition.
The following composition can be entered:
H2Soil = 0 ppm
H2Sgas = 0 ppm
Salinity = 10,000 ppm
VFAwater = 0 ppm
VFAoil = 0 ppm
Sulphate = 1,000 ppm
Sulphide = 0 ppm
Nitrate = 0.0001 ppm
Hplus = 0 ppm

REVEAL Manual

February, 2011

Worked Examples

398

1990-2011 Petroleum Experts Limited

399

REVEAL

Results Analysis:
The model is then setup and can be run.
1. Initial Run
In the initial run results, the following elements can be looked at:
- The temperature around the injector is lowered to values that are suitable for SRB
growth

REVEAL Manual

February, 2011

Worked Examples

400

- The VFA concentration is decreasing around the injector, due to the fact that the
reservoir water is displaced by the injected water that does not contain any VFA.

1990-2011 Petroleum Experts Limited

401

REVEAL

- The SRB concentration is increasing in areas where the temperature is within the
correct range and VFA is available.

- The evolution of the H2S concentration as well as the time to H2S breakthrough can
then be monitored, as illustrated below for well 2.

REVEAL Manual

February, 2011

Worked Examples

402

2. Run with more linear Relative Permeability curves


This simple example can be used to investigate the effect of different parameters on the
model.
For instance, the relative permeabilities can be modified so that the water mobility is
increased by setting the corey exponent to 1 rather than 3 as illustrated below.

1990-2011 Petroleum Experts Limited

403

REVEAL

This modification will lead to a more efficient VFA flooding phenomenom, as illustrated below:
at the same day than the snapshot above, the concentration of VFA in oil around the injector
well is reduced.

REVEAL Manual

February, 2011

Worked Examples

404

This will lead to a later and smaller development of the SRBs in the reservoir as illustrated
below.

1990-2011 Petroleum Experts Limited

405

REVEAL

However, due to the faster movements of water, the area of the reservoir that is cooled down
and therefore available for SRB to grow is larger than in the earlier run, leading to a more
important development of the SRB at the end of the run.

This example illustrates as well the importance of starting to work with small straightforward
models to fully understand the impact of all the model parameters prior moving towards a
larger system where interpretation will be more difficult.

3.4.6 Dry Gas


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\\Dexterity_Examples\Dry_Gas
The file associated with that example is the following: Dry_Gas.rvl

REVEAL Manual

February, 2011

Worked Examples

406

Worked Example Objectives:


The main objective of this example is to illustrate the setup of a dry gas example in REVEAL.
Model Setup:
REVEAL includes similar options to the rest of the IPM suite when considering gas modelling:
- A dry gas PVT model that enables to model dry gases or condensate with very low
dropouts. In that case, a constant CGR will be defined for the fluid and the liquid will only
dropout at surface conditions.
This will therefore lead to a single phase system unless water is present in the system.
The setup of such a model is illustrated below.
- A retrograde condensate PVT model that enables to model retrograde condensates.
In that case, liquid dropout at reservoir and well conditions will be taken into account.
More information regarding how to model such a fluid can be found in the Retrograde
Condensate worked example section.
The setup of a dry gas model is exactly similar to the one of an oil model (i.e. see the getting
started guide) apart from the PVT file setup.
In the physical section of the input wizard, the following steps can be taken:
1. Select "Gas" as the fluid type considered, and select a fluid label.

2. Enter the dry gas surface properties.


Matching of lab data can be performed similarly to an oil PVT.
PVT files (i.e. .pvt extension) that have been generated by other IPM suites applications can
be import directly as well by using the Import section.

1990-2011 Petroleum Experts Limited

407

REVEAL

PVT tables can be generated (i.e. using table look-up techniques will tend to speed-up the
calculations) using the Calc.Tables section, however it is important to make sure that the
range of pressure and temperature over which the tables are generated is wide enough to
cover the reservoir prevailing conditions.
In this case, only one temperature is used as there is no cold fluid-injection: the downhole and
reservoir temperatures will therefore be assumed constant during the forecast.

Click on Calculate to generate the PVT tables.


The following screen will be displayed. Click on Calculate again to generate the tables. Once
the tables have been generated, select the Save button to save the PVT tables.

REVEAL Manual

February, 2011

Worked Examples

408

When going back to the main PVT screen, make sure that the Use Tables option has been
selected, as illustrated below.

3. Specify the initial Gas-Water Contact depth


Once the PVT for dry gas has been entered, the initialisation section will be automatically
modified according to the fluid type.
Gas Water contact depth need to be entered.

1990-2011 Petroleum Experts Limited

409

REVEAL

The schedule will be setup as per a classic model.


Results Analysis:
Plotting the initial gas saturation in the reservoir, we can observe that the gas-water contact
specified has been respected.

REVEAL Manual

February, 2011

Worked Examples

410

If the CGR evolution is plotted with time, it is possible to notice that the CGR is kept constant
in the reservoir, according to the assumption of the dry gas model.

1990-2011 Petroleum Experts Limited

411

REVEAL

Moreover, when considering the oil saturation, it is possible to note that it stays nil in the
reservoir for the entire simulation period, illustrating the fact that all liquid dropout will happen
at surface.

REVEAL Manual

February, 2011

Worked Examples

412

3.4.7 Retrograde Condensate


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\\Dexterity_Examples\Retrograde_Condensate
The file associated with that example is the following: Retrograde_Condensate.rvl
Worked Example Objectives:
1990-2011 Petroleum Experts Limited

413

REVEAL

The main objective of this example is to illustrate the setup of a retrograde condensate
example in REVEAL.
Model Setup:
REVEAL includes similar options to the rest of the IPM suite when considering gas modelling:
- A dry gas PVT model that enables to model dry gases or condensate with very low
dropouts. In that case, a constant CGR will be defined for the fluid and the liquid will only
dropout at surface conditions.
This will therefore lead to a single phase system unless water is present in the system.
More information regarding how to model such a fluid can be found in the Dry Gas
worked example section.
- A retrograde condensate PVT model that enables to model retrograde condensates.
In that case, liquid dropout at reservoir and well conditions will be taken into account.
A guide on how to setup such a model can be found below.
The setup of a retrograde condensate model is exactly similar to the one of an oil model (i.e.
see the getting started guide) apart from the PVT file setup.
It is important to note that as for any application in the IPM suite, the validity of the black oil
retrograde condensate model needs to be checked prior using it for simulation purposes.
The validation procedure that needs to be used to check that model is described in details in
the PVT section of the MBAL manual.
The black oil retrograde condensate model should not be used if this validation
procedure has not successfully shown it is behaving accordingly to the real fluid.
In the physical section of the input wizard, the following steps can be taken:
1. Select "Retrograde Condensate" as the fluid type considered, and select a fluid
label

2. Enter the Retrograde Condensate Surface Properties

REVEAL Manual

February, 2011

Worked Examples

414

3. Match the Retrograde Condensate Model to experimental data and Generate PVT
tables
Matching of lab data can be performed similarly to an oil PVT.
PVT files (i.e. .pvt extension) that have been generated by other IPM suites applications can
be import directly as well by using the Import section.

1990-2011 Petroleum Experts Limited

415

REVEAL

4. Specify the initial Gas-Water Contact depth


Once the PVT for retrograde condensate has been entered, the initialisation section will be
automatically modified according to the fluid type.
Gas Water contact depth need to be entered.
REVEAL Manual

February, 2011

Worked Examples

416

Results Analysis:
Analysing the results help us underline the differences between dry gas and retrograde
condensate models:
At t=0, the CGR in the reservoir is equal to 100 STB/MMScf, which correspond to the initial
CGR entered in the PVT at 5000psig.

1990-2011 Petroleum Experts Limited

417

REVEAL

Once the reservoir pressure starts dropping, the CGR evolution can be noted.
At a reservoir pressure of around 3850psig, the CGR has dropped to 45 STB/MMScf, which
corresponds to the vaporised CGR curve from the PVT.

REVEAL Manual

February, 2011

Worked Examples

418

1990-2011 Petroleum Experts Limited

419

REVEAL

The oil saturation in the reservoir evolves accordingly to the change in CGR, illustrating the
fact that the liquid dropout is taken into account at reservoir level.

REVEAL Manual

February, 2011

Worked Examples

420

1990-2011 Petroleum Experts Limited

421

REVEAL

3.4.8 Radial Gridding


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\\Dexterity_Examples\Radial_Gridding
The file associated with that example is the following: Radial_Gridding.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the setup of a radial gridding example in
REVEAL.
Model Setup:
The following steps can be taken to setup a radially gridded model in REVEAL.
These models can be specifically used to analyse near wellbore behaviour for instance.
The global setup of the REVEAL model is similar to the getting started example apart from
the reservoir and schedule sections illustrated below:
1. Specify the type of grid selected
In the reservoir section, select the Radial Grid option as illustrated below.
The radial grid coordinate system generates a grid with radial grid blocks forming a sector
away from a central well.
The number of blocks contained between the centre of the grid and the outer boundary of the
grid is defined as being the X direction (i.e. here 10 blocks from the centre to the edge of the
grid).
The number of radial sectors in which the total grid is to be divided is defined as being the Y
direction (i.e. here only one unique block).
The number of vertical grid blocks is defined by the Z direction, as per a classic Cartesian
grid.
The radial grid option requires a central well radius to be specified as well.
The uniform sector angle is selected, with a total angle of 3.6 degrees being selected.

REVEAL Manual

February, 2011

Worked Examples

422

In the case specified, the grid will look as illustrated below.

1990-2011 Petroleum Experts Limited

423

REVEAL

2. Enter the grid characteristics


Once the grid type has been specified, one needs to define the size of the different grid
blocks.
Radial grids are often use to analyse near wellbore situation: in this case, a logarithmic
increase in grid block size could be used as illustrated below.
This will enable to analyse more accurately near-wellbore effects which are mostly obeying
logarithmic equations.
Sector angles do not need to be specified as the uniform sector angle option has been used
previously.

REVEAL Manual

February, 2011

Worked Examples

424

3. Assign properties to the reservoir blocks


The properties of the reservoir blocks are entered as per a classic grid, as illustrated below.

1990-2011 Petroleum Experts Limited

425

REVEAL

4. Define the well


As illustrated below, the well location options will be disabled when the radial grid option is
selected.
In a radial grid, two wells are automatically defined:
- Well 1 is located in the centre of the grid, and one can define the layers that are
perforated as well as their flowing radius.
- Well 2 is not a well as such: it is in fact representing the external boundary of the
grid.
If this well is setup as a producer, then some fluid will be withdrawn from the grid from
its external boundary.

REVEAL Manual

February, 2011

Worked Examples

426

In the schedule section, the Perforations section needs to be used to specify the well
characteristics.

1990-2011 Petroleum Experts Limited

427

REVEAL

The perforations section enables to define the layer over which the wells are perforated, their
flowing radius, skin and potential PI multiplier.
They are updated from the well section.

REVEAL Manual

February, 2011

Worked Examples

428

In that model, the central well is setup as a producer, and the external boundary well is shutin, creating therefore a no-flow boundary at the grid outer limit.
Results Analysis:
Once the model is run, it is possible to view the results in the 3D, seeing for instance here the
oil pressure increase near the injection wellbore.

1990-2011 Petroleum Experts Limited

429

REVEAL

3.4.9 Curvilinear Gridding


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\\Dexterity_Examples\Curvilinear_Gridding
The file associated with that example is the following: Curvilinear_Gridding.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the setup of a curvilinear gridding example in
REVEAL.
Model Setup:
The following steps can be taken to setup a curvilinear gridded model in REVEAL.
The global setup of the REVEAL model is similar to the getting started example apart from
the reservoir and schedule sections illustrated below.
1. Specify the type of grid selected
In the reservoir section, select the Curvilinear Grid option as illustrated below.
The curvilinear grid coordinate system generates a grid with 2 wells as one eighth of a
repeated five-spot symmetry, reflecting the streamline flow between two wells, one injector
and one producer.
The number of blocks contained between the two wells is defined as being the X direction (i.
e. here 8 blocks between the two wells).
The number of curved sectors in which the total grid is to be divided is defined as being the Y
direction (i.e. here 8 blocks).
The number of vertical grid blocks is defined by the Z direction, as per a classic Cartesian
grid.

REVEAL Manual

February, 2011

Worked Examples

430

In the case specified, the grid will look as illustrated below.

1990-2011 Petroleum Experts Limited

431

REVEAL

For the curvilinear grid option, the spacing between the well must be entered, and an
excluded fraction.
The excluded fraction is the fraction of the distance between the two wells excluded from the
model, which prevents stability problems near the wells. It should typically be set to about
0.05.
2. Enter the grid characteristics
Once the grid type has been specified, one needs to define the size of the blocks in the X and
Z direction.

REVEAL Manual

February, 2011

Worked Examples

432

3. Assign properties to the reservoir blocks


The properties of the reservoir blocks are entered as per a classic grid, as illustrated below.

1990-2011 Petroleum Experts Limited

433

REVEAL

4. Define the well


As illustrated below, the well location options will be disabled when the radial grid option is
selected. The well is automatically located in the middle of the grid.
In that example, it is possible to notice that two wells are defined: one producer and one
injector. Production and Injection period could then be modelled alternatively for instance.
Each well is defined as being at the production or injection end of the model.

REVEAL Manual

February, 2011

Worked Examples

434

In the schedule section, the Perforations section needs to be used to specify the well
characteristics.

1990-2011 Petroleum Experts Limited

435

REVEAL

The perforations section enables to define the layer over which the wells are perforated, their
flowing radius, skin and potential PI multiplier.
They are updated automatically from the well section.
Results Analysis:
Once the model has been run, it is possible to analyse the evolution of water and oil
saturations in the system.
1. Analyse the evolution of water saturation around the injector

REVEAL Manual

February, 2011

Worked Examples

436

2. Analyse the evolution of oil saturation around the producer

1990-2011 Petroleum Experts Limited

437

REVEAL

3. Analyse the time to water breakthrough


Analysis of the well results for well 2 shows the evolution of the water production in the well,
illustrating the time to water breakthrough.

REVEAL Manual

February, 2011

Worked Examples

3.5

438

Physics Examples

3.5.1 Grid Refinement


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\\Physics_Examples\Grid_Refinement
The file associated with that example is the following: Grid_Refinement.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the setup and use of grid refinements in
1990-2011 Petroleum Experts Limited

439

REVEAL

REVEAL.
Model Setup:
The model considered is a simple grid including two multilateral wells and three injection wells.
Grid refinement around each of these 5 wellbores are defined.

In order to define these grid refinements, the following procedure was used:
In the reservoir section, the number of grid refinements to be described can be entered, as
illustrated below:

REVEAL Manual

February, 2011

Worked Examples

440

The coverage of each grid refinement needs to be specified in that section as well.
Once these grid refinements are defined, it will be possible to notice that new input scripts,
one per grid refinement are created.

1990-2011 Petroleum Experts Limited

441

REVEAL

One needs to access each of these individual scripts to define the grid refinement: for
instance, for the refinement inj1:

REVEAL Manual

February, 2011

Worked Examples

442

Select the Edit Refinement option to define the grid refinement details: for each direction, one
needs to define a refinement ratio.
This will describe in how many sections the initial grid block will be divided.
For instance, the screen below specifies that the row 18 will be divided in two sections
compare to the size of the initial grid block.

1990-2011 Petroleum Experts Limited

443

REVEAL

The next screen shows that the reservoir characteristics are directly taken from the parent
grid values.

REVEAL Manual

February, 2011

Worked Examples

444

Results Analysis:
When visualising the results, it will be possible to define the viewing properties of each grid
individually.

1990-2011 Petroleum Experts Limited

445

REVEAL

REVEAL Manual

February, 2011

Worked Examples

446

3.5.2 Water Chemistry


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\\Physics_Examples\Water_Chemistry
The file associated with that example is the following: Water_Chemistry.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the setup and use of the water chemistry
option of REVEAL.
Model Setup:
1990-2011 Petroleum Experts Limited

447

REVEAL

This model is a simple square grid with two wells: one producer and one injector.
The objective of that example is to demonstrate the use of the water chemistry module: the
water injected will have a composition that will react with the reservoir water to form scales
species that may be transported or adsorbed within the reservoir.

The following procedure can be followed to setup this model:


1. Control Section
The Water Chemistry module needs to be activated in the control section and the component
list needs to be populated with the chemical species existing in both reservoir and injected
water as well as with the species that can potentially be formed when the two waters are
mixed.

REVEAL Manual

February, 2011

Worked Examples

448

1990-2011 Petroleum Experts Limited

449

REVEAL

2. Adsorption Section
In the model considered, we will assume that there is no adsorption phenomenon.
Therefore, the adsorption section will be left empty.
3. Water Chemistry Section
The first screen of the water chemistry section enables to specify the output region to be
considered and the calculation and output frequencies.
It is necessary as well to define a electro-neutralisation ion pair: a pair of positive / negative
ions is selected: should the composition of the reservoir / injection water not be neutral, the
necessary amount of these ions will be added to establish electro-neutrality. It will be
recommended to use the H+ / Cl- ion pair, as illustrated below.

REVEAL Manual

February, 2011

Worked Examples

450

The next step enables to describe the partition coefficients between aqueous and
hydrocarbon phases and between oleic and gas phases for H2S, CO2 or N2 if they are
present in the system.
Partition coefficients can be defined at reservoir and separator levels. In the model
considered, the "User H2S )-W partitioning" option is unselected: the partition coefficients wlll
therefore be defined from correlations.

1990-2011 Petroleum Experts Limited

451

REVEAL

4. Initialisation Section
The initialisation section enables to specify the reservoir water composition.

REVEAL Manual

February, 2011

Worked Examples

452

5. Schedule Section
The schedule section enables to specify the composition of the injected water.

1990-2011 Petroleum Experts Limited

453

REVEAL

Results Analysis:
When using the water chemistry module, two types of analysis can be done:
- Use the Water Chemistry Equilibration Tool to estimate the potential species that are
formed when mixing reservoir and injection water
- Use the full simulation run to study the formation / behavior of the different species
within the reservoir
1. Water Chemistry Equilibration Tool
The water chemistry equilibration tool can be accessed from the Input | Water Chemistry
Equilibration Calculation section of the main menu bar.
It is a utility that enable to quickly evaluate the effect of mixing reservoir and injection water
under different conditions and in different proportions without having to run the full model.
This is particularly useful as the water chemistry module can be found to take a large amount
of time to run in certain models.

REVEAL Manual

February, 2011

Worked Examples

454

The three step illustrated on the snapshot can be followed:


- 1. specify the conditions under which the water mixing will occur
- 2. select the well to be considered: mix the reservoir and injection water and then
calculate the equilibrium calculatin
- 3. analyse the equilibrated concentration obtained: in that case it is for instance
possible to notice that celestite and barite are likely to be formed when mixing both waters.
This can be a useful way as well to check that all the species that are going to appear have
been added to the component list: effectively, if one component is formed but not in the
component list, its name will appear in red. The user will then have to add this component
within the component list.
If the plot option is used as illustrated below, one will be able to monitor the evolution of the
concentration of the different minerals as a function of mixing ratio.

1990-2011 Petroleum Experts Limited

455

REVEAL

2. Full Simulation Run


The full simulation run enables to study the creation / movement of different species in the
reservoir as illustrated below for Ba2+, SO4 2- and barite.
- Initially the reservoir water is rich in Ba2+, as illustrated below.

REVEAL Manual

February, 2011

Worked Examples

456

- The injection water being rich in SO42-, the concentration of SO4- increases around
the wellbore.

1990-2011 Petroleum Experts Limited

457

REVEAL

- In parallel to the increase of SO42- around the injector, the concentration of Ba2+
drops. This is due to the formation of barite as underlined by the snapshot below.

As it is possible to notice, the barite concentration is higher towards the edges of the barite
rich area, showing that all the barite is transported (i.e. no adsorption) with the flood front,
illustrated below by the water saturation evolution.

REVEAL Manual

February, 2011

Worked Examples

458

3.5.3 Permeability Reduction


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\\Physics_Examples\Permeability_Reduction
1990-2011 Petroleum Experts Limited

459

REVEAL

The file associated with that example is the following: Permeability_Reduction.rvl


Worked Example Objectives:
The main objective of this example is to illustrate the use of the permeability reduction option
of REVEAL.
Model Setup:
The field considered is a single layer field model with an horizontal producer and three vertical
injectors.
The model considered has been setup with the water chemistry option of REVEAL (i.e. see
the Water Chemistry example for mode details on how to setup this type of model).
In addition to the water chemistry parameters, adsorption parameters have been specified:
some of the chemical species formed in this model will be adsorbed on the rock surface.

In order to activate the permeability reduction option of REVEAL, the only modification to be
done to a model that has already the water chemistry option setup is to go to the adsorption
section and to specify a permeability reduction factor, as illustrated below.

REVEAL Manual

February, 2011

Worked Examples

460

This will then model the permeability reduction (R0) and porosity reduction due to adsorption
of species formed through the water chemistry reactions.
This permeability reduction is function of the adsorbed concentration, rock density (r),
original porosity (0) and user defined permeability reduction coefficient (PN).
Permeability reduction coefficients may be defined for each rock type or for all rock types.
The total permeability reduction is the sum of the permeability reductions of all adsorbing
components and is applied equally to all phases.
Results Analysis:
Once the model has been run, the following results can be observed:
- barite starts forming and being adsorbed around the second injector, due to the
injection of sulphate rich water in a barite rich initial reservoir water.

1990-2011 Petroleum Experts Limited

461

REVEAL

- this results in a permeability reduction around the same injector, as illustrated below.

REVEAL Manual

February, 2011

Worked Examples

462

- the impact of this permeability reduction on the liquid production of the producer well
can be seen below.

3.5.4 Surfactant
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\\Physics_Examples\Surfactant
The file associated with that example is the following: Surfactant.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the use of REVEAL when using recovery
1990-2011 Petroleum Experts Limited

463

REVEAL

methods based on surfactant injection.


Surfactants: More Information
Surfactants emulsify oil and water into a new phase (an emulsion), causing desaturation and
potentially enhanced recovery.
Surfactants are generally used in conjunction with other chemicals, such as alcohols, which
affect the phase behaviour, and polymers, which may also affect the phase behaviour and
which are important for mobility control. Salinity and divalent ion concentration have a strong
influence on phase behaviour, as does temperature and the equivalent alkane number (EACN)
of the oil, which varies as the oil phase composition (Rs) varies.
For surfactant flood simulations with REVEAL, up to six volumetric components may be
present (water, oil, gas, surfactant and up to two alcohols). Non-volumetric components
include salinity, and optionally polymer and divalent ions. Additionally tracer components may
also be present. Alcohols are always assumed to be active in the phase behaviour; polymer
may be active, or simply act as a mobility control agent. Adsorbed material is assumed to
play no part in the phase behaviour calculation.
Surfactant flood systems are described in many books on Petroleum Engineering; only an
outline of the theory is given below.
The phase calculations determine first the phases that are present in a given system, and
from there determine those phase properties. The steps that are taken are:
1. Formation of pseudo-components - the components present are formed into three
pseudo-components - aqueous/brine, oleic, and chemical. These then become the
coordinates on a ternary diagram. All the water is placed in the aqueous pseudo-component,
the oil in the oleic, and the surfactant in the chemical. Tracers, anions, and gels are placed in
the aqueous pseudo-component. Alcohols and, optionally, polymers, are partitioned amongst
all three pseudo-components as described in Alcohol and Polymer partitioning.
2. Creation of a ternary diagram - a ternary diagram is constructed to determine the phase
behaviour of a system given a set of pseudo-component concentrations and a calculated
effective salinity.
A more complete discussion of effective salinity and phase behaviour is given in surfactant
phase model.
In brief, there are 5 possible systems (note the comment below about gas):
a. Single phase micro-emulsion (high surfactant concentration)
b. Two phase oil/water (low/zero surfactant concentration)
c. Two phase oleic/micro-emulsion (Type II(-) system) (low effective salinity)
d. Two phase aqueous/micro-emulsion (Type II(+) system) (high effective salinity)
e. Three phase aqueous/micro-emulsion/oleic (Type III system) (intermediate effective
salinities)
The phase behaviour calculation is performed assuming all components throughout a gridblock

REVEAL Manual

February, 2011

Worked Examples

464

are thoroughly mixed and in equilibrium. This assumption is retained when gas is present,
even if the gas and oil are potentially immiscible; if the phase behaviour calculation results in
an excess oil phase being formed (i.e. the upper phase in type II(-), type III, or no surfactant
cases), then this phase is tested for immiscibility and split into separate oil and gas phases if
appropriate. Micro-emulsion phases containing both gas and oil (upper phase in type II(+)
cases, middle phase in type III cases, or single phase cases) are always assumed to form a
single miscible phase, regardless of whether the oil and gas are miscible. If the Todd and
Longstaff model [Ref 5] is used, it is applied to all miscible upper phases (but not to middle
phase or single phase micro-emulsions). The following table summarises the number and
type of phases present, and those phases to which the Todd and Longstaff model is applied.
Phase
behaviour
P>Pb

Single phase

No surfactant

P<Pb

Micro-emulsion Oil
Gas
Water

Micro-emulsion Oil
Water

Type III

Type II(-)

Type II(+)

Oil*
Oil*
MicroMicro-emulsion Micro-emulsion emulsion*
Water
Water
Oil
Oil
MicroGas
Gas
emulsion*
Micro-emulsion Micro-emulsion Water
Water

* Todd and Longstaff model is applied to these phases


The five phase regions identified are numbered from one to five, and may be plotted if 'Phase
Region' is selected as a property to be stored during a calculation (Run Simulation|Select
Properties...).
Phase region number
1
2
3
4
5

Description
Micro-emulsion phase only
Water, oil/gas phases present - no surfactant
Water, oil/gas and micro-emulsion phases
present (type III system) - intermediate salinity
Oil/gas and micro-emulsion phases present
(type II(-) system) - low salinity
Water and micro-emulsion phases present
(type II(+) system) - high salinity

3. Calculation of interfacial tension - the interfacial tension between emulsion and aqueous
phases, and/or emulsion and oleic phases, is calculated using a correlation. See the interfacial
tension section for more information.
4. Calculation of viscosity - the viscosity of the emulsion phase is calculated using a
correlation. See viscosity for more information.
Model Setup:
The model considered is a simple reservoir model with one horizontal producer and one
horizontal injector well, located in a grid refinement, as illustrated below.
1990-2011 Petroleum Experts Limited

465

REVEAL

These two wells are complemented by two additional vertical injectors.

Surfactants emulsify oil and water into a new phase (an emulsion), causing desaturation and
potentially enhanced recovery.
The following step by step procedure can be used in order to setup such a model:
1. Control Section
The surfactant model will only be available when the IMPES solver is selected. It will not be
available with the Fully Implicit solver.
This is due to the existence of a fourth phase (i.e. emulsion) that is strongly dependant of the
pressure, temperature and fluid compositions.
The presence of that fourth phase makes the application of the fully implicit solver method
very difficult.
IMPES solvers require less memory and less cpu per timestep. They require short timesteps
to be numerically stable and therefore are usually slower than implicit formulations.
IMPES formulations allow higher order upstream weightings that can significantly reduce
numerical dispersion present within implicit formulations.
The default solver configuration is used in that model.

REVEAL Manual

February, 2011

Worked Examples

466

1990-2011 Petroleum Experts Limited

467

REVEAL

When selecting the general simulation data, it will be needed to select the surfactant model,
as illustrated below.

REVEAL Manual

February, 2011

Worked Examples

468

The component list can then be altered to include polymer, surfactant, salinity and two
alcohols.

1990-2011 Petroleum Experts Limited

469

REVEAL

2. Physical Section
The thermal and aqueous properties of the components added in the system need to be
defined in the physical section, as illustrated below.

REVEAL Manual

February, 2011

Worked Examples

470

3. RelPerm Section
The RelPerm section needs to be modified when a surfactant is present, as desaturation
parameters are required.
Effectively, when an emulsion is formed in the system, the interfacial tension between phases
tend to reduce, leading to a variation of the relative permeability curve.
In order to obtain the new relative permeability curve, it will be necessary to interpolate
between high and low tension relative permeability curves (i.e. the later usually tends toward
a straight line) as a function of the capillary number Nc.
Desaturation parameters are used to control that interpolation process.

1990-2011 Petroleum Experts Limited

471

REVEAL

The relative permeability curves then need to be entered for both low and high IFTs, as
illustrated below.

REVEAL Manual

February, 2011

Worked Examples

472

4. Mobility Section
Polymer tends to affect the effective salinity of the system, leading to a change in the ternary
diagram between the oleic, aqueous and emulsion components.
When it is present in the system, it will then be necessary to define the polymer parameters.
More information on the following screens can be found in the gel injection example
description.

1990-2011 Petroleum Experts Limited

473

REVEAL

REVEAL Manual

February, 2011

Worked Examples

474

1990-2011 Petroleum Experts Limited

475

REVEAL

REVEAL Manual

February, 2011

Worked Examples

476

5. Phase Section
The phase section enables to specify the input data needed by the surfactant model.
This includes:
5.1. Alcohol and Polymer Partitioning
This screen contains the data for partitioning alcohol and polymer components among the
three pseudo-components.
Further information on the models used to do so can be found in the Alcohol/Polymer
partitioning section.

1990-2011 Petroleum Experts Limited

477

REVEAL

5.2. Ternary Diagram data and generation


This screen contains the data needed to generate the ternary diagram used to calculate the
saturations of the different phases in the system.
Further information on the models used to do so can be found in the Surfactant Phase
section.

REVEAL Manual

February, 2011

Worked Examples

478

5.3. Inter-Facial Tension between Phases


This screen contains the data needed to calculate the IFTs.
Further information on the models used to do so can be found in the Surfactant Interfacial
Tension section.

1990-2011 Petroleum Experts Limited

479

REVEAL

5.4. Emulsion Viscosity and cation Exchange


This screen contains the data needed to calculate the viscosities of the different phases.
Further information on the models used to do so can be found in the Surfactant Viscosity
section.

REVEAL Manual

February, 2011

Worked Examples

480

5. Initialisation Section
In the model considered, it is assumed that no component is being adsorbed, therefore we
will leave the adsorption section empty.
However, the composition of the reservoir water needs to be specified in the initialisation
section. The reservoir water is characterised by a salinity of 10,000ppm.

1990-2011 Petroleum Experts Limited

481

REVEAL

6. Schedule Section
The schedule section is setup so that both vertical wells inject surfactant, the horizontal
injector is closed and the horizontal producer is producing with a fixed Pwf of 2200psig.
Results Analysis:
When running the model, the emulsion can be seen appearing around the second injector, as
illustrated below:

REVEAL Manual

February, 2011

Worked Examples

482

3.5.5 Gel Injection


Associated Files:
The files associated with this example are located in C:\Program Files\Petroleum
1990-2011 Petroleum Experts Limited

483

REVEAL

Experts\IPM 7.0\Samples\reveal\\Physics_Examples\Gel_Injection
The file associated with that example is the following: Gel_Injection.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the use of REVEAL to study the impact of
gel injection.
Model Setup:
The model considered is a simple reservoir model with one horizontal producer and one
horizontal injector well, located in a grid refinement, as illustrated below.

In this model, the reservoir fluid is a heavy oil, characterised by a high viscosity and therefore
a low mobility. The horizontal producer is located relatively close from the oil-water contact,
and therefore is affected by a rapid water cut build-up.
In order to delay the build-up of water in the reservoir, the water injector injects a polymer
and a cross-linker, which will react at reservoir level to form a high viscosity gel, that will
lower the water mobility around the producer.
The following steps can be followed in order to setup such a model:
1. Control Section
In the control section, the Polymer / Gel / Foamer option needs to be selected and the
component list needs to be updated to include the salinity, polymer, gel and cross-linker
REVEAL Manual

February, 2011

Worked Examples

484

components as illustrated below.

1990-2011 Petroleum Experts Limited

485

REVEAL

2. Mobility Section
The mobility section will then become available to edit. This section enables to define the
properties of the polymer and gel, and its main scope is to describe the modifications to pure
phase viscosities (obtained from the PVT) arising from chemical additives including
surfactants, polymers and gels.
2.1. The first screen of that section initialises the polymer and gel model and setup their
shear thinning parameters.

REVEAL Manual

February, 2011

Worked Examples

486

Two models are available for viscosity resulting from polymer and gel components: original
and Kuparuk models.
Both of these models calculate a thickening factor (i.e. noted TF) for the aqueous and microemulsion (if surfactant is present) phases, subject to shear-thinning near wells.
The modified phase viscosity is obtained by multiplying the pure phase viscosity by the
thickening factor.
Because the thickening factor can be affected by shear-thinning, a shear rate calculation is
associated to these models.
This shear-rate calculation needs to be parametrised for each rock-type using a critical shear
rate specified by the user. By default, this model is inactive: it needs to be activated by
selecting the "Shear Model" section when defining the well in the Wells section of the input
wizard.
The thickening factor is calculated first at zero shear and modified afterwards to account for
shear rate. This modification is done using the gamma, alpha and optional shear-thickening
parameter: this later parameter will only have an effect if it is greater than 1.
1990-2011 Petroleum Experts Limited

487

REVEAL

2.2. The second screen of that section enable to specify the polymer and gel viscosity
parameters

Polymer and gel viscosity parameters (i.e. concentration and temperature) are used to
calculate the respective contribution of polymer and gel to the zero shear thickening factor
calculation.
They are usually tuned to laboratory data.
The effect of salinity on polymer viscosity can also be taken into account if the "salinity
dependence" option is selected.
2.3. The third screen of that section enable to specify the gelation and degradation reactions
characteristics

REVEAL Manual

February, 2011

Worked Examples

488

Reactions between polymer and cross-linker to form gel, and between de-chelation agent
(chelated cross-linker) and cross linker are modelled by calculating mass reaction rates that
are applied to the component mass concentration equations.
In the case considered, 3 components are present in the system: polymer, gel and crosslinker. In that case, the 3-component reaction model should be specified.
The input datadeck of that section enables to define the conditions at which the reaction
between polymer and cross-linker occurs to form gel:
- the temperature needs to be greater than the temperature treshold Tr
- the polymer concentration needs to be greater than the polymer treshold
concentration Pc[0]
- the cross-linker concentration needs to be greater than the cross-linker concentration
treshold XLc[0]
If the reaction conditions are met, a reaction will occur to produce gel, with the mass reaction
rates per unit volume of water for polymer (Rp), cross-linker (Rxl) and gel (Rg).
Both gel and polymer could be setup to degrade as well at rates defined by rate (Rp0 and
1990-2011 Petroleum Experts Limited

489

REVEAL

Rg0) and temperature coefficients (Bp0 and Bg0), reducing the reaction rates for these
components.
In the case considered, polymer and gels are considered to be non-degradable.
2.4. The fourth screen of that section enable to define the amount of pore volume that is
non-accessible to the gel / polymer components

In the case considered, it is assumed that the entire pore volume is accessible to both
polymer and gel.
3. Adsorption Section
The different components defined in the gel/polymer models could be adsorbed on the rock
surface.
These reactions could be defined in the adsorption section.
In this model, only the gel is going to be considered as adsorbed.

REVEAL Manual

February, 2011

Worked Examples

490

Adsorbed components will not be transported across the reservoir and can lead to a
reduction in permeability.
The adsorption reaction is defined through an adsorption isotherm, here the Langmuir
isotherm: the parameter entry enables to modify the shape of that isotherm, and therefore the
behavior of the component considered.
The adsorption phenomenon can be made reversible or irreversible.
4. Initialisation Section
The initialisation section enables to specify the reservoir water contents: in the case
considered, the only element to specify is the water salinity, 35,000ppm.

1990-2011 Petroleum Experts Limited

491

REVEAL

5. Schedule Section
The schedule section enables to specify the timing and component concentrations of the
injection process.
In the case considered, the simulation run is divided in four different sections:
- the first schedule section specifies the injection of a water with a 10,000ppm polymer
concentration
- the second schedule section specifies the injection of a water without polymer nor
cross-linker
- the third schedule section specifies the injection of a water with a 10,000ppm crosslinker concentration
- the fourth schedule section specifies no injection at all

REVEAL Manual

February, 2011

Worked Examples

492

Results Analysis:
The following results can be observed (i.e. one can load the "Slice" pre-saved view to go
through these results in the model provided):
- The mass concentration of polymer in water at the early days of the simulation
underlines the polymer injection of the first schedule section
At that point, no cross-linker has been injected, therefore no gel is being formed.

1990-2011 Petroleum Experts Limited

493

REVEAL

- The cross-linker concentration in water appears according to its injection schedule


later on during the run.

REVEAL Manual

February, 2011

Worked Examples

494

- The gel concentration in water starts increasing when the conditions for the reaction
between cross-linker and polymer are met.

1990-2011 Petroleum Experts Limited

495

REVEAL

- The consequent increase in water viscosity can then be monitored.

REVEAL Manual

February, 2011

Worked Examples

496

- When studying the well results, it is possible to notice that as soon as the gel is
present in the system, the water cut evolution in the producing well is cut-down dramatically,
as illustrated below.

1990-2011 Petroleum Experts Limited

497

REVEAL

REVEAL Manual

February, 2011

Worked Examples

498

3.5.6 Wellbore Heating


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\\Physics_Examples\Wellbore_Heating
The file associated with that example is the following: Wellbore_Heating.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the use of REVEAL to study the impact of
wellbore heating systems.
Model Setup:
The model considered is a radial gridded system with a producer well located in the middle of
the grid and an injector injecting from the grid external boundaries, as illustrated below.

The fluid considered is a low-GOR heavy fluid, and the purpose of this model is to illustrate
the impact of wellbore-heating processes on the well production.
In order to setup a wellbore heating system, the following steps can be considered:
1990-2011 Petroleum Experts Limited

499

REVEAL

1. Control Section
In order to setup a wellbore heating system, the following steps can be considered:

In this model, the microwave option is selected: this microwave option will apply a microwave
frequency voltage across two points on a well and calculates the heating effect within the
reservoir.
The voltage generated (V) within the reservoir is calculated on the finite difference grid used
for the flow equations by solving Laplace's equation with boundary conditions V=V0 on the
electrode, V=0 on the earth electrode and no voltage flux on the boundary of the grid.
The heat supplied to the grid (W) is then calculated from the voltage field.
The location of the electricity sources (i.e. electrode and earth) is defined in the control
section and the capacity of the reservoir water to transmit electricity between the two is
defined through a resistiity law in the wellbore heating section.
An electric heater option is available as well. The main difference with the microwave model is
REVEAL Manual

February, 2011

Worked Examples

500

that the electric heater will heat directly both the reservoir and the fluid inside the tubing.
The microwave option, on the other hand, will heat the reservoir directly and indirectly the fluid
inside the tubing.
2. Well section
The location of the earth and electrode need to be specified in the well section, as illustrated
below.

3. Wellbore Heating section


The wellbore heating section enables to define the water resistivity and the effect of reservoir
characteristics on heat transfer.
- Resistivity
The water resistivity is calculated using Arp's law, or input as a table of values as a
function of temperature.
Arp's law requires a reference water resistivity measurement at a specific
temperature.

1990-2011 Petroleum Experts Limited

501

REVEAL

- Lithology, Saturation and Tortuosity


Reservoir conductivity is calculated by Archie's law and can be affected by the
reservoir characteristics such as porosity, lithology, cementation (tortuosity) and saturation.
The lithology coefficient, tortuosity coefficient and saturation exponent may be entered
for multiple regions of the grid, defined by ranges of blocks.
See the reservoir section for information on how to add range data. Use the Validate
button to check coverage is complete.
Archie's law is applied up to the boiling point of water defined by
T=0.08329742*P+458.76 (F); once this temperature is reached, the conductance is set to
zero and the lithology coefficient set to 1E6 to make the loss of conductance virtually
irreversible.
The wellbore heating section is presented as illustrated below:

4. Schedule section
This example is setup with three consecutive schedules:

REVEAL Manual

February, 2011

Worked Examples

502

- a 10 day long schedule where no heating is activated: in that case the heating section
is not selected in the schedule screen
- a 30 day long schedule where the heating is activated: in that case, one needs to
specify the voltage used. 100 V in that case, as illustrated below.
- a 10 day long schedule where no heating is activated.

Results Analysis:
Heating up the wellbore will lead to a decrease in oil viscosity. The consequent increase in
fluid mobility will lead to a higher well production.
This can be found by analysing the results obtained in that case:
The wellbore results can illustrate the increase in temperature due to the heating process.

1990-2011 Petroleum Experts Limited

503

REVEAL

Comparing a "heated" run with a "non-heated" run, it is possible to notice the increase in oil
production in the heated run, confirming the previous analysis.

REVEAL Manual

February, 2011

Worked Examples

504

3.5.7 Asphaltene
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\\Physics_Examples\Asphaltene
The file associated with that example is the following: Asphaltene.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the use of REVEAL to study potential
asphaltene deposition, transport and adsorption.
1990-2011 Petroleum Experts Limited

505

REVEAL

Model Setup:
The model considered is a simple reservoir model with one horizontal producer located in a
grid refinement, as illustrated below.

Asphaltene is initially present in the reservoir oil, and the objectives of the model are to find
out how much of this asphaltene will precipitate in the reservoir.
The following elements need to be updated when setting up such a model:
1. Control Section
In the control section, the "Solids" component model needs to be selected and the component
list needs to be amended to include asphaltenes, as illustrated below.

REVEAL Manual

February, 2011

Worked Examples

506

1990-2011 Petroleum Experts Limited

507

REVEAL

2. Solids Section
The solids section enables to define the asphaltene model parameters.

REVEAL Manual

February, 2011

Worked Examples

508

Asphaltenes are modelled in REVEAL as a solubility limited component in the oleic phase, that
once precipitated may become trapped within the pore structure of the rock reducing
permeability
These parameters are defined as follows:
- Floculated properties
The floculation density is used to relate the mass and volume of trapped asphaltene for
permeability reduction.
The diameter distribution of the flocculated asphaltenes is characterised by a
flocculated size distribution index (m) and a maximum diameter (Dmax).
- Solubility
The solubility of asphaltene is assumed to be strongly pressure dependent, generally
falling as the pressure falls towards the bubble point (i.e. here 3000psig), then rising as the
pressure continues to fall below the bubble point. This
data is entered as a table of
solubility for monotonically increasing pressure and is not extrapolated. The solubility is
defined as a mass/mass (ppm) concentration.
1990-2011 Petroleum Experts Limited

509

REVEAL

The plot below illustrates the evolution of dissolved asphaltene in oil as a function of
pressure:

- Rock dependent properties


Permeability reduction and rock grain structure properties are defined for each rock
type.
Trapped asphaltene - the insoluble asphaltene will flocculate with a distribution of
particle sizes. Flocculated asphaltene with a diameter greater than the trapping diameter will
be trapped and contribute to
permeability reduction. The trapping diameter is
function of the average grain diameter and the trapping diameter multiplier: if the latest is set
to zero, all the solid asphaltenes will be trapped
Reversibility - if the model is irreversible, then only the solid asphaltene that is not
already trapped may irreversibly accumulate as trapped asphaltene. If the model is
reversible, then all of the solid asphaltene,
including that previously trapped, will be
partitioned between trapped and non-trapped solids according to the particle size distribution.
Permeability reduction - the higher the permeability reduction index, the more important
the permeability reduction due to asphaltene will be.
3. Initialisation Section
The initial dissolved asphaltene concentration within the oil phase should be entered in the
initialisation section, as illustrated below.

REVEAL Manual

February, 2011

Worked Examples

510

Results Analysis:
Once the model has been run, the following results can be observed:
- Due to the horizontal producer production, the pressure will decline within the
reservoir, as illustrated below.

1990-2011 Petroleum Experts Limited

511

REVEAL

- This pressure decline will lead to a decrease in the asphaltene solubility that is
translated in the formation of solid asphaltenes in the system, as illustrated below.

- The formation of these solid asphaltenes will lead to a reduction in reservoir


permeability, as illustrated on the snapshot below.
REVEAL Manual

February, 2011

Worked Examples

512

3.5.8 Non Newtonian Fluid


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\\Physics_Examples\Non_Newtonian_Fluid
The file associated with that example is the following: Non_Newtonian.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the use of REVEAL when considering a nonnewtonian fluid.
Model Setup:
The model considered is a simple reservoir model with one horizontal producer and one
horizontal injector well, located in a grid refinement, as illustrated below.

1990-2011 Petroleum Experts Limited

513

REVEAL

The injection well will be shut-in during the example.


The fluid contained in that reservoir is a heavy-oil which exhibits a shear-thinning behaviour:
when subjected to stress, the fluid molecules unravel leading to a fluid viscosity lower than
what will be predicted for a classic fluid.
The viscosity of the fluid having a large impact on the fluid mobility, it will be important to
capture that effect in the simulation model.
The procedure used to setup the model for that example is a standard procedure apart from
the description of the fluid PVT.
The fluid PVT will need to be defined as follows:
1. Go to the Physical section of the input data wizard: A PVT file named "heavy" has been
defined.
Click on "Edit" to view the PVT entry

REVEAL Manual

February, 2011

Worked Examples

514

2. The classic black oil parameters have been entered, and PVT tables at different pressure
and temperatures have been generated and are in use.
However, it is possible to notice that the "Non-Newtonian Viscosity" option has been
selected.

1990-2011 Petroleum Experts Limited

515

REVEAL

This is the option that enables to take into account shear-thinning behaviors for instance. It
works in association with the "Visc.Tables" section.
The "Visc.Tables" section enables to specify rheological parameters for the fluid considered:
- Yield stress: this is defined as the minimum stress at which fluid flow occurs
- Consistency index
- Shear Thinning: If this is equal to 1, the fluid considered is a newtonian fluid
If this is lower than 1, the fluid considered is a non-newtonian, shearthinning fluid
If this is higher than 1, the fluid considered is a non-newtonian, shearthickening fluid
This parameters are usually obtained from the lab at a specific pressure and temperature.
These parameters are used within REVEAL to calculate the apparent viscosity of the fluid
using the Herschel-Bulkely approach:

where t is the shear stress, t0 is the yield stress, K is the consistency index, gamma is the
shear rate and n is the shear thinning parameter

REVEAL Manual

February, 2011

Worked Examples

516

An apparent viscosity is then calculated using the following formula:

The apparent viscosity is then replacing the gas and oil viscosity specified in the PVT tables.
If the rheological parameters are defined for one specific temperature and pressure as it is
the case in this example, the viscosity will then only be shear rate dependant, and will be
independant from pressure and temperature.
REVEAL will not extrapolate these rheological parameters, it will only interpolate between
different given values.
Therefore, if one wants to make the apparent viscosity pressure and / or temperature
dependant, one will have to enter rheological parameters over the range of pressure and
temperature the reservoir is likely to be facing.
The maximum viscosity parameter enables to specify a maximum value for the viscosity
calculated: if the viscosity calculated is higher than the maximum viscosity specified, the
calculated value will be ignored and replaced by the maximum viscosity specified here.
Once the PVT has been setup, the model can be run.
Results Analysis:
The model has been run with two specific PVTs:
- one named heavy which includes the non-newtonian viscosity option
- one named heavy-newtonian which describe the same fluid, but without using the nonnewtonian viscosity option

1990-2011 Petroleum Experts Limited

517

REVEAL

One of the elements that can be underlined is that the well oil production is higher when the
non-newtonian viscosity is used.

This can be explained by plotting the evolution of viscosity with time for one of the producer
gridblocks.
As explained earlier, in the case of the non-newtonian fluid, the evolution of viscosity with time
is just due to the evolution of shear rate and is independant of the pressure and temperature,
due to the way the rheological parameters have been setup.

REVEAL Manual

February, 2011

Worked Examples

518

It is possible to notice that due to the shear-thinning behavior of that fluid, the viscosity of the
oil when the non-newtonian viscosity option is used is lower than the viscosity calculated if the
fluid is considered newtonian.
In that case, the permeability being the same, decreasing the viscosity will have the effect of
increasing the fluid mobility.
An increase in fluid mobility will lead to an increase in the well PI and therefore production, as
observed in that model.

3.5.9 Equalizer
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\Physics_Examples\Equalizer
The file associated with that example is the following: Equalizer.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the use of REVEAL when considering
complex horizontal completions with tubing screens or Equalizer.
Model Setup:
The model considered includes two separate reservoirs, both containing a long horizontal well,
as illustrated below.

1990-2011 Petroleum Experts Limited

519

REVEAL

Both reservoirs and wells are exactly similar apart from the interface between the tubing and
casing space. The first model has standard screens installed whereas the second model has
a set of Equalizer installed.
The main objectives of these Equalizer is to create a pressure drop between the tubing and
the casing, therefore enabling to balance the bottom hole flowing pressure (i.e. and therefore
the drawdown) along the wellbore.
In order to achieve this objective, the type of Equalizer used changes along the wellbore,
enabling for instance to generate higher pressure losses between the casing and tubing in
high productivity regions (i.e. heel and toe of the well for instance) and lower pressure losses
between the casing and tubing in low productivity regions.
In this specific case, the main objective of to reduce the impact of gas coning on the well
behavior.
This can be setup by using the "Annular Flow" option in the well section, as illustrated below.

REVEAL Manual

February, 2011

Worked Examples

520

The multilateral description will then allow for the type of interface between the tubing and the
casing to be specified, as illustrated below for both Equalizer and screen models.

1990-2011 Petroleum Experts Limited

521

REVEAL

Screen model setup

Equalizer model setup


Results Analysis:
Analysing the evolution of the gas saturation in the 3D results at two different points in the
forecast (i.e. 10.25 days and 187 days) will show the difference between the screen model
and the Equalizer model: as illustrated in the two snapshots below, it is possible to note
that the gas coning effect is less important in the Equalizer completion case than in the
screen completion case, due to the more balanced bottom hole flowing pressure along the
wellbore.

REVEAL Manual

February, 2011

Worked Examples

522

As a result of this, the gas production at the early stage of production is larger in the screen
completion case, as illustrated below.
1990-2011 Petroleum Experts Limited

523

REVEAL

The oil production, as illustrated below, is higher at early stages of production in the screen
completed well, due to the less important pressure losses in the wellbore, however, as soon
as the gas breakthrough, the oil production will be affected and the Equalizer completed
well will produce more oil.
The cumulative oil production plot is displayed below, illustrating the higher oil recovery
achieved in this case when the bottom hole flowing pressure along the wellbore is controlled
using the Equalizer completion.

REVEAL Manual

February, 2011

Worked Examples

524

1990-2011 Petroleum Experts Limited

525

3.6

REVEAL

OpenServer Examples

3.6.1 Well Results


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\OpenServer_Examples\.
The Excel macro associated with that example is located in the Well_Results folder and is
named: Well_Results.xls
The REVEAL file associated with that example is the following: OpenServer_Demo.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the use and setup of an Excel OpenServer
macro in REVEAL.

REVEAL Manual

February, 2011

Worked Examples

526

This specific example illustrates how to retrieve well results through an OpenServer macro.
Model Setup:
All the OpenServer examples are based on a similar REVEAL model, the
OpenServer_Demo.rvl model.
This model is constituted of one producer and one injector well located in a relatively simple
grid as illustrated below.

All the macros are started from one single Excel macro template located in C:\Program
Files\Petroleum Experts\IPM 6.0\Samples\reveal\OpenServer_Examples\ and called
REVEAL_OpenServer_Template.xls.
With that specific macro, one wants to retrieve the results of both the producer and injector
wells once a simulation has been run.
The macro front-end is organised as follow:
- The first sub-sheet is dedicated to the macro control: the file name and location
needs to be specified and the macro can be run with the Start Macro button.

- The two other sub-sheets are dedicated to the well results, one for the producer and
one for the injector.
1990-2011 Petroleum Experts Limited

527

REVEAL

The macro structure is organised as follow:


1.Define the variables to be used and initialise the Excel spreadsheet
The following elements can be noted in that section of code:
- The different variables that are going to be used in the macro are defined at the start
of the macro
- The Set OpenServer statement enables to activate the OpenServer capacity of the
IPM suite, therefore enabling interaction between REVEAL and Excel in that specific case.

2.Open the REVEAL file, select the unit system to be used and setup some headers for
the Excel sub-sheets

REVEAL Manual

February, 2011

Worked Examples

528

When getting the headers, it is possible to notice that the second part of the structure focuses
on getting the name of the units used.
This structure, along with the structure details in the section 3, includes a while loop that
enables to perform this specific macro structure for every well in the system.
3. Get the Well Results

1990-2011 Petroleum Experts Limited

529

REVEAL

A loop structure similar to the one used previously to loop through the wells is used in that
section.
This section is just a part of the total section, where all the results available for individual well
are specified and exported to a specific field in Excel.
4. End the Macro

The end of the macro structure is characterised by the end of the syntax for both loops used,
characterised by an incremental index statement (i.e. i=i+1) and a Wend (i.e. While End).
The Set Server = Nothing enables to disconnect the OpenServer connection and the
message box enables to let the user know that the macro has ended successfully.
Results Analysis:
Once the macro has been run, results will automatically be displayed for each well in the
corresponding Excel sub-flowsheet as illustrated below.

REVEAL Manual

February, 2011

Worked Examples

530

3.6.2 Well Production


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\OpenServer_Examples\
The Excel macro associated with that example is located in the Well_Production folder and is
named: Well_Production.xls
The REVEAL file associated with that example is the following: OpenServer_Demo.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the use and setup of an Excel OpenServer
macro in REVEAL.
This specific example illustrates how to retrieve block by block results from a REVEAL run.
Model Setup:
All the OpenServer examples are based on a similar REVEAL model, the
OpenServer_Demo.rvl model.
This model is constituted of one producer and one injector well located in a relatively simple
grid as illustrated below.
1990-2011 Petroleum Experts Limited

531

REVEAL

All the macros are started from one single Excel macro template located in C:\Program
Files\Petroleum Experts\IPM 6.0\Samples\reveal\OpenServer_Examples\ and called
REVEAL_OpenServer_Template.xls.
The specific objective of that macro is to retrieve block by block water, oil and gas production
for a user-specified well.
The macro front-end is organised as follows:

REVEAL Manual

February, 2011

Worked Examples

532

The macro structure is organised as follow:


1.Define the variables to be used and initialise the Excel spreadsheet
The following elements can be noted in that section of code:
- The different variables that are going to be used in the macro are defined at the start
of the macro
- The Set OpenServer statement enables to activate the OpenServer capacity of the
IPM suite, therefore enabling interaction between REVEAL and Excel in that specific case.

1990-2011 Petroleum Experts Limited

533

REVEAL

2. Start the REVEAL simulation run and retrieve the results at every time step
This specific section of the macro enables to run a simulation on a step by step basis, and for
each step, follows the following workflow:

REVEAL Manual

February, 2011

Worked Examples

534

The corresponding code can be found below:

1990-2011 Petroleum Experts Limited

535

REVEAL

Results Analysis:
As per the code, results in the Excel spreadsheet will automatically be updated during the
REVEAL run.
It is important to notice that even so the results are reported in Excel, this does not change
the classic results reporting facilities of REVEAL.
Classic REVEAL results will still be available once the model has been run.

REVEAL Manual

February, 2011

Worked Examples

536

3.6.3 Batch Matching


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\OpenServer_Examples\
The Excel macro associated with that example is located in the Batch_Matching folder and is
named: Batch_Matching.xls
The REVEAL file associated with that example is the following: OpenServer_Demo.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the use and setup of an Excel OpenServer
macro in REVEAL.
This specific example illustrates how to perform batch matching calculations through an
OpenServer macro.
Model Setup:
All the OpenServer examples are based on a similar REVEAL model, the
OpenServer_Demo.rvl model.
This model is constituted of one producer and one injector well located in a relatively simple
grid as illustrated below.

All the macros are started from one single Excel macro template located in C:\Program
Files\Petroleum Experts\IPM 6.0\Samples\reveal\OpenServer_Examples\ and called
REVEAL_OpenServer_Template.xls.
1990-2011 Petroleum Experts Limited

537

REVEAL

The specific objective of that macro is to perform batch simulations of the reservoir model
above by changing the reservoir permeability through the permeability multiplier. This
procedure will help the reservoir history matching procedure.
Each file run is saved separately for further analysis of the results.
The macro front end is setup as follows:

The macro structure is organised as described below:


1.Define the variables to be used and initialise the Excel spreadsheet
The following elements can be noted in that section of code:
- The different variables that are going to be used in the macro are defined at the start
of the macro
- The Set OpenServer statement enables to activate the OpenServer capacity of the
IPM suite, therefore enabling interaction between REVEAL and Excel in that specific case.
- The zero reporting region enables to clear the Excel spreadsheet from results of
previous runs.

REVEAL Manual

February, 2011

Worked Examples

538

2. Start the batch matching procedure, Setup the transmissibility multiplier and run
the simulations.
The batch matching procedure is run through a while loop, that enables to run a specific
section of code until the condition specified in the loop is met.
In this case, the procedure will be run while i <= imax where imax is the maximum number of
permeability multiplier entered.

1990-2011 Petroleum Experts Limited

539

REVEAL

3. Save the file at the end of the run and retrieve the results

REVEAL Manual

February, 2011

Worked Examples

540

Each time one step is finished, the index i is incremented by 1, which will lead to a new file
being setup with a new permeability multiplier.
Results Analysis:
Once the runs are finished, one will find a number of REVEAL files saved in the location of the
initial file equal to the number of permeability multipliers specified, as well as a summary of
time to breakthrough and cumulative productions in the Excel spreadsheets.

1990-2011 Petroleum Experts Limited

541

REVEAL

3.6.4 Well Control


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
Experts\IPM 7.0\Samples\reveal\OpenServer_Examples\
The Excel macro associated with that example is located in the Well_Control folder and is
named: Well_Control.xls
The REVEAL file associated with that example is the following: OpenServer_Demo.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the use and setup of an Excel OpenServer
macro in REVEAL.
This specific example illustrates how to control a well with time through an OpenServer
macro: the macro will modify the wellhead pressure and fluid injection temperature through
time.
Model Setup:
All the OpenServer examples are based on a similar REVEAL model, the
OpenServer_Demo.rvl model.
This model is constituted of one producer and one injector well located in a relatively simple
grid as illustrated below.

REVEAL Manual

February, 2011

Worked Examples

542

All the macros are started from one single Excel macro template located in C:\Program
Files\Petroleum Experts\IPM 6.0\Samples\reveal\OpenServer_Examples\ and called
REVEAL_OpenServer_Template.xls.
With that specific macro, one wants to control the wellhead pressure and injection
temperature of the injector well at different points in time.
The macro front-end is organised as follow:

The following steps (i.e. accessed through the visual basic section of Excel) are taken within
1990-2011 Petroleum Experts Limited

543

REVEAL

the macro setup to do so:


1.Define the variables to be used and initialise the Excel spreadsheet
The following elements can be noted in that section of code:
- The different variables that are going to be used in the macro are defined at the start
of the macro
- The Set OpenServer OpenServer enables to activate the OpenServer capacity of
the IPM suite, therefore enabling interaction between REVEAL and Excel in that specific case.
- The zero reporting region enables to clear the Excel spreadsheet from results of
previous runs.

2. Open the REVEAL file and setup the injection well schedule

REVEAL Manual

February, 2011

Worked Examples

544

The last section of that code enables to set the injection well control parameters that were
taken from Excel in the REVEAL script.
It will be possible to use that syntax only before the simulation is run. The script input cannot
be modified when the simulation is running.
In order to make a modification to the system setup while the simulation is running, one needs
to use the MASTER based commands illustrated in step 3.
3. Run a REVEAL simulation time step
Once the model has been setup, one can start running the simulation.
In that case, as the macro will change the file setup with time, it will be necessary to run the
simulation step by step using the DO_ONE_STEP command illustrated below.

1990-2011 Petroleum Experts Limited

545

REVEAL

In that section, the results of each simulation time step are exported to Excel.
The last section enables to monitor when the setup of the model needs to be changed: the
current time is monitored using the Time variable.
If the current time is lower than the time at which the schedule needs to be changed next, the
surface pressure and surface temperature will be equal to a time weighted average between
the surface properties of the injection well at the last time step and the surface properties of
the injection well at the time step when a change has been specified by the user.
REVEAL Manual

February, 2011

Worked Examples

546

4. Save the REVEAL file when the macro ends

The save file command will automatically overwrite the REVEAL model used when running the
macro.
The Set Server = Nothing command enables to finalise the connection between REVEAL and
Excel.
Results Analysis:
When the run is ended, one can check the evolution of wellhead pressure and injection
temperature through time for the injection well and check that it has been setup according to
the schedule specified in Excel.

3.6.5 Water Injection Allocation : Use of Internal Script


Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum
1990-2011 Petroleum Experts Limited

547

REVEAL

Experts\IPM 7.0\Samples\reveal\OpenServer_Examples\
There is no Excel macro associated to this example as all the code is contained within the
REVEAL internal script.
The REVEAL file associated with that example is the following: Water_Injection_Allocation.rvl
Worked Example Objectives:
The main objective of this example is to illustrate the use and setup of the REVEAL internal
script.
This specific example illustrates how to allocate a fixed amount of water to be injected in the
reservoir between the different injection wells, in order for instance to accelerate the oil
production (i.e. minimise the water cuts in the producing wells).
Model Setup:
The model used in that example is similar to the model used for the previous OpenServer
examples, apart for the number and location of the wells.
This model includes 3 producing wells and 4 injection wells located as below.

In the schedule section, all the wells are controlled by fixed rate.
The producing wells are controlled by a fixed total (i.e. oil + water) liquid rate and the water
injectors are controlled by a fixed water injection rate.

REVEAL Manual

February, 2011

Worked Examples

548

Internal Script Setup:


The internal script can be accessed through the

script icon on the main menu bar.

The internal script is divided into two sections:


1- Declarations section, that enables to declare variables that are going to be used
further in the script
2- REVEAL section, where the main section of code will be located.
The REVEAL section is divided in several sub-sections: RunFinish / RunStart /
RunPreTimestep / Stopped that enable to specify when the piece of code considered is going
to be run.
In the current case, the water injection allocation is going to be done prior to each
timestep calculation, and will therefore be located in the RunPreTimestep section.
1. Declarations Section
In the case considered, only two variables will be entered in the declarations section:
1990-2011 Petroleum Experts Limited

549

REVEAL

- the variable "weight" is dimensioned


- the variable "injtot", defined as the total amount of water to be injected at each
timestep is specified by the user.
The corresponding code reads as follows:

2. REVEAL section
The rest of the code is located in the REVEAL / RunPreTimestep section and follows the
following workflow:

REVEAL Manual

February, 2011

Worked Examples

550

The corresponding code reads as follows:

1990-2011 Petroleum Experts Limited

551

REVEAL

It is important to notice that all the variables used in this script and specified as reveal.
master are runtime variable: these are related to variables internally calculated during the
solve process, but that are not always available in the REVEAL outputs, such as the ratio of
volumes between producer and injector drainage areas.
Running the Simulation:
When an internal script has been setup in REVEAL, the simulation will run with the script only
if the "Run with Script" option is activated in the Run Simulation section of the main menu bar.
The model illustrated here has been run with and without the script and the following results
can be observed:
- When the model is run without the script activated, the total amount of water injected
is divided equally between the different water injectors.

REVEAL Manual

February, 2011

Worked Examples

552

- When the model is run with the script activated, the allocation of this total amount of
water injected is setup according to the weight associated with each injector that has been
calculated in the script.
This leads to the following allocation:

1990-2011 Petroleum Experts Limited

553

REVEAL

- One of the consequence of this re-allocation will be the decrease of the water cut in
some of the producer wells, such as the producer 2 illustrated below.

REVEAL Manual

February, 2011

Worked Examples

554

- However, the most important result is the increased cumulative oil production and
decreased cumulative water observed when comparing the voidage injection and the
managed injection cases, as illustrated below:

1990-2011 Petroleum Experts Limited

555

REVEAL

REVEAL Manual

February, 2011

Worked Examples

556

1990-2011 Petroleum Experts Limited

Vous aimerez peut-être aussi