Sunteți pe pagina 1din 0

Petroleum Experts

REVEAL
Version 3.0
September 2008
User Manual
IPM
REVEAL
IPM - Specialised Reservoir Numerical Simulator
by Petroleum Experts Limited
REVEAL is a full field reservoir simulator specialised in modeling near well bore effects
including mobility and injectivity issues. Thermal and chemical effects are modeled rigorously.
These effects can arise from injection of non-reservoir fluids at non-reservoir temperatures.
Injection of chemicals or fluids at non-reservoir temperature can havesignificant effects on fluid
mobilities and therefore subsequent injectivity and oil production. Injectivity will also be
dependent on perforation geometry, including the possibility of fracturing.
SPECIFICATION:
Multiphase Simulator
- Thermal 3 phase Black Oil formulation for oil gas and condensates.
- Implicit and IMPES solvers.
- Grid refinement.
- Multi-Lateral well capabilities with well bore friction and well-bore heating.
- Thermal and chemical effects on mobility.
- Analytical Carter Tracy aquifer.
- 4 phase (oil, water, gas, -emulsion)
- Import: VIP, ECLIPSE and ASCII text data.
Specilaised Models
- Thermal and Hydraulic Fracturing
- Steam
- Solids
- Mobility Control
- Phase Emulsifications
- Water Chemistry
REVEAL runs on a PC.
There is a single interface to access on the REVEAL functionality, including:
- data input and validation,
- post-processing,
- 3D graphical visualization,
- Export of results.
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., Spectrum
House, 2 Powderhall Road, Edinburgh, EH7 4GB, 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 (NT), Windows (2000) and Windows (XP) are registered trademarks of the
Microsoft Corporation
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
Spectrum House
2 Powderhall Road
Edinburgh, Scotland
EH7 4GB
Tel : (44 131) 474 7030
Fax : (44 131) 474 7031
email: edinburgh@petex.com
Internet: www.petex.com
Copyright Notice
3
1990-2008 Petroleum Experts Limited
REVEAL
I
Table of Contents
0
Chapter 1 Overview of REVEAL 2
Chapter 2 What's new 6
Chapter 3 System requirements 21
Chapter 4 Contacting Petroleum Experts 23
Chapter 5 Getting started 25
................................................................................................................................... 25 1 Step 1 - Initialise new case
................................................................................................................................... 27 2 Step 2 - Wizard basics
................................................................................................................................... 28 3 Step 3 - Control section
................................................................................................................................... 30 4 Step 4 - Reservoir section
................................................................................................................................... 34 5 Step 5 - Physical section
................................................................................................................................... 37 6 Step 6 - Relperm section
................................................................................................................................... 40 7 Step 7 - Wells section
................................................................................................................................... 46 8 Step 8 - Initialisation section
................................................................................................................................... 48 9 Step 9 - Schedule section
................................................................................................................................... 49 10 Step 10 - Run simulation
................................................................................................................................... 51 11 Step 11 - View results
Chapter 6 Input wizard 55
................................................................................................................................... 55 1 Basic operation
................................................................................................................................... 55 2 Section summary
................................................................................................................................... 56 3 Control section
.......................................................................................................................................................... 56 Solver
.......................................................................................................................................................... 63 Model selection
.......................................................................................................................................................... 65 Components
................................................................................................................................... 66 4 Reservoir section
.......................................................................................................................................................... 66 Geometry
.......................................................................................................................................................... 70 Cartesian grid
.......................................................................................................................................................... 71 Radial grid
.......................................................................................................................................................... 73 Curvilinear grid
.......................................................................................................................................................... 74 Depth
.......................................................................................................................................................... 75 Porosity
.......................................................................................................................................................... 78 Permeability
.......................................................................................................................................................... 78 Transmissibility multipliers
.......................................................................................................................................................... 79 Absolute transmissibilities
.......................................................................................................................................................... 80 Net to gross
.......................................................................................................................................................... 81 Pore volume multipliers
II Contents
II
REVEAL Manual September, 2008
.......................................................................................................................................................... 82 Rock type
.......................................................................................................................................................... 83 PVT region
.......................................................................................................................................................... 84 Equilibration region
.......................................................................................................................................................... 85 Fluid in place region
.......................................................................................................................................................... 86 Non-neighbour connections
.......................................................................................................................................................... 88 Refinement
................................................................................................................................... 89 5 Physical section
.......................................................................................................................................................... 89 Physical properties
.......................................................................................................................................................... 94 Rock compressibilities
.......................................................................................................................................................... 96 Miscellaneous models
................................................................................................................................... 98 6 Relperm section
.......................................................................................................................................................... 98 Relperm options
.......................................................................................................................................................... 101 Residual saturation
.......................................................................................................................................................... 104 Relative permeability
.......................................................................................................................................................... 106 Capillary pressure
.......................................................................................................................................................... 108 Endpoint scaling
................................................................................................................................... 110 7 Aquifer section
.......................................................................................................................................................... 110 Analytical aquifer
.......................................................................................................................................................... 113 Cater Tracy model
................................................................................................................................... 114 8 Mobility section
.......................................................................................................................................................... 114 Polymer & gel
.......................................................................................................................................................... 116 Original polymer gel model
.......................................................................................................................................................... 119 Carreau polymer model
.......................................................................................................................................................... 120 Kuparuk polymer gel model
.......................................................................................................................................................... 122 Gelation & degradation
.......................................................................................................................................................... 124 Inaccessible pore volume
.......................................................................................................................................................... 125 Foam & diluent
................................................................................................................................... 126 9 Phase behaviour section
.......................................................................................................................................................... 126 Introduction
.......................................................................................................................................................... 128 Alcohol/Polymer partitioning
.......................................................................................................................................................... 131 Surfactant phase
.......................................................................................................................................................... 139 Ternary diagram
.......................................................................................................................................................... 141 Surfactant interfacial tension
.......................................................................................................................................................... 143 Surfactant viscosity
................................................................................................................................... 146 10 Adsorption section
.......................................................................................................................................................... 146 Adsorption properties
.......................................................................................................................................................... 152 Adsorption isotherms
.......................................................................................................................................................... 155 Permeability reduction
.......................................................................................................................................................... 156 Tracer partitioning
................................................................................................................................... 157 11 Water chemistry section
.......................................................................................................................................................... 157 Water chemistry
.......................................................................................................................................................... 166 CO2, H2S & N2 partitioning
.......................................................................................................................................................... 167 H2S souring (Legacy)
.......................................................................................................................................................... 169 H2S souring (Activity)
.......................................................................................................................................................... 172 Scale inhibition
................................................................................................................................... 174 12 Solids section
.......................................................................................................................................................... 174 Asphaltene
.......................................................................................................................................................... 175 Wax
.......................................................................................................................................................... 177 Sand
................................................................................................................................... 181 13 Wells section
.......................................................................................................................................................... 181 Location and properties
REVEAL
III
.......................................................................................................................................................... 187 Filter cake
.......................................................................................................................................................... 189 Fractures
.......................................................................................................................................................... 200 Geertsma deKlerk fracture
.......................................................................................................................................................... 201 3D fracture
.......................................................................................................................................................... 206 Stress & elasticity
................................................................................................................................... 209 14 Well-bore heating section
.......................................................................................................................................................... 209 Well-bore heating
................................................................................................................................... 210 15 Initialisation section
.......................................................................................................................................................... 210 PVT initialisation
.......................................................................................................................................................... 212 Equilibration
.......................................................................................................................................................... 213 User initialisation
.......................................................................................................................................................... 214 Component initialisation
................................................................................................................................... 216 16 Schedule section
.......................................................................................................................................................... 216 Well schedule
.......................................................................................................................................................... 224 Thermal fracture
Chapter 7 Grid refinement 227
................................................................................................................................... 227 1 Overview
................................................................................................................................... 229 2 Refinement section
................................................................................................................................... 231 3 Reservoir section
................................................................................................................................... 232 4 Relperm section
................................................................................................................................... 232 5 Initialisation section
Chapter 8 Menu commands 234
................................................................................................................................... 234 1 Menu commands
................................................................................................................................... 234 2 File
................................................................................................................................... 235 3 Options
................................................................................................................................... 235 4 Edit
................................................................................................................................... 235 5 Input
................................................................................................................................... 236 6 Project
................................................................................................................................... 236 7 Run Simulation
................................................................................................................................... 238 8 Results
................................................................................................................................... 240 9 View
................................................................................................................................... 240 10 Window
................................................................................................................................... 241 11 Help
................................................................................................................................... 241 12 Playback (3D view only)
Chapter 9 External data import 243
................................................................................................................................... 243 1 Importing overview
................................................................................................................................... 243 2 Importing from ASCII
................................................................................................................................... 247 3 Importing wells from ASCII
................................................................................................................................... 249 4 Importing from Eclipse (binary files)
................................................................................................................................... 253 5 Importing from Eclipse (ASCII files)
IV Contents
IV
REVEAL Manual September, 2008
................................................................................................................................... 253 6 Importing from VIP
Chapter 10 Graphics 258
................................................................................................................................... 258 1 Visualisation
Chapter 11 Debug output 268
................................................................................................................................... 268 1 Debug output
Chapter 12 Engineering 271
................................................................................................................................... 271 1 Contents
................................................................................................................................... 271 2 Phases and components
................................................................................................................................... 271 3 Transport equations
................................................................................................................................... 273 4 Dispersion and diffusion
................................................................................................................................... 273 5 Heat transport
Chapter 13 References 276
................................................................................................................................... 276 1 References
Chapter 14 OpenServer 278
................................................................................................................................... 278 1 OpenServer
Chapter 15 Worked Examples 292
................................................................................................................................... 292 1 Worked Examples - Overview
................................................................................................................................... 294 2 Worked Examples - List by Topics
................................................................................................................................... 296 3 Dexterity Examples
.......................................................................................................................................................... 296 Getting Started
.......................................................................................................................................................... 296 Eclipse Import
.......................................................................................................................................................... 309 Radial Aquifer
.......................................................................................................................................................... 314 Thermal Fracture
.......................................................................................................................................................... 327 Souring
.......................................................................................................................................................... 341 Dry Gas
.......................................................................................................................................................... 346 Retrograde Condensate
.......................................................................................................................................................... 353 Radial Gridding
.......................................................................................................................................................... 362 Curvilinear Gridding
................................................................................................................................... 370 4 Physics Examples
.......................................................................................................................................................... 370 Grid Refinement
.......................................................................................................................................................... 378 Water Chemistry
.......................................................................................................................................................... 390 Permeability Reduction
.......................................................................................................................................................... 394 Surfactant
.......................................................................................................................................................... 414 Gel Injection
.......................................................................................................................................................... 427 Wellbore Heating
.......................................................................................................................................................... 434 Asphaltene
.......................................................................................................................................................... 442 Non Newtonian Fluid
................................................................................................................................... 448 5 OpenServer Examples
.......................................................................................................................................................... 448 Well Results
.......................................................................................................................................................... 453 Well Production
.......................................................................................................................................................... 457 Batch Matching
REVEAL
V
.......................................................................................................................................................... 462 Well Control
.......................................................................................................................................................... 467 Water Injection Allocation : Use of Internal Script
Chapter 16 REVEAL Frequently Asked Questions: A
Few Additional Technical Notes 478
................................................................................................................................... 478 1 Difference between 5 and 9 points Horizontal Point Schemes
................................................................................................................................... 483 2 Rock Mechanics and Thermal Fracturing
Chapter
1
2
REVEAL Manual
September, 2008
REVEAL
1 Overview of REVEAL
The REVEAL Philosophy
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 - Steam and Gel Injection
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:
1. gain a GLOBAL understanding of the field behaviour when all dynamical, thermal and
geomechanical behaviors are taken into account
2. understand the impact of specialists studies generally done in isolation at a full reservoir
scale, based on the corporate numerical simulation model
3. manage the reservoir on a day to day and long term basis according to its real physical
behaviour
3. gain a way of sharing information and joining workflows
REVEAL can therefore be considered as a tool for integrated reservoir and production studies.
Overview of REVEAL
3
1990-2008 Petroleum Experts Limited
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,
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.
The REVEAL Technical Features
In addition to standard simulator models, the features present within REVEAL include:
Technical Modules
Thermal fracturing Integrating thermo- and poro-elastic effects on reservoir stress with injection
profile and fracture mechanics.
Hydraulic fracturing Production fractures.
Water chemistry Chemical equilibrium of mixed waters predicting precipitation, dissolution and
scale inhibition.
Souring Models growth and respiration effect of Sulphate Reducing Bacteria leading to
H2S formation in the reservoir.
Chemical adsorption Retardation and permeability reduction effects.
4
REVEAL Manual
September, 2008
REVEAL
Polymer and gel Mobility changes for aqueous phase, including shear thinning, gelation
reactions and cation exchange.
Surfactant 4th phase micro-emulsion model using ternary diagrams.
Filter Cake Filter cake formation linked to solid injections in wells and fractures.
Sanding Sand transport, trapping and generation.
Well-bore heating Microwave and Electrical heating of heavy viscous oils.
Analytical aquifer Carter Tracy model.
Steam Steam injection model for Huff & Puff, SAGD.
Desaturation Interfacial Tension changes affecting relative permeability and capillary
pressures through capillary number.
Asphaltene and Wax Flocculation and trapping model leading to permeability reduction.
IMPES solver With flux corrected transport (fct) for models where numerical dispersion is
important (e.g. chemical additives), and material balance iterations.
Implicit solver For high mobility and large throughput models (e.g. coning).
Grid refinement General hexahedral refinement of master grid for IMPES and implicit solver
options.
Connection to Third Party and Petroleum Experts Softwares
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.
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.
IPM Integration PROSPER lift curves, Petroleum Experts PVT matching and GAP
optimisation using RESOLVE.
OpenServer Full OpenServer functionality built in, for automation or batch processing of
runs or connection to third party software.
General User Interface Features
Wizard data input Simplified data entry, verification and visualisation prior to calculation.
2D and 3D graphics May be viewed during simulations.
IT Features
PC environment Runs on PC (Windows 2000, NT, XP) with single interface to all functionality.
Chapter
2
6
REVEAL Manual
September, 2008
REVEAL
2 What's new
REVEAL Version 3.4 IPM Version 6.4
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
1 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 PETEX 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
What's new
7
1990-2008 Petroleum Experts Limited
17 New stress calculation method (Oedometric displacement potential) added. This allows
compaction and improvements to stress calculation for some complex geometries, horizontal
fractures and rapidly changing stress fields.
16 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
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)
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
8
REVEAL Manual
September, 2008
REVEAL
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
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
What's new
9
1990-2008 Petroleum Experts Limited
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
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
10
REVEAL Manual
September, 2008
REVEAL
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
15 Electrical wellbore heating model added
14 Improved thermal fracture calculations for distorted grid geometries
13 Initial reservoir conditions may be set explicitly (non-equilibrium) by the user
12 Rock compressibility may be defined by stress
11 Nitrogen partitioning added
10 Aquifer Pd vs td table may be entered directly
9 Solid transport, including trapping, permeability reduction and sand generation
8 Fluid-in-place regions added
7 Multiple restart dates imported simultaneously
6 Datablock input/output extended
5 Export region, well and completion data directly to EXCEL
4 Export petrophysics model from REVEAL to standard ASCII format
3 Model import from PETREL generated ASCII files (many ECLIPSE and CMG keywords
added)
2 New souring model based on equivalent carbon source and bacterial activity (more implicit
and handles nutrient sources better)
1 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
BUILD 176
What's new
11
1990-2008 Petroleum Experts Limited
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
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
12
REVEAL Manual
September, 2008
REVEAL
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 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
What's new
13
1990-2008 Petroleum Experts Limited
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
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
14
REVEAL Manual
September, 2008
REVEAL
BUILD 029
25 Irreversible compaction added
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
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
What's new
15
1990-2008 Petroleum Experts Limited
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
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
16
REVEAL Manual
September, 2008
REVEAL
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
4 Compaction model - variable rock compressibility and permeability multiplier
5 ASCII data import extended
6 data blocks may be exported to the clipboard or a file
7 Minimum porosity*net-to-gross ratio may be set to define inactive blocks
8 Code optimisation improving speed
9 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
What's new
17
1990-2008 Petroleum Experts Limited
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 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
11 Enhancements to surfactant phase behaviour, including upgraded pre-calculation diagnostics
18
REVEAL Manual
September, 2008
REVEAL
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
6 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
What's new
19
1990-2008 Petroleum Experts Limited
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
12 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.
Chapter
3
System requirements
21
1990-2008 Petroleum Experts Limited
3 System requirements
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 stand-alone
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.
Chapter
4
Contacting Petroleum Experts
23
1990-2008 Petroleum Experts Limited
4 Contacting Petroleum Experts
We encourage feedback and if you have problems or questions using REVEAL, please send an e-mail
to edinburgh@petex.com with the following information.
1. Include the keyword 'REVEAL' in the e-mail subject.
2. REVEAL version and build number - use the menu option Help|About REVEAL. to obtain this
information.
3. Description of the problem or question.
4. Include a REVEAL archive (*.rvl) file where possible. Check that this file is not too large
(>2MB). If it is large, then you may delete potentially large quantities of graphical output data
using the option Results|Clear Grid Results.
Chapter
5
Getting started
25
1990-2008 Petroleum Experts Limited
5 Getting started
5.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.
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.
26
REVEAL Manual
September, 2008
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....
Getting started
27
1990-2008 Petroleum Experts Limited
5.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.
28
REVEAL Manual
September, 2008
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.
5.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.
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.
Getting started
29
1990-2008 Petroleum Experts Limited
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.
30
REVEAL Manual
September, 2008
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.
5.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.
Getting started
31
1990-2008 Petroleum Experts Limited
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.
32
REVEAL Manual
September, 2008
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.
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.
Getting started
33
1990-2008 Petroleum Experts Limited
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.
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.
34
REVEAL Manual
September, 2008
REVEAL
5.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.
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).
Getting started
35
1990-2008 Petroleum Experts Limited
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. Select Calc Tables and
enter the following ranges.
Next select Calculate, then Calculate again and Save. The select Done and Done again to return to
the main PVT screen.
Select Tables to check the table data has been generated correctly, when Done is selected to return
again to the main PVT screen, the Use Tables option is selected.
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.
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.
36
REVEAL Manual
September, 2008
REVEAL
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.
To do so, the Default thermal properties button should be used. This will setup default values for the
fluid and rock heat capacities.
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.
Getting started
37
1990-2008 Petroleum Experts Limited
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.
5.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.
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.
38
REVEAL Manual
September, 2008
REVEAL
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.

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.
Getting started
39
1990-2008 Petroleum Experts Limited
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.
40
REVEAL Manual
September, 2008
REVEAL
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.
5.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
- 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.
Getting started
41
1990-2008 Petroleum Experts Limited
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).
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.
42
REVEAL Manual
September, 2008
REVEAL
Select Add tubing and then OK. Next, enter the deviation survey as shown below.
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
Getting started
43
1990-2008 Petroleum Experts Limited
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:
- 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
44
REVEAL Manual
September, 2008
REVEAL

- 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.
Getting started
45
1990-2008 Petroleum Experts Limited
- 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 re-used
directly by selecting the 3D | Load View option in the 3D graphical window.
46
REVEAL Manual
September, 2008
REVEAL
- 7: Close the plot window to return to the wizard and select Next to complete the Wells
section.
5.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 not using variable Rs with depth so this section will stay greyed out.
Getting started
47
1990-2008 Petroleum Experts Limited
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.
48
REVEAL Manual
September, 2008
REVEAL
Select Next twice to enter the last section.
5.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.
Finally select Next to complete the data input.
Getting started
49
1990-2008 Petroleum Experts Limited
Save the REVEAL file using File|Save Project.
5.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.
50
REVEAL Manual
September, 2008
REVEAL
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 possible to
visualise the average, well, 3D and wellbore results using the visualisation buttons below.
Getting started
51
1990-2008 Petroleum Experts Limited

5.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.
- 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.
52
REVEAL Manual
September, 2008
REVEAL
- 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 buttons control the dynamic visualisation
of 3D properties.
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.
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 rotates the image in wire-frame mode about the X
and Y axes.
Ctrl+right mouse rotates the image in wire-frame mode about the Z
Getting started
53
1990-2008 Petroleum Experts Limited
axis.
Shift+left mouse pans the image. This may also be achieved by using
the left mouse button near the edge of the display
window.
Ctrl+left mouse selects a region to be enlarged.
Mouse Roller Button zoom In / Out
F5 returns the scaling to its original size.
W key sets the display to wire-frame mode.
S key 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 Propertiesset 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 Optionsset the range, interval and speed of 3D playbacks.
It is possible to display separate results and runtime windows by using the View | Cascade option in
the main menu bar.
Chapter
6
Input wizard
55
1990-2008 Petroleum Experts Limited
6 Input wizard
6.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 over-written 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 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 made.
6.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.
56
REVEAL Manual
September, 2008
REVEAL
Control section solver, model, components
Reservoir section 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,
non-neighbour 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
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
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
6.3 Control section
6.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.
Input wizard
57
1990-2008 Petroleum Experts Limited
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. 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
58
REVEAL Manual
September, 2008
REVEAL
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.
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
Input wizard
59
1990-2008 Petroleum Experts Limited
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.
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
60
REVEAL Manual
September, 2008
REVEAL
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.
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
REVEAL will automatically switch between the preconditioners ILUTP and ILUDP under the following
conditions.
ILUTP to ILUDP if the linear solver fails to converge. If this occurs it may be better to increase the
preconditioner 'power' by reducing the drop tolerance or increasing the fill-in parameter.
ILUDP to ILUTP if insufficient space workspace is available for the ILUDP preconditioner.
The ILUTP preconditioner is generally a bit faster and has bounded memory requirements, but the
ILUDP preconditioner has been found to be stronger for some cases (while its memory requirements
are unbounded), allowing the linear solver to converge where it does not using the ILUTP method.
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
Input wizard
61
1990-2008 Petroleum Experts Limited
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 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.
62
REVEAL Manual
September, 2008
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
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.
Input wizard
63
1990-2008 Petroleum Experts Limited
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).
6.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.
64
REVEAL Manual
September, 2008
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
reactions, shear thinning and salinity effects (not available with surfactant, water chemistry or souring
options)
water chemistry - aqueous phase precipitation model, including adsorption, permeability
reduction and inhibitors (not available with souring option)
Input wizard
65
1990-2008 Petroleum Experts Limited
solids - asphaltene and wax models; also solid transport including sand generation
steam - steam model only available with fully implicit formulation
souring - souring model (not available with water chemistry, polymer/gel/foamer or surfactant
options)
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. It is
recommended that the dedicated souring model listed above is used.
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.
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
ft
3
.
6.3.3 Components
The components in addition to water, oil and gas are added on this screen.
66
REVEAL Manual
September, 2008
REVEAL
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).
6.4 Reservoir section
6.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.
Input wizard
67
1990-2008 Petroleum Experts Limited
Grid coordinate system
Select the grid coordinate system. Some of the options available will depend on which grid format is
chosen.
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.
68
REVEAL Manual
September, 2008
REVEAL
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 two-dimensional (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 1
o
or 3.6
o
).
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 Corner point grid
Radial grid Curvilinear grid
Input wizard
69
1990-2008 Petroleum Experts Limited
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
A map axis may be entered for Cartesian or corner point grids. 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). 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.
70
REVEAL Manual
September, 2008
REVEAL
6.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).
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.
Input wizard
71
1990-2008 Petroleum Experts Limited
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.
6.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)
72
REVEAL Manual
September, 2008
REVEAL
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).
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.
Input wizard
73
1990-2008 Petroleum Experts Limited
6.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).
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.
74
REVEAL Manual
September, 2008
REVEAL
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.
6.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.
Input wizard
75
1990-2008 Petroleum Experts Limited
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.
6.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.
76
REVEAL Manual
September, 2008
REVEAL
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 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.
Input wizard
77
1990-2008 Petroleum Experts Limited
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 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.
78
REVEAL Manual
September, 2008
REVEAL
6.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.
6.4.8 Transmissibility multipliers
This screen is optional and no data is required.
Input wizard
79
1990-2008 Petroleum Experts Limited
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.
6.4.9 Absolute transmissibilities
This screen is optional and no data is required.
80
REVEAL Manual
September, 2008
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.
6.4.10 Net to gross
This screen is optional and no data is required.
Input wizard
81
1990-2008 Petroleum Experts Limited
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.
6.4.11 Pore volume multipliers
This screen is optional and no data is required.
82
REVEAL Manual
September, 2008
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.
6.4.12 Rock 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.
Input wizard
83
1990-2008 Petroleum Experts Limited
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.
6.4.13 PVT 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.
84
REVEAL Manual
September, 2008
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.
6.4.14 Equilibration region
An 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.
Input wizard
85
1990-2008 Petroleum Experts Limited
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.
6.4.15 Fluid 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.
86
REVEAL Manual
September, 2008
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.
6.4.16 Non-neighbour connections
This section is optional.
Input wizard
87
1990-2008 Petroleum Experts Limited
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.
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).
88
REVEAL Manual
September, 2008
REVEAL
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.
6.4.17 Refinement
This screen is optional and no data is required.
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
Input wizard
89
1990-2008 Petroleum Experts Limited
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.
See the grid refinement section for more information.
6.5 Physical section
6.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
90
REVEAL Manual
September, 2008
REVEAL
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 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.
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
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).
Input wizard
91
1990-2008 Petroleum Experts Limited
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 ref
P P c - = exp r r
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 (d
p
) is set equal to:
f / k d
p
=
where
2
2 2
ky kx
k
+
=
This is modified by the user supplied multiplier.
The distribution of pore throat diameter (f) is given by a log normal distribution where s
p
is the user
supplied log STD:
2
) / ln(
5 . 0
2
1
) (

-
=
p
p
s
d d
p p
e
d s
d f
p
See [Ref 24] for more information.
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.
92
REVEAL Manual
September, 2008
REVEAL
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.
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
Input wizard
93
1990-2008 Petroleum Experts Limited
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
kg t t + =
0
In contrast, a Newtonian fluid has the simplified form, where is the Newtonian viscosity.
mg t =
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.s
n
, 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.
S
kr k
P
f
t
9
8
=
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.

=
w
r
r
0
ln t t
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.
n
k
1
0

-
=
t t
t
m
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.
94
REVEAL Manual
September, 2008
REVEAL
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).
n
n
k
1
1
0

-
=
-
e
e t t
t
m
where
n n
k
-
+ =
1
0
e g e t t
and
f
o
r
r
e =
6.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.
Input wizard
95
1990-2008 Petroleum Experts Limited
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:
( )
ref r
P P c
ref
e
-
=f f
Rock compressibility:
( ) ( )
( )
ref r
P P c
ref
e
- -
- = - f f 1 1
If the compaction model is active then a table of porosity and permeability multipliers should 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.
96
REVEAL Manual
September, 2008
REVEAL
If the tabulate using stress option is selected, then the pressure should be replaced by effective stress
change defined as pressure-initial pressure.
6.5.3 Miscellaneous models
Several unrelated physical properties for various models are entered on this screen. The options
available will depend on models selected in the control section.
Viscosity Corrections
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 - this option is only available if the Salinity component is
present (Polymer/Gel models). 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.
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
Input wizard
97
1990-2008 Petroleum Experts Limited
default correlation does not include this pressure dependence.
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.
A miscible hydrocarbon phase viscosity is calculated, where g is the non water blocked gas fraction
(gas fraction that is not water blocked).
4
4
1
4
1
) 1 (
-

- + =
g o g o h
g g m m m m m
owb g o
g
S S S
S
g
- +
=
The Todd and Longstaff model modifies the oleic and gas phase viscosities using a user defined
mixing parameter W.
W W -
=
h o o
m m m
1

W W -
=
h g g
m m m
1
The oil and gas phase viscosities approach each other as the mixing parameter (W) is increased, with
a value of 1 leading to the gas and oil phase viscosities being equal (equivalent to the quarter power
mixing rule).
98
REVEAL Manual
September, 2008
REVEAL
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.
6.6 Relperm section
6.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.
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
Input wizard
99
1990-2008 Petroleum Experts Limited
) 1 )( 1 ( *
g w ow
og ow o
o
S S kr
kr kr S
kr
- -

-
- -
=
ow
ow w
ow ow
Sr
Sr Sr
kr kr
1
1
*
( )
m o w
m w m w
w
Sr Sr Sr
Sr Sr S S
S
- - -
+ - +
=
1
m o w
o o
o
Sr Sr Sr
Sr S
S
- - -
-
=
1
m o w
g
g
Sr Sr Sr
S
S
- - -
=
1
og ow o
Sr Sr Sr ) 1 ( a a - + =
m og w
g
Sr Sr Sr
S
- - -
- =
1
1 a
Stone II

- -

+ =
g w g
ow
og
w
ow
ow
ow o
kr kr kr
kr
kr
kr
kr
kr
kr kr
* *
*
Linear
w g
ow w og g
o
S S
kr S kr S
kr
+
+
=
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.
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.
The parametric model takes the following form.
100
REVEAL Manual
September, 2008
REVEAL
( )
( )
1
1
-

+ =
w w
w ow
w ow owb
S kr
S kr
a Sr S
If capillary desaturation is present (see residual saturation page for definitions), then the water blocked
oil saturation is modified.
( ) ( ) ( )
o o o owb owb
S Nc S S S
2 10 1
log 1 + + =
The hydrocarbon phase residual saturation is then calculated using the gas fraction of non-blocked
hydrocarbon phase (g).
owb g o
g
S S S
S
g
+ +
=
( ) ( )
owb g o h
S Sr g Sr g Sr + + - = 1
The model calculates the relative permeability of the entire miscible hydrocarbon phase, using both the
oil/water and the gas data.
g ow h
gkr kr g kr + - = ) 1 (
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 relative
permeabilities
o g o ow
Sr S S Sm - + =
h g o ow
Sr S S Sm - + = ( )
ow ow
Sm kr
g owb g o g
Sr S S S Sm - - + =
h g o g
Sr S S Sm - + = ( )
g g
Sm kr
The oil and gas relative permeabilities are then calculated.
h o
kr g kr ) 1 ( - =
h g
gkr kr =
Input wizard
101
1990-2008 Petroleum Experts Limited
6.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 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
102
REVEAL Manual
September, 2008
REVEAL
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.
( )
gc gm
gc w
gc gm
gc g
Sr Sr
Sr Sr
Sr S
Sr Sr -
- -
-
+ =
1
gm g gc
Sr Sr Sr
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.
( )
gc g
g gm
g gm
gc g
Sr Sr
Sr S
S S
Sr Sr -
-
-
+ =
*
( )
gc w
g w
g g
gc g
Sr Sr
Sr Sr
Sr S
Sr S - -
- -
-
+ = 1
1
*
*
*
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.
( )
oc om
oc w
oc om
oc o
Sr Sr
Sr Sr
Sr S
Sr Sr -
- -
-
+ =
1
om o oc
Sr Sr Sr
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.
( )
( )
oc o
o om
w om
oc o
Sr Sr
Sr S
S S
Sr Sr -
-
- -
+ =
1
*
( )
( )
oc w
o w
o w
oc o
Sr Sr
Sr Sr
Sr S
Sr S - -
- -
- -
+ = 1
1
1
*
*
*
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
Input wizard
103
1990-2008 Petroleum Experts Limited
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.
( )
wc wm
wc
wc wm
wc w
Sr Sr
Sr
Sr S
Sr Sr -
-
-
+ =
1
wm w wc
Sr Sr Sr
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.
( )
wc w
w wm
w wm
wc w
Sr Sr
Sr S
S S
Sr Sr -
-
-
+ =
*
( )
wc
w
w w
wc w
Sr
Sr
Sr S
Sr S -
-
-
+ = 1
1
*
*
*
The following plot demonstrates the hysteresis in relative permeability, for saturations below a
historical maximum (Smax).
Desaturation Parameters
Desaturation - if a surfactant model is present, then desaturation parameters are required to control
the interpolation between high and low tension values. 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).
104
REVEAL Manual
September, 2008
REVEAL
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.
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.
6.6.3 Relative permeability
Relperm List
Relative permeability curves must be entered for each region defined in the previous residual
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
Input wizard
105
1990-2008 Petroleum Experts Limited
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.
nw
ow w
w w
w w
Sr Sr
Sr S
kr kr

- -
-
=
1
*
now
ow w
o w
ow ow
Sr Sr
Sr S
kr kr

- -
- -
=
1
1
*
nm
m
m m
m m
Sr
Sr S
kr kr

-
-
=
1
*
nog
og g w
og g w
og og
Sr Sr Sr
Sr S Sr
kr kr

- - -
- - -
=
1
1
*
ng
g og w
g g
g g
Sr Sr Sr
Sr S
kr kr

- - -
-
=
1
*
The numerators represent the mobile phase fraction, while the denominators represent the 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.
106
REVEAL Manual
September, 2008
REVEAL
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0 0.2 0.4 0.6 0.8 1
Saturation
R
e
l
a
t
i
v
e

p
e
r
m
e
a
b
i
l
i
t
y
high tension
low tension
interpolated
interpolated residual saturation
6.6.4 Capillary pressure
Capillary pressure tables are required for oil/water and gas/oil.
Input wizard
107
1990-2008 Petroleum Experts Limited
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.
k
J
Pco
f s
84945 . 6
=
where s is the water/oil interfacial tension (IFT dyne/cm), f is the block porosity and k is either the
horizontal '(KX+KY)/2' or vertical 'KZ' permeability (Darcy).
108
REVEAL Manual
September, 2008
REVEAL
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.
6.6.5 Endpoint scaling
Endpoint scaling is optional, and is only available if the option is selected on the relperm options page.
Input wizard
109
1990-2008 Petroleum Experts Limited
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.g. 1).
Water scaled saturations - data for the minimum (SWL), critical (SWCR) and maximum (1-SOWCR)
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.
110
REVEAL Manual
September, 2008
REVEAL
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.
6.7 Aquifer section
6.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
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.
Input wizard
111
1990-2008 Petroleum Experts Limited
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 Boundary
selected is X- (West). The blue gridblock on the following grid sketches show where the aquifer is
active.
The aquifer is encroaching the grid only for x=1

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

y=3

y=2

y=1
z axis

The aquifer is encroaching the grid from x=1 to x=3
112
REVEAL Manual
September, 2008
REVEAL

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

y=3

y=2

y=1
z axis

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
Input wizard
113
1990-2008 Petroleum Experts Limited
The concentration of components in the aquifer are entered. This will usually be 1 lb/lb for water and
zero for other components.
6.7.2 Cater Tracy model
The inflow to each grid block (IJK) connected to an aquifer is defined.
))) ( ) ( ( (
1 n ijk n ijk
aq aq
ijk ijk
aq
t P t P B A Q - - =
+
a
where aIJK is the fractional area of grid block IJK connected to the aquifer

=
ijk
ijk
ijk
A
A
a
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).
t
t
t
t
C
B
n
n n
aq
aq

-
=
+
+
1
1
j
j
( )
aq
n
aq
n
n
aq
B
t
t
C
W
P A ) (
1 +



- D =
j
where a dimensionless time t' and an aquifer constant C
aq
are defined. f
aq
are the encroachment
angles.
Finite linear aquifer Infinite linear aquifer Radial aquifer
2
aq aq aq aq
aq
L c
t k
t
m f
=
aq aq aq
aq
c
t k
t
m f
=
2
aq aq aq aq
aq
Ri c
t k
t
m f
=
aq aq aq aq aq aq aq
c W L H f C f =
aq aq aq aq aq aq
c W H f C f =
aq aq aq aq aq aq
c Ri H f C
2
2 f p =
The aquifer influence functions are calculated as solutions to a constant terminal rate diffusion
equation.
j
j
2
=

t
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
( )
p
j
t
t

= 2
Finite linear aquifer
( )
p
j
t
t

= 2
for
15 . 0 t
114
REVEAL Manual
September, 2008
REVEAL
( )
( ) t
e t t
-
- + =
2
20354 . 0
3
1
p
j
for
15 . 0 t
Infinite radial aquifer
( )
p
j
t
t

= 2
for
01 . 0 t
( ) ( )
2 2
2 a s
a
b
c t + + + = j
for
1000 01 . 0 t
( )
( )
2
ln 80907 . 0 t
t
+
= j
for
1000 t
15 . 3 = a
2
5
1 15 . 1

+ =
a
a b
b c - = 112 . 0
( ) t s = ln
Finite radial aquifer
( ) t

j
for
c
t t
( ) ( )
( )
1
2
-
-
+ =

aq
aq
c
Ri
Ro
t t
t t j j
for
c
t t
93 . 1
1 33 . 0

- =
aq
aq
c
Ri
Ro
t

( ) t

j
is the infinite radial solution.
6.8 Mobility section
6.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.
Input wizard
115
1990-2008 Petroleum Experts Limited
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.
Shear rate parameter
The shear rate (g) is defined for each rock type and is parameterised by a critical shear rate (g
c
)
entered on this screen.
116
REVEAL Manual
September, 2008
REVEAL
w w
w
c
kr S k
q
f
g g
8
9
=

The average permeability in the direction of flow is defined. This permeability includes any
permeability reduction present.
kz q
qz
ky q
qy
kx q
qx
k
w
w
w
w
w
w
1 1 1 1
2 2 2

=
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.

=
w
r
r
0
ln g g
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 (g
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
( )
1
0
1
1
1
-

+
-
+ =
n
h
FT s
TF
g
g
6.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.
Input wizard
117
1990-2008 Petroleum Experts Limited
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
( )
( ) ( )

- - + +
+

- + + + =
ref
g g g g g g g g
ref
p p p p p p p se
T T
c c c
T T
c c c c TF
1 1
exp
1 1
exp 1
5
3
4 3
2
2 1
4
3
3
2
2 1
0
b b b b b
b b b b
Polymer viscosity parameters
Concentration - the concentration coefficient (b) parameters p1, p2 and p3 are used to calculate the
contribution to the zero shear thickening factor for polymer.
118
REVEAL Manual
September, 2008
REVEAL
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 (
b1) and dependence S (b2). The divalent cation dependence is only applicable if the divalent cation
component is present within the model.
[ ]
2
) ) 1 ( *, max(
1
b
b
d s s se
c c c c - - =
If a minimum threshold salinity (cs*) of zero is entered, then it is limited to 1ppm.
Gel viscosity parameters
Concentration - the concentration coefficient (b) 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.
Input wizard
119
1990-2008 Petroleum Experts Limited
6.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.
( )
2
1
2
0
1 1
-
+ + =
n
TF lg m
Zero shear specific viscosity
( )

= 1 exp exp
4
3 2 1 0
T
a
a c a c a
p p
m
reciprocal of critical shear rate

-
+
-
=
11
8
7
6
5
exp
a T
a
c a
a T
c a
p
p
l
shear thinning constant
120
REVEAL Manual
September, 2008
REVEAL

-
- =
6
9
10
exp
a T
c a
n
a
p
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
6.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.
Input wizard
121
1990-2008 Petroleum Experts Limited
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 (TH) and low (TL) temperature
limits.
Polymer & gel viscosity parameters
The input parameters for both polymer and gel are identical.
For the polymer the parameters are p1h, p1l, p2h and p2l.
For the gel the parameters are g1h, g1l, g2h and g2l.
) ( ) ( 1
2
2 1
2
2 1
0
g g g g p p p p
c c c c TF a a a a + + + + =
( )
H p L p p
f f
1 1 1
1 b b a - + =

( )
H p L p p
f f
2 2 2
1 b b a - + =
( )
H g L g g
f f
1 1 1
1 b b a - + = ( )
H g L g g
f f
2 2 2
1 b b a - + =
122
REVEAL Manual
September, 2008
REVEAL

-
-
=
L H
H
T T
T T
f
6.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.
When a reference temperature (T
ref
) 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).
Input wizard
123
1990-2008 Petroleum Experts Limited
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).

- - =
ref
k p k p
T T
B c R R
1 1
exp

- =
ref
k p k g
T T
B c R R
1 1
exp
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 cross-linker to
produce gel occurs with mass reaction rates per unit volume of water for polymer (Rp), cross-linker
(Rxl) and gel (Rg).

- - =
ref
k xl p k p
T T
B c c P R R
1 1
exp
0

- - =
ref
k xl p k xi
T T
B c c XL R R
1 1
exp
0
( )

- + =
ref
k xl p k g
T T
B c c XL P R R
1 1
exp
0 0
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 cross-linker
are present. It is identical to the 3 component model, except that the chelated cross-linker 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 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).

- - =
ref
kl c kl c
T T
B c R R
1 1
exp

- =
ref
kl c kl xl
T T
B c R R
1 1
exp
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.
124
REVEAL Manual
September, 2008
REVEAL
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.

- - =
ref
p p p p p
T T
B c R R R
1 1
exp
0 0

- - =
ref
g g g g g
T T
B c R R R
1 1
exp
0 0
6.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.
Input wizard
125
1990-2008 Petroleum Experts Limited
6.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.
Foamer Viscosity correlation
The concentration of foaming agent in the aqueous phase (c
f
), oil saturation (So) and five input
parameters describe the modification to the gas phase viscosity. The input parameters include CRFK
(b
f1
), foam threshold (b
f2
), ES (b
f3
), oil saturation threshold (b
f4
) and EO (b
f5
).
5 3
) 0 , 1 max( ) 1 , min(
4 2
1 0
f f
f
o
f
f
f g g
S
c
b b
b b
b m m - =
This correlation requires to be matched to manufacturer's data.
126
REVEAL Manual
September, 2008
REVEAL
For information on natural foams associated with heavy oils, see the physical section.
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.
( )

- - + =
ref
ref dref d
T T
B P P A
1 1
exp ) ( 1 m m
, 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.
o d d d o
C C m m m ) 1 (
mod
- + =
If the logarithmic dependence flag is set then the apparent oil viscosity is calculated using a logarithmic
weighting.
( ) ( ) ( )
o d d d o
Log C Log C Log m m m ) 1 (
mod
- + =
If this viscosity correction is also required within the tubing, then the 'Use Polymer/Gel Viscosity' option
should be selected in the wells section.
6.9 Phase behaviour section
6.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 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
Input wizard
127
1990-2008 Petroleum Experts Limited
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 behaviourSingle phase No surfactant Type III Type II(-) Type II(+)
P>Pb Micro-emulsion Oil
Water
Oil*
Micro-emulsion
Water
Oil*
Micro-emulsion
Micro-emulsion*
Water
P<Pb Micro-emulsion Oil
Gas
Water
Oil
Gas
Micro-emulsion
Water
Oil
Gas
Micro-emulsion
Micro-emulsion*
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 Description
1 Micro-emulsion phase only
2 Water, oil/gas phases present - no surfactant
3 Water, oil/gas and micro-emulsion phases present
(type III system) - intermediate salinity
4 Oil/gas and micro-emulsion phases present (type
II(-) system) - low salinity
5 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.
128
REVEAL Manual
September, 2008
REVEAL
4. Calculation of viscosity - the viscosity of the emulsion phase is calculated using a correlation.
See viscosity for more information.
6.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.
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.
Input wizard
129
1990-2008 Petroleum Experts Limited
Define pseudo-phase subscripts for the aqueous (a), oleic (o) and chemical (c) pseudo-components,
and component superscripts for the water (w), oil (o), surfactant (s), alcohol (x), salinity (n), polymer (p)
and divalent ion (d) components.
Component volumetric concentrations
w
a
x
a x
a
V
V
C =
o
o
x
o x
o
V
V
C =
s
c
x
c x
c
V
V
C =
Total phase volume

=
p
p
V V
Volume identities
1 = =

c
c
p
p
c v
Total component concentration
V
V
c
x
x
=

Pseudo-phase volumetric concentration
V
V
v
p
p
=
Alcohol material balance
s x
c
o x
o
w x
a
x
c C c C c C c + + =
Polymer material balance
( )
s p w p
a
s p
c
w p
a
p
c K c C c C c C c + = + =
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 pseudo-component partitioning. K are the
Alc coefficients and are the Alc Temp Dep variables.
x
a
x
o x
o
C
C
K =
x
a
x
c x
c
C
C
K =
The partitioning constants vary linearly with temperature.
( )
ref
x
o ref
x
o
x
o
T T K K - + = d

( )
ref
x
c ref
x
c
x
c
T T K K - + = d
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.
130
REVEAL Manual
September, 2008
REVEAL
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

+
= - =
x
o
x
o
x
a
x
a
w
n
x
o
x
o
x
o
C
C
C
C
c
c
k k k
1
1
) 2 ( ) 1 (
where
w
n
c
c
is the salinity, and
x
a
w
a
x
a
x
a
x
a
V V
V
C
C
+
=
+ 1
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

+
=
x
o
x
o
x
c
x
x
c
x
c
C
C
C a
C
k
1
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
i x
o
x
o
x
o
x
i x
o
C C
C
k
C
, 1 , 1 ,
1+
=
+
where
i x
o
C
,
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 with temperature.
( )
p
a
p
c
ref
p
ref
p p
C
C
T T K K = - + = d
If a polymer is present but not active (i.e. it is simply a mobility control agent), polymer partitioning may
Input wizard
131
1990-2008 Petroleum Experts Limited
be switched on, in which case the polymer is put in the aqueous pseudo-component, 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.
6.9.3 Surfactant phase
See also: Introduction.
This screen displays the data used to set up the ternary phase diagram.
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):
( )
2 1
1
= =
+ + =
x
a
x
a
w
a
C C c v
132
REVEAL Manual
September, 2008
REVEAL
( )
g x
o
x
o
o
o
c C C c v + + + =
= = 2 1
1
( )
2 1
1
= =
+ + =
x
c
x
c
s
c
C C c v
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 micro-emulsion phase in equilibrium with an
excess oil phase.
Input wizard
133
1990-2008 Petroleum Experts Limited
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
pseudo-components, i.e. the vertex of the three phase triangle will lie exactly halfway along the base of
the ternary diagram.
134
REVEAL Manual
September, 2008
REVEAL
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.
Input wizard
135
1990-2008 Petroleum Experts Limited
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
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:
o a c
v Av v =
2
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.
136
REVEAL Manual
September, 2008
REVEAL
2
max , 2 2
max ,
2
1

-
= =
c
a c
v
A Av v
, therefore
2
max ,
max ,
1
2

-
=
c
c
v
v
A
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):
SEOP SE
C C <
SEOP SE
C C >
( )
SEOP
SE
C
C
A A A A
0 1 0
- + = ( )
SEOP
SEOP SE
C
C C
A A A A
-
- + =
1 2 1
where the values Aj are found from the binodal curve heights at the three effective salinities:
2
max
,
max
,
1
2

-
=
j c
j c
j
v
v
A
which in turn are specified as (linear) functions of alcohol concentration, polymer concentration,
temperature, and EACN:
( ) ( )
ref j BNE ref j BNT
p
c j BNP
x
c j BNX
x
c j BNX j BNC j c
E E H T T H f H f H f H H v - + - + + + + =
= =
, , ,
2
, 2
1
, 1 ,
max
,
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
2 2
1
o a
v v -
+
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 three-phase 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 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:
o
o
s
a
w
a
s
o
C EC C C =
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:
Input wizard
137
1990-2008 Petroleum Experts Limited
( ) ( )
o
o P
o
o P
o
o
o
o P
o
o P
o
o P
o
o P
w
a P
C
C ACp AC AC C
C
C
E

- + + - - -
= =
1 4
2
1
1
2
where
o
o P
C
is the pseudo-oil concentration at the plait point. In type II(-) diagrams,
o
o PR
o
o P
C C =
.
Similarly, in type II(+) diagrams,
o
o PL
o
o P
C C =
. 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:
o
o
s
a
w
a
s
o
C C E C C =
where for the type II(+) lobe:
2
2 2
mo
mc mo o
a
o
a
C
C C
C C
+
=
mo
mc
o
a s
a
s
a
C
C C
C C - =
s
a
o
a
w
a
C C C - - = 1
o
o P
w
a P
C
C
E

=
where
mk
C
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:

-
-
=
SEL SEOP
SEL SE
o
o PL
o
o P
C C
C C
C C
2
1
for
SEOP SE
C C <

-
-
+ =
SEOP SEU
SEOP SE
o
o PL
o
o P
C C
C C
C C 1
2
1
for
SEOP SE
C C >
and that in the II(-) lobe by:
( )

-
-
- + =
SEL SEOP
SEL SE
o
o PR
o
o PR
o
o P
C C
C C
C C C 1
2
1
for
SEOP SE
C C <
( )

-
-
+ - + =
SEOP SEU
SEOP SE
o
o PR
o
o PR
o
o P
C C
C C
C C C 1 1
2
1
for
SEOP SE
C C >
In addition to satisfying the distribution function equation, the compositions of the two phases must
satisfy the binodal curve equation:
o
a
w
a
s
a
C AC C =
2
and
o
o
w
o
s
o
C AC C =
2
and the relations:
1 = + +
s
a
o
a
w
a
C C C
and
1 = + +
s
o
o
o
w
o
C C C
a o
w
o a
w
a
v S C S C = +
and
o o
o
o a
o
a
v S C S C = +
and
1 = +
o a
S S
138
REVEAL Manual
September, 2008
REVEAL
which gives a total of 8 equations for the eight unknowns
w
a
C
,
o
a
C
,
s
a
C
,
w
o
C
,
o
o
C
,
s
o
C
,
a
S
and
o
S
.
In the general case, these equations are solved for the pseudo-oil concentration in the micro-emulsion
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 pseudo-component 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:
( ) ( ) ( ) ( ) ( ) ( )
1 1 1 1
2 2 1 1
1 1 1 1
- - - -
= = = =
- + - + + + + =
ref
E
ref
T p
c
p x
c
x x
c
x
w
n
SE
E E T T f f f
c
c
C b b b b b
Where cn/cw is salinity and fc are volume fractions of components in the chemical pseudo-component.
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.
2 1
1
= =
+ +
=
x
c
x
c
x
c x
c
C C
C
f
s p w
p p
p
a
p p
c
p
c
c K c
c K
C K C f
+
= = =
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.

=
o
o
g
g
o
o
o
g
g
g
M
c
M
c
E
M
c
E
M
c
E
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 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.
Input wizard
139
1990-2008 Petroleum Experts Limited
The log
10
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.
6.9.4 Ternary diagram
See also: Introduction.
This plot is invoked from the surfactant phase behaviour screen.
140
REVEAL Manual
September, 2008
REVEAL
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 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
Input wizard
141
1990-2008 Petroleum Experts Limited
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).
6.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.
142
REVEAL Manual
September, 2008
REVEAL
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 (s
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 (s
om
) is calculated.
2- and 2+ Parameters
Water/micro-emulsion Oil/micro-emulsion
( )
w
wm
X G
G
G
13
11
12 10
1
log
+
+ = s ( )
o
om
X G
G
G
23
21
22 10
1
log
+
+ = s
c
c
w
c
w
C
C
X =
c
c
o
c
o
C
C
X =
Minimum Solubilisation parameter
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 (s
ow
, entered in
the physical properties section) and the values given by the formulae above is used.
Input wizard
143
1990-2008 Petroleum Experts Limited
( ) ( ) ( )
wm
w
ow
w
wm
X
X
X
X
s s s
10
min
10
min
10
log log ) 1 ( log + - =
if
min
X X
w
<
( ) ( ) ( )
om
o
ow
o
om
X
X
X
X
s s s
10
min
10
min
10
log log ) 1 ( log + - =
if
min
X X
o
<
Additionally, the interfacial tension is forced to approach zero at the plait point by multiplying the
calculated value of by
) 2 exp( 1
) exp( 1
- -
D - -

( ) ( ) ( )
2 2 2
2 s
q
s
p
o
q
o
p
w
q
w
p
C C C C C C - + - + - = D

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 (e), where the
slope (S) is user defined.
( ) ( )

- + =
e
s s
w
s
wm wm
c
c
S 1 log log
10 10
( ) ( )

- + =
e
s s
w
s
om om
c
c
S 1 log log
10 10
6.9.6 Surfactant viscosity
144
REVEAL Manual
September, 2008
REVEAL
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
(b
mT
). Note that this factor is used with absolute temperatures (R).
Model Parameters
Pope model - the user is required to enter the parameters Alpha1 to Alpha5 (b
m1
to b
m5
). The
volumetric concentration of hydrocarbon components (Chp) comprising oil+dissolved gas is calculated.
( ) + +

- =
o
p m
w
p m
ref
mT m
s
p p
C C
T T
C
3 2 1
exp
1 1
exp b b b b m
Input wizard
145
1990-2008 Petroleum Experts Limited
( ) ( ) + +
s
p
o
p m w
w
p
C C C
4
exp b m
( ) ( )
( )

- +
-
+
T T
T T
C C C
wax
wax
wax
s
p
w
p m o
h
p
1
exp exp
5
b b m
m
w
and m
o
are the water and oil viscosities calculated without surfactant being present. When the
micro-emulsion phase is being considered, m
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.
4
4
1
4
1
) 1 (
-

- + =
g o
g
o
o
g g m m
m
m
m
where

-
=
g
g
c
GOR
Rs
c
g
1
The above sum is over all gaseous components (usually only one).
Barker model - the user is required to enter the parameters Alpha1 to Alpha5 (b
m1
to b
m5
). These are
different from parameters entered for the Pope model.
Aqueous phase viscosity Oleic phase viscosity
( )
s
a m w w w
C TF
1 0
b m m + =
( )
( )
( )

- +
-
+ =
T T
T T
C R
wax
wax
wax
s
o m R o o
1
exp
2
0
0
b b b m m
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)
o m
m m =
Type II+ (aqueous and micro-emulsion phases only)
w m
m m =
Type III (aqueous, oleic and micro-emulsion phases)
( )
( )
( )

-
-
- + =
ref
mT
se opt se
se se
m m m m
T T c c
c c
1 1
exp
min , ,
min ,
3 4 3
b b b b m
for
opt se se
c c
,

( )
( )
( )

-
-
- + =
ref
mT
opt se se
opt se se
m m m m
T T c c
c c
1 1
exp
, max ,
,
4 5 4
b b b b m
for
opt se se
c c
,
>
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 m m
TF m m =
The calculated micro-emulsion viscosity is then modified to reflect the presence of any 'free gas'.
4
4
1
4
1
) 1 (
-

- + =
g m
g
m
m
g g m m
m
m
m
where

-
=
g
g
c
GOR
Rs
c
g
1
146
REVEAL Manual
September, 2008
REVEAL
6.10 Adsorption section
6.10.1 Adsorption 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 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 micro-emulsion 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
Input wizard
147
1990-2008 Petroleum Experts Limited
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 Bright Water. 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.
max
0
) 1 ( 1
Ca
Ca
R R
F
- + =
The total permeability reduction is the sum of the permeability reductions of all adsorbing components.
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.
Plot - the resulting isotherms may be plotted.
148
REVEAL Manual
September, 2008
REVEAL
Cation Exchange (Ref 25)
For the Polymer model, cation exchange with the rock is available. Both the salinity and divalent
cation components must be present.
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.
Input wizard
149
1990-2008 Petroleum Experts Limited
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
C
x
Total mass of species x per unit total block volume (lb/ft3)
C
a
x
Mass of species x adsorbed per unit total block volume
(lb/ft3)
C
w
x
Mass of species x in water per unit total block volume (lb/ft3)
Q
V
Ion exchange capacity of rock per unit pore volume (meq/ml)
b Conversion factor from lb/ft3 to g/ml (0.01601847)
w
x
Gram formula weight of species x (g/mole)
X
a
x
Adsorbed concentration of species x per unit pore volume
150
REVEAL Manual
September, 2008
REVEAL
(meq/ml)
X
w
x
Aqueous concentration of species x per unit aqueous phase
volume (meq/ml)
K Ion exchange equilibrium parameter
f Porosity
Sw Water saturation (limited to min of 10
-6
)
Subscripts
d
Divalent cations
m
Monovalent cations
s
Salinity (anions)
Main equations
X
a
m
+ X
a
d
= Q
V
Rock ion exchange capacity
X
a
d
/(X
a
m
)
2
= K.Q
V
.X
w
d
/(X
w
m
)
2
Ion exchange equilibrium
C
a
d
+ C
w
d
= C
d
Divalent cation mass conservation
C
w
m
/ w
m
+ 2.C
w
d
/ w
d
= C
s
/ w
s
Electrical charge neutrality
Constitutive equations
X
a
d
= 2.bC
a
d
/(w
d
.ff ) Divalent cation adsorbed concentration
X
w
d
= 2.bC
w
d
/(w
d
.f.Sw) Divalent cation aqueous concentration
X
a
m
= bC
a
m
/(w
m
.f) Monovalent cation adsorbed concentration
X
w
m
= bC
w
m
/(w
m
.f.Sw) Monovalent cation aqueous concentration
K = K
0
(1 X
a
d
/Q
V
) Ion exchange dependence
Simplified Gapon model
If this option is selected, then the ion exchange dependence is simplified.
K = K
0
Ion exchange dependence
Initialisation
Initially, C
s
and C
w
d
are assumed fixed from the initialization data entered, and an equilibrium value
for adsorbed cation (C
a
d
) is calculated to be consistent with this data. Therefore initial adsorbed
cation is not required as input.
Input wizard
151
1990-2008 Petroleum Experts Limited
Solution
The four equations are solved by Newton-Raphson for each block at each time step for the unknowns
C
a
d
, C
w
d
, C
a
m
and C
w
m
. 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.
152
REVEAL Manual
September, 2008
REVEAL
6.10.2 Adsorption 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 component concentrations have dimension of mass/volume. Mass fractions (c) in the aqueous
phase 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 that
remaining within the aqueous phase after adsorption (C*) is defined by the maximum adsorbed
concentration (Ca
max
,A[k]) and the isotherm parameter (b), which describes the shape of the isotherm.
Langmuir isotherm
The relation between adsorbed and aqueous component concentrations is characterised by the
following equations, where a is defined below.
* 1
*
bc
ac
Ca
+
=

w
C
Ca C
c
-
= *
The maximum adsorbed concentration occurs when c* is large (i.e. Ca
max
=a/b). If b is small, then Ca
rises slowly, and if b is large then Ca rises quickly.
In addition to Ca
max
and b, the user enters the temperature (A[kt] or a
T
), permeability (A[kx] or a
x
) and
salinity (A[ks] or a
s
) coefficients used to calculate the parameter a (maximum adsorbed concentration
at current conditions of temperature, permeability and salinity).
( ) [ ]
x
a
ref T s s ref
k T T a C a a a
-
- + + =
max
bCa a
ref
=
2
2 2
ky kx
k
+
=
The effective salinity (CS) 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.
Linear isotherm
The linear isotherm is identical to the Langmuir isotherm, with the following modification.
If
b c *
then
* ac Ca =
If
b c > *
then
ab Ca =
Bright Water isotherm
The Bright Water isotherm is identical to the Linear isotherm, with the following modification to the
temperature dependence, requiring input parameters Tbw (A[kt]), Tbw (C[abw]) and e (epsilon).
( ) ( ) ( ) [ ] [ ]
x
a
s s bw bw ref
k C a T T a a a
-
+ - + - = tanh 1 e e
Stripping isotherm
The stripping isotherm adsorbs all available component to its maximum value, hence the isotherm
parameter (b) is not required for this model.
) , max(
max
Ca C Ca =
pH Dependence
For the surfactant component if water chemistry is present, the adsorption of surfactant may depend
on pH.
Input wizard
153
1990-2008 Petroleum Experts Limited
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 (Ca
irrev
). If Ca
irrev
is not entered (cell left blank), then the model is assumed to be
fully reversible. A Ca
irrev
value equal to Ca
max
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 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 = Ca
irrev
).
Point B is the point on the isotherm curve where a straight line passing through (0,Ca
irrev
) has the
same gradient as the isotherm curve (i.e. the tangent point).
Additionally, point C is defined as the point (Ca
irrev
,0) used to define point B.
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.
154
REVEAL Manual
September, 2008
REVEAL
Reversible Langmuir Isotherm
Concentration in solution (C*)
A
d
s
o
r
p
e
d

c
o
n
c
e
n
t
r
a
t
o
i
n

(
C
a
)
A
B
C
Adsorption rate
Adsorption may be assumed to take place instantly, or the time taken for adsorption to occur may be
modelled using an input rate parameter (arate).
( )
t a n n
rate
e Ca Ca Ca Ca
D - +
- + =
1
where Ca is the newly calculated instantaneous adsorbed concentration, and Can and Can+1 are
previous and current time step values.
Input wizard
155
1990-2008 Petroleum Experts Limited
6.10.3 Permeability reduction
Water chemistry permeability reduction
For adsorbed water chemistry minerals, both porosity (Df) and permeability reduction (R0) are
functions of the adsorbed concentration, rock density (r
r
), original porosity (fo) and user defined
permeability reduction coefficient (PN).
r
Ca
r
f = D

N
P
R

D
- =
f
f
1
0
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.
The porosity reduction is used as an equivalent inaccessible pore volume (ipv = -Df/f), which
increases the effective volumetric concentration of all trace components (i.e. water chemistry ions).
The permeability reduction is applied equally to all phases.
156
REVEAL Manual
September, 2008
REVEAL
6.10.4 Tracer 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)
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.
Input wizard
157
1990-2008 Petroleum Experts Limited
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
6.11 Water chemistry section
6.11.1 Water 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.
158
REVEAL Manual
September, 2008
REVEAL
Additional general comments and model descriptions are available below.
Input wizard
159
1990-2008 Petroleum Experts Limited
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 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
160
REVEAL Manual
September, 2008
REVEAL
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 Na+. 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.
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 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.
Input wizard
161
1990-2008 Petroleum Experts Limited
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 Produced Fluid
Calculation from the main menu. This calculator has OpenServer capability.
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.
162
REVEAL Manual
September, 2008
REVEAL
( ) pH
ppm
H
- +
=
3
10 ] [
and
( ) pe
ppm
e
- - -
=
3
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)
e- 3.5E-12 (pe=8.45)
Ca+2 412
Mg+2 1292
Na+ 10768
K+ 399
Cl- 19353
CO3-2 142
SO4-2 2712
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 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;
Input wizard
163
1990-2008 Petroleum Experts Limited
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.
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*)
164
REVEAL Manual
September, 2008
REVEAL
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))
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
Input wizard
165
1990-2008 Petroleum Experts Limited
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.
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.
166
REVEAL Manual
September, 2008
REVEAL
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.
6.11.2 CO2, 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).
Also see general description.
Input wizard
167
1990-2008 Petroleum Experts Limited
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 whether the
pressure is above or below the partition reference pressure.
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
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/H2Soil and initial equilibrated CO2/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.
6.11.3 H2S souring (Legacy)
This H2S souring model is only available if the water chemistry and souring options were selected in
the control section.
168
REVEAL Manual
September, 2008
REVEAL
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
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.
Input wizard
169
1990-2008 Petroleum Experts Limited
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. The 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.
6.11.4 H2S souring (Activity)
This H2S souring model is only available if the water chemistry option IS NOT selected, but the
souring option 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 souring model can only be used in association with the water chemistry model and is
170
REVEAL Manual
September, 2008
REVEAL
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 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 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 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.
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.
Input wizard
171
1990-2008 Petroleum Experts Limited
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
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
172
REVEAL Manual
September, 2008
REVEAL
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. The pressures
should be monotonically increasing.
Activity rate Total dissolved solids dependence
The maximum activity rate may be altered using a T.D.S. dependent multiplier. The total dissolved
solids should be monotonically increasing.
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.
A fixed (not temperature dependent) hydrocarbon activity rate is entered for use when all of the VFA is
exhausted. This value may be zero.
6.11.5 Scale 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.
Input wizard
173
1990-2008 Petroleum Experts Limited
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 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.
174
REVEAL Manual
September, 2008
REVEAL
6.12 Solids section
6.12.1 Asphaltene
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.
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.
Input wizard
175
1990-2008 Petroleum Experts Limited
m
D
D

-
max
1
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.
( ) 3 1
g
t
D
D
f
f
a
-
=
, where
a
is a dimensionless trapping diameter multiplier used for matching and
g
D
is the grain diameter. To trap all of the solid asphaltene, set
a
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.
n
a
C
k k

- =
f r
1
, where C is the trapped mass per unit volume of asphaltene,
a
r
is the trapped
asphaltene density and n is a permeability reduction index.
6.12.2 Wax
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.
176
REVEAL Manual
September, 2008
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.
m
D
D

-
max
1
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
Input wizard
177
1990-2008 Petroleum Experts Limited
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.
( ) 3 1
g
t
D
D
f
f
a
-
=
, where
a
is a dimensionless trapping diameter multiplier used for matching and
g
D
is the grain diameter. To trap all of the solid wax, set
a
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.
n
a
C
k k

- =
f r
1
, where C is the trapped mass per unit volume of wax,
a
r
is the trapped wax
density and n is a permeability reduction index.
6.12.3 Sand
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.
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).
178
REVEAL Manual
September, 2008
REVEAL
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 g
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.
2
) / ln(
5 . 0
2
1
) (

-
=
p
p
s
d x
p p
e
d s
x y
p
The trapped fraction is given by:

+ =
d
p
p
s
d d
Erf E dx x y E
0
2
) / ln(
2
1
2
1
) (
, where Erf is the error function.
Input wizard
179
1990-2008 Petroleum Experts Limited
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 (rs) defined in the physical section and total sand mass concentration (cs).
n
s
s
c
k k

- =
f r
1
0
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.
Stress increase before failure - this is equivalent to the pore pressure reduction from the initial value
before sand failure can occur.
This is the most important parameter and may be estimated using the PLOT button.
180
REVEAL Manual
September, 2008
REVEAL
The main idea of this model is that laboratory tests that calculate preconsolidation effective stress
when end cap hardening occurs may be used to estimate failure.
A preconsolidation 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 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 (Q) of the three
stresses are calculated.
A stress path (blue line) is considered, starting at the initial reservoir pressure and reducing the pore
Input wizard
181
1990-2008 Petroleum Experts Limited
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 Preconsolidation effective stress
P Reservoir pressure
P0 Initial reservoir pressure
q
Angle of friction
dS/dP Poro-elastic coefficient
P0 P Pressure reduction
S1 Maximum stress
S2 = S20 dS/dP (P0 P) Middle stress
S3 = S30 dS/dP (P0 P) Minimum stress
S = (S1 + S2 +S3) / 3 P Mean effective stress
Q
2
= [(S1-S2)
2
+ (S2-S3)
2
+ (S3-S1)
2
] / 2
Stress variance
M = 6 tanq / (3 sqrt(tan
2
q + 1) - tanq)
Critical state line
M
2
S
2
= M
2
S Prec - Q
2 Hardening criteria (plastic failure)
M S = Q Fracturing criteria (faulting failure)
Q = 0 => S = Prec => P = (S1 + S2 + S3) / 3 - Prec Isotropic preconsolidation pressure definition
6.13 Wells section
6.13.1 Location 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.
182
REVEAL Manual
September, 2008
REVEAL
Well list
Wells may be added using the Add 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 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.
( )
24
28
, 1 , , 1 , , , 1 , , 1 , , k j i k j i k j i k j i k j i
c c c c c
c
+ - + -
+ + + -
=
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.
Input wizard
183
1990-2008 Petroleum Experts Limited
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.
Fully implicit VLP - if this option is selected (default), then the well VLP is updated at each iteration.
This may slow convergence, but increase accuracy in cases where the outflow is changing rapidly; for
example when unsteady flow is present.
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.
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).
S
r
r
kh
CF
w
e
+

=
ln
2p
a
where CF is the well connection factor and
a
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 non-Darcy skin
184
REVEAL Manual
September, 2008
REVEAL
(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.
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.
Input wizard
185
1990-2008 Petroleum Experts Limited
The heat transfer coefficient is with respect to the well internal area (p.ID.ID/4).
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.
4
1
4
1
2
1
2 2
28 . 0

D + D
=
x
y
y
x
x
y
y
x
e
k
k
k
k
x
k
k
y
k
k
r
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 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
S
r
r
kh
CF
w
e
b
+

=
ln
2p
and is modified to include the non-Darcy skin as
b b
w
e
nonDarcy
b
Q D S
r
r
kh
CF
+ +

=
ln
2p
, where
b
b
b well
b
CF
CF D
D

=
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.
186
REVEAL Manual
September, 2008
REVEAL
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)
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.
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. For this method, the drainage regions for all producers do not
overlap, and the drainage regions for all injectors do not overlap.
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.
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 (g) within the tubing is defined as:
3
4
r
Q
p
g =
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:

w
u 4
= g
Input wizard
187
1990-2008 Petroleum Experts Limited
Max Segment Length - this is the maximum tubing segment length used when the multi-lateral 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 multi-lateral 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.
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.
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.
6.13.2 Filter 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.
188
REVEAL Manual
September, 2008
REVEAL
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 (rf).
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
Input wizard
189
1990-2008 Petroleum Experts Limited
pressure drop across the filter cake after known total water flow 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 (DP) and filter cake length (DL).
) ( ) ( 10 3266 . 6
) ( ) ( ) / (
) (
2 3
3
psi P ft A
ft L cP d ft Q
mD k
D
D
=
-
m
The porosity is obtained from the cumulative water volume passed (W) and the filter cake length.
( ) f
r
r
- D = 1 L A Ww
f
w
The permeability-porosity relation should then be fitted to either an exponential or power law.
( )
n
k k f - = 1
0
or
( ) f -
=
1
0
n
e k k
, where k0 and n are entered as the two required parameters.
The compressibility (c) is calculated as a fit to the following equation.
P cD - =
max
f f
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.
( )
n
P c k k D =
0
, which is often expressed in terms of specific filtration resistance (r), which is the
reciprocal of permeability
( )
s
P r r D =
0
.
6.13.3 Fractures
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.
Verification and validation documentation for the fracture models in REVEAL may be obtained from
Petroleum Experts.
Further information on rock mechanics and thermal fracturing: Rock Mechanics and Thermal
Fracturing.
190
REVEAL Manual
September, 2008
REVEAL
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.
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).
Input wizard
191
1990-2008 Petroleum Experts Limited
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:
Once the completion interval is selected, one has to enter one of the three coordinates X0, Y0 and Z0
(say X0).
192
REVEAL Manual
September, 2008
REVEAL
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.
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
Input wizard
193
1990-2008 Petroleum Experts Limited
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.
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.
194
REVEAL Manual
September, 2008
REVEAL
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 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
Input wizard
195
1990-2008 Petroleum Experts Limited
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
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
The latter two models depend on the fracture width (w), fracture half length (L1/2) and X-direction
reservoir permeability (kx) for the Fcd model, and are defined below.
w
L k F
k
x cd 2 / 1
=
12
2
w
k =
An Fcd value of 500 to 1000 represents the infinite conductivity approximation.
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
196
REVEAL Manual
September, 2008
REVEAL
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 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 some cases - this is achieved by starting each fracture shape iteration calculation with
a circular fracture rather than the shape found at the last time step. This method is not
recommended for fractures that develop significantly non-circular shapes (e.g. fractures confined to
a layer with length significantly larger than height).
It is generally recommended that the perimeter shrinkage model is used, since it better handles
fracture closure.
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.
Input wizard
197
1990-2008 Petroleum Experts Limited
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.
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.
198
REVEAL Manual
September, 2008
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:
Input wizard
199
1990-2008 Petroleum Experts Limited
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.
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.
200
REVEAL Manual
September, 2008
REVEAL
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.
6.13.4 Geertsma 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
s >
f
P
Input wizard
201
1990-2008 Petroleum Experts Limited
Propagation condition
f
Ic
f
L
K
P
p
s + >
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
) (
) 1 ( 2
s
u
-
-
=
f f w
P L
G
w


Material balance equation
t
A
S Q Q
t
V
p L f
D
D
- - =
D
D
Fracture volume and area
w f
w hL V
2
p
=
and
h L A
f
4 =

Leakoff equation

-
=
t
L
d
d
dA
t
C
Q
0
t
t
t
G is the shear modulus and defined by Young's modulus (E) and Poisson's ratio (v).
( ) u +
=
1 2
E
G
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.
6.13.5 3D fracture
Both single-wing and complete (double-wing) fractures are possible using this model. A finite-element
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.
202
REVEAL Manual
September, 2008
REVEAL
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 (DP) 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.
P
S
M
A Q D

+
=
1

D
=
p
p y
kr
Y
K
M
m
8
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 (q
cum
) .
A
q
Y
F
S
cum
D
=
and
skin
rock
k
k
C F =
where C is a constant describing the volume of the filter cake layer per unit volume of injected water,
and k
rock
/k
skin
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.


-
= - A d w
R
G
z x P )
1
(
) 1 ( 4
) , )( (
u p
s
2 2
) ( ) ( z z x x R - + - =
G is the shear modulus and defined by Young's modulus (E) and Poisson's ratio ().
( ) u +
=
1 2
E
G
Singularities are dealt with analytical expressions on the internal triangular elements. On the outer
quadrilateral elements, it is assumed that
a w
, 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).
( )
p
u
2
1 4 a
G
K
w
Ic
c
-
=
Incompressible fluid fracture flow equation - the flow and pressure within the fracture are related to
the fracture leakoff rate.
Input wizard
203
1990-2008 Petroleum Experts Limited
0 ) ( )
144
(
12
0
2
2
= -
D
-
+ - + - -


f
f
mat
Q
t
V dA w
dA P P M dV
h
P
w r
m
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
0
V dA w -

of
the fracture since the previous fracture update
f
t D
.
Finite-element equation - the fracture width and leakoff equations are written in finite-element form.
Finite-element width equation Finite-element leakoff equation
i i j ij
P w W s - =
0 ) ( )
144
(
0
= -
D
-
+ - + -
i
f
i j ij
j
mat
j j ij
j
j ij
Q
t
V w L
P P M L
h
P F
r
Solution method - the finite-element equations are combined and solved iteratively for the fracture
widths using the Newton Raphson method.
j ij i i j i
F J w w w F
1
0 ) (
-
- = = l
where
j
i
ij
w
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 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 (sinsitu)
and poro/thermo-elastic stress reductions (DsP & DsT). 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.
204
REVEAL Manual
September, 2008
REVEAL
Goodier Displacement potential
The poro and thermo stress reductions take a similar form and the equations used were obtained from
Koning [Ref 18].
yy insitu T P insitu
s s s s s s D - = D - D - =
The Goodier (c) displacement potential is first calculated over the entire FD (finite difference) grid by
solving Laplace's equation.
( )
( ) T A P A
E
T p
D + D
+
- =
u
c
1
2
where
P P P
initial
- = D
and
T T T
reference
- = D
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 X or Z direction.
( )
T A P A
y
E
T p yy
D + D +

+
= D
2
2
1
c
u
s
Oedometric Displacement potential
This method is an extension of the Goodier displacement potential,allowing vertical strain to be
included [Ref 27].
The Oedometric (c) displacement potential is first calculated over the entire FD (finite difference) grid.
Boundary conditions with zero displacement on the vertical and bottom boundaries, and displacement
allowed on the top surface are applied.
( ) T A P A G d G K
T P v
D + D = + - c e
2
2 )
3
2
(
where
( ) u 2 1 3 -
=
E
K
,
( ) u +
=
1 2
E
G
and
c
c c c
e
2
2
2
2
2
2
2
=

=
z y x
d
v
The change in strain and stress is then calculated (for example in the y direction):
y
y

=
c
e
and
T A P A
y
G d G K
T P v yy
D + D +

+ - = D
2
2
2
2 )
3
2
(
c
e s
The reported (3D graphics results) compaction is the integral of vertical displacements (e
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
Input wizard
205
1990-2008 Petroleum Experts Limited
r
r
Cp
Cp
W V
w w
cooled
=
,
3
4
3
p
cooled
cooled
V
r =
Flooded region radius
( )

-
=
r
flood
S
W
V
1 f
,
3
4
3
p
flood
flood
V
r =
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 Flooded region pressure
( )
cooled
ref inj inj cooled
r
r
T T T T
2
2
2
- - =
( )
) ln( 2
) ln(
w
flood
w
init inj inj flood
r
r
r
r
P P P P - - =
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.
( ) ( ) [ ]
flood initial P cooled reference T yy
P P A T T A - + - = D 5 . 0 s
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).
206
REVEAL Manual
September, 2008
REVEAL
( )
matrix inj
T T T a a - + = 1
( )( )
( ) ( )

- + +
+ -
=
2
2
1 2 2 1
2 1 1
x
x
a
where x is the fractional distance from the centre of the fracture to its tip, and W is a user 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 (S(kr/m)) 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.
6.13.6 Stress & 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.
Input wizard
207
1990-2008 Petroleum Experts Limited
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.
Minimum principal stress direction - all thermal fractures have the same minimum principal stress
direction and these fractures will propagate with a plane normal to this direction.
Stress value for inactive areas - this is the stress that will be applied if the fracture propagates into
inactive blocks or outside of the gridded region - this value should usually be chosen to be large
enough to confine the fracture within the grid.
Stress model - The Goodier (zero boundary displacement - default) and Oedomentic (includes
vertical compaction) models are available - see 3D fracture model description for more details.
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
208
REVEAL Manual
September, 2008
REVEAL
strength or fracture toughness) are entered layer by layer.
The poro-elastic stress coefficient is defined as:
( ) u
a
-
=
1
E
A
P P
and
( )
E
c
c
b
g
P
u
a
2 1 1 -

-
=
E
is Young's modulus
u
is Poisson's ratio
P
a
is the linear poro-elastic expansion coefficient
g
c
is the matrix grain compressibility
b
c
is the bulk matrix compressibility

- =
b
g
c
c
1 b
is known as Biot's poro-elastic coefficient
The thermo-elastic stress coefficient is defined as:
( ) u
a
-
=
1
E
A
T T
T
a
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.
Stress layering
Three 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 third method, the stress within a layer 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.
Input wizard
209
1990-2008 Petroleum Experts Limited
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.
6.14 Well-bore heating section
6.14.1 Well-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 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.
210
REVEAL Manual
September, 2008
REVEAL
( ) 0 = V s
The heat supplied to the grid (W) is then calculated from the voltage field.
( )
2
V W = s
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.
( )
( ) C T
C T
R R
ref
ref w
+
+
=
where C is Arp's constant 6.77F
Lithology, saturation and tortuosity
The conductivity of the reservoir (s) is calculated from Archie's law.
w
n
w
m
aR
S f
s =
where f 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.
6.15 Initialisation section
6.15.1 PVT 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.
Input wizard
211
1990-2008 Petroleum Experts Limited
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.
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.
212
REVEAL Manual
September, 2008
REVEAL
6.15.2 Equilibration
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.
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.
Input wizard
213
1990-2008 Petroleum Experts Limited
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.
6.15.3 User initialisation
This section is only available if user initialisation is specified in the equilibration section.
214
REVEAL Manual
September, 2008
REVEAL
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.
6.15.4 Component 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).
Input wizard
215
1990-2008 Petroleum Experts Limited
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
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 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
216
REVEAL Manual
September, 2008
REVEAL
with the data.
6.16 Schedule section
6.16.1 Well 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).
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
Input wizard
217
1990-2008 Petroleum Experts Limited
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.
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:
"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
218
REVEAL Manual
September, 2008
REVEAL
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.
Suppress - When the Suppress feature is unselected, REVEAL will save the Restart files.
Restart file type - three types of restart files are possible.
Input wizard
219
1990-2008 Petroleum Experts Limited
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. Zero generates a restart at each time
step. 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 at
time-steps which have those intervals. If the time at which REVEAL performs the calculations exceeds
the Interval days defined, then restart files will be saved at all time-steps.
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
The volumetric error is the principal time step control parameter for the IMPES solver. It is
recommended that a value 1E-4 with 3 iterations or 1E-5 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
220
REVEAL Manual
September, 2008
REVEAL
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.
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 modelled 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.
Input wizard
221
1990-2008 Petroleum Experts Limited
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.
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
222
REVEAL Manual
September, 2008
REVEAL
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
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.
Input wizard
223
1990-2008 Petroleum Experts Limited
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.
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:
Shut - the well is closed.
Fixed oil rate producer
Fixed water rate producer
224
REVEAL Manual
September, 2008
REVEAL
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)
6.16.2 Thermal 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.
Fracture Schedules
Input wizard
225
1990-2008 Petroleum Experts Limited
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.
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.
Chapter
7
Grid refinement
227
1990-2008 Petroleum Experts Limited
7 Grid refinement
7.1 Overview
This section describes the grid refinement available within REVEAL. The following image is of a grid
with five refined regions.
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)
228
REVEAL Manual
September, 2008
REVEAL
and (3,5,4) to (7,5,4). The maximal range is (1,3,4) to (7,5,4), (outlined in red).
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
relperm section - initialise end point scaling values for the refined region if present
Grid refinement
229
1990-2008 Petroleum Experts Limited
initialisation section - initial component concentrations within refined region
7.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 master block refinement
X 9 0.5
X 10 0.3 and 0.7
Y 9 0.5
Y 10 0.3 and 0.7
Z 1 0.2, 0.4, 0.6 and 0.8
The table entry for X direction, master grid block 10 is shown below.
230
REVEAL Manual
September, 2008
REVEAL
This results in a refined grid with NX = 5, NY = 5 and NZ = 5, in an 'L' shape.
Grid refinement
231
1990-2008 Petroleum Experts Limited

7.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).
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.
232
REVEAL Manual
September, 2008
REVEAL
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.
7.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.
7.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.
Chapter
8
234
REVEAL Manual
September, 2008
REVEAL
8 Menu commands
8.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)
8.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
3D view options (left or right handed orthogonality)
Register Imported Components this registers the drivers used to import ECLIPSE and VIP
Menu commands
235
1990-2008 Petroleum Experts Limited
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.
8.3 Options
Units 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.
Dates Use either days or date to control the schedule.
If the current REVEAL window is the 3D graphics then the following menu options are available.
General select variable to be displayed, use cell (recommended) or point
data (only for regular grids) interpolation.
Viewing Properties various options to select part of a grid to view, alter
transparency, shrink grid blocks, view wireframe.
Scale alter the colour table end points manually, exact end points or
rounded end points, also set linear or logarithmic range.
Playback movie playback settings, frequency, range and speed.
3D View Store save or load previously generated 3D view settings.
Reset View re-scale the view to show the entire grid.
Preferences set colour tables for plotted variables and background colour.
8.4 Edit
Undo undo last change made while editing the input script. <control> Z
Cut delete selected text in the input script. <control> X
Copy copy selection to clipboard, from any text (input script, debug etc.).
<control> C
Paste paste clipboard (input script only). <control> V
Clear delete selected text in the input script. Delete
Select All select entire text (input script, debug etc.) <control> A
Find... find text in an text file (input script, debug etc.). <control> F
Find Next repeat previous find. F3
Replace... find and replace text in the input script. <control> H
Goto Section 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.
8.5 Input
Script Wizard start the input wizard, for a single section or multiple
sections.
Control start the wizard at a selected screen in the control
section.
236
REVEAL Manual
September, 2008
REVEAL
Reservoir start the wizard at a selected screen in the reservoir
section.
Physical start the wizard at a selected screen in the physical
section.
Relative Permeabilities start the wizard at a selected screen in the relperm
section.
Aquifer start the wizard at a selected screen in the aquifer
section.
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.
8.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.
8.7 Run Simulation
Select Properties... select the properties and frequency of variables to be
stored for visualisation during and after the
Menu commands
237
1990-2008 Petroleum Experts Limited
calculation.
Start/Resume start a calculation, or resume after a calculation has
been paused.
Do One step do one time step and pause the calculation.
Run until run the calculation until a specified runtime is
reached.
Pause pause a calculation.
Stop stop a calculation, a stopped calculation cannot be
restarted.
Restart Simulation... restart a simulation from a restart file.
Generate a Normal Restart Step 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
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.
238
REVEAL Manual
September, 2008
REVEAL
8.8 Results
Average Reservoir Results display and plot average and total reservoir
properties.
Well Results display and plot well properties.
Reservoir Graphics start the 3D graphics display.
Wellbore Results display and plot results for wells, including tubing flow
if a multi-lateral wellbore description is present.
Clear Grid Results deletes the 3D graphics data, this can be useful to
reduce the size of a file to e-mail it.
Save Well and Reservoir Results save 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 results export option that allows average reservoir, well and
wellbore results to be selectively output to EXCEL.
Menu commands
239
1990-2008 Petroleum Experts Limited
Export Grid data Export all of the grid geometry and petrophysics to an
ASCII file.
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
240
REVEAL Manual
September, 2008
REVEAL
TRANX
TRANY
TRANZ
MULTPV
SATNUM
PVTNUM
EQLNUM
FIPNUM
SWCR
SWU
SOWCR
SOGCR
SGCR
SGU
KRW
KRO
KRG
SWL
SGL
KRORG
KRORW
KRWR
KRGR
SWLPC
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.
8.9 View
Toolbar enable/disable the run/graphics toolbar towards the top of the main REVEAL
window.
Navigator enable/disable the Help Viewer and Navigator window on the left of the
REVEAL window.
8.10 Window
Cascade cascade the REVEAL windows.
Arrange Icons arrange any iconified windows.
Tile vertically tile the REVEAL windows vertically.
Menu commands
241
1990-2008 Petroleum Experts Limited
Tile horizontally tile the REVEAL windows horizontally.
(windows) bring a selected window to the foreground.
8.11 Help
Help Index Start the online help at the first page (Contents).
Help Search Start the online help.
Script On-Context Brief 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.
8.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.
Resyncronise after pausing the 3D update during a calculation, reconnect to the calculation.
Goto Timestep goto the 3D results for an input time step.
Chapter
9
External data import
243
1990-2008 Petroleum Experts Limited
9 External data import
9.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.
9.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.
244
REVEAL Manual
September, 2008
REVEAL
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.

Z
Y
X
5 6
7
8
1 2
3
4
COORD and ZCORN - followed by the standard ECLIPSE representation of these keywords.
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.
External data import
245
1990-2008 Petroleum Experts Limited
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
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).
246
REVEAL Manual
September, 2008
REVEAL
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.
0 - undefined, the Transmissibility and Multiplier will be used.
1 - Transmissibility calculated using NEWTRAN and the Multiplier in the X direction
2 - Transmissibility calculated using NEWTRAN and the Multiplier in the Y direction
3 - Transmissibility calculated using NEWTRAN and the Multiplier in the Z direction
A trivial example file is listed below.
DIMENSION
2 2 2
NODES
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
External data import
247
1990-2008 Petroleum Experts Limited
0.2
0.2
0.2
0.2
PERMX
100
100
100
100
100
100
100
100
NETTOGROSS
1 1 1 1 1 1 1 1
TRANSZ
100 100 100 100 100 100 100 100
NNC
1
1 1 1 2 2 2 0.3
END
9.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
248
REVEAL Manual
September, 2008
REVEAL
WELL required keyword.
wellname name for the well. A well already in the deck with this name will be replaced.
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).
heaterHTC well 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 0 1 1 1 1
LATERAL 1 0
LATDATA 950 50 50 0
LATDATA 950 50 75 25 0.0006 4 8 8
LATDATA 850 150 100 168.6140662 0.0006 4 8 8
PERF 1
PERFDATA 25 168.61 0.354 0 1
END
WELL Well3 1 0 1 1 1 1
LATERAL 1 0
External data import
249
1990-2008 Petroleum Experts Limited
LATDATA 950 450 50 0
LATDATA 950 450 100 50 0.0006 4 8 8
LATDATA 900 400 150 136.6025404 0.0006 4 8 8
LATDATA 800 250 175 318.6052876 0.0006 4 8 8
LATDATA 400 150 175 730.9158502 0.0006 4 8 8
LATERAL 2 1
LATDATA 600 200 175 0
LATDATA 300 450 225 393.7003937 0.0006 4 8 8
LATERAL 3 1
LATDATA 500 175 175 0
LATDATA 520 55 215 128.0624847 0.0006 4 8 8
LATDATA 525 25 255 178.3118629 0.0006 4 8 8
PERF 1
PERFDATA 318.6052876 524.7605689 0.354 0 1
PERFDATA 627.8382095 730.9158502 0.354 0 1
PERF 2
PERFDATA 196.8501969 393.7003937 0.354 0 1
PERF 3
PERFDATA 128.0624847 178.3118629 0.354 0 1
END
9.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
250
REVEAL Manual
September, 2008
REVEAL
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, 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 are used then the single precision corner point
geometry is sufficient.
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 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
External data import
251
1990-2008 Petroleum Experts Limited
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 reservoir is pressurised.
The import process sets this value to infinity (i.e. gas completely re-dissolves 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
252
REVEAL Manual
September, 2008
REVEAL
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.
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.
Wells section
Check that the cross flag was set; it is set by default in REVEAL.
External data import
253
1990-2008 Petroleum Experts Limited
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.
9.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.
9.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 be selecting 'Input |
Import from simulator or ASCII file' from the main menu.
1. MAP data
254
REVEAL Manual
September, 2008
REVEAL
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 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
External data import
255
1990-2008 Petroleum Experts Limited
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
256
REVEAL Manual
September, 2008
REVEAL
Chapter
10
258
REVEAL Manual
September, 2008
REVEAL
10 Graphics
10.1 Visualisation
Use the , , , and buttons to view the results. The results may also be viewed interactively
during a calculation.
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 frequency of the well results and 3D properties to plot may be selected before a run using the
button .
Graphics
259
1990-2008 Petroleum Experts Limited
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.
260
REVEAL Manual
September, 2008
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 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.
Graphics
261
1990-2008 Petroleum Experts Limited
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.
262
REVEAL Manual
September, 2008
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
Graphics
263
1990-2008 Petroleum Experts Limited
mouse position.
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.
264
REVEAL Manual
September, 2008
REVEAL
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
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)
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.
Graphics
265
1990-2008 Petroleum Experts Limited
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.
(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.
266
REVEAL Manual
September, 2008
REVEAL
It may be desirable, for example, to remove grid blocks from the pick mode to allow easier picking of
nodes and inflow objects.
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.
Chapter
11
268
REVEAL Manual
September, 2008
REVEAL
11 Debug output
11.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 Meaning Character Description
1 Retake & 'on-hold' -
#
*
h
OK
Timestep to be reduced
Timestep to be retaken
Timestep to be unchanged
2 Timestep limited -
r
v
t
c
p
i
f
d
e
l
None
Max growth rate
Volumetric flow limit
Temperature constraint
Concentration constraint
Pressure constraint
Injection schedule
Fracture update
Implicit solver (diverging Newton steps)
Implicit solver (estimated next time step)
Maximum number of linear solver iterations
3 Cause of retake -
n
v
m
p
t
c
d
No retake
Negative concentrations
Volumetric flow limit
Material balance constraint
Pressure constraint
Temperature constraint
Concentration constraint
Implicit solver (diverging)
4 Cause of 'on-hold' -
m
Not 'on-hold'
Material balance constraint
Debug output
269
1990-2008 Petroleum Experts Limited
p
t
c
d
Pressure constraint
Temperature constraint
Concentration constraint
Implicit solver (diverging)
5 Limit reached -
l
u
Not limited
Minimum time step
Maximum time step limit
6 Volumetric flow c
s
w
Total volume inflow (Courant)
Mobile phase saturation undershoot
Total well inflow/outflow
7 Implicit solver i
l
d
c
p
s
Pre-conditioner failure
Linear solver failure
Newton steps diverging
Newton steps not converged
Pressure change too large
Saturation change too large
8 Unused
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
Chapter
12
Engineering
271
1990-2008 Petroleum Experts Limited
12 Engineering
12.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. More detail is given for individual models in
rest of the help manual.
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
12.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.
12.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).
(i)

- + - =
144
.
6.3266
h
Pc P
kr k
q
p
p w
p
p
p
r
m
where qp is the Darcy velocity (ft/d)
k is rock permeability (D)
krp is phase relative permeability
mp is the phase viscosity (cp)
rp is the phase density (lb/ft3)
272
REVEAL Manual
September, 2008
REVEAL
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).
(ii)
( ) A q m
p p p
r - =
The accumulation of mass into volume Vp is then subject to phase compressibility (cp) and rock
compressibility.
(iii)
P P
V
V
c
p
p
p
p
p

- =
r
r
1 1
( )
t
V
m
p p
p

=
r
p p
VS V f =
Equating these accumulation terms leads to a material balance equation.
(iv)
( )
( ) 0 = -

A q
t
S
V
p p
p p
r
fr
1 =
p
S
This differential equation is non-linear and also requires to be discretised both spatially and temporally
before it can be solved numerically.
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.
(v)
p
p
p
kr
M
m
=
p p
AkM T 3266 . 6 =
(vi)
( )
0
144
=

- + +

h
Pc P T
t
S
V
p
p w p p
p p
r
r
fr
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 compressibility term (c) including
rock and fluid phase compressibilities.
(vii)
0
144
2
=

- + +

p
p
p w p
w
h
Pc P T
t
P
Vc
r
(viii)

- + - =
144
h
Pc P
A
T
q
p
p w
p
p
r
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.
Engineering
273
1990-2008 Petroleum Experts Limited
12.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.
(ix)

=
p
c
p p c c
C q F r
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 micro-emulsion 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).
(x)
( )

- =
p
c
p
c
p p c c
G C q F r
(xi)
( ) ( )( )
c
p p Tp Lp
p
p c
p Tp p
c
p p
c
p
C q
q
q
C q D S G - + + = a a a f
where Dcp are component diffusion coefficients, and aLp and aTp are longitudinal and transverse
phase dispersion lengths.
Numerical dispersion may be minimised by selecting the fct/2-point upstream weighting for component
concentration in the control section of the input script.
12.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).
(xii)
( ) ( )

- - =
p
p p p
AT Cp q T Ak J r
The accumulation of heat into volume V then results in a temperature change (heat transport
equation).
(xiii)
( )
0 = -

J
t
HT
274
REVEAL Manual
September, 2008
REVEAL
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 (rp.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.
Chapter
13
276
REVEAL Manual
September, 2008
REVEAL
13 References
13.1 References
1 Van Everdingen A.F., Hurst W., The Application of the Laplace Transformation to Flow
Problems, Trans. AIME 156, 1949.
2 Carter R.D., Tracy G.W., An Improved Method for Calculating Water Influx, SPE 1626-G,
1960,
3 Geertsma J., deKlerk F., A Rapid Method of Predicting Width and Extent of Hydraulically
Induced Fractures, SPE 2458, 1969.
4 Wiliams B.B., Fluid Loss from Hydraulically Induced Fractures, SPE 2769, 1970.
5 Todd M.R., Longstaff W.J., The Development, Testing and Application of a Numerical
Simulator for Predicting Miscible Flood Performance, SPE 3484, 1972.
6 Cinco-Ley H., Ramey H.J., Miller F.G., Pseudo-skin Factors for Partially-Penetrating
Directional-Drilled Wells, SPE 5589, 1975.
7 Peaceman D.W., Interpretation of Well-Block Pressures in Numerical Reservoir Simulation,
SPE 6893, 1978.
8 Clifton R.J., Abou-Sayed A.S., On the Computation of the Three-Dimensional Geometry of
Hydraulic Fractures, SPE 7943, 1979.
9 Zolotukhin A.B., Analytical Definition of the Overall Heat Transfer Coefficient, SPE 7964, 1979.
10 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.
11 Clifton R.J., Abou-Sayed A.S., A Variational Approach to the Prediction of the
Three-Dimensional Geometry of Hydraulic Fractures, SPE 9879, 1981.
12 Perkins T.K., Gonzalez J.A., Changes in Earth Stress Around a Wellbore Caused by Radially
Symmetrical Pressure and Temperature Gradients, SPE 10080, 1984.
13 Peaceman D.W., Interpretation of Well-Block Pressures in Numerical Reservoir Simulation
with Nonsquare Grid Blocks and Anisotropic Permeability, SPE 10528, 1983.
14 Perkins T.K., Gonzalez J.A., The Effect of Thermoelastic Stresses on Injection Well Fracturing
, SPE 11332, 1985.
15 Prouvost L.P., Pope G.A., Rouse B., Microemulsion Phase Behaviour: A Thermodynamic
Modeling of the Phase Partitioning of Amphiphilic Species, SPE 12586, 1985.
16 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.
17 Christie M.A., Bond D.J., Multidimensional Flux-Corrected Transport for Reservoir Simulation,
SPE 13505, 1985.
18 Koning E.J.L., Fractured Water Injection Wells - Analytical Modelling of Fracture Propagation,
SPE 14684, 1985.
19 Vandamme L., Jeffrey R.G., Curran J.H., Pressure Distribution in Three-Dimensional
Hydraulic Fractures, SPE 15265, 1986.
20 Meyer B.R., Heat Transfer in Hydraulic Fracturing, SPE 17041, 1989.
21 Clifton R.J., Wang J-J., Multiple Fluids, proppant Transport, and Thermal Effects in
Three-Dimensional Simulation of Hydraulic Fracturing, SPE 18198, 1988.
22 Detienne, J-L., Creusot M., Kessler N., Sahuquet B.,Bergerot J-L., Thermally Induced
Fractures : A Field Proven Analytical Model, SPE 30777, 1995.
23 Parkhurst D.L., User's Guide to PHREEQC-a Computer Program for Speciation,
Reaction-Path, Advective-Transport, and Inverse Geochemical Calculations, US Geological
Survey, 1995.
24 Ohen A.H., Cirvan F, Simulation of Formation Damage in Petroleum Reservoirs, SPE 19420.
25 Pope G.A., Lake L.W., Cation Exchange in Chemical Flooding, SPE 6771, 1978.
26 Chan A.W., Production-induced reservoir compaction, permeability and land surface
subsidence, Stanford University Dissertation, 2004.
27 Gutierrez M., Lewis R.W., Masters I., Petroleum Reservoir Simulation Coupling Fluid Flow and
Geomechanics, SPE 72095, 2001.
Chapter
14
278
REVEAL Manual
September, 2008
REVEAL
14 OpenServer
14.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.
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
OpenServer
279
1990-2008 Petroleum Experts Limited
"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 .
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")
The current REVEAL timestep, time and date may be obtained using the following script functions.
timestep = REVEAL.TIMESTEP
time = REVEAL.TIME
date = REVEAL.date
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()"
280
REVEAL Manual
September, 2008
REVEAL
SAVEASFILE(filename)
Function: Save a REVEAL project file with a new name
Arguments: filename
Example: "REVEAL.SaveAsFile(C:\Petex\newfile.rvl)"
RUN()
Function: Run/continue a simulation
Arguments: None
Example: "REVEAL.Start()"
RUN_BLOCK()
Function: Run/continue while blocking other OS communication
Arguments: None
Example: "REVEAL.Run_Block()"
INITIALISE()
Function: Start a simulation and pause before the equilibration
Arguments: None
Example: "REVEAL.Initialise()"
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)"
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()"
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"")"
SCRIPT_WRITE()
Function: Rewrite the script following changes to the input, required for changes to the script to
be registered for subsequent simulation runs.
OpenServer
281
1990-2008 Petroleum Experts Limited
Arguments: None
Example: "REVEAL.Script_Write()"
READ_SCRIPT()
Function: Read the current script..
Arguments: None
Example: "REVEAL.Read_Script()"
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 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()"
LOAD_XFLOWRESULTS()
Function: Load the Xflow well 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_XflowResults()"
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()"
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"")"
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,
2-multilateral)
282
REVEAL Manual
September, 2008
REVEAL
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"")"
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"")"
CLEAR_CELL_RESULTS()
Function: Delete all of the 3D cell results.
Arguments: None
Example: "REVEAL.Clear_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"")"
SORT_WELLS()
Function: Re-order the wells alphabetically.
Arguments: None
Example: "REVEAL.Sort_Wells()"
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
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)
OpenServer
283
1990-2008 Petroleum Experts Limited
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.
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
284
REVEAL Manual
September, 2008
REVEAL
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
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" X direction dimension of main grid
"REVEAL.Master.NY" Y direction dimension of main grid
"REVEAL.Master.NZ" Z direction dimension of main grid
"REVEAL.Master.IJKD" total number of active blocks in all grids
"REVEAL.Master.ACTIND[99]" active block number (indexed from 1)
corresponding to global grid block 100 in main grid
- global grid block = (IZ-1)*NX*NY + (IY-1)*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.
"REVEAL.Master.P[0][99]" main grid water phase pressure for active block
100
"REVEAL.Master.P[1][99]" main grid oil phase pressure for active block 100
"REVEAL.Master.P[2][99]" main grid gas phase pressure for active block 100
OpenServer
285
1990-2008 Petroleum Experts Limited
"REVEAL.Master.S[0][99]" main grid water phase saturation for active block
100
"REVEAL.Master.S[1][99]" main grid oil phase saturation for active block 100
"REVEAL.Master.S[2][99]" main grid gas phase saturation for active block 100
"REVEAL.Master.TT[99]" main grid temperature for active block 100
"REVEAL.Master.RSSOL[99]" main grid solution RS (scf/STB) for active block
100
"REVEAL.Master.GRIDV[99]" main grid total block volume for active block 100
"REVEAL.Master.POR[99]" 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")
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 Function
"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
fixed downhole rate
286
REVEAL Manual
September, 2008
REVEAL
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)
OpenServer
287
1990-2008 Petroleum Experts Limited
"REVEAL.RUN_WELL_CONSTRAINT(""well_name"",""QOMAX"",1000)" Set well constraint
for maximum water
rate (producer 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
288
REVEAL Manual
September, 2008
REVEAL
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)
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. i.e. string values for variable_name
Variable name Data returned to OSVAR
PERF Perforation status (0-not perforated, 1-perforated)
RW Wellbore flowing radius (ft)
RE Effective Peaceman radius (ft)
KH KH (Darcy.ft)
S Skin
DIR Well direction (0-not defined, 1-X, 2-Y, 3-Z)
THETA Block PI multiplier
IJKW Block index in grid
QO Oil rate (STB/d)
QG Gas rate (STB/d)
QW Water rate (STB/d)
QR Reservoir rate (MMscf/d)
QL Liquid rate (STB/d)
GOR GOR (scf/STB)
WC water cut (fraction)
CGR Condensate gas ratio (STB/MMscf)
WGR Water gas ratio (STB/MMscf)
OpenServer
289
1990-2008 Petroleum Experts Limited
Example - get the perforation status and flowing radius of block 3 of well "well1"
DoCmd ("REVEAL.RUN_GETCOMP(""well1"",3,""PERF"")")
status = DoGet("REVEAL.MASTER.OSVAR")
DoCmd ("REVEAL.RUN_GETCOMP(""well1"",3,""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 by default indexed from 1, not from 0.
Also, the ordering internally within REVEAL is altered from the vertical column or completion 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 0 0 3 ! feet day/scf
2 1 1 2 1 -1 0.354 0 0 3 ! feet day/scf
3 1 1 3 1 -1 0.354 0 0 3 ! feet day/scf
4 1 1 4 1 -1 0.354 0 0 3 ! feet day/scf
5 1 1 5 1 -1 0.354 0 0 3 ! feet 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.
290
REVEAL Manual
September, 2008
REVEAL
Completion layer 1: "REVEAL.RUN_SETCOMP(""Well1"",1,1)" or "REVEAL.
RUN_SETCOMP(""Well1"",0,1,1)"
Completion layer 4: "REVEAL.RUN_SETCOMP(""Well1"",2,1)" or "REVEAL.
RUN_SETCOMP(""Well1"",3,1,1)"
Completion layer 5: "REVEAL.RUN_SETCOMP(""Well1"",3,1)" or "REVEAL.
RUN_SETCOMP(""Well1"",4,1,1)"
Completion layer 5 status: "REVEAL.RUN_GETCOMP(""Well1"",3,""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).
Chapter
15
292
REVEAL Manual
September, 2008
REVEAL
15 Worked Examples
15.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:
- The first set of tutorials is for beginners and focuses on the dexterity skills needed to use the
program
- 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
- The third set of tutorials focuses on the use of OpenServer: i.e. how to control the program
through external macros
Below is an overview of the worked examples that can be found in this section.
A list of tutorials organised by Topics can be found in the Worked Examples - List by Topics section.
1: Dexterity Examples
1.1. Getting Started
This is a step by step example that demonstrates how to create a model and run it from
scratch.
This example can be found in the Getting Started section.
1.2. Eclipse Import
This is a step by step example that demonstrates how to import an Eclipse deck within
REVEAL and compares the results of both softwares for a similar simulation.
Description of this example can be found in the Eclipse Import section.
1.3. Radial Aquifer
This example demonstrates how to setup a radial aquifer in a simple REVEAL model.
Description of this example can be found in the Radial Aquifer section.
1.4. Thermal Fracture
This example demonstrates how to setup a thermal fracture calculation including fracture
initiation and propagation.
Description of this example can be found in the Thermal Fracture section.
1.5. Souring
This example demonstrates how to setup a simple souring model without minerals being
defined in the reservoir and injected water.
Description of this example can be found in the Souring section.
1.6. Dry Gas
This example demonstrates how to setup a REVEAL model with a dry gas PVT.
Description of this example can be found in the Dry Gas section.
1.7. Retrograde Condensate
This example demonstrates how to setup a REVEAL model with a retrograde condensate
PVT.
Description of this example can be found in the Retrograde Condensate section.
1.8. Radial Gridding
Worked Examples
293
1990-2008 Petroleum Experts Limited
This example demonstrates how to setup a radial grid within REVEAL.
Description of this example can be found in the Radial Grid section.
1.9. Curvilinear Gridding
This example demonstrates how to setup a curvilinear grid within REVEAL.
Description of this example can be found in the Curvilinear Grid section.
2: Physics Examples
2.1. Grid Refinement
This example demonstrates how to setup a REVEAL model including grid refinement.
Description of this example can be found in the Grid Refinement section.
2.2. Water Chemistry
This example demonstrates how to use both water chemistry and souring models.
Description of this example can be found in the Water Chemistry section.
2.3. Permeability Reduction
This example uses the permeability reduction model of REVEAL.
Description of this example can be found in the Permeability Reduction section.
2.4. Surfactant
This example demonstrates the impact of surfactant injection in a REVEAL model, where a
surfactant micro-emulsion phase is created.
Description of this example can be found in the Surfactant section.
2.5. Gel Injection
This example demonstrates the impact of gel injection in a horizontal well with the objective of
reducing the water coning.
Description of this example can be found in the Gel Injection section.
2.6. Wellbore Heating
This example demonstrates the impact of wellbore heating in order to reduce fluid viscosity
around the wellbore.
Description of this example can be found in the Wellbore Heating section.
2.7. Asphaltene
This example demonstrates the use of the Asphaltene model associated with permeability
reduction calculations.
Description of this example can be found in the Asphaltene section.
2.8. Non-Newtonian Fluid
This example demonstrates the use of REVEAL in case the fluid considered is a
non-Newtonian fluid.
Description of this example can be found in the Non-Newtonian Fluid section.
3: OpenServer Examples
3.1. Well Results
This example demonstrates the use of OpenServer to export all well results.
Description of this example can be found in the OpenServer - Well Results section.
3.2. Well Production
This example demonstrates the use of OpenServer to report block by block well production
rates.
Description of this example can be found in the OpenServer - Well Production section.
3.3. Batch Matching
294
REVEAL Manual
September, 2008
REVEAL
This example demonstrates the use of OpenServer to automate batch calculations for
sensitivity / matching analysis.
Description of this example can be found in the OpenServer - Batch Matching section.
3.4. Well Control
This example demonstrates the use of OpenServer to automate well control (i.e. THP and
injection temperature)..
Description of this example can be found in the OpenServer - Well Control section.
3.5. Water Injection Allocation
This example demonstrates the use of the REVEAL internal script to calculate an optimum
water injection allocation pattern.
Description of this example can be found in the OpenServer - Internal Script section.
15.2 Worked Examples - List by Topics
Below is a list of the worked examples present in this guide organised by topics covered.
Step by Step Examples
Getting Started
This is a step by step example that demonstrates how to create a model and run it from
scratch.
This example can be found in the Getting Started section.
Eclipse Import
This is a step by step example that demonstrates how to import an Eclipse deck within
REVEAL and compares the results of both softwares for a similar simulation.
Description of this example can be found in the Eclipse Import section.
Grid Geometry Examples
Radial Gridding
This example demonstrates how to setup a radial grid within REVEAL.
Description of this example can be found in the Radial Grid section.
Curvilinear Gridding
This example demonstrates how to setup a curvilinear grid withinREVEAL.
Description of this example can be found in the Curvilinear Grid section.
Aquifer Examples
Radial Aquifer
This example demonstrates how to setup a radial aquifer in a simple REVEAL model.
Description of this example can be found in the Radial Aquifer section.
Gas and Retrograde Condensate Examples
Dry Gas
This example demonstrates how to setup a REVEAL model with a dry gas PVT.
Description of this example can be found in the Dry Gas section.
Retrograde Condensate
This example demonstrates how to setup a REVEAL model with a retrograde condensate
PVT.
Description of this example can be found in the Retrograde Condensate section.
Worked Examples
295
1990-2008 Petroleum Experts Limited
Fracturing Examples
Thermal Fracture
This example demonstrates how to setup a thermal fracture calculation including fracture
initiation and propagation.
Description of this example can be found in the Thermal Fracture section.
Grid Refinement
This example demonstrates how to setup a REVEAL model including grid refinement.
Description of this example can be found in the Grid Refinement section.
Water Chemistry and Souring Examples
Souring
This example demonstrates how to setup a simple souring model without minerals being
defined in the reservoir and injected water.
Description of this example can be found in the Souring section.
Water Chemistry
This example demonstrates how to use the water chemistry model.
Description of this example can be found in the Water Chemistry section.
Permeability Reduction
This example uses the permeability reduction model of REVEAL.
Description of this example can be found in the Permeability Reduction section.
Chemical Additive Examples
Surfactant
This example demonstrates the impact of surfactant injection in a REVEAL model, where a
surfactant micro-emulsion phase is created.
Description of this example can be found in the Surfactant section.
Gel Injection
This example demonstrates the impact of gel injection in a horizontal well with the objective of
reducing the water coning.
Description of this example can be found in the Gel Injection section.
Thermal Examples
Wellbore Heating
This example demonstrates the impact of wellbore heating in order to reduce fluid viscosity
around the wellbore.
Description of this example can be found in the Wellbore Heating section.
Solids Examples
Asphaltene
This example demonstrates the use of the Asphaltene model associated with permeability
reduction calculations.
Description of this example can be found in the Asphaltene section.
Non-Newtonian Fluids Examples
Non-Newtonian Fluid
This example demonstrates the use of REVEAL in case the fluid considered is a
non-Newtonian fluid.
Description of this example can be found in the Non-Newtonian Fluid section.
OpenServer Examples
Well Control
This example demonstrates the use of OpenServer to automate well control (i.e. THP and
injection temperature)..
296
REVEAL Manual
September, 2008
REVEAL
Description of this example can be found in the OpenServer - Well Control section.
Batch Matching
This example demonstrates the use of OpenServer to automate batch calculations for
sensitivity / matching analysis.
Description of this example can be found in the OpenServer - Batch Matching section.
Well Production
This example demonstrates the use of OpenServer to report block by block well production
rates.
Description of this example can be found in the OpenServer - Well Production section.
Well Results
This example demonstrates the use of OpenServer to export all well results.
Description of this example can be found in the OpenServer - Well Results section.
Water Injection Allocation
This example demonstrates the use of the REVEAL internal script to calculate an optimum
water injection allocation pattern.
Description of this example can be found in the OpenServer - Internal Script section.
15.3 Dexterity Examples
15.3.1 Getting Started
Details of that example can be found in the Getting Started section.
15.3.2 Eclipse Import
Associated Files:
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.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
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.
Worked Examples
297
1990-2008 Petroleum Experts Limited
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.
298
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
299
1990-2008 Petroleum Experts Limited

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.
300
REVEAL Manual
September, 2008
REVEAL
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.
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
Worked Examples
301
1990-2008 Petroleum Experts Limited
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.
302
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
303
1990-2008 Petroleum Experts Limited
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
implement it, as REVEAL is a thermal numerical simulator. The temperature may be
estimated as well from the imported water viscosity table.
304
REVEAL Manual
September, 2008
REVEAL
- 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.
Worked Examples
305
1990-2008 Petroleum Experts Limited
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.
306
REVEAL Manual
September, 2008
REVEAL
- In the RelPem section:
The rock coverage of the model will be handled automatically provided the Automatic Rock
Coverage option is selected.
Worked Examples
307
1990-2008 Petroleum Experts Limited
- 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.
308
REVEAL Manual
September, 2008
REVEAL
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) 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 on eof 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.
Worked Examples
309
1990-2008 Petroleum Experts Limited
It is therefore important for the engineer to be confident in the REVEAL results: under the same
conditions, they should absolutely 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.
15.3.3 Radial Aquifer
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.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.
310
REVEAL Manual
September, 2008
REVEAL
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.
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.
Worked Examples
311
1990-2008 Petroleum Experts Limited
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 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.
312
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
313
1990-2008 Petroleum Experts Limited
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.
314
REVEAL Manual
September, 2008
REVEAL
15.3.4 Thermal Fracture
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.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.
Worked Examples
315
1990-2008 Petroleum Experts Limited
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.
316
REVEAL Manual
September, 2008
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.
Worked Examples
317
1990-2008 Petroleum Experts Limited
- 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
318
REVEAL Manual
September, 2008
REVEAL
- Go to the Tables section to inspect the PVT Tables that have been saved.
Worked Examples
319
1990-2008 Petroleum Experts Limited
- Make sure the "Use Tables" option is selected in the main screen.
- Go back to the data input wizard.
320
REVEAL Manual
September, 2008
REVEAL
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.
- The second screen enables to define the rock geo-mechanical properties.
Worked Examples
321
1990-2008 Petroleum Experts Limited
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.
322
REVEAL Manual
September, 2008
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.
Worked Examples
323
1990-2008 Petroleum Experts Limited
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.
324
REVEAL Manual
September, 2008
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
Worked Examples
325
1990-2008 Petroleum Experts Limited
- 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.
- Fracture development around the injection wellbore.
326
REVEAL Manual
September, 2008
REVEAL
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.

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.
Worked Examples
327
1990-2008 Petroleum Experts Limited
15.3.5 Souring
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.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.
328
REVEAL Manual
September, 2008
REVEAL
The downsides of this model are the fact that it requires short timesteps and has been found
not to model accurately the nutrient behaviour.
- 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
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.
Worked Examples
329
1990-2008 Petroleum Experts Limited
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:
330
REVEAL Manual
September, 2008
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.
More information on the partition coefficients can be found in the CO2 and H2S partitioning section.
Worked Examples
331
1990-2008 Petroleum Experts Limited
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.
332
REVEAL Manual
September, 2008
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 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
Worked Examples
333
1990-2008 Petroleum Experts Limited
VFAwater = 5,000 ppm
VFAoil = 50,000 ppm
Sulphate = 0 ppm
Sulphide = 0 ppm
Nitrate = 0 ppm
Hplus = 0.0001 ppm
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
334
REVEAL Manual
September, 2008
REVEAL
Worked Examples
335
1990-2008 Petroleum Experts Limited
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
336
REVEAL Manual
September, 2008
REVEAL
- 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.
- The SRB concentration is increasing in areas where the temperature is within the correct
range and VFA is available.
Worked Examples
337
1990-2008 Petroleum Experts Limited
- The evolution of the H2S concentration as well as the time to H2S breakthrough can then be
monitored, as illustrated below for well 2.
338
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
339
1990-2008 Petroleum Experts Limited
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.
340
REVEAL Manual
September, 2008
REVEAL
This will lead to a later and smaller development of the SRBs in the reservoir as illustrated below.
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.
Worked Examples
341
1990-2008 Petroleum Experts Limited
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.
15.3.6 Dry Gas
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.0
\Samples\reveal\\Dexterity_Examples\Dry_Gas
The file associated with that example is the following: Dry_Gas.rvl
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.
342
REVEAL Manual
September, 2008
REVEAL
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.
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.
Worked Examples
343
1990-2008 Petroleum Experts Limited
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.
We can observe as well variation of the water saturation with depth from the gas-water contact
upwards.
This illustrates the effect of the capillary pressures that have been entered in the model.
344
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
345
1990-2008 Petroleum Experts Limited
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.
346
REVEAL Manual
September, 2008
REVEAL
15.3.7 Retrograde Condensate
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.0
\Samples\reveal\\Dexterity_Examples\Retrograde_Condensate
The file associated with that example is the following: Retrograde_Condensate.rvl
Worked Example Objectives:
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
Worked Examples
347
1990-2008 Petroleum Experts Limited
2. Enter the Retrograde Condensate Surface Properties
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.
348
REVEAL Manual
September, 2008
REVEAL
Worked Examples
349
1990-2008 Petroleum Experts Limited
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.
350
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
351
1990-2008 Petroleum Experts Limited
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.
352
REVEAL Manual
September, 2008
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.
Worked Examples
353
1990-2008 Petroleum Experts Limited
15.3.8 Radial Gridding
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.0
\Samples\reveal\\Dexterity_Examples\Radial_Gridding
354
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
355
1990-2008 Petroleum Experts Limited
In the case specified, the grid will look as illustrated below.
356
REVEAL Manual
September, 2008
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.
Worked Examples
357
1990-2008 Petroleum Experts Limited
3. Assign properties to the reservoir blocks
The properties of the reservoir blocks are entered as per a classic grid, as illustrated below.
358
REVEAL Manual
September, 2008
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.
Worked Examples
359
1990-2008 Petroleum Experts Limited
In the schedule section, the Perforations section needs to be used to specify the well characteristics.
360
REVEAL Manual
September, 2008
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.
Worked Examples
361
1990-2008 Petroleum Experts Limited
In that model, the central well is setup as a producer, and the external boundary well is shut-in,
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.
362
REVEAL Manual
September, 2008
REVEAL
.
15.3.9 Curvilinear Gridding
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.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.
Worked Examples
363
1990-2008 Petroleum Experts Limited
In the case specified, the grid will look as illustrated below.
364
REVEAL Manual
September, 2008
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.
Worked Examples
365
1990-2008 Petroleum Experts Limited
3. Assign properties to the reservoir blocks
The properties of the reservoir blocks are entered as per a classic grid, as illustrated below.
366
REVEAL Manual
September, 2008
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.
Worked Examples
367
1990-2008 Petroleum Experts Limited
In the schedule section, the Perforations section needs to be used to specify the well characteristics.
368
REVEAL Manual
September, 2008
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
Worked Examples
369
1990-2008 Petroleum Experts Limited
2. Analyse the evolution of oil saturation around the producer
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.
370
REVEAL Manual
September, 2008
REVEAL
15.4 Physics Examples
15.4.1 Grid Refinement
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.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 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.
Worked Examples
371
1990-2008 Petroleum Experts Limited
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:
372
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
373
1990-2008 Petroleum Experts Limited
One needs to access each of these individual scripts to define the grid refinement: for instance, for the
refinement inj1:
374
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
375
1990-2008 Petroleum Experts Limited
The next screen shows that the reservoir characteristics are directly taken from the parent grid values.
376
REVEAL Manual
September, 2008
REVEAL
Results Analysis:
When visualising the results, it will be possible to define the viewing properties of each grid individually.
Worked Examples
377
1990-2008 Petroleum Experts Limited
378
REVEAL Manual
September, 2008
REVEAL
15.4.2 Water Chemistry
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.0
\Samples\reveal\\Physics_Examples\Water_Chemistry
The file associated with that example is the following: Water_Chemistry.rvl
Worked Example Objectives:
Worked Examples
379
1990-2008 Petroleum Experts Limited
The main objective of this example is to illustrate the setup and use of the water chemistry option of
REVEAL.
Model Setup:
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.
380
REVEAL Manual
September, 2008
REVEAL
Worked Examples
381
1990-2008 Petroleum Experts Limited
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.
382
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
383
1990-2008 Petroleum Experts Limited
4. Initialisation Section
The initialisation section enables to specify the reservoir water composition.
384
REVEAL Manual
September, 2008
REVEAL
5. Schedule Section
The schedule section enables to specify the composition of the injected water.
Worked Examples
385
1990-2008 Petroleum Experts Limited
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.
386
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
387
1990-2008 Petroleum Experts Limited
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.
388
REVEAL Manual
September, 2008
REVEAL
- The injection water being rich in SO42-, the concentration of SO4- increases around the
wellbore.
- 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.
Worked Examples
389
1990-2008 Petroleum Experts Limited
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.
390
REVEAL Manual
September, 2008
REVEAL
15.4.3 Permeability Reduction
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.0
\Samples\reveal\\Physics_Examples\Permeability_Reduction
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 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).
Worked Examples
391
1990-2008 Petroleum Experts Limited
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 permability reduction factor.
392
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
393
1990-2008 Petroleum Experts Limited
- this results in a permeability reduction around the same injector, as illustrated below.
- the impact of this permeability reduction on the liquid production of the producer well can be
seen below.
394
REVEAL Manual
September, 2008
REVEAL
15.4.4 Surfactant
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.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 methods
based on surfactant injection.
Worked Examples
395
1990-2008 Petroleum Experts Limited
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 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 behaviourSingle phase No surfactant Type III Type II(-) Type II(+)
396
REVEAL Manual
September, 2008
REVEAL
P>Pb Micro-emulsion Oil
Water
Oil*
Micro-emulsion
Water
Oil*
Micro-emulsion
Micro-emulsion*
Water
P<Pb Micro-emulsion Oil
Gas
Water
Oil
Gas
Micro-emulsion
Water
Oil
Gas
Micro-emulsion
Micro-emulsion*
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 Description
1 Micro-emulsion phase only
2 Water, oil/gas phases present - no surfactant
3 Water, oil/gas and micro-emulsion phases present
(type III system) - intermediate salinity
4 Oil/gas and micro-emulsion phases present (type
II(-) system) - low salinity
5 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.
These two wells are complemented by two additional vertical injectors.
Worked Examples
397
1990-2008 Petroleum Experts Limited
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.
398
REVEAL Manual
September, 2008
REVEAL
Worked Examples
399
1990-2008 Petroleum Experts Limited
When selecting the general simulation data, it will be needed to select the surfactant model, as
illustrated below.
400
REVEAL Manual
September, 2008
REVEAL
The component list can then be altered to include polymer, surfactant, salinity and two alcohols.
Worked Examples
401
1990-2008 Petroleum Experts Limited
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.
402
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
403
1990-2008 Petroleum Experts Limited
The relative permeability curves then need to be entered for both low and high IFTs, as illustrated
below.
404
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
405
1990-2008 Petroleum Experts Limited
406
REVEAL Manual
September, 2008
REVEAL
Worked Examples
407
1990-2008 Petroleum Experts Limited
408
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
409
1990-2008 Petroleum Experts Limited
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.
410
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
411
1990-2008 Petroleum Experts Limited
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.
412
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
413
1990-2008 Petroleum Experts Limited
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:
414
REVEAL Manual
September, 2008
REVEAL
15.4.5 Gel Injection
Associated Files:
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.0
\Samples\reveal\\Physics_Examples\Gel_Injection
The file associated with that example is the following: Gel_Injection.rvl
Worked Examples
415
1990-2008 Petroleum Experts Limited
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 components as illustrated
below.
416
REVEAL Manual
September, 2008
REVEAL
Worked Examples
417
1990-2008 Petroleum Experts Limited
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.
418
REVEAL Manual
September, 2008
REVEAL
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 micro-emulsion
(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.
2.2. The second screen of that section enable to specify the polymer and gel viscosity parameters
Worked Examples
419
1990-2008 Petroleum Experts Limited
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
420
REVEAL Manual
September, 2008
REVEAL
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 cross-linker. 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 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
Worked Examples
421
1990-2008 Petroleum Experts Limited
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.

422
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
423
1990-2008 Petroleum Experts Limited
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 cross-linker
concentration
- the fourth schedule section specifies no injection at all
424
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
425
1990-2008 Petroleum Experts Limited
- The cross-linker concentration in water appears according to its injection schedule later on
during the run.
- The gel concentration in water starts increasing when the conditions for the reaction between
cross-linker and polymer are met.
426
REVEAL Manual
September, 2008
REVEAL
- The consequent increase in water viscosity can then be monitored.
- 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.
Worked Examples
427
1990-2008 Petroleum Experts Limited

15.4.6 Wellbore Heating
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.0
\Samples\reveal\\Physics_Examples\Wellbore_Heating
The file associated with that example is the following: Wellbore_Heating.rvl
Worked Example Objectives:
428
REVEAL Manual
September, 2008
REVEAL
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:
1. Control Section
In order to setup a wellbore heating system, the following steps can be considered:
Worked Examples
429
1990-2008 Petroleum Experts Limited
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 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.
430
REVEAL Manual
September, 2008
REVEAL
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.
- 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:
Worked Examples
431
1990-2008 Petroleum Experts Limited
4. Schedule section
This example is setup with three consecutive schedules:
- 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.
432
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
433
1990-2008 Petroleum Experts Limited
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.
434
REVEAL Manual
September, 2008
REVEAL
15.4.7 Asphaltene
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.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.
Model Setup:
The model considered is a simple reservoir model with one horizontal producer located in a grid
refinement, as illustrated below.
Worked Examples
435
1990-2008 Petroleum Experts Limited
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.
436
REVEAL Manual
September, 2008
REVEAL
Worked Examples
437
1990-2008 Petroleum Experts Limited
2. Adsorption Section
Once the new components have been added, the adsorption section becomes available.
In the current model, we will consider that all the precipitated asphaltene is transported and that there
is no adsorption effect.
That section will therefore be left empty.
3. Solids Section
The solids section enables to define the asphaltene model parameters.
438
REVEAL Manual
September, 2008
REVEAL
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.
The plot below illustrates the evolution of dissolved asphaltene in oil as a function of pressure:
Worked Examples
439
1990-2008 Petroleum Experts Limited
- 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.
4. Initialisation Section
The initial dissolved asphaltene concentration within the oil phase should be entered in the initialisation
section, as illustrated below.
440
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
441
1990-2008 Petroleum Experts Limited
- 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.
442
REVEAL Manual
September, 2008
REVEAL
15.4.8 Non Newtonian Fluid
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.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 non-
newtonian 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.
Worked Examples
443
1990-2008 Petroleum Experts Limited
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
444
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
445
1990-2008 Petroleum Experts Limited
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, shear-thinning
fluid
If this is higher than 1, the fluid considered is a non-newtonian, shear-
thickening 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
446
REVEAL Manual
September, 2008
REVEAL
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 non-
Worked Examples
447
1990-2008 Petroleum Experts Limited
newtonian viscosity option
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.
448
REVEAL Manual
September, 2008
REVEAL
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.
15.5 OpenServer Examples
15.5.1 Well Results
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.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.
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.
Worked Examples
449
1990-2008 Petroleum Experts Limited
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.
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.
450
REVEAL Manual
September, 2008
REVEAL
2.Open the REVEAL file, select the unit system to be used and setup some headers for the
Excel sub-sheets
Worked Examples
451
1990-2008 Petroleum Experts Limited
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
A loop structure similar to the one used previously to loop through the wells is used in that section.
452
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
453
1990-2008 Petroleum Experts Limited
15.5.2 Well Production
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.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.
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.
454
REVEAL Manual
September, 2008
REVEAL
The macro front-end is organised as follows:
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.
Worked Examples
455
1990-2008 Petroleum Experts Limited
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:
456
REVEAL Manual
September, 2008
REVEAL
The corresponding code can be found below:
Worked Examples
457
1990-2008 Petroleum Experts Limited
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.
15.5.3 Batch Matching
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.0
458
REVEAL Manual
September, 2008
REVEAL
\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.
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:
Worked Examples
459
1990-2008 Petroleum Experts Limited
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.
460
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
461
1990-2008 Petroleum Experts Limited
3. Save the file at the end of the run and retrieve the results
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.
462
REVEAL Manual
September, 2008
REVEAL
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.
15.5.4 Well Control
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.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.
Worked Examples
463
1990-2008 Petroleum Experts Limited
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 the macro
464
REVEAL Manual
September, 2008
REVEAL
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
Worked Examples
465
1990-2008 Petroleum Experts Limited
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.
466
REVEAL Manual
September, 2008
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.
4. Save the REVEAL file when the macro ends
Worked Examples
467
1990-2008 Petroleum Experts Limited
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.
15.5.5 Water Injection Allocation : Use of Internal Script
Associated Files:.
The files associated with this example are located in C:\Program Files\Petroleum Experts\IPM 6.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:
468
REVEAL Manual
September, 2008
REVEAL
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.
Worked Examples
469
1990-2008 Petroleum Experts Limited
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:
- 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:
470
REVEAL Manual
September, 2008
REVEAL
2. REVEAL section
The rest of the code is located in the REVEAL / RunPreTimestep section and follows the following
workflow:
Worked Examples
471
1990-2008 Petroleum Experts Limited
The corresponding code reads as follows:
472
REVEAL Manual
September, 2008
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:
- The total amount of water injected is the same whether the script is considered or not, which
was one of the starting assumption:
Worked Examples
473
1990-2008 Petroleum Experts Limited
- When the model is run without the script activated, the total amount of water injected is
divided equally between the different water injectors.
474
REVEAL Manual
September, 2008
REVEAL
- 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:
Worked Examples
475
1990-2008 Petroleum Experts Limited
- 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.
476
REVEAL Manual
September, 2008
REVEAL
Chapter
16
478
REVEAL Manual
September, 2008
REVEAL
16 REVEAL Frequently Asked Questions: A Few
Additional Technical Notes
16.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.
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
under-estimated.
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.
REVEAL Frequently Asked Questions: A Few Additional Technical Notes
479
1990-2008 Petroleum Experts Limited
Comparing the water breakthrough obtained by running this model using 5-point or 9-point
averaging, the following results are obtained.
480
REVEAL Manual
September, 2008
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 Frequently Asked Questions: A Few Additional Technical Notes
481
1990-2008 Petroleum Experts Limited
Comparing the water breakthrough obtained by running this model using 5-point or 9-point
averaging, the following results are obtained.
482
REVEAL Manual
September, 2008
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 Frequently Asked Questions: A Few Additional Technical Notes
483
1990-2008 Petroleum Experts Limited
16.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:
ELASTIC STRAIN
When considering an ideal elastic strain behavior, the removal of the deforming
484
REVEAL Manual
September, 2008
REVEAL
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 Frequently Asked Questions: A Few Additional Technical Notes
485
1990-2008 Petroleum Experts Limited
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 (Increase in temperature reduces the yield stress of strength of the
rock).
Pore Fluid pressure (Modifies the ratio between
1
and
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 fracturation 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
486
REVEAL Manual
September, 2008
REVEAL
one 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 Frequently Asked Questions: A Few Additional Technical Notes
487
1990-2008 Petroleum Experts Limited
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 Young 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 be build as well 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 be only 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 to check whether a specific dataset makes
physical sense.
Let's consider the following table:
488
REVEAL Manual
September, 2008
REVEAL
Layers Young's
Modulus (psi)
Poisson's Ratio
Layer 1:
Sandstone
2e6 0.241
Layer 2: Shale 1.5e6 0.265
Layer 3:
Sandstone
2e6 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, 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 (i.e. by injecting cold water in the reservoir for
instance) 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 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 a sample of rock: the grains are kept together by cementation: if the
fluid pressure of the rock is increased (i.e. by injecting water in the reservoir for
instance) 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 an 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 individually the effects of pressure and
temperature.
REVEAL Frequently Asked Questions: A Few Additional Technical Notes
489
1990-2008 Petroleum Experts Limited
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 one of the 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
- P
pore
If the effective stress is positive, the system is said to be in compressive state: the
total stress (i.e. that tends to keep the fracture closed) is higher than the pore
pressure (i.e. 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. that tends to keep the fracture closed) is lower than the pore pressure
(i.e. that tends to keep the fracture open). A fracture can initiate or propagate
when the system is in tensile state.
MINIMUM PRINCIPAL STRESS DIRECTION
The stress being a directional concept, when considering a rock sample, three main
stresses are going to be defined:
- The vertical stress, or overburden stress, applied in the z direction
3
.
490
REVEAL Manual
September, 2008
REVEAL
- 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 Fracturation: 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 the
a) flow, pressure and temperature supplied by an injection tubing with the
b) rock mechanics of a fracture and the
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 file has been calculated, the grid calculations are performed, divided
between flow and rock mechanics equations.
Flow Equation
The flow equation used will enable to calculate 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 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.
REVEAL Frequently Asked Questions: A Few Additional Technical Notes
491
1990-2008 Petroleum Experts Limited
Rock Mechanics Equation
The rock mechanics equation enables to describe the existing stress-strain
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 very 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 fracturation 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
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:
492
REVEAL Manual
September, 2008
REVEAL
6. Thermal Fracturation: 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 Frequently Asked Questions: A Few Additional Technical Notes
493
1990-2008 Petroleum Experts Limited
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
494
REVEAL Manual
September, 2008
REVEAL
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,
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.

S-ar putea să vă placă și