You are on page 1of 240

ECLIPSE Advanced Topics

Volume I
Workflow/Solutions Training
Version 2.0

Schlumberger Information Solutions


May 26, 2010
Copyright Notice
© 2010 Schlumberger. All rights reserved.

No part of this manual may be reproduced, stored in a retrieval system, or


translated in any form or by any means, electronic or mechanical, including
photocopying and recording, without the prior written permission of
Schlumberger Information Solutions, 5599 San Felipe, Suite100, Houston, TX
77056-2722.

Disclaimer
Use of this product is governed by the License Agreement. Schlumberger
makes no warranties, express, implied, or statutory, with respect to the product
described herein and disclaims without limitation any warranties of
merchantability or fitness for a particular purpose. Schlumberger reserves the
right to revise the information in this manual at any time without notice.

Trademark Information
Software application marks, unless otherwise indicated, used in this publication
are trademarks of Schlumberger. Certain other products and product names
are trademarks or registered trademarks of their respective companies or
organizations.
Table of Contents Volume I

About this Manual


Learning Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
What You Will Need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
What to Expect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Course Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Module 1: Initialization and End Point Scaling


Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Learning Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Lesson 1: Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Enumeration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Phase Pressure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Equilibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Specifying Equilibration Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Calculating Initial Equilibrium Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Calculating Phase Pressure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Calculating Phase Saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Lesson 2: End Point Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Purposes of End Point Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Types of End Point Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
End Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Scaling Dynamically Based on Composition . . . . . . . . . . . . . . . . . . . . . . . . 49
Scaling Dynamically Based on Temperature . . . . . . . . . . . . . . . . . . . . . . . . 49
Scaling Based on Surface Tension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Calculating Relative Permeability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Checking End Point Scaling in SCAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Displaying Scaled Curves in ECLIPSE Office . . . . . . . . . . . . . . . . . . . . . . . 74
Showing a Restart Solution as a Function of Time . . . . . . . . . . . . . . . . . . . 74
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Lesson 3: Initial Water Saturation Distribution Match with Transition Zones . . . 77
Setting SWAT to SWATi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Setting SWL to SWATi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Setting SWATINIT to SWATi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

ECLIPSE Advanced Topics Workflow/Solutions Training, Version 2.0 i


Simulation of a Tilted Transition Zone using SWATINIT (Example) . . . . . . 83
Summary of Initial Water Saturation in ECLIPSE . . . . . . . . . . . . . . . . . . . . 85
Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Exercise 1: Initializing the Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Exercise 2: Scaling End Points and Applying Other Functions . . . . . . . . . . 88
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Module 2: Group Control


Learning Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Lesson 1: Group Production Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
The Multi-Level Grouping Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Well Control vs. Group Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Guide Rate Control for Producers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Prioritization Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Group Economic Limits: GECON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Group Cut-Back Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Lesson 2: Group Injection Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Guide Rate for Group Injection Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Control for Pattern Flood Injection Wells . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Lesson 3: Flow Target Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Lesson 4: Group Production Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Drill New Wells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Open New Connections (Re-Perforating) . . . . . . . . . . . . . . . . . . . . . . . . . 118
Reducing the THP Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Changing VFP Tables (Re-tubing) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Changing Well ALQ Values (Applying Lift) . . . . . . . . . . . . . . . . . . . . . . . . . 122
Activating Compressors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Sales Gas Production Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Group Control in Petrel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Exercise 1: Establishing Production and Injection Field Development . . . 129
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

ii ECLIPSE Advanced Topics Workflow/Solutions Training, Version 2.0


Module 3: ACTIONs and User-Defined Quantities
Learning Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Lesson 1: Conventional Well Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Lesson 2: Well Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Lesson 3: ACTION Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
The ACTIONX Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Examples of ACTION Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Lesson 4: User-Defined Quantities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Syntax of a UDQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Example of Functionality: Net Present Value . . . . . . . . . . . . . . . . . . . . . . . 155
Exercise 1: Creating and Outputting a UDQ . . . . . . . . . . . . . . . . . . . . . . . 155
Exercise 2: Creating Repeated ACTIONs . . . . . . . . . . . . . . . . . . . . . . . . . 157
Exercise 3: Defining a Multi-segment Well . . . . . . . . . . . . . . . . . . . . . . . . . 159
Example: Controlling H2S Production . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Lesson 5: User-Defined Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Examples of UDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
UDA/UDQ Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Example: Establishing a Water Extraction Limit . . . . . . . . . . . . . . . . . . . . . 165
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Lesson 6: User-Defined Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Example of a User-Defined Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Exercise 1: Modeling Erosional Velocity . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

Module 4: Deviated and Horizontal Wells


Learning Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Lesson 1: Standard Well Model vs. MultiSegment Well Model . . . . . . . . . . . . 173
What is a Well Model? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
The Standard Well Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Implications for Deviated and Horizontal Wells . . . . . . . . . . . . . . . . . . . . . 185
The Multi-Segment Well Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Advantages of the Multi-Segment Well Model . . . . . . . . . . . . . . . . . . . . . . 194
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Lesson 2: Pressure Drop Along the Wellbore . . . . . . . . . . . . . . . . . . . . . . . . . 196
Pressure Drop Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

ECLIPSE Advanced Topics Workflow/Solutions Training, Version 2.0 iii


Homogeneous and Drift Flux Flow Models . . . . . . . . . . . . . . . . . . . . . . . . 200
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Lesson 3: Downhole Equipment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Valves and Chokes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Inflow Control Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Downhole Separators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
External Sources and Sinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Lesson 4: Multi-Segment Well Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Defining Well Segmentation with WELSEGS . . . . . . . . . . . . . . . . . . . . . . . 209
Defining Completion Locations with COMPSEGS . . . . . . . . . . . . . . . . . . . 211
Convergence Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Lesson 5: Multi-Segment Well Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Exercise 1: Modelling a Multi-Segment Well (using ECLIPSE) . . . . . . . . . 215
Visualizing 2D Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Exercise 2: Running the Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

Table of Contents Volume II

Module 5: Sector Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

Module 6: Network Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .259

Module 7: Reservoir Coupling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281

Module 8: Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

Module 9: Gas Lift Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .375

Module 10: Gas Field Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389

Module 11: Local Grid Refinement (Optional) . . . . . . . . . . . . . . . . . . . . . . . . 407

iv ECLIPSE Advanced Topics Workflow/Solutions Training, Version 2.0


Schlumberger About this Manual

About this Manual

This training covers advanced topics of reservoir simulation in


ECLIPSE, including methods to initialize a model and various
ways to change saturation function end points and corresponding
scaling. You will learn about different methods for matching the
initial water saturation distribution, the pros and cons of each
method, and a suggested workflow of best practice.

There will be a discussion of the facilities available in ECLIPSE


and Petrel RE to set up and run sector models, including a full
description of the facilities available to mimic the field
development strategy, well grouping for injection/production
scheme, and ways to control wells associated with manifolds or
recollection points.

The feature Network Options shows you the wells and facilities
interaction at the surface level, as well as the facility to couple
more than two reservoir models to the network.

From the perspective of well modeling, every well is treated as a


series of connections in the simulation model, which is default
behavior and the most common way of specifying a well in the
simulator. This approach does not take into account pressure
losses due to friction, acceleration, and slip of phases in the tubing
or annulus (if that is the case), but a multi-segmented model is
presented as a way to model these effects.

The convergence module describes how to improve convergence


and the speed of the ECLIPSE simulators by simple changes to
the data file.

Lastly, an option is presented that shows you how to optimize


artificial gas lift at the level of individual wells, groups and
ECLIPSE networks.

There are two optional modules – Gas Field Operation and Local
Grid Refinement. Gas Field Operation introduces further facilities
to mimic the gas contract and delivery capacity for these types of
fields, while Local Grid Refinement and coarsening are ways in
which horizontal and multi-lateral wells can be simulated using
ECLIPSE.

ECLIPSE Advanced Topics Workflow/Solutions Training, Version 2.0 1


About this Manual Schlumberger

Learning Objectives
This training provides an explanation of how to model advanced
features in the simulation model. After completing this training,
you will know how to:

• initialize simulation models with an appropriate method


• apply end point scaling for different purposes
• match initial water saturation with the appropriate method
• control production and injection wells at a variety of hierarchy
levels
• use the Multi-segmented well feature to describe trajectory
and connections, including pressure drop effects for deviated
and horizontal wells
• represent the interaction of a reservoir model with surface
facilities
• model the full development of a field, including several
reservoirs
• model a particular exploitation strategy and operational cycle
for a gas field
• optimize artificial gas lift for a well, a group or a network.

What You Will Need


In this training you will need the following documents, hardware,
and software:

• Windows-based system
• Training data sets
• A graphic card compatible with Petrel
• Full ECLIPSE installation, including a full set of features
• Petrel with the latest patches, including the Petrel for
Reservoir Engineers license. (The license is needed for
some exercises.)
• Microsoft Excel or equivalent (for .xls spreadsheet
manipulation).

2 ECLIPSE Advanced Topics Workflow/Solutions Training, Version 2.0


Schlumberger About this Manual

What to Expect
In each module within this training material, you will encounter the
following:

• Overview of the module


• Prerequisites to the module (if necessary)
• Learning objectives
• A workflow component (if applicable)
• Lessons, which explain about a subject or an activity in the
workflow
• Procedures, which show the sequence of steps needed to
perform a task
• Exercises, which allow you to practice a task by using the
steps in the procedure with a data set
• Scenario-based exercises
• Questions about the module
• Summary of the module
You will also encounter notes, tips and best practices.

ECLIPSE Advanced Topics Workflow/Solutions Training, Version 2.0 3


About this Manual Schlumberger

Course Conventions
Characters typed in Represent references to dialog box names
Bold and application areas or commands to be
performed. For example, "Open the Open
Asset Model dialog." or “Choose
Components.”
Used to denote keyboard commands. For
example, "Type a name and press Enter."
Identifies the name of Schlumberger software
applications, such as ECLIPSE or Petrel.
Characters inside <> Indicate variable values that the user must
triangle brackets supply, such as <username> and
<password>.
Characters typed in Represent file names or directories, such as
italics "... edit the file sample.dat and..."
Represent lists and option areas in a window,
such as Attributes list or Experiments area.
Identifies the first use of important terms or
concepts. For example, "compositional
simulation…" or “safe mode operation.”
Characters typed in Represent code, data, and other literal text the
fixed-width user sees or types. For example, enter
0.7323.

NOTE: Some of the conventions used in this manual indicate the


information to enter, but are not part of the information
For example: Quotation marks and information between
brackets indicate the information you should enter. Do
not include the quotation marks or brackets when you
type your information.

Instructions to make menu selections are also written using bold


text and an arrow indicating the selection sequence, as shown:

1. Click File menu > Save (the Save Asset Model File dialog
box opens.)
OR

Click the Save Model toolbar button.


An ‘OR’ is used to identify an alternate procedure.

4 ECLIPSE Advanced Topics Workflow/Solutions Training, Version 2.0


Schlumberger About this Manual

Icons
Throughout this manual, you will find icons in the margin
representing various kinds of information. These icons serve as
at-a-glance reminders of their associated text. See below for
descriptions of what each icon means.

ECLIPSE Advanced Topics Workflow/Solutions Training, Version 2.0 5


About this Manual Schlumberger

Summary
In this introduction, we have

• described the learning objectives


• outlined what tools you will need for this training
• discussed what you will encounter within this material.

6 ECLIPSE Advanced Topics Workflow/Solutions Training, Version 2.0


Schlumberger About this Manual

NOTES

ECLIPSE Advanced Topics Workflow/Solutions Training, Version 2.0 7


About this Manual Schlumberger

NOTES

8 ECLIPSE Advanced Topics Workflow/Solutions Training, Version 2.0


Schlumberger Initialization and End Point Scaling

Module 1 Initialization and End


Point Scaling
Initialization of simulation models is a very important step in
reservoir simulation. It provides the initial conditions on which all
subsequent solutions are based. The initial conditions define the
initial oil, gas and water in place, and initial reservoir pressure
which are very important reservoir data. The accuracy of the initial
conditions will affect not only the initial fluids in place, but also the
subsequent results of the simulation.

One of the initialization methods is equilibration, which is closely


related to saturation end points.

End point scaling is one of the options available in ECLIPSE


models. Many problems can occur in a simulation using ECLIPSE
that are related to end point scaling, so it is critical that you
understand end point scaling and learn to use it properly.

One of the practical scenarios of initializing simulation models is


creating the correct initial water saturation in the model. There are
different ways to do this, and it is vital that you understand the
pros and cons of each method so that you can use the appropriate
method for any given scenario.

This module discusses three important topics: initialization, end


point scaling, and matching initial water saturation distribution.
Each topic focuses on the methodology, the implementation and
the practical application, and presents examples and workflows
using the functionalities.

Prerequisites
To successfully complete this training, you must have

• Basic Windows knowledge and practical computing skills


• An understanding of applied numerical reservoir simulation
• Completed the ECLIPSE Black Oil training, or have
equivalent experience.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 9


Initialization and End Point Scaling Schlumberger

Learning Objectives
After completing this module, you will understand how initialization
and end point scaling work, and you will know how to:

• use the initialization and end point scaling functionalities in


ECLIPSE
• initialize models with appropriate method
• apply end point scaling correctly
• match the initial water saturation in the model with the
appropriate method for a variety of scenarios.

Lesson 1 Initialization

Reservoir simulation models are used to solve quantities, such as


pressure and saturations which change with time. The purpose of
initialization is to specify, or obtain, the initial conditions of the
model, such as the initial values of the primary variables for each
cell, including

• Pressure (P)
• Saturation (S)
• Solution gas oil ratio (RS) and vaporized oil gas ratio (RV) for
black oil models
• Component mole fractions (XMF, YMF) for compositional
models
• Temperature (TEMPI) for thermal models.
Models with other special options are specified or calculated
during initialization, such as the initial solutions of tracer
concentration quantities for tracer models.

There are three methods in ECLIPSE for initialization:


Enumeration, Restart and Equilibration.

TIP: Restart is considered as a special case of enumeration.

10 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Enumeration
The first method of initialization in ECLIPSE is enumeration. In
enumeration, each primary variable is given a value for each cell
directly, and different primary variables are needed for the
different phases present in the model.

If three phases - oil, water, and gas - are present in the model, the
three primary variables are block pressure (PRESSURE), water
saturation (SWAT), and gas saturation (SGAS).

If only oil and water are present in the model, block pressure,
water saturation and solution oil gas ratio (RS) are needed to
specify as initial solutions. For gas/water models, block pressure,
water saturation, and vaporized oil gas ratio (RV) are the primary
variables.

For compositional models, instead of RS or RV, initial oil


composition (XMF) and gas composition (YMF) are the primary
variables. These initial values must be specified for enumeration,
in addition to block pressure, and saturations of water and gas.

For thermal cases, initial temperature (TEMPI) is also needed to


define for enumeration.

Methods of Enumeration
Enumeration can be specified in several ways:

• Directly specify a solution value for each cell


• Get solutions from a restart file
• Specify a solution as a function of depth
• Specify a solution as a function of pressure
• Specify the compositions of a sample
The Direct Method

You can define values directly for each cell using the name of the
array for each variable.

For example, to specify block pressure, use the keyword


PRESSURE to give each cell a value. For a model with a dimension
of 10 X10 X 5, 500 values are needed for PRESSURE.

PRESSURE
100*500 100*600 100*700 100*800 100*900 /

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 11


Initialization and End Point Scaling Schlumberger

In addition to PRESSURE, you can specify SWAT, SGAS, RS/


PBUB,RV/PDEW and XMF or YMF.

Restart File Method

You can obtain the values of a variable from a restart file using the
keyword GETSOL in ECLIPSE 300, or GETDATA in ECLIPSE 100.

For example, to specify initial solutions of SWAT from the restart


file BASE.X0000 in ECLIPSE 100, enter:

GETDATA
BASE.X0000 UNFORMATTED SWAT SWAT /
This is useful when some of the solutions are obtained from the
restart file, and others are specified using other methods. For
example, get the pressure and saturations from a black oil restart
file (BO.X0010) and specify the compositions explicitly in the
compositional model (9 components):

GETSOL
PRESSURE BO 10 /
SWAT BO 10 /
SGAS BO 10 /
/
XMF
500*0.0021 500*0.0294 500*0.6599 500*0.0869
500*0.0591 500*0.0967 500*0.0472 500*0.0153
500*0.0034 /
YMF
500*0.0021 500*0.0294 500*0.6599 500*0.0869
500*0.0591 500*0.0967 500*0.0472 500*0.0153
500*0.0034 /
A Function of Depth Using Tables

The initial solution of a variable can also be obtained by looking up


a table of the variable versus depth. For example, a table of
pressure versus depth can be entered by keyword PRVD, and a
table of temperature versus depth can be entered by TEMPVD.

During enumeration, ECLIPSE looks up the table using the depth


of the cell center to get the value for PRESSURE and / or
temperature.

12 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Function of Pressure Method

For compositional models, the component mole fraction in oil and


gas can be specified as a function of pressure using keywords
XMFVP and YMFVP. These tables are generated by PVTi from the
constant volume depletion (CVD) or differential liberation (DL)
experiments. During initialization, ECLIPSE obtains the values of
XMF and YMF by looking up these tables using the initial pressure
of each cell.

Specify Compositions of a Sample

With the NEI option, you provide a sample composition. ECLIPSE


will then generate the oil and gas compositions by flashing that
sample to the cell pressure (PRESSURE) - effectively a constant
composition expansion (CCE). This ensures thermodynamic
equilibrium.

For example, you may have a compositional model restarted from


a black oil model for given compositions of a fluid sample.

To obtain pressure and saturation from the black oil restart file,
say BO.X0012, specify:

GETSOL
PRESSURE BO 12 /
SWAT BO 12 /
SGAS BO 12 /
/
To define the fluid compositions, use

NEI
0.0021 0.0294 0.6599 0.0869
0.0591 0.0967 0.0472 0.0153
0.0034 /
In thermal models, ECLIPSE tries to match the oil, water and gas
saturations in each equilibration region. If the specified
compositions cannot match the phase saturations, the
composition of components with the highest gas phase mole
fraction are adjusted.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 13


Initialization and End Point Scaling Schlumberger

Phase Pressure
Phase pressures can be calculated based on the block pressure
(PRESSURE). This is calculated differently for black oil models
than it is for compositional models.

Black Oil Models


For black oil models, the oil phase pressure is equal to the block
pressure; the water pressure is equal to the oil pressure minus the
capillary pressure between oil and water (PCOW); and the gas
pressure is equal to the oil pressure plus the capillary pressure
between oil and gas (PCOG).

Compositional Models
For compositional models, a default technique named capillary
pressure splitting is used to calculate the oil and gas phase
pressures to overcome the discontinuity and, the resulting
possible convergence difficulties that can occur when oil is
changed into gas or vice versa, above the critical point.

In compositional models, the oil pressure is equal to the block


pressure minus the capillary pressure between oil and gas (PCOG)
multiplied by the gas saturation (SGAS) and divided by the
hydrocarbon saturation (SGAS+SOIL).

The gas pressure is equal to block pressure plus the capillary


pressure between oil and gas (PCOG) multiplied by the oil
saturation (SOIL) and divided by the hydrocarbon saturation
(SGAS+SOIL).

When Pc splitting is used, the oil pressure is equal to the block


pressure minus the oil gas capillary pressure, multiplied by the
saturation ratio of gas over hydrocarbon. The gas pressure is
equal to the block pressure plus the oil gas capillary pressure,
multiplied by the saturation ratio of oil over hydrocarbon.

The Pc splitting can be turned off by setting NOPCSPT in


FORMOPTS, in which case oil and gas phase pressures are
calculated in compositional models the same way as black oil
models.

14 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Non-equilibrium Conditions
The initial conditions obtained by enumeration may not be in
hydrostatic equilibrium, as the phase pressures may not be
consistent with the initial saturations and/or the compositions.
Sometimes, this is what the initial condition should be.

For example, at the end of the history match of a black oil model,
you can start a compositional prediction run to simulate the effect
of compositional changes. In this case, you can obtain the
pressure and saturations from the restart file of the black oil model
and specify the compositions (XMF, YMF) by enumeration. To
achieve thermodynamic equilibrium, fluid compositions can be
specified by NEI, as described above.

Enumeration is also used when the initial solutions are obtained


from other software or observed data.

Restart
The second method of initialization in ECLIPSE is a restart, and it
can be considered a special case of enumeration. In a restart run,
the initial solutions are read from a restart file that has been
generated by an earlier run. It can restart from any reporting time
step, so long as a restart has been written at that point.

Figure 1 shows a run that restarts from reporting time, step 25 of


BASE.DATA. There must have been a control keyword specified
in BASE.DATA (such as RPTRST BASIC=2 /) to output a restart
file containing the solution at reporting time (step 25). Initial
solutions are read from a Restart file created by an earlier
ECLIPSE run.
(Base Run)
Report
time step 25 Cell
RESTART Saturations &
Pressures
Field Production Rate

BASE 25 / recorded

(Restart Run)

Time

Figure 1 Restart

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 15


Initialization and End Point Scaling Schlumberger

Applications of Restart
A restart can be used in several ways:

• as a part of multiple stage history match


• to predict from the end of a history match
• to allow multiple stage predictions
• any time there is a restart from a specific report time step.
When multiple prediction scenarios are being examined, it is
common to use a restart from the end of the history match. This
avoids repeatedly simulating the historical phase. A restart file
should be written at the end of the history match run. All the
prediction runs will restart from this restart file.

A restart can also be used in multi-stage history matches or


prediction runs. Stage n+1 run can be restarted from the end of
stage n run. Basically, with restart, it is not necessary to rerun the
model from the very beginning, resulting in time savings. The
restart run should yield results similar to the combined run of the
base run and the restart run. You may get slightly different results,
as the restart run may use different time steps, particularly at the
restart point.

Equilibration
In most of the simulation models, reservoirs are under initial
conditions in which gas, oil and water are in hydrostatic
equilibrium, and compositions are in thermodynamic equilibrium
(Figure 2) before any well is drilled.

In ECLIPSE, the equilibration method is used to calculate the


initial pressure, saturations, and compositions based on these
assumptions. This method is appropriate for reservoirs with an
established equilibrium state.

Figure 2 Equilibration

16 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

To obtain the initial solutions using equilibration, the data required


includes

• Pressure at the datum depth


• Oil/water contact depth
• Gas oil contact depth
• Capillary pressure at the contact depth
• Initial Rs and Rv as a function of depth (ZMF or XMF and
YMF values for compositional simulation)
• Saturation end points
• Capillary pressure versus saturation curves
• PVT data.
If there is more than one equilibrium region, these data should be
provided for each equilibration region. In ECLIPSE these data are
specified in each row of keyword EQUIL for each region. The
equilibration regions are defined by EQLNUM. The maximum
number of equilibration regions is defined in EQLDIMS.

In a model with only gas and water, the oil water contact depth
should be set to be equal to the gas oil contact depth; the oil-water
capillary pressure should be used to define the gas-water capillary
pressure; and oil/gas capillary pressure should be set to zero

Specifying Equilibration Data


To specify a water/gas case:

1. Set OWC = GOC.


2. Set Pcgw = Pcow, Pcog=0.
One model may have more than one equilibration regions
(see EQLDIMS), and each row sets data for each
equilibration region (EQLNUM). EQUIL items are interpreted
differently depending on the phases present.

EQUIL
--D P OWC Pcow GOC Pcog RSV/PBVD RVVD/PDVD N
7000 4000 7150 0 1* 1* 1* 1* 0 /

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 17


Initialization and End Point Scaling Schlumberger

Calculating Initial Equilibrium Conditions


In each equilibrium region, phase pressures are calculated before
saturations. Phase pressures in each grid block are calculated in
two steps:

1. Build up an internal table of Po, Pw, Pg versus depth.


2. Interpolate the internal table for each grid block based on its
depth.
To calculate the saturation:

1. Get Pc from phase pressures.


2. Use saturation and end points in gas, oil, and water zones.
3. Do an inverse lookup of Pc ~S table to get Sw and Sg in
transition zones.

The capillary pressures between two phases are calculated based


on the phase pressures for each cell. The saturation is obtained
by inversely looking up the capillary versus saturation curves for
the cells in the transition zone. The saturations of the cells in oil,
gas or water zones are calculated using the saturation end points.

For example, in gas cap, water takes the connate water


saturation, gas saturation is equal to the maximum gas saturation,
and the rest is oil if any. As a result, the initial phase saturation
from equilibration is very closely related to the saturation end
points.

18 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Initial Pressure vs. Depth Tables


The accuracy of the pressures and saturations from the above
procedures depends on the number of intervals in each EQLNUM
region. This number is defined by item 2 of keyword EQLDIMS.
The intervals are equally spaced from the top to the bottom of the
model. A large number of intervals are needed, if the oil leg is
relatively small, to increase the accuracy of the oil pressures
calculated from the equilibration.

Because the equilibration is an iterative process, discussed in


detail later, in some cases a large number of vertical intervals are
required to converge the initial solutions.

The phase pressures in the internal table are calculated based on


the equilibration data defined in each row of keyword EQUIL
(Figure 3).

Calculating Phase Pressure


To calculate phase pressures in the internal table:

1. Start from the pressure at the datum depth.


Normally, this point is in the oil leg if oil is present in the
model. Assume this is the case here.
2. Calculate oil pressure upwards and downwards at each
interval depth based on the oil density (ρo) of the interval and
the depth span Po(D2)=Po(D1)+ρog(D2-D1).
This is an iterative process, as the density is a function of
pressure, and pressure depends on the density.
3. At the gas oil contact, the gas pressure can be calculated
based on the oil pressure and the gas-oil capillary pressure
which is given in EQUIL (item 6) Pg=Po+Pcog.
All the gas pressures at each interval depth can be
calculated based on the gas density and change in depth
between each interval.
4. Similarly at the oil water contact, the water pressure can be
calculated based on the oil pressure and the oil-water
capillary pressure which is given in EQUIL (item 4) Pw=Po-
Pcow.
All the water pressures at each interval depth can be
calculated based on the water density and depth span.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 19


Initialization and End Point Scaling Schlumberger

EQUIL
--D P OWC Pcow GOC Pcog
3700 4000 7150 0 3500 0 /

Figure 3 Phase pressure calculation

20 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Phase Saturations
After the phase pressures are calculated, the phase saturations in
the gas, oil and water zones can be calculated based on the
saturation end points. Figure 4 shows that the connate water
saturation exists in all the three zones.
Pressure
G-O Rel Perm

Sg = 0.77 GAS ZONE:


Sg = SGU
Sw = SWL
Sw = 0.23 So = 1 – SWL - SGU Krog Krg

GOC TZ
SGL SGU
Datum
So = 0.77 OIL ZONE:
Sg = SGL, usually zero
Sw = SWL
Sw = 0.23 So = 1 – SWL – SGL O-W Rel Perm

Kro SWU
TZ
Krw

OWC = FWL SWL


(Pcow = 0)
WATER ZONE:
Sw = 1.00 Sg = SGL, usually zero
Sw = SWU
Depth So = 1 – SWU – SGL

Figure 4 Phase saturation calculations, based on end points

Gas takes its maximum saturation in the gas cap and the value of
connate gas elsewhere, water takes the maximum water
saturation in the water zone and connate water elsewhere, and oil
saturation is the difference between 1 and the sum of the gas and
water saturations in all the three zones.

Normally, the connate gas saturation is 0, and maximum water


saturation is 1.0 in the saturation tables for water wet rocks.
Sometimes, positive oil saturation is obtained in the water region
from the equilibration. The main reason for this is the maximum
water saturation in the saturation table is less than 1.0. This is un-
physical if the rock is water wet, although it may be the case for oil
wet or mixed wettability.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 21


Initialization and End Point Scaling Schlumberger

Figure 5 shows how the phase saturations are calculated in the


transition zone. After the phase pressures are calculated from the
internal table of pressure versus depth for each cell in the
transition zone, the capillary pressures between phases can be
calculated.

The capillary pressures are used to inversely look up the capillary


pressure versus saturation curves to obtain the phase saturations.

Calculating Phase Saturation


To calculate phase saturation:

Figure 5 Saturations in the transition zone

1. Calculate Pcog and Pcow in the transition zones of the


model.

Pcow  Po  Pw

Pcog  Pg  Po

22 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

2. Inverse-lookup Sw from Pc tables and assign the value to


cell centers.

If the oil-water capillary pressure exceeds the highest capillary


pressure value (corresponding to the connate water saturation
SWL), the water saturation is set equal to SWL. If oil-water capillary
pressure is less than the lowest capillary pressure (corresponding
to the highest saturation SWU), the water saturation is set equal to
SWU and the oil pressure is adjusted to follow the water pressure
gradient.

Similarly for gas, if the gas-oil capillary pressure is less than the
lowest capillary pressure value (corresponding to the connate gas
saturation SGL); the gas saturation is set equal to SGL. If the gas-
oil capillary pressure exceeds the highest capillary pressure value
(corresponding to the highest gas saturation SGU), gas saturation
is set equal to SGU and the oil pressure is adjusted to follow the
gas pressure gradient. The end points mentioned above, SWL,
SGL, SWU, and SGU, are explained in detail in the next lesson.

Average Block Saturation


In the above process, a different number of points in each grid
block can be used to calculate the average saturation and, as a
result, the fluid in place. Item 9 of keyword EQUIL (=N) defines
three options for calculating the average saturation of a cell using
different points.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 23


Initialization and End Point Scaling Schlumberger

Single Point Option


Figure 6 shows the first option (N=0), which is to use a single
value at the center of the cell to calculate the average saturation in
the cell. That is, using the phase pressures at the depth of the cell
center to calculate the capillary pressure, then the average
saturation of the cell by inversely looking up the capillary pressure
versus saturation table. This way, the phases are held by the
capillary pressures in the transition zones so that all the phases
are in hydrostatic equilibrium. However, the fluid in place may not
be accurate if the grid blocks are very large.

Figure 6 Average saturation in equilibration

As shown in Figure 6, the effective oil water contact obtained from


the single point average is the dashed purple line, which shows
inaccurate water and oil in place.

Multi-point Average

To overcome the shortcomings of this option (N=0), two other


options (N<>0) are available to calculate the cell average
saturation with multiple points (referred to as fine grid
equilibration).

When N<0 is applied, each cell is divided into N intervals above


the center of the cell, and N intervals below the center of the cell.

24 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Saturation at the center of each interval is calculated by the above


process (phase pressures- > capillary pressure- >saturation). The
average saturation of the cell is set to the arithmetic average of all
the saturations from all the 2*(-N) intervals.

When N>0 is used, the procedures are the same except for the
averaging method; the horizontal cross-section area of the top of
each interval is used as a weighting factor when the arithmetic
averaging is used. In other words, the average saturation of a cell
is equal to the arithmetic average of (top cross section area X
saturation) of all the 2N intervals.

Obviously, these two options (N<>0) give more accurate fluid in


place than option 1 (N=0) when the cell is large, and option 3
(N>0) gives more accurate fluid in place than option 2 (N<0) when
the cell is tilted. However, with options 2 and 3, the cells may not
be in steady state anymore. When the simulation starts, even
without open wells, there may be flow between grid blocks.

Non-equilibrium Conditions
The reason that non-equilibrium conditions resulted from option 2
or 3 is because the average saturation from the block center
equilibration (N=0) corresponds to the pressure at the center of
the cell. This results in steady state because the calculated
pressure is based on the hydrostatic equilibrium.

If the saturation Sw1 obtained from option 2 (N<0), or option 3


(N>0) is different from the saturation Sw2 obtained from option 1
(N=0), there would be a difference between the phase pressures
corresponding to the saturations (Figure 7). This pressure
difference causes flow when simulation starts, even without open
wells.

To make the initial conditions steady state when options 2 or 3 is


used, this pressure difference can be corrected by selecting
QUIESC in keyword EQLOPTS. This modifies the capillary
pressures so that the phase pressures are consistent in each cell.
The modified capillary will be carried out throughout the entire
simulation of the model. ECLIPSE can write this pressure
difference to the PRT file as W-QUIESC when QUIESC is selected
in keyword RPTSOL.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 25


Initialization and End Point Scaling Schlumberger

To make it steady state, modify the PWAT by adding


PMODW=(Pcow2-Pcow1) so that Pwat = P – Pcow + PMODW. PMODW
can be reported in PRT file as ‘W-QUIESC’ by specifying

RPTSOL
QUIESC /
• Sw1 from block center equilibration
• Sw2 from fine grid equilibration
• (Pcow2-Pcow1) causes flow

Figure 7 Make the file grid equilibration steady state

Mobile Oil in Place Correction


After initialization, ECLIPSE reports the initial mobile oil in place in
the PRT file. This is the amount of oil that can flow if there is a
potential difference. The mobile oil volume in a cell is equal to the
pore volume minus the immobile oil volume and minus the water
volume.

Normally, the immobile oil volume in a cell is calculated as the


product of the pore volume and the critical oil saturation. However,
if there is an oil water contact within the cell (Figure 8), the
immobile oil volume would be overestimated using this
calculation. Instead, the immobile oil volume should be B instead
of (B+D), as there is no oil under the oil water contact.

To correct the mobile oil in place using the same formula in this
example, the critical oil with water saturation (SOWCR) should be
reset to B/PORV. MOBILE, defined in keyword EQLOPTS, turns on
the mobile fluid in place correction option in ECLIPSE.

26 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

OWC is within the cell. The immobile oil is NOT


(B+D)=PORV*SOWCR.

The B correction is

Set SOWCR=B/PORV

RUNSPEC
EQLOPTS
‘MOBILE’ /

Figure 8 Mobile fluid in place correction

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 27


Initialization and End Point Scaling Schlumberger

Vertical Equilibration (VE) Runs


In a vertical equilibrium (VE) run, even with option 1 (N=0), the
fluid in place is calculated in such a way that the gas oil and water
oil contacts are observed accurately, as shown in Figure 9.

Figure 9 Equilibration in VE runs

Threshold Pressure
After the equilibration, each EQLNUM region is in equilibrium state.
But there may be flow across adjacent EQLNUM regions if there is
potential difference between the two regions. In reality, flow may
occur only when the potential difference between the two regions
exceeds a threshold value.

In ECLIPSE, these threshold values can be specified by keyword


THPRES, as shown in Figure 10.

Figure 10 Threshold pressure between adjacent EQLNUM


regions

28 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

ECLIPSE can calculate the maximum potential difference


between two regions after the equilibration and report the values
in the PRT file if it is defined.

RPTSOL
THPRES /
Such threshold values can be specified to prevent flow between
adjacent EQLNUM regions immediately after the equilibration. This
can be achieved by setting the threshold pressure to default for
item 3 of keyword THPRES.

The example in Figure 10, shows how to set threshold pressure


between EQLNUM region 1 and region 2 to prevent any flow
between the two regions under the initial conditions.

THPRES
1 2 1* /
/

Initial RS and RV Values for Black Oil Models


As described above, fluid density is required to calculate the
phase pressures during equilibration. Under reservoir conditions,
gas may be dissolved into oil, and oil may be vaporized into gas.
When oil density is calculated under reservoir conditions, the
amount of solution gas, measured by RS, is taken into account.

Similarly, when gas density is calculated under reservoir


conditions, the amount of vaporized oil, measured by RV, is taken
into account. How the initial values of RS and RV are obtained
depends on the options defined in keyword EQUIL.

If item 7 is defined as 0 or a negative value, RS is taken from the


saturated RS at the gas oil contact. In this case, the datum depth
must be set at the gas oil contact. The datum pressure is used to
look up the PVT table to get the saturated RS. If item 7 is defined
as a positive value, the RS value is obtained from the RSVD table
up to the saturated RS (the RS corresponding to the grid block
pressure).

Similarly for RV, if item 8 is defined as 0 or a negative value, RV is


taken to be the saturated RV throughout the gas zone. In this
case, the datum depth must be set at the gas oil contact. The
datum pressure is used to look up the PVT table to get the

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 29


Initialization and End Point Scaling Schlumberger

saturated RV. If item 8 is defined as a positive value, the RV value


is obtained from the RVVD table up to the saturated RV (the RV
corresponding to the grid block pressure).

Thermodynamic Equilibrium for Compositional Models


For compositional models, thermodynamic equilibrium between
phases is needed in addition to hydrostatic equilibrium.
Thermodynamic equilibrium is established after lighter
components go up and heavy components go down, which results
in composition variations with depth. There are two possible types
of composition gradients: fluid changing smoothly from gas to oil
without a distinct gas oil contact and fluid changing from gas to oil
with a distinct gas oil contact.

With No Distinct GOC

These two types of fluids can be predicted by PVTi with a COMPG


experiment. The behavior of the first type of fluid is shown in
Figure 11. The reservoir pressure is well above the saturation
pressure, and the pressure gradient is almost linear. There is no
distinct gas oil contact, and the content of methane is decreasing
and the content of the heavy is component increasing smoothly
with depth.

Figure 11 Smooth transition from gas to oil without GOC

To set up this type of fluid in equilibration, option 1 (item 10 of


EQUIL=1) should be used. Similarly, models with any single

30 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

hydrocarbon phase, such as gas condensate above the dew point


pressure or oil above the bubble point pressure, can use this
equilibration option. Total composition versus depth (ZMFVD) table
is set up to define the initial composition variation with depth.

For gas condensate, the gas oil contact depth should be set to be
equal to the oil water contact depth. Gas oil contact may be
defined within the reservoir so that fluid above the GOC is labeled
as gas and fluid below the GOC is labeled as oil.

To setup composition variations with depth -1:

• Use EQUIL 10 = 1.
• Use ZMFVD to specify the initial composition variation with
depth.
• Use GOC = OWC to identify the gas condensate field.
• Use GOC within the reservoir to label the fluid as Oil below
GOC or Gas above GOC.
With a Distinct GOC

The second type of fluid changes from gas to oil with a distinct
gas-oil contact as shown in Figure 12. The saturation pressure
changes sharply and the dew point pressure meets the bubble
point pressure at the GOC. The methane content changes very
sharply near the gas oil contact. The gas-oil contact is well-
defined.

Figure 12 Transition with a distinct GOC

To set up equilibration for this type of fluid, use either option 2


(item 10 of EQUIL=2) or option 3 (item 10 of EQUIL=3), shown in

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 31


Initialization and End Point Scaling Schlumberger

Figure 12. In both cases, the datum depth should be set at the gas
oil contact.

If you use option 2, ZMFVD specifies the initial vapor composition


above the GOC, the retrograde dew point pressure is obtained for
the vapor at the GOC, and the composition of the liquid in
equilibrium with the saturated vapor is used below the GOC.

If you use option 3, ZMFVD specifies the initial liquid composition


below the GOC. The bubble point pressure is obtained for the
liquid at the GOC, and the composition of the vapor in equilibrium
with the saturated liquid is used above the GOC. It is a common
mistake to use the wrong option to equilibrate a fluid, which yields
the wrong initial fluids in place.

For example, using option 2 or 3 for a single hydrocarbon fluid, or


using option 1 for a fluid with distinct gas oil contact, yields the
wrong fluids in place and simulation results.

To set up composition variations with depth, there are two options.

Option 1: EQUIL Item 10 is Set to 2

1. Use ZMFVD to specify the initial composition above GOC.


2. Obtain retrograde dew point pressure for the vapor at GOC.
3. Use the composition of the liquid in equilibrium with the
saturated vapor below GOC.
Option 2: EQUIL Item 10 is Set to 3

1. Use ZMFVD to specify the initial composition below GOC.


2. Obtain bubble point pressure for the liquid at GOC.
3. Use the composition of the vapor in equilibrium with the
saturated liquid above GOC.
Pressure Consistency at the Distinct GOC

When option 2 or 3 is used for a fluid changing from gas to oil with
a distinct GOC, the pressure at the datum depth (= GOC depth in
this case) should be equal to the calculated saturation pressure at
this depth.

If the difference between the two pressures is larger than 1


atmosphere (by default item 11 of EQUIL=0), ECLIPSE resets the
datum pressure to the calculated saturation pressure. Setting item
11 of EQUIL to 1 prevents this reset, in which case the user-
defined datum pressure is observed, regardless of the calculated

32 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

saturation pressure. This results in a thermodynamically non-


equilibrium system.

In practice, if the difference between the datum pressure and the


calculated saturation pressure is significant, check both the datum
pressure and the EoS data of the fluid, and try to make them
consistent.

Questions
These questions are for discussion and review.

• What is the purpose of initialization?


• What initialization methods are available in ECLIPSE? How
do they work? What models should they apply to?
• How is the cell average saturation calculated in the transition
zone during equilibration? In which situation are the
calculated initial conditions not in steady sate? How can you
make them steady state? How do you make mobile fluids in
place correction?
• How may options available in ECLIPSE compositional be
used for thermodynamic equilibration? How do they work?
What fluid should each option apply to?
• How do you initialize a compositional model from a black oil
restart file if the compositions of a sample are given?

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 33


Initialization and End Point Scaling Schlumberger

Lesson 2 End Point Scaling

End points are used during initialization to calculate the initial


phase saturations in gas, oil and water zones, and capillary
pressures (Pc) are used to calculate saturations in the transition
zones. During simulation, relative permeability (Kr) is used to
calculate the phase mobility, and capillary pressure is used to
calculate the phase pressures based on the block pressures
(Figure 13).

Figure 13 Purpose of saturation functions and end points

34 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Purposes of End Point Scaling


The basic idea of end point scaling (EPS) is to generate saturation
function curves with different end points based on a set of base
input curves. With a small number of saturation tables as input in
the PROPS section, different relative permeability and capillary
pressure curves will be derived by applying linear transformation
on these input curves using different end points. The scaled
curves will be used in the simulation.

End point scaling can be used for different purposes and can be a
way to reduce the number of input saturation tables if they can be
transformed to a smaller number of generic curves based on
which the original tables can be reproduced with different end
points by scaling.

Different end points are required for:

• sensitivity studies
• matching fluid distribution
• matching water/gas breakthrough
• making the initial solution stable
• effect of composition or temperature on saturation curves
• effect of miscibility
• effect of asphaltene deposition.
One example is that different curves for different rock types may
be normalized into normalized curves in ECLIPSE, with
normalized curves defined in the input table. The cells
corresponding to different types of rocks can be given different
end points, and ECLIPSE can scale the input curves using
different end points to get the curves for each type of rock that will
be used in the simulation.

In ECLIPSE, input curves are not necessarily the normalized


curves where saturation ranges from 0 to 1. The input curves can
have different end points from 0 to 1.

As shown in Figure 14, the generic curve in red is the input, and
the curve for rock type 1 in brown and the curve for rock type 2 in
blue are obtained by scaling the generic curve using different end
points for the rock types.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 35


Initialization and End Point Scaling Schlumberger

It is the scaled curves that are used in the simulation.

Figure 14 End point scaling curves

Different saturation functions with different end points may be


required for different purposes. You might do a sensitivity study on
the effect of relative permeability with different end points, or try to
match the initial fluids in place. End point scaling facilities enable
you to use those saturation functions by changing only the end
points, instead of specifying the input tables with new end points,
which would be very time-consuming.

For example, when engineers try to match the water breakthrough


by different critical water saturations, they can just change the end
point - critical water saturation - instead of specifying the
saturation tables with different critical water saturations. You can
include the effects of different quantities on end points with an
effect on the saturation functions. These quantities range from
composition and/or temperature, through miscibility, to asphaltene
depositions.

Types of End Point Scaling


In ECLIPSE, different end point scaling facilities are designed to
serve different purposes. End point scaling can be applied to
relative permeability (Kr) curves and capillary pressure (Pc)
curves. The scaling can be carried out along the x axis
(saturation) – horizontal scaling – and along the y axis (Kr or Pc) –
vertical scaling.

Capillary pressures can also be scaled and calculated based on J


functions. In both horizontal scaling and vertical scaling, there are
two types of scaling: 2-point scaling and 3-point scaling. There are
also some special end point scaling facilities for compositional
models.

36 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

In compositional models, the saturation end points may be


changed by different properties, such as the composition of a
component, the reservoir temperature, the fluid miscibility, and the
rock wettability.

For example, when temperature is higher, heavy oil may start to


flow when the critical oil is lower. Critical oil saturation can be
increased when the content of light component in oil is reduced.
To simulate these effects, end point scaling can be carried out
dynamically based on the changing properties during simulation.

If miscible flooding is taking place, the relative permeability and


capillary pressure can be between the miscible and immiscible
curves. End point scaling can be carried out for Kr and Pc
between miscible and immiscible curves. In a reservoir, if
asphaltene deposits on the surface of the rock, the wettability of
the rock may be changed, which means that relative permeability
curves can be scaled between oil wet and water wet curves.

End Points
There are 8 saturation end points in the saturation functions that
are used in horizontal end point scaling.

For gas and water, scaling includes

• Connate saturations
• Critical saturations
• Maximum saturations.
The oil phase has two critical saturation end points for scaling:

• Critical oil saturation with water


• Critical oil saturation with gas
The corresponding keywords and their definitions are listed below.

SWL Connate water saturation, which is the minimum water


saturation defined in the saturation function.
SGL Connate gas saturation, which is the minimum gas
saturation defined in the saturation function.
SWCR Critical water saturation, which is the highest water
saturation defined in the saturation function table at
which water is immobile.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 37


Initialization and End Point Scaling Schlumberger

SGCR Critical gas saturation, which is the highest gas


saturation defined in the saturation table at which gas
is immobile.
SWU Maximum water saturation defined in the saturation
functions.
SGU Maximum gas saturation defined in the saturation
functions.
SOWCR Critical oil saturation with water, which is the largest oil
saturation at which oil is immobile in water.
SOGCR Critical oil saturation with gas which is the largest oil
saturation at which oil is immobile in gas.

The connate saturations are used to calculate the initial fluids in


place, and they determine the location of the maximum capillary
pressure and oil relative permeability. Critical saturations are the
maximum saturations in which a phase does not move.

Kr Horizontal End Point Scaling


In horizontal end point scaling, there are two types of scaling:
2-point scaling and 3-point scaling.

2-point Scaling

Figure 15 shows the effect of 2-point horizontal end point scaling


for relative permeability curves. On the left-hand side are the input
curves, and on the right-hand side are the curves after the end
point scaling where new end points SWL, SWCR and SOWCR are
used.

End points in 2-point scaling:

Krw SWCR and SWU


Krg SGCR and SGU
Krow SOWCR and (1-SWL-SGL)
Krog SOGCR and (1-SWL-SGL)

The scaled curves maintain the shape of the input curves but have
different end points, and the maximum and minimum Kr values at
the two end points are maintained. The minimum water relative
permeability point has been moved horizontally with SWCR, while

38 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

the minimum oil relative permeability has been moved horizontally


with SOWCR.

The maximum oil relative permeability point has been moved


horizontally with SWL.

Figure 15 Effect of saturation end point scaling

Figure 16 shows how the horizontal scaling for the relative


permeability is implemented by ECLIPSE as a linear
transformation of the saturation axis between two points. In the
simulation run, for each grid block, a saturation table is assigned
by SATNUM / IMBNUM (for imbibition in hysteresis). The two end
points from the table - critical saturation and maximum saturation
(Sl and Su) - and those that are defined by the user (Sls and Sus)
are known. The saturation in the cell (Ss) is also known.

Saturation S can be calculated from the linear transformation


equation and is then used to look up the unscaled (the input)
curve to get the relative permeability, Kr(S). This is the same as
Krs(Ss), the relative permeability corresponding to Ss on the
scaled curve.

In summary, instead of using the scaled curves to get the relative


permeability directly, ECLIPSE calculates the saturation from the
linear transformation and uses it to get the same relative
permeability from the input curves as that obtained from the
scaled curves. This way, ECLIPSE does not have to save all the
scaled curves in the memory.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 39


Initialization and End Point Scaling Schlumberger

The solution to find Krs(Ss) is a linear transformation:

(Su -S)/( Su -Sl) = (Sus - Ss)/(Sus - Sls)


Use S to look up the input (unscaled) curve to get Kr(S).

Figure 16 Horizontal scaling for Kr along the x axis

The input curves can be normalized curves with saturations


ranging between 0 and 1.

The linear transformation equation shown in Figure 16 can be


reduced to the form as shown in Figure 17 by setting Ssu=Su=1.0.
In this case, one needs to ensure that the normalization that is the
same as the linear transformation as shown in Figure 17 used to
reproduce the original curves.

Normalization: Snorm=(S-Sl)/(Su-Sl).

Figure 17 Normalized curves scaled to the original

40 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

When the 2-point scaling is carried out as described, the relative


permeability at the two end points is preserved. However, the
relative permeability of one phase at the critical permeability of the
other phase in a two-phase cell is changed.

As shown in Figure 18, the water relative permeability at the


critical and maximum water saturations are preserved in the 2-
point scaling, but Krw at critical oil (with water) saturation (SOWCR)
has been changed. To preserve the Kr value at this middle point
as well, 3-point scaling is required.

Figure 18 2-point scaling

3-Point Scaling

3-point scaling can be activated by setting Yes in the keyword


SCALECRS. 3-point scaling enables the relative permeability of
one phase to be preserved at the critical and the maximum
saturation of the phase, as well as at the critical permeability of
the other phase.

As shown in Figure 19, with 3-point scaling, Krw at critical water


saturation (SWCR), critical oil saturation with water (SOWCR), and
maximum water saturation (SWU) have all been preserved. The
three saturation end points that are used in the 3-point scaling are
summarized below.

End points in 3-point scaling:

Krw SWCR, (1-SOWCR-SGL) & SWU


Krg SGCR, (1-SOGCR-SWL) & SGU
Krow SOWCR, (1-SWCR-SGL) & (1-SWL-SGL)

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 41


Initialization and End Point Scaling Schlumberger

Krog SOGCR, (1-SGCR-SWL) & (1-SWL-SGL)


In gas/water simulations:
Krw SWCR, (1-SGCR) & SWU
Krg SGCR, (1-SWCR) & SGU

Essentially, the 3-point scaling is equivalent to two 2-pont scaling.


In Krw for example, the 3-point scaling is 2-point scaling between
SWCR and (1-SOWCR-SGL) and 2-point scaling between
(1-SOWCR-SGL) and SWU.

Krw (1-Sowcr)=

Krwscaled (1-Sowcr)

Figure 19 3-point scaling

The 3-point scaling can be applied in 2-phase flow where the


values of relative permeability at both ends of the 2-phase mobile
region need to be preserved. Shown in Figure 20 is a case in
which water is displacing oil. The 2-phase run preserves the
values of Kr at both ends of the 2-phase mobile region.

3-point scaling can preserve water relative permeability at residual


oil saturation and oil relative permeability at critical water
saturation. Physically, the water breakthrough time and the time
when all the oil is displaced are preserved.

42 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

The scaling will change the shape of the water front, therefore the
oil and water production rates.

Figure 20 Practical implication of 3-point scaling

During 3-point scaling for the water phase, if the end points are
defined in such a way that (1-SOWCR) is very close to SWU, the
scaled Krw curve can be close to vertical (Figure 21), which can
cause convergence problems. To prevent this, set a limit to the
difference between SWU and (1-SOWCR) using the keyword
SCALELIM.

TIP: SCALELIM applies only to the water phase in 2-phase


models or miscible flooding runs.

Figure 21 Limit the gap between SWU and (1-SOWCR)

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 43


Initialization and End Point Scaling Schlumberger

The effect of SCALELIM is illustrated in Figure 22. When


SOWCR=0.1 and SWU=1.0, the scaled Krw is very steep between
(1-SOWCR) and SWU with 3-point scaling, identified by the blue
line. If SCALELIM is set to 0.3, Krw is preserved at Sw=0.7 (= 1-
SCALELIM), the scaled curve will become the curve in red which
is less steep.

Figure 22 The effect of SCALELIM

Kr Vertical Scaling
The relative permeability can be scaled vertically using different Kr
end points. This is required when the maximum Kr must be
adjusted.

For example, the input Kro curve can be a normalized curve


between 0 and 1, but the actual Kro curves for different types of
rock can range from 0.8 to 0.9. In this case, the normalized curve
is entered as input, and different Kro end points are specified for
different regions corresponding to different types of rock. The Kro
curves for different types of rock will be reproduced by Kr vertical
scaling.

The relative permeability is scaled by the same ratio as the ratio of


the new Kr end point over the one from the input table. The
scaling can be applied to the whole Kr curve using the maximum
Kr value (KRW for water), which is the 2-point scaling (2 saturation
points are fixed).

44 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Scaling the relative permeability at the maximum phase saturation

where:

t represents values from the table


end represents end points.
The scaling can also be applied to the Kr curves in two ranges,
which is referred to 3-point scaling (3 saturation points are fixed).
The first range is between the critical saturation of the phase
whose Kr is scaled, and the critical saturation of the other phase,
using the Kr end point at the second saturation.

The second range is between the critical saturation of the other


phase, and the maximum saturation of the phase whose Kr is
scaled, using the Kr end points at the critical saturation of the
other phase and the maximum saturation of the phase whose Kr is
scaled.

For example, Figure 23 shows Krw, in which the 2-point scaling is


carried out for the whole Kr curve using the maximum Kr end point
KRW. The 3-point scaling is carried out for the Krw curve between
SWCR and (1-SOWCR-SGL) using Kr end point at (1-SOWCR-SGL),
KRWR; and for Krw curve between (1-SOWCR-SWL) and SWU,
using KRWR and KRW.

Krw
2-point scaling The unscaled curve
The scaled curve KRW

If KRWR is not used

SWCR SOWCR SWU


Krw
The unscaled curve
3-point scaling
The scaled curve KRW

If KRWR is used KRWR

SWCR SOWCR SWU

Figure 23 Vertical Kr scaling, 2-point and 3-point scaling

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 45


Initialization and End Point Scaling Schlumberger

Pc Horizontal Scaling
The initial water saturation in the transition zone is determined by
the oil water capillary pressure curve. Any change in the capillary
pressure affects the initial fluid saturation in the transition zone.
Sometimes, the capillary pressure curves must be adjusted to
match the known initial fluid saturation in the transition zone. The
modification to the capillary pressure curves can be achieved by
end point scaling.

Similar to Kr scaling, Pc can be scaled horizontally and vertically.


Horizontal scaling for capillary pressure is exactly the same as
horizontal scaling for Kr in which linear transformation is carried
out between two saturation end points, as shown in Figure 24.

Horizontal scaling for capillary pressure is performed between the


connate saturation and the maximum saturation.

Horizontal scaling for Pcow is done between SWL and SWU. When
SWL is changed, Krow is also changed by the end point scaling. A
different end point from SWLPC can be specified for the capillary
pressure horizontal scaling only. SWLPC does not affect the
scaling of Krow.

Figure 24 Horizontal scaling for capillary pressure

46 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Pc Vertical Scaling
Similar to vertical scaling for Kr, vertical scaling for capillary
pressure is applied to capillary pressure curves by multiplying a
ratio of the new Pc end point (PCW or PCG) over the Pc end point
taken from the input table (Figure 25). In addition, the Pc curve
can be scaled based on Leverett J function or user-defined water
saturations.

Figure 25 Vertical scaling for capillary pressure

Pc Scaling Based on J Function


It is well known that the Leverett J function (J function, for short) is
related to rock and fluid properties such as permeability, porosity,
capillary pressure, interfacial tension and contact angles, as
shown in Figure 26.

A J function curve can be obtained by curve fitting to the J function


values calculated from a range of rock and fluid properties. The
idea of capillary pressure scaling based on J function is that
capillary pressure can be backward calculated based on the rock
properties in each simulation grid block that may have been
upscaled, the fluid properties, and the given J function.
Pc ( Sw ) k
J ( Sw ) 
 cos  

Figure 26 Leverett J function

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 47


Initialization and End Point Scaling Schlumberger

Scaling Capillary Pressure Based on J Function


Implement J function scaling for the oil water capillary pressure for
this example.

Given J function as a function of water saturation J (S):

1. Define the J function of water saturation in the place of


capillary pressure, e.g., third item in SWFN.
2. Define fluid properties, such as the interfacial tension
between oil and water using keyword JFUNC.
• Use STOW or STOG if the interfacial tension (IFT) is a
function of pressure.
• Given the grid block properties PERM (permeability) and
PORO (porosity)
3. During simulation, obtain the capillary pressure in a grid
block by
Pc(Sw)=J(Sw)*IFT*(PORO/PERM)^0.5
where the contact angle is assumed as 0.
You can change the expression of the J function shown in the
preceding example with the keyword JFUNC. The capillary
pressure scaling based on J function can apply to Pcow, or/and
Pcog (item 1).

The exponential for the porosity and permeability in the above


equation can be changed from the default value of 0.5 in item 4
and 5, respectively, and you can change the calculation method to
obtain the average permeability (item 6).

The different parameters in J function scaling can be applied to


different saturation regions using keyword JFUNCR.

End Point Scaling Specifically for Compositional Models


There are end point scaling facilities used only with compositional
models, including dynamic scaling based on composition,
temperature, miscibility, or asphaltene deposition.

Composition Effects

In compositional models, the saturation end points can be a


function of compositions, and the change in the mole fraction of a
component can affect the saturation end points dynamically
during the simulation.

48 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

For example, the critical oil saturation with gas may depend on the
mole fraction of a heavy component in oil. When the mole fraction
of the heavy component in oil is reduced, SOGCR may be reduced
as oil may be displaced more easily. This is implemented in
compositional models in which the end points are a function of the
molar density of the component, and a component is defined in
keyword EPSCOMP.

Scaling Dynamically Based on Composition


To scale dynamically based on composition:

1. Specify the component EPSCOMP.


2. Specify the tables of end points versus the molar density of
the component.
3. Obtain end points by looking up the tables using the molar
density of the component.
4. Carry out end point scaling dynamically.

Temperature Effects

Experiments have shown that relative permeability can change


with temperature. For example, residual oil saturation can be
reduced with increasing temperature, as the wettability of the rock
can be changed to more water wet. In thermal simulation models,
the temperature in the reservoir changes with time and space,
which may affect the saturation end points.

The effect of temperature on saturation end points is implemented


in ECLIPSE.

Scaling Dynamically Based on Temperature


To scale dynamically based on temperature:

1. Specify the tables of end points versus temperature.


2. Obtain end points by looking up the tables using the
temperature (ENPTVT).
3. Carry out end point scaling dynamically.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 49


Initialization and End Point Scaling Schlumberger

Miscibility Effects

The effects of miscibility in compositional model are taken into


account in two aspects: PVT properties and flowing properties.
During the miscible process, components are exchanged between
liquid and vapor, resulting in changes in PVT properties in oil and
gas.

For example, during the vaporizing gas drive process, light


components are vaporizing from the liquid to the vapor, resulting
in increase in viscosity of oil. During the condensing gas drive
process, the medium components are condensing from gas into
oil, increasing the molar density of these components in oil. These
effects are taken into account automatically in compositional
calculations.

During these processes, the surface tension between oil and gas
is also changing, which changes saturation end points, such as
the critical saturations. These effects can be simulated using the
miscibility options in compositional models.

The effects of miscibility in compositional models can be summed


in this way:

• PVT properties - an exchange of components between liquid


(oil) and vapor (gas).
• Vaporizing – oil to gas
• Condensing – gas to oil
• Scaling flow properties (Kr, Pc) is based on surface tension
between oil and gas.

Scaling Based on Surface Tension


To simulate the effects of miscibility on saturation functions, the
surface tension is evaluated based on the mole fractions and the
molar density in liquid and vapor, and the parachor of each
component.

50 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

where:

(xi,yi) = liquid and vapor mole fractions

(bmL, bmV) = liquid and vapor molar densities


P = parachor
The miscibility between gas and oil is measured by the surface
tension. When the surface tension is 0, gas and oil are 100%
miscible and they become a single phase.

The relative permeability is scaled between the miscible curve and


the immiscible curve using a weighting factor F, which is a
function of the ratio of surface tension over a reference surface
tension. The scaling is carried out in three steps.

1. Scale the end points using the weighting factor F:

.
2. Scale to this end point the relative permeability curves from
the miscible and immiscible tables.
3. Calculate the relative permeability based on the two scaled
relative permeability curves using the weighting factor F:

.
where
F=(σ/σo)N
σo = reference surface tension, can be set by MISCSTR
imm = immiscible
mis = miiscible
N = exponent set by keyword MISCEXP.
When the surface tension is close to 0, the weighting factor F is
close to 0, the calculated relative permeability is close to the
miscible relative permeability. When the surface tension is close
to the reference surface tension, the weighting factor (F)
becomes 1.

The calculated relative permeability is close to the immiscible


relative permeability. When F is between 0 and 1, the calculated
relative permeability is between the miscible and immiscible
relative permeability curves.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 51


Initialization and End Point Scaling Schlumberger

Figure 27 Scaling Kr and Pc based on surface tension

The capillary pressure is scaled by applying the ratio of the current


surface tension over the reference surface tension to the
immiscible capillary pressure. For a 100% miscible case, the
capillary pressure becomes 0. When the current surface tension is
close to the reference surface tension, the capillary pressure is
close to the immiscible capillary pressure. The reference surface
tension can be set by the user in keyword MISCSTR. The
exponent N can be set in keyword MISCEXP.

By default, the miscible relative permeability curves are straight


lines between 0 and 1. But you can define them in the same way
as entering the saturation tables, and they can be referred to
using regional keyword MISCNUM. The immiscible tables are
referred to by the keyword SATNUM.

Wettability Effects Due to Asphaltene Deposition

The asphaltene model in ECLIPSE compositional allows


engineers to simulate the asphaltene precipitation, flocculation
and deposition, and the subsequent effect on porosity,
permeability, and the rock wettability. In this training we discuss
only relative permeability scaling due to the wettability change
caused by the asphaltene deposition. The details of the facility
can be found in ECLIPSE Technical Description 2008.1, Chapter
5, “The Asphaltene Option.”

When asphaltene deposits onto the rock surface, it can change


from water wet to more oil wet, which means that the relative
permeability can be between water wet and oil wet curves as
shown in Figure 28.

52 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

There is no wettability change if Pcow is ‘0’ or negative and, in


asphaltene deposition, Kr is between Kr_w-wet and Kr_o-wet.

Figure 28 Change in wettability due to asphaltene deposition

To simulate the effect of asphaltene deposition on wettability and,


therefore, on relative permeability, Kr is scaled between the water
wet curve and the oil wet curve based on the asphaltene
deposition. The saturation tables referred to by SATNUM assume
the water wet curves. The oil wet tables are specified in keyword
ASPKROW – Kro and Krw as a function of water saturation. A

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 53


Initialization and End Point Scaling Schlumberger

weighting factor F is specified as a function of asphaltene


deposition in keyword ASPWETF.

Figure 29 Kr scaling due to asphaltene deposition

The value of F is between 0 and 1 indicating the wettability


between water wet and oil wet. It is similar to the Kr scaling due to
miscibility. The water wet Kr curve and the oil wet Kr curve are first
scaled to a common critical saturation end point which is a
weighted (using F) average of the water wet and oil wet end
points.

The relative permeability is calculated based on the scaled water


wet curve and the oil wet curve by applying weighing factors of F
and (1-F) respectively. The relative permeability calculated in this
way is the same as the water wet when F is 0, and the oil wet
when F is 1.

54 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Calculating Relative Permeability


To calculate relative permeability:

1. Enter the oil wet saturation function using ASPKROW


(sw:krw:kro).
2. Define F as a function of the volume fraction of asphaltene
deposit in the keyword ASPWETF:
(F=0 for water wet, F=1 for oil wet).
3. Scale the oil wet Kr curve and the water wet curve to a
common Scr:
Scr=F*Scr_ow + (1-F)*Scr_ww.
4. Calculate Kr based on scaled curves using F as a weighting
factor:
Kr=F*Kr_ow + (1-F)*Kr_ww.

End Points Consistency Requirements


The values of saturation end points must meet specific
consistency requirements. Otherwise, phase can be mobile even
at zero saturation and there is nothing to prevent saturations from
going negative.

• SGU <= 1-SWL: to prevent negative initial So.


• SGL <= 1-SWU: to prevent negative initial So.
• Somax = 1-SWL-SGL.
• Krow(Somax) = Krog(Somax).
• Krw(Sw=0)=Krg(Sg=0)=Krow(So=0)=Krog(So=0)=0.
Oil saturation in the gas cap and water zone is calculated as 1-
Sw-Sg. To prevent negative oil saturation, the maximum initial gas
saturation (SGU) should not be larger than (1-SWL), and the
connate gas saturation (SGL) should not be larger than (1-SWU).
The connate water and connate gas saturations should be given
values such that the maximum oil saturation is equal to (1-SWL-
SGL).

The two phase oil relative permeability with water (Krow) and with
gas (Krog) should be equal at the maximum oil saturations since
both cases have the same saturations of three phases: connate
water, connate gas and maximum oil.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 55


Initialization and End Point Scaling Schlumberger

It is also necessary to set the relative permeability of all the


phases to be 0 at zero saturation, otherwise a phase can flow
even its saturation is zero, causing negative saturations. When
these end point consistency requirements are violated, ECLIPSE
issues warnings or errors. It is good practice to check the output in
the print (.PRT) file and correct the end points if they are not
consistent.

Specifying End Points


End points can be obtained in different ways, and they can be
specified explicitly by giving a grid block a value for an end point.
The keywords used to define the end points with an explicit value
for each cell are listed below, but they are also the names of the
arrays that represent the end points.

Saturation SWL, SWCR, SWU, SGL, SGCR, SOWCR, and


end points SOGCR

SWLPC and SGLPC


Kr end KRW, KRG, KRO, KRWR, KRGR, KRORG, and
points KRORW
Pc end PCW and PCG
points

NOTE: Any end point not specified explicitly will be taken from
the saturation table.

You can use these keywords together with BOX or EQUALS to


specify the end point values. For example, to specify critical water
saturation of 0.25 to all the cells in box I=1,10, J=2,5, K=1,3, enter:

BOX
1 10 2 5 1 3 /
SWCR
120*0.25 /
ENDBOX
OR

EQUALS
SWCR 0.25 1 10 2 5 1 3 /
/

56 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

If an end point is not given a value explicitly, its value is taken from
the saturation table. By default, ECLIPSE writes the endpoints
that have been changed from their original values defined in the
tables to the INIT file. The end points that are taken from the
tables are not written into the INIT file.

Keyword FILLEPS enables all the end points, including those


taken from input tables, to be written into the INIT file and
displayed in the 3D viewer. Keyword EPSDBGS or EPSDEBUG
outputs are scaled relative permeability curves for individual cells
as tables to the DEBUG file.

Directional, Irreversible, Imbibition end Points

If directional relative permeability is selected (DIRECT in


ENDSCALE), the end point can be different in different directions.
You must add X/Y/Z at the end of the keywords to represent the
end point in that direction.

For example, SWLY represents the connate water saturation in Y


direction. If you select the irreversible option (IRREV in
ENDSCALE), end points can be different on the six faces of a cell.
In this case, a hyphen (-) must be added at the end of the keyword
to represent the end point on the face of the cell in the opposite
direction of I/J/K.

For example, KRWX- for cell (2,3,5) is the KRW end point for the
face between cell (2,3,5) and cell (1,3,5). Note that, when
directional and irreversible options are used, Pc end-point scaling
in the equilibration and for the well connections during simulation
still use the non-directional and the reversible end points – the end
points defined by keywords without a hyphen or X/Y/Z at the end.

When the hysteresis option is used, ‘I’ is added to the endpoint


keyword to represent the end point for the imbibition curve. For
example, ISWCR is the critical water saturation end point for the
imbibition curve.

Use these notations with keywords to specify end points for


special options.

Directional Add X/Y/Z to the end of keywords such as


relative SWLX or SWCRY.
permeability

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 57


Initialization and End Point Scaling Schlumberger

Irreversible Add a hyphen (-) to the end of keywords such


relative as KRWX- or KRGY-.
permeability
Imbibition Add ‘l’ to the start of keywords such as ISWCR
curves or IKRWR.

NOTE: Scaling capillary pressure curves in the equilibration


process and scaling relative permeability curves for well
connections use non-directional and reversible end
points.

End Points versus Depth

Normally, different rock types have different saturation functions.


If there is a correlation between the rock types and depth, the
saturation functions can be related to the depth. Should this be the
case, end points may be specified as a function of depth:

ENPTVD Saturation end points versus depth


ENKRVD Kr end points versus depth
ENPCVD Pc end points versus depth

Keyword ENDTVD allows the 8 saturation end points to be defined


as a function of depth in this order: SWL, SWCR, SWU, SGL,
SGCR, SGU, SOWCR, and SOGCR. Any item defaulted by ‘1*’ for all
the depths assumes the value from the appropriate saturation
table.

Keyword ENKRVD allows the 7 Kr end points to be defined as a


function of depth in this order: KRW (maximum water Kr), KRG
(maximum gas Kr), KRO (maximum oil Kr), KRWR (maximum water
Kr at the critical oil or gas saturation), KRGR (maximum gas Kr at
the critical oil or water saturation), KRORG (maximum oil Kr at the
critical gas saturation), KRORW (maximum oil Kr at the critical
water saturation).

Keyword ENPCVD allows the 2 Pc end points to be defined as a


function of depth in this order: PCG (maximum gas-oil capillary
pressure) and PCW (maximum oil-water capillary pressure).

58 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

For special options, such as directional, irreversible and


imbibition, similar rules apply to the naming of the keywords.

• X/Y/Z is added to the end of these keywords for directional end


points versus depth, such as ENPVDX, ENKRVDY, ENPCVDZ.
• ‘-‘ is added to the end of the keywords for irreversible end
points versus depth, such as ENPCVDX-.
• ‘IM’ is replacing ‘EN’ for the imbibition end points versus
depth, such as IMKRVD.
ENDNUM can be used to define different endpoint scaling regions;
one table can be entered for each region.

End Points versus Molar Density

The effect of compositions on the saturation functions can be


simulated by applying the dynamic end point scaling based on the
end points, changing with the molar density of a component. To
implement this, a component is selected using keyword EPSCOMP.

• Tables of the saturation end points versus the molar density


of the component are entered in keyword ENPTVC.
• Tables of Kr end points versus the molar density of the
component are specified in keyword ENKRVC.
• Tables of Pc end points versus the molar density of the
component are defined in keyword ENPCVC.
The order in which the end points are specified in these three
tables is the same as in the tables of end points versus depth, and
each table corresponds to a saturation table.

To specify end points as a function of composition, use these


keywords:

EPSCOMP Select a component.


ENPTVC Saturation end points versus molar fraction
ENKRVC Kr end points versus molar fraction
ENPCVC Pc end points versus molar fraction

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 59


Initialization and End Point Scaling Schlumberger

End Points versus Temperature

The effect of temperature on the saturation functions can be


simulated by applying the dynamic end point scaling based on the
end points changing with temperature. To implement this:

• Tables of the saturation end points versus temperature are


entered in keyword ENPTVT.
• Tables of Kr end points versus temperature are specified in
keyword ENKRVT.
• Tables of Pc end points versus temperature are defined in
keyword ENPCVT.
The order in which the end points are specified in these three
tables is the same as in the tables of end points versus depth, and
each table corresponds to a saturation table.

Please note that only one of the three types end point scaling,
either the static, or the composition dependent, or the temperature
dependent, can be used in the same model.

To specify end points as a function of temperature, use these


keywords:

ENPTVT Saturation end points versus temperature


ENKRVT Saturation end points versus temperature
ENPCVT Kr end points versus molar fraction

Implicit Changes in End Points


Other than the cases where end points are changed from their
original values in the saturation table to the values defined by the
user, end points may be changed by ECLIPSE in some special
applications listed below.

Some of them have been discussed above in the equilibration.


When TZONE is used, for water phase for example, the critical
water saturation is changed to follow the initial water saturation up
to a limit.

When the ‘QUIESC’ option is used to make the initial conditions


generated by fine grid equilibration, steady state, essentially the
phase pressures are modified.

60 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

When the mobile fluid in place correction option is used, the


critical saturations are changed.

• Well pseudo and partial penetration using COMPRP/


COMPVE - Critical saturation changed.
• Phase ‘freezing’ using TZONE - Critical saturation changed.
• Quiescence QUIESC in EQLOPTS - Capilary pressure
changed.
• Mobile fluid correction: MOBILE in EQLOPTS - Critical
saturation changed.
• Honoring the initial water saturation using SWATINIT -
Capilary pressure changed.
Partial Well Completions

In the example shown in Figure 30, the well is partially completed


in the cell. As the well’s perforations are above the current oil
water contact, the well should be producing oil without water.
However, the simulation results show that the well is producing
water also because the average water saturation is larger than the
critical water saturation.

There are two options in ECLIPSE you can use to improve the
water breakthrough for this case.

Option 1 is to re-specify the critical water saturation in keyword


COMPRP to a value so that the right water breakthrough can be
obtained.

Option 2 is to use keyword COMPVE. In this case, ECLIPSE


assumes the water is moving up toward the well under the vertical
equilibrium conditions and sets the critical water saturation to be
equal to (water volume below the lowest perforation + the connate
water volume above the lowest perforation) divided by the pore
volume. This way, there is no water breakthrough until the oil
water contact reaches the lowest perforation point.

In both options, the critical water saturation is changed. Similar


treatment for gas critical saturation can be obtained using these
options to improve the gas breakthrough. In this instance, only

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 61


Initialization and End Point Scaling Schlumberger

clean oil is produced due to partial penetration and an off-center


well.

Figure 30 Improve the breakthrough for wells partially


completed in a cell

Critical Saturation Variation in the Transition Zone

In the oil water transition zone, initial water saturation varies from
the connate to the maximum. The oil water capillary pressure
holds the water in place initially. During the development of the
reservoir, the water may move if the phase pressures are
changed.

For example, wells may be drilled in or near the transition zone,


and the production or injection in the region will change the
pressure. How much the initial water in the transition zone will be
able to move depends on the critical water saturation, SWCR.

As shown in Figure 31, if a single value of SWCR is used, any water


that moves into the region where SWCR is larger than the initial
water saturation will stay there until the water saturation exceeds
SWCR, which is not appropriate practically.

In practice, the critical water saturation in the transition zone is set


to follow the initial water saturation up to a limit. This is exactly
what TZONE does - setting SWCR to be equal to the initial water
saturation up to a limit. In this way, the initial water above the limit
cannot move but any water moving into the region can move.

This limit controls the amount of water that cannot move in the
transition zone initially. By changing this limit, you can change the

62 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

amount of water coming from the transition zone. It is an easy way


for history matching using, for example, the water breakthrough.

Figure 31 Setting variable SWCR using TZONE

Matching the Initial Water Saturation

Initial water saturation in the transition zone is calculated by


inversely looking up the oil water capillary pressure as a function
of water saturation.

In some cases, the initial water saturation distribution is calculated


based on the J function or the height above the free water level
function in the geological model, and then by upscaling for the
simulation model.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 63


Initialization and End Point Scaling Schlumberger

The initial water saturation calculated from the equilibration based


on the capillary pressure can be different from that by upscaling.
ECLIPSE provides a facility to observe the user-defined water
saturation by re-scaling the capillary pressure.

The user-defined water saturation, which can be from the


upscaling or logs, is specified by keyword/array SWATINIT, as
shown in Figure 32.

Figure 32 Observed initial water saturation

Figure 33 shows how this facility works for matching the observed
water saturation defined in SWATINIT. During equilibration, the oil
water capillary pressure (Pcow) is calculated for each cell. The
water saturation corresponding to Pcow – Sw – can be different
from the observed water saturation in SWATINIT.

To obtain a water saturation defined by SWATINIT with the same


capillary pressure Pcow, ECLIPSE scales the input capillary
pressure curve in blue to the Pc curve in red. The scaled
maximum capillary pressure PCW can be written into the PRT file
and the INIT file by specifying mnemonic SWATINIT in RPTSOL.

If the observed water saturation is much higher than the


calculated one, the scaled PCW can be very large. To prevent an
unphysical high PCW, you can apply a limit with the keyword
PPCWMAX.

64 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Output scaled PCW:


RPTSOL
SWATINIT /

Figure 33 Matching initial water saturation by scaling Pc

As shown in Figure 34, when PCW reaches the limit specified in


PPCWMAX, the water saturation defined in SWATINIT cannot be
observed. In this case, it is strongly suggested that you check the
observed water saturation to make sure that the value is sensible
from an engineering perspective.

Figure 34 Limit on the maximum Pc

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 65


Initialization and End Point Scaling Schlumberger

By default, the Pc curve is scaled between SWLPC/SWL and Sw at


Pcow=0. If the water saturation defined in SWATINIT is less than
1 for cells below the free water level where Pcow=0, it will not be
observed. This is reasonable for water wet rocks, but not for rocks
with mixed wettability where Pcow can be negative. For these
cases, OPTIONS(74) (for E100)/OPTIONS3 (143) (for
E300), can be used to observe SWATINIT.

As shown in Figure 35, when the option switch is set to 5, the


maximum Pc at SWLPC/SWL is scaled by fixing the Pc at SWU. This
is suitable for water wet dominant cases. If the option switch is set
to 7, the lowest Pc at SWU is scaled by fixing the Pc at SWLPC/
SWL. This suits oil wet dominant cases.

Figure 35 SWATINIT for the mixed wettability cases

66 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Additional Notes
• If a cell is given a saturation corresponding to the minimum
capillary pressure, the Pc curve cannot be scaled to honor the
saturation, leaving the Pc curve unscaled.
• If the SWATINIT saturation is less than, or equal to, the
connate saturation for a cell, the capillary pressure is not
scaled to honor SWATINIT.
• The SWATINIT saturation cannot be exactly honored if the
fine grid block equilibration option is used in the EQUIL
keyword.
• The SWATINIT saturation is not honored if the capillary
pressure curve is a constant. The input capillary pressure
curve needs to be monotonically decreasing with increasing
water saturation.
• If the PCW keyword has been used, it is ignored in regions
where SWATINIT is set.
• If the Leverett J-function calculation for the water-oil capillary
pressure has been activated through the JFUNC keyword,
the J-function calculation is ignored in regions where
SWATINIT is set.

QC the Scaled Curves


When end point scaling is taking place, no matter it is explicitly or
implicitly, it is the scaled curves that will be used in the model. If
there is any problem caused by the saturation functions, it is
caused by the scaled curves not the input curves. It is very
important to bear this in mind when end point scaling is used in
the model.

It is a good practice to check the scaled curves before they are


used and there are several ways to check scaled curves.
• Use EPSDEBUG so ECLIPSE will output the scaled tables to a
debug file.
• Write out the scaled tables for a set of defined cells.
• Output in tabular form (0).
• Output as GRAF user data (1).
• In ECLIPSE Office, plot the scaled curves, unscaled curves,
or both for each cell.
• For SCAL, plot the scaled curves, unscaled curves, or both.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 67


Initialization and End Point Scaling Schlumberger

The debug file can be either in tabular form, which can be read
directly by opening the file, or in GRAF user data format, which
can be imported into GRAF or ECLIPSE Office.

In ECLIPSE Office, the input and the scaled curves in each cell
can be inspected. In SCAL, the input and scaled curves can also
be displayed.

Example of End Point Scaling


This example shows you how:
• the saturation tables are defined
• the input, scaled end points and scaled tables/curves are
written into the debug files for inspection
• to change the end points
• to check the input and scaled tables/curves in SCAL and in
ECLIPSE Office.
Input
The relative permeability and capillary pressure curves are
entered in the PROPS section using SWOF and SGOF as follows:
SWOF
-- Table 1
--Sw Krw Kro Pc
0.220000 0.00000 1.00000 7.00000
0.250000 0.00000 0.775000 5.87500
0.260000 0.0140000 0.700000 5.50000
0.300000 0.0700000 0.400000 4.00000
0.320000 0.0860000 0.345000 3.80000
0.400000 0.150000 0.125000 3.00000
0.420000 0.168000 0.112980 2.90000
0.500000 0.240000 0.0649000 2.50000
0.520000 0.258000 0.0528800 2.40000
0.600000 0.330000 0.00480000 2.00000
0.620000 0.362000 0.00432000 1.90000
0.800000 0.650000 0.00000 1.00000
0.900000 0.830000 0.00000 0.500000
1.00000 1.00000 0.00000 0.00000
/

68 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

SGOF
-- Table 1
--Sg Krg Kro Pc
0.00000 0.00000 1.00000 0.00000
0.0400000 0.00000 0.600000 0.200000
0.0800000 0.0146667 0.420000 0.400000
0.100000 0.0220000 0.330000 0.500000
0.180000 0.0844000 0.146000 0.900000
0.200000 0.100000 0.100000 1.00000
0.280000 0.212000 0.0360000 1.40000
0.300000 0.240000 0.0200000 1.50000
0.380000 0.320000 0.00400000 1.90000
0.400000 0.340000 0.00000 2.00000
0.500000 0.420000 0.00000 2.50000
0.580000 0.484000 0.00000 2.90000
0.600000 0.500000 0.00000 3.00000
0.700000 0.812500 0.00000 3.50000
0.780000 1.00000 0.00000 3.90000
/
End Point Scaling

The end point scaling facility must be activated in the RUNSPEC


section using keyword ENDSCALE. Options such as directional
and irreversible and the dimensions of the end points versus
depth tables are also specified in this keyword. In this example,
non-directional, reversible end points are to be used:

ENDSCALE
NODIR REVERS /
To change the end points that are defined in the tables, you can
define new end points in the PROPS section, as follows:

EQUALS
SWL 0.30 6 10 1 7 1 3 /
SWCR 0.35 /

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 69


Initialization and End Point Scaling Schlumberger

SWU 1.00 /
SGL 0.00 /
SGCR 0.12 /
SGU 0.70 /
SOWCR 0.25 /
SOGCR 0.42 /
SWCR 0.30 1 5 1 7 1 3 /
/
The 8 saturation end points of all the cells in the box (I=6-10, J=1-
7, K=1-3) will be changed, and the critical water saturation for all
the cells in the box (I=1-5, J=1-7, K=1-3) will be changed. All other
end points will remain the values from the above tables.

To use 3-point scaling, define:

SCALECRS
YES / default is NO – 2-point scaling
To write all end points, including those from the input tables to the
INIT file:

FILLEPS
To check the input, scaled end points and scaled saturation tables
for cell (I=10, J=7, K=3), specify:

EPSDEBUG
10 10 7 7 3 3 0 /
The following will be written into the debug
file and includes the unscaled (input) end

70 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

points, the scaled end points and the scaled


saturation tables:

--------------------------------------------
WATER/OIL END-POINT SCALING DEBUG FOR CELL ( 10, 7, 3) TABLE 1
Unscaled SWL 0.22000 Scaled 0.300
Unscaled SWLPC 0.22000 Scaled --------
Unscaled SWU 1.00000 Scaled 1.000
Unscaled SOWCR 0.20000 Scaled 0.250
Unscaled SWCR 0.25000 Scaled 0.350
Unscaled KRW 1.00000 Scaled --------
Unscaled KRWR 0.65000 Scaled --------
Unscaled KRO 1.00000 Scaled --------
Unscaled KRORW 0.77500 Scaled --------
Unscaled PCW 7.00000 Scaled --------
--------------------------------------------

SWAT SOIL KRW KRO PCOW

0.0000 1.0000 0.0000 1.0000 7.0000


0.0500 0.9500 0.0000 1.0000 7.0000
0.1000 0.9000 0.0000 1.0000 7.0000
0.1500 0.8500 0.0000 1.0000 7.0000
0.2000 0.8000 0.0000 1.0000 7.0000
0.2500 0.7500 0.0000 1.0000 7.0000
0.3000 0.7000 0.0000 1.0000 7.0000
0.3500 0.6500 0.0000 0.5167 4.9107
0.4000 0.6000 0.0762 0.2656 3.6857
0.4500 0.5500 0.1223 0.1170 3.1286
0.5000 0.5000 0.1708 0.0783 2.7857
0.5500 0.4500 0.2227 0.0395 2.5071
0.6000 0.4000 0.2746 0.0046 2.2286
0.6500 0.3500 0.3265 0.0031 1.9500
0.7000 0.3000 0.4162 0.0015 1.6714
0.7500 0.2500 0.5085 0.0000 1.3929
0.8000 0.2000 0.6008 0.0000 1.1143
0.8500 0.1500 0.6985 0.0000 0.8357
0.9000 0.1000 0.8023 0.0000 0.5571
0.9500 0.0500 0.9019 0.0000 0.2786

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 71


Initialization and End Point Scaling Schlumberger

1.0000 0.0000 1.0000 0.0000 0.0000

---------------------------------------------
GAS/OIL END-POINT SCALING DEBUG FOR CELL ( 10, 7, 3) TABLE 1
Unscaled SGL 0.00000 Scaled 0
Unscaled SGLPC 0.00000 Scaled --------
Unscaled SGU 0.78000 Scaled 0.700
Unscaled SOGCR 0.38000 Scaled 0.420
Unscaled SGCR 0.04000 Scaled 0.120
Unscaled KRG 1.00000 Scaled --------
Unscaled KRGR 0.34000 Scaled --------
Unscaled KRO 1.00000 Scaled --------
Unscaled KRORG 0.60000 Scaled --------
Unscaled PCG 3.90000 Scaled --------
---------------------------------------------

SGAS SOIL KRG KRO PCOG

0.0000 0.7000 0.0000 1.0000 0.0000


0.0476 0.6524 0.0000 0.4739 0.2653
0.0952 0.6048 0.0000 0.2471 0.5306
0.1200 0.5800 0.0000 0.1657 0.6686
0.1429 0.5571 0.0107 0.0967 0.7959
0.1905 0.5095 0.0453 0.0423 1.0612
0.2381 0.4619 0.0927 0.0120 1.3265
0.2800 0.4200 0.1618 0.0000 1.5600
0.2857 0.4143 0.1720 0.0000 1.5918
0.3333 0.3667 0.2522 0.0000 1.8571
0.3810 0.3190 0.3129 0.0000 2.1224
0.4286 0.2714 0.3670 0.0000 2.3878
0.4762 0.2238 0.4156 0.0000 2.6531
0.5238 0.1762 0.4642 0.0000 2.9184
0.5714 0.1286 0.5499 0.0000 3.1837
0.6190 0.0810 0.7397 0.0000 3.4490
0.6667 0.0333 0.9003 0.0000 3.7143
0.7000 0.0000 1.0000 0.0000 3.9000

72 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Checking End Point Scaling in SCAL


You can inspect the input saturation tables, curves, and scaled
curves in SCAL.

1. Load the saturation tables from the ECLIPSE input data by


selecting File > Open ECLIPSE (.DATA).
2. Display the input curves by dragging them to the appropriate
icon ( ), either Kr or Pc, respectively.
3. Display end point scaling in the End Point Scaling viewer by
selecting Graph-SCAL > Special > End Point Scaling
Viewer.
4. The end points defined in the input tables are shown in red
under Original.
5. Enter new end points under Value.
6. Display the input and the scaled curves in different colors.
7. Choose either horizontal and vertical, and select either 2-
point and 3-point scaling.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 73


Initialization and End Point Scaling Schlumberger

Displaying Scaled Curves in ECLIPSE Office


You can inspect the input and scaled curves for each grid block in
ECLIPSE Office.

1. Load the .EGRID and the .INIT files into the results viewer.
2. Show a 2D plot by selecting View > 2D.
3. Select the pick function by selecting 2D > pick.
4. Pick a cell from which the scaled curves are to be displayed
by clicking on the cell (2D > slice to select appropriate slice).
5. Open the saturation plot panel by selecting Line Plot >
Saturation Function > ….
6. Select the curves to display, and include both unscaled and
scaled curves.

Showing a Restart Solution as a Function of Time


In the 2D view, you can also show any restart solution as a
function of time, or along I, J, or K.

1. Load the .EGRID and restart files into the results viewer.
2. Show a 2-D plot by selecting View > 2D.
3. Select the restart property to display by selecting 2D >
Property.
4. Select the pick function by selecting 2D > pick.

74 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

5. Pick a cell from which the restart property is to be displayed


by clicking on the cell (2D > slice to select appropriate
slice).
6. Select an appropriate line plot by selecting Line Plot >
Solution > ….
In the example shown in Figure 36, the initial water saturation and
the critical water saturation along I cells at the picked J and K
location are compared between a run with TZON
(EPS_DEMO_TZONE) and a run without TZONE (EPS_DEMO).
The effect of TZONE is clearly illustrated.

Figure 36 TZONE effect displayed in ECLIPSE Office

Without TZONE, the critical water saturation is well above the initial
water saturation, while with TZONE, the critical water saturation is
the same as the initial water saturation up to a limit (0.35).

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 75


Initialization and End Point Scaling Schlumberger

As a result, water breaks through much earlier in the run with


TZONE, as shown in Figure 37.

Figure 37 TZONE effect on water breakthrough

Questions
These questions are for discussion and review.

• What are the purposes of end point scaling?


• How does the horizontal scaling work?
• What is the difference between Kr horizontal scaling and Pc
horizontal scaling?
• How does J function scaling for Pc work?
• What is the difference between 2-point and 3-point scaling?
• What are the end point scaling facilities special for
compositional models?
• How does SWATINIT work?
• In what situations end points can be changed even though
they are not changed explicitly?

76 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Lesson 3 Initial Water Saturation


Distribution Match with
Transition Zones

In some cases, initial water saturation distribution can be obtained


from either geological modeling or logs. The initial water in place
obtained from the equilibration depends on the input capillary
pressure, the properties of the grid block (such as porosity), and
the size of the grid block.

The initial water in place calculated during initialization from the


simulation model can be different from that observed due to the
fact that the grid block properties may have been changed during
upscaling. As a result, the observed or known initial water
saturation must be matched in simulation models to preserve the
initial fluid in place.

Many approaches have been adopted by engineers to match the


initial water saturation, but there are three common approaches:

• setting SWAT (array for initial water saturation) to the initial


water saturation (SWATi) by enumeration
• setting the connate water saturation (SWL) to the initial water
saturation
• setting array SWATINIT to the initial water saturation.

Setting SWAT to SWATi


The direct way to honor the observed initial water saturation
SWATi is by enumeration, SWAT=SWATi. Because this is
enumeration, PRESSURE must also be specified. By this
approach, the initial water saturation can be exactly honored, but
it is very difficult to set the pressure (PRESSURE) to these values
so that the initial conditions are in equilibrium. Water will start to

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 77


Initialization and End Point Scaling Schlumberger

flow around when the simulation starts even though there is no


open well.

Figure 38 Preserving the observed initial water saturation by


enumeration

Setting SWL to SWATi


In the second method, the connate water saturation SWL is set to
the initial saturation (Figure 39). If the oil water capillary pressure
is 0, the initial water saturation obtained from the equilibration is
equal to the connate water saturation above the oil water contact,
which means the initial water saturation can be honored.

However, the initial water above the oil water contact will never
move because it is connate water. The oil relative permeability
with water (Krow) is re-scaled based on the new SWL (the
maximum oil saturation is 1-SWL-SGL). The altered oil relative
permeability would change the oil mobility.

78 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

• If the oil water capillary pressure is not 0, the initial water


saturation will not be honored. Why?

Figure 39 Preserving the observed initial water saturation


using SWL

Assume the input capillary pressure is the ‘truth’ capillary pressure


curve. The observed initial water saturation can be reproduced by
inversely looking up the input capillary pressure curve (the red
curve in Figure 40) during the equilibration. For a cell with
capillary pressure of Pcow, the corresponding water saturation at
the red spot is SWATi in red.

If you set SWL to SWATi for this cell, the Pc curve for this cell will
be re-scaled to the curve in blue. The water saturation
corresponding to the same Pcow on the scaled Pc curve at the
blue spot becomes SWATi in blue, which is larger than the initial
water saturation (the red SWATi).

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 79


Initialization and End Point Scaling Schlumberger

Because of this, the initial water saturation of this cell obtained


from the equilibration with SWL=SWATi, is larger than the
observed initial water saturation.

Figure 40 Initial water saturation is not honored with SWL if


there is non-zero capillary pressure

If all the SWL is set to the observed SWATi (shown in red spots in
Figure 41) for all the cells, the Pc curves in all the cells are scaled
(from red to blue), and the resultant water saturation is moved to
the right (from red spots to blue spots). Obviously, the observed
water saturation is not ‘honored.’ In this case, the water in place
obtained from the equilibration is much larger than the observed.

Figure 41 Initial water saturation changed when Pc is scaled


by SWL

80 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Setting SWATINIT to SWATi


The third approach is to use SWATINIT (Figure 42). In this
approach, the array SWATINIT is set to the user-defined initial
water saturation, which could be obtained from upscaling the
geological model. The input capillary pressure is scaled to honor
the water saturation defined in SWATINIT.

The scaled capillary pressure curve can be considered the ‘truth’


curve, as it can reproduce the observed water saturation during
the equilibration. It is also consistent with the upscaled properties
in the sense that it can generate equilibrium initial conditions with
the known water saturation. Nonetheless, you should quality
check the input SWATINIT to see if it yields unusually high PCW
values, which can generate unusual water saturation.

Figure 42 Set SWATINIT=SWATi

When scaling Pc by SWATINIT, remember that capillary pressure


curves are scaled; they reflect the upscaled properties PERM and
PORO). It is an equilibrium state, but it can have an unusually
high PCW.

In view of the shortcomings of the first two approaches, the third


option is recommended using SWATINIT if the oil water transition
zone is generated by the oil water capillary pressure.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 81


Initialization and End Point Scaling Schlumberger

Here is the workflow:

1. Use the J function or the height above the free water level
(HAFWL) function to calculate the water saturation in the fine
geological model.

Pc ( Sw ) k
J ( Sw ) 
 cos  

2. Upscale the water saturation to the coarse grid by


summation to preserve the water in place.
Sw_coarse = Sum (Sw_fine*Porv_fine)/
Porv_coarse

3. Export the initial water saturation as array SWATINIT.


4. Specify the J function or the HAFWL function as the input
capillary pressure function in the simulation model.
5. Use SWATINIT to scale the input capillary pressure curves.
6. Output the scaled PCW array.

82 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

7. QC the scaled PCW and check on any unusually high PCW.


You can apply a maximum PCW using PPCWMAX.

8. Optionally, in a subsequent run, use the scaled PCW together


with the input Pc curves, without SWATINIT. The Pc curves
scaled by PCW can be considered the ‘truth’ Pc curve.

Simulation of a Tilted Transition Zone using


SWATINIT (Example)
To illustrate the application of the setting SWATINIT to SWATi,
you use SWATINIT to match the water saturation in the tilted
transition zones in this example. Tilted oil water transition zones
can result from different capillary pressures corresponding to
different permeabilities, as illustrated in Figure 43. Capillary
pressure holds the water in the titled transition zone, so it is in
equilibrium.

Figure 43 Example of tilted oil water contacts

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 83


Initialization and End Point Scaling Schlumberger

In this example, similar conditions have generated the tilted oil


water transition zone with initial water saturation, as shown in
Figure 45. The initial water saturation is calculated in the fine
geological model based on a J function.

The average water saturation for the coarse simulation model is


calculated by summation of the water saturation in the fine grid.
This initial water saturation cannot be reproduced by the
simulation model during equilibration because the static properties
in the simulation model were changed during the upscaling
process.

To match the initial water saturation and create the equilibrium


tilted transition zone, the J function is used as the input capillary
pressure (Figure 44), and the initial water saturation is used to
define SWATINIT (Figure 45).

Figure 44 J Function as input Pc curve

Figure 45 Set SWATINIT to the initial water saturation (SWATi)

84 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

As shown in Figure 46, the calculated initial water saturation from


equilibration is the same as the input SWATINIT.

Figure 46 Calculated initial water saturation

Summary of Initial Water Saturation in ECLIPSE


Critical points to remember about ways in which to observe the
initial water saturation in ECLIPSE include:

• Enumeration using initial water saturation may result in non-


equilibrium state.
• Setting SWL (connate water saturation) to the initial water
saturation cannot preserve the initial water in place if there is
oil-water capillary pressure, as the Pcow(Sw) curve is
rescaled when SWL is changed.
• Setting SWATINIT to the initial water saturation that is
upscaled by summation of the saturation in the fine grid
model can preserve the initial water in place and achieve an
equilibrium state.

Question
What are the commonly used approaches for matching the initial
water saturation? What are their pros and cons?

Exercise 1 Initializing the Model

You have been provided with a black oil model INIT.DATA and its
INCLUDE files, as well as a compositional model OPT1.DATA in
the directory /Exercises/Initialization. This exercise gives you
practice in initialization based on the material presented in this
module.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 85


Initialization and End Point Scaling Schlumberger

For convenience, the names of the data sets you will generate are
suggested in brackets, such as (SUGGESTED_NAME.DATA).

Part 1: Equilibration
1. Work out how the model (INIT.DATA) is initialized.
• What method is used to initialize the model?
• What data have been used in the initialization?
• How is the solution gas oil ratio defined?
2. Run the model and answer these questions:
• What are the initial oil, gas and water in place? What is the
initial mobile oil in place?
• Is the model in equilibrium? Is the pressure (FPR, RPR)
changing with time and is there any flow between the fault
blocks (RGFT), even though there are no open wells?
Why?

Part 2: Applying a Threshold Pressure


Try to prevent fluid flow between adjacent equilibration regions by
applying a threshold pressure.

1. Check the initial maximum potential difference between


adjacent equilibration regions.
2. Set the threshold pressures between those regions equal to
the initial maximum potential difference between the regions.
3. Run the modified model (INIT_T.DATA).
Is there any flow between the regions? Is the pressure
changing without any open well?

Part 3: Improving the Accuracy of Initial Fluid in Place


1. Try different methods of calculating the average saturation in
equilibration. Set item 9 of EQUIL to 10 and -10, respectively
(INIT_T_N10.DATA, INIT_T_N-10.DATA).
What does this mean?
2. Run the models and compare fluids (oil, water, gas) in place
with those from INIT_T.
Are they different?
3. Check if the models are in equilibrium.
Is the pressure changing without any open well?

86 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

4. Try to make the models INIT_T_N10.DATA and INIT_T_N-


10.DATA steady state (INIT_T_N10Q.DATA, INIT_T_N-
10Q.DATA) by using QUIESC in EQLOPTS.
5. Check if there are still pressure changes with time without
any open well.
6. Make mobile oil in place correction by using MOBILE in
EQLOPTS (INIT_T_N-10QM.DATA.
7. Compare the initial mobile oil in place before and after the
MOBILE option.
8. Check the critical oil saturation with water (SOWCR) and with
gas (SOGCR) in 3-D viewer. Are they different from the values
defined in the saturation tables?

Part 4: Setting the Initial Compositions in a


Compositional Model
1. Set the initial composition variations with depth to see how a
wrongly selected option can yield wrong results.
The fluid defined by the PVT data in model OPT1.DATA is a
gas condensate near critical point, as predicted by PVTi.
2. Use Option 1 (item 10 of EQUIL) together with ZMFVD to
specify the initial composition variation with depth as in
OPT1.DATA.
3. Run the model. Check the initial phase pressures and fluid
distribution under SOLVD and the fluid in place report under
FIP in the PRT file.
4. Modify the model by setting a gas oil contact at depth 7,375
feet and rerun the case (OPT1_GOC.DATA).
5. Compare with OPT1 in the initial fluid in place, under the
reservoir conditions as well as with respect to separators on
the surface.
6. Check the initial phase saturations in the 3D viewer to see
the differences between OPT1 and OPT1_GOC.
7. Change Option 1 to Option 2 in OPT1.DATA (OPT2.DATA)
and Option 3 (OPT3.DATA), respectively.
8. Run the models. Compare fluid in place (under both reservoir
and surface conditions) and phase saturation distribution in
the 3D viewer between OPT1, OPT1_GOC, OPT2, and OPT3.
Are there significant differences? Selecting the wrong option
is a common mistake in compositional simulation.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 87


Initialization and End Point Scaling Schlumberger

Part 5: Enumeration - Initializing a Compositional Model


Try to practice initializing an E300 model by specifying the
compositions of the fluid sample, the grid block pressure, and
saturations explicitly (OPT1_GOC_NEI.DATA).

1. The pressure and saturations could have been generated by a


black oil model. For comparison purposes in this exercise,
generate pressure and saturations by a compositional model.
2. Modify OPT1_GOC.DATA (OPT1_GOC_C.DATA) by
setting the compositions at all the depths (in ZMFVD) to:
0.01210 0.01940 0.66990 0.08690 0.05910
0.09670 0.04745 0.00515 0.00330
3. Run OPT1_GOC_C.DATA to generate pressure and
saturations in the restart file.
4. Set up the model by getting pressure (PRESSURE) and
saturations (SWAT, SGAS) from OPT1_GOC_C.UNRST at
time 0 using GETSOL.
5. Define the compositions of the sample using NEI with the
same compositions as in OPT1_GOC_C.DATA.
6. Run the model and compare the results (compositions in oil
and gas, fluids in place under reservoir and surface
conditions) with OPT1_GOC_C.
Are they different?

Exercise 2 Scaling End Points and Applying


Other Functions

You have been provided with a base model BASE.DATA and all
its INCLUDE files in the directory /Exercises/Endpointscaling.
Practice end point scaling based on the information you learned in
this module.

Part 1: Performing End Point Scaling


1. Check the saturation function tables in BASE.DATA and
write down all the end points from the tables.
From core analysis, you know that the rocks from the three
equilibration regions have different connate water saturations
and critical water saturations, which are shown in the table.

88 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

EQLNUM SWL SWCR


1 0.15 0.2
2 0.17 0.22
3 0.2 0.25

2. Modify BASE.DATA by specifying different end points in the


different equilibration regions (EPS.DATA).
3. Change other end points to ensure all the end points meet
the consistency requirements.
4. Specify the end points directly, or use end points versus
depth tables.
5. Run the modified model.
6. Check the end points and the scaled curves/tables in the
three regions using EPSDEBUG, SCAL and ECLIPSE Office).
7. Turn on 3-point scaling (EPS_3P.DATA) and compare the
scaled curves: particularly Krw @ SOWCR, oil production, and
water production.

Part 2: Applying TZONE Effects


1. Modify EPS.DATA to set the critical water saturation equal to
the initial water saturation, up to the limits defined by SWCR in
the preceding table.
Each region should use TZONE (EPS_TZONE.DATA).
2. Run the model and compare SWAT~I (I cell number) and
SWCR~I for say J=9 and K=1 between EPS and EPS_TZONE
in Office to see the effect of TZONE.
3. Compare the water production to see the effect of TZONE,
particularly for well U3, which is completed near the transition
zone.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 89


Initialization and End Point Scaling Schlumberger

Part 3: Using J Function Scaling


Suppose the data entered in the third column of SWFN in file
BASE_SCAL.INC is the J function instead of the capillary
pressure.

1. Scale the J function to get the capillary pressure based on


the grid properties.
2. Modify EPS.DATA by activating the J Function with oil water
surface tension of 5 dynes/cm (EPS_JFUNC.DATA).
3. Run the model and check the scaled maximum capillary
pressure array PCW in 3D viewer.

Part 4: Matching the Initial Water Saturation


Assume the initial water saturation from EPS_JFUNC.DATA is the
same as what you would get from the upscaling process in Petrel.

1. Modify EPS.DATA to observe the initial water saturation by


scaling the input capillary pressure using SWATINIT
(EPS_SWATINIT.DATA).
2. Define SWATINIT array in two ways:
a. Use GETDATA from the restart file (you may need to
regenerate multiple restart files by commenting out
UNIFOUT in EPS_JFUNC.DATA) EPS_JFUNC.X0000:
GETDATA
EPS_JFUNC.X0000 UNFORMATTED SWATINIT SWAT /
b. Load EPS_JFUNC.X0000 into FloViz, export SWAT to a
file, and change SWAT to SWATINIT. This is used as an
INCLUDE file in EPS_SWATINIT.
3. Run EPS_SWATINIT and compare SWAT with that from
EPS_JFUNC (SWATINIT) to see if the initial water saturation
has been observed.
4. Compare the scaled PCW with that from EPS_JFUNC to see if
they are the same.
If there are differences in PCW, why?

90 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Initialization and End Point Scaling

Review Questions
• What are the initialization methods available in ECLIPSE? In
what circumstances should they be applied?
• How many ways can the saturation function curves be
changed?
• If problems in the simulation are caused by saturation
functions, are the input curves or the scaled curves causing
the problems?
• Why is that the initial water saturation cannot be observed if
setting the connate water saturation to the known initial water
saturation when the oil-water capillary pressure is not zero?

Summary
In this module, you learned about the purpose, methodology,
implementation, and application of the workflow for:

• methods of initialization
• end point scaling
• honoring the observed initial water saturations.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 91


Initialization and End Point Scaling Schlumberger

NOTES

92 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

Module 2 Group Control


This module covers functionalities available for production and
injection control at the group level.

Figure 47 Group production control

At the bottom level of the multi-hierarchy tree of the field are the
producers and injector wells with individual targets, limits,
economic limits and other controls imposed with keywords such
as WCONPROD, WECON, WCONINJE, and more.

At higher level, you may also include collective controls to


represent the field production/injection capacity. Collective control
occurs when the flow target of a well depends directly on the flow
rates of other wells. This is most common when injection rates are
dependent on production volumes.

These are common types of group control.

Group / field The overall oil, water, gas or liquid production


production rates are given specific targets at group and / or
control field level. The wells produce in proportion to a
guide rate, subject to obeying their own rate and
pressure limits.

The guide rate defaults to the well production


potential.
Re-injection The injectors are set to re-inject a specific
fraction of the stock tank water or gas production
of a group or of the entire field.

ECLIPSE Advanced TopicsWorkflow/Solutions Training Version 2.0 93


Group Control Schlumberger

Voidage Enough water or gas is injected to replace all or


replacement a specified fraction of the field or group voidage
production. Voidage production is the deficit
produced by injecting less fluid than is
produced.

It is expressed in terms of reservoir volume, so


oil, water and gas cannot be separated.
Priority The overall oil, water, gas or liquid production
control rates are set at group and / or field level. Wells
are opened in decreasing order of their priority
until the overall target is met.

Each well flows at its maximum rate except for


the last one opened. The priority is either set
explicitly or calculated periodically based on the
ratios of phase flows.

Learning Objectives
After completing this module, you will know how to:

• insert a higher hierarchy of controls for wells at field and


group level
• control different production/injection schemes at group level
• differentiate between group and well production/injection
• differentiate between prioritization and guide rate control
• identify, list and use different types of group control
keywords.

Lesson 1 Group Production Control

Each well must belong to a particular group, which is named when


the well is first declared with keyword WELSPECS. The default
group in a simulation run is FIELD which, at the same time, refers
to the highest level of hierarchy. Rate targets and limits, as well as
economic limits, can be applied to each group and to the whole
field. This provides a standard three-level (well - group - field)
control hierarchy.

94 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

Controls and limits can be specified independently at each level.

• WELSPECS – well-group-field (standard three-level control


hierarchy)
• GRUPTREE – child-parent (highly flexible multi-level
hierarchy)

The Multi-Level Grouping Hierarchy


For a higher flexibility of multi-level hierarchy (more than three
levels), the keyword GRUPTREE could be introduced. This
keyword declares additional groups that do not contain wells but,
instead, act as parents to other groups at a lower level. These
groups are called node-groups, to distinguish them from well-
groups which contain only wells.

Example of the GRUPTREE keyword:

Child Parent
‘GR-A1’‘ PLAT-A’ /
‘GR-A2’‘ PLAT-A’ /
‘GR-A3’ ‘PLAT-B’ /
‘GR-A4’‘ PLAT-B’ /
NOTE: ECLIPSE 300 can have any number of levels in the
hierarchy, but group controls and guide rates can be
applied only up to a maximum of 4 levels down any
branch of the hierarchy, including the FIELD.

An example of a five-level hierarchy is shown in Figure 48. The


field occupies the highest level, level 0, while PLAT-A and PLAT-B
are node-groups at level 1. The groups at level 2 are all well-
groups, except for SAT-B which is a level-2 node-group.
FIELD

PLAT-A PLAT-B

GR-A1 GR-A2 SAT-B GR-B1 GR-B2

GR-S1 GR-S2

Figure 48 Example of multi-level grouping hierarchy

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 95


Group Control Schlumberger

GR-A1 and GR-A2, and their respective wells, are subordinate to


PLAT-A. GR-B1 and GR-B2, and their respective wells, are
subordinate to PLAT-B. GR-S1 and GR-S2, and their respective
wells, are subordinate to both SAT-B and PLAT-B.

When the wells are included (on levels 3 and 4), the hierarchy has
five levels in total.

Well Control vs. Group Control


Before describing in detail the group controls available in
ECLIPSE, it is helpful to review the completion specification and
control options at the well level.

Well Controls and Limits


The flow rate of a phase (oil, water or gas) through a connection is
proportional to the product of three quantities:

• Transmissibility between the grid block and the wellbore


• Mobility of the phase in the grid block at the perforations
• Pressure drawdown between the grid block and the wellbore.
Individual wells can operate at a target value of any of these
quantities:

• Oil flow rate


• Water flow rate
• Gas flow rate
• Liquid flow rate (oil and water)
• Reservoir fluid volume (or voidage) rate
• Bottomhole pressure
• Linearly Combined Rate mode
• Tubing head pressure.
In the case of ECLIPSE Compositional:

• Wet gas rate (which is the volume that the hydrocarbon


mixture would occupy at standard conditions if it were an
ideal gas)
• Total molar rate
• Calorific value rate
• Steam Rate target (Thermal option)

96 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

• Water Saturation Pressure (Thermal option)


• Water Saturation Temperature (Thermal option)
One of these quantities is selected as the main control target,
while limiting values can be supplied for any of the remaining
quantities. The limiting flow rates are treated as upper limits, while
the pressure limits are treated as lower limits in production wells
and upper limits in injectors.

The well automatically changes its mode of control whenever the


existing control mode would violate one of these limits. The target
quantity in the old control mode becomes a limit in the new control
mode.

For example, consider a production well operating at a target oil


flow rate of 1,000 stb/day, with a lower limit of 3,000 psia on the
bottomhole pressure. The well will produce 1,000 stb/day of oil
until the bottomhole pressure declines to 3,000 psia. The well
control mode will then change automatically to maintain a
constant bottomhole pressure of 3000 psia with a declining oil
production rate.

If, subsequently, the well was able to produce oil at a rate of 1,000
stb/day or more (resulting for example from stimulation of the well
or the opening of an extra connection), the control mode
automatically switches back to the original target oil production
rate.

Well Economic Limit


The economic limits are specified with the WECON keyword and
are checked at the end of each time step, and the appropriate
action is taken if any are violated. The action is taken at the end of
the time step during which the limit was violated, thus a well may
produce ‘uneconomically’ for one time step before remedial action
is taken.

However, if a limit is broken by more than a specified tolerance


(WLIMTOL), the time step is repeated after the remedial action has
been taken. The action will take effect from the beginning of the
time step in which the limit would otherwise have been violated.

By default, this keyword is toggled off.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 97


Group Control Schlumberger

Connection Specification: COMPDAT


The COMPDAT keyword is used to specify to which cells the well is
connected. A connection is the sum of all of the completions or
perforations that happen to be located in the grid cell.

COMPDAT is also used to specify the properties of each connection


so that completions making up the connections can be
meaningfully combined, and an engineer can use completion data
from other sources.

• COMPDAT is required for all wells and cannot precede


WELSPECS.
• Locations and properties of connections are specified using
COMPDAT.
• A connection is the combination of all completions located in
a single grid block.
• The well will only produce or inject if it has open connections.
• This can be used as a workover keyword to modify
connection properties, and open and shut them.
• The maximum number of connections per well must be
specified in the RUNSPEC section using the WELLDIMS
keyword.

Introduction to Group Control Options


Wells can be subjected to their own flow and pressure constraint
(WCONPROD). Wells can be under group control producing the full
share of the group’s production target (GCONPROD).

If the well is constrained by its own flow or pressure limits, other


wells will increase in proportion to their guide rates to meet the
group’s target without violating their limits. If the group’s target
cannot be met, new wells can be drilled or alternative actions can
be taken (PRORDER).

Every well must belong to a particular group, with the default


being FIELD. Additional controls can be introduced for the groups
to represent production/injection targets imposed by surface
facilities.

98 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

There are several considerations that you should take into


account while using group control:

• Wells can be collected into groups using the WELSPECS


keyword.
• Production of a group of wells is controlled using the
GCONPROD keyword.
• Injection of a group of wells is controlled using the
GCONINJE keyword.
• Producers and injectors need not be placed in separate
groups.
• The FIELD group is always present.
• Wells are placed under group control by specifying the well
control mode as GRUP in WCONPROD or WCONINJE.
• Collective control occurs when the flow target of a well
depends directly on the flow rates of other wells. This is most
common when injection rates are dependent on production
volumes.
Group production rate targets are set using GCONPROD. Selected
groups at any level in the hierarchy (including the field) can be
made to produce at a target value of any one of the following
quantities:

• Oil production rate


• Water production rate
• Gas production rate
• Liquid (oil + water) production rate
• Reservoir fluid volume rate
• Linear Combined Rate mode (CRAT)
• Reservoir volume production balancing fraction, which limits
the group’s reservoir fluid volume production rate to the
specified fraction of its reservoir fluid volume injection rate.
For ECLIPSE Compositional, the control options are
• Wet gas rate, (which is the volume that the hydrocarbon
mixture would occupy at standard conditions if it were an ideal
gas).
• Surface gas volume production balancing control, (which
limits the group’s available surface gas rate to the specified
fraction of its surface gas injection rate).

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 99


Group Control Schlumberger

• Surface water volume production balancing control, (which


limits the group’s surface water volume production rate to the
specified fraction of its surface water volume injection rate).
• Calorific value rate. Molar calorific values must be specified
with the CALVAL keyword before this control mode may be
used.
You can impose upper limits on any of the quantities listed before,
for selected groups and/or the field. These limits can be imposed
whether or not the group or field has a production target to
maintain. The group target or limit can be reassigned using
GRUPTARG.

If a group’s production rate exceeds one of these limits, you have


several options.

Actions You can Take if One Limit is Exceeded


You have several options:

You can do nothing, which is the default option, or you can choose
to do one of the following:

CON • The worst-offending connections in the worst-


offending wells are closed successively until the
rate is honored.
• If the violated target is a control target,
subordinate wells are cut back sufficiently to
ensure the group rate target is observed.
If the violated target is not a control target, a
workover is applied to the worst-offending well.
The worst offending well has the highest ratio of
violating phase to the well’s preferred phase.

The worst-offending connections in the worst-


offending wells are closed successively until the
rate limit is honored. The option CON+ also lets
you close all connections below the worst-
offending one in the well.
CON+ In addition to the action of CON, all connections below
the worst-offending well are closed until the rate is
honored.

100 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

WELL The worst-offending wells are closed successively until


the rate is honored.
PLUG The worst-offending wells are plugged back. The
length of perforations in the top and bottom open
connection is reduced by an amount specified in the
keyword WPLUG.
RATE The group rate is made to produce the offending phase
in its maximum allowed rate. This imposes group / field
production rate control at the violated limit.

This amounts to cutting back subordinate wells


sufficiently to ensure that the group target rate is
honored. If the violated target is a control target, then
subordinate wells are cut back sufficiently to ensure
the group rate target is observed.

The group can be made to produce the offending


phase at its maximum allowed rate, primarily based on
the group rate and guide rate control.

If the group was previously meeting a target rate for


another phase, that target will no longer be met but,
instead, will act as an upper limit for the production rate
of that phase. The violated limit, in effect, becomes the
new target.

Guide Rate Control for Producers


The production guide rates are controlled using items 9 and 10 of
the GCONPROD keyword.You can set the group’s guide rate (item
9):

• to a group production rate of a particular phase (Oil, Gas,


Water, Liquid, Combined)
• to the group injection rate (INJV) for ECLIPSE 100 only
• to the group production potential (POTN) in item 10
• as calculated by a formula (FORM) in item 10 in GUIDERAT.
A group’s production guide rate is a dimensionless number
governing the group’s share of a higher level production rate
target, and a group needs a guide rate only if it is required to
produce a specified proportion of a higher level rate target.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 101


Group Control Schlumberger

If the guide rate phase in Item 10 differs from the phase under
control, the guide rate is translated into a guide rate for the
controlled phase using the group’s production ratios at the
beginning of each time step.

If no guide rate is specified, the group’s share of a higher level


rate target is governed by the guide rates of its subordinate wells,
or any subordinate groups with guide rates. The group is
essentially ‘transparent’ to higher level production rate targets,
which are apportioned directly down to its subordinate wells or
groups with guide rates.

NOTE: The well guide rates are set by default equal to the
wells’ production potentials, but can be specified directly
by using the keyword WGRUPCON.

For example, the target oil production rate of a group can be


apportioned among its subordinate wells such that each well
produces similar amounts of liquid. This can be done by giving
each well the same guide rate for the liquid phase.

GCONPROD item 10 should be set to FORM, so the group guide


rate will be calculated from the formula specified in GUIDERAT.

where

POT OIL LIQ GAS RES


R1 w/o w/l w/g w/o
R2 g/o g/l o/g g/o

Alternatively, the keyword GUIDERAT can be used to specify the


coefficients of a general formula for well guide rates as a function
of their oil, water and gas production potentials. This can enable,
among other things, wells with a high water cut to be given a
progressively smaller guide rate as they water out, with individual
wells subject to their own flow and pressure constraints.

A well that is producing its full share of the group’s production


target is said to be under group control, while a well constrained
by its own flow or pressure limits is said to be under individual
control.

102 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

If necessary, certain wells can be prevented from coming under


group control. These wells will continue to operate according to
their individual flow or pressure constraints, regardless of a group
flow target.

Guide Rate Control for Node-Groups


The groups under rate control are processed level by level, from
the bottom level up to the field. The node-group allocates its target
to its subordinate wells according to their guide rates unless a
subordinate group has either:

• a target of its own


• been declared unavailable for control at a higher level
• been given a production guide rate.
If a subordinate group has a target rate of its own, its production
rates will have already been calculated.

NOTE: The groups under rate control are processed level by


level, from the bottom level up to the field.

For example, following Figure 48, PLAT-B has a target rate of


50,000 stb/day for oil and SAT-B has a target rate of 30,000 stb/
day for liquid. The SAT-B target rate may be a limit that has
become a target after being violated. The SAT-B oil rate is
subtracted from PLAT-B target, and the remainder is shared
between the wells in GR-B1 and GR-B2.

If SAT-B is required to produce 30,000 stb/day of liquid regardless


of the PLAT-B target, it should be declared unavailable for control
at a higher level (in keyword GCONPROD). Otherwise, its wells
could come back under control from PLAT-B if the SAT-B share of
PLAT-B oil target ever fell below its current oil rate when
producing 30,000 stb/day of liquid. In this instance, SAT-B wells
would produce their own share of the PLAT-B oil target, with a
combined liquid rate of less than 30,000 stb/day.

Declaring a group unavailable to respond to a higher level control


ensures that it continues to operate at its rate target or maximum
production capacity, independent of any higher level rate control.

A group can be given a production guide rate (in keyword


GCONPROD) if it is required to produce a specific proportion of a
higher level rate target.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 103


Group Control Schlumberger

For example, a field has an oil rate target of 100,000 stb/day and
platforms PLAT-A and PLAT-B are required to produce equal
quantities of liquid. In this instance, PLAT-A and PLAT-B should
be given equal guide rates for the liquid phase.

The liquid guide rates are translated into oil guide rates by
multiplying them by each platform’s oil-liquid ratio from the
previous time step. Both platforms are then given oil rate targets in
proportion to their oil guide rates and placed under control from
the higher (field) level.

If PLAT-A is unable to provide its share of the field’s oil target, it


will produce what it can according to its own limits or capacity, and
the remainder of the field target will be allocated to PLAT-B.

The following scenarios illustrate some of the above discussion.

Scenario 1
• PLAT-A has an oil target rate of 50,000 stb/day.
• GR-A1 and GR-A2 have equal oil guide rates.
• GR-A1 has a liquid target rate of 30,000 stb/day.
The calculated oil rate shared by GR-A1 is 24,000 stb/day, based
on the group LRAT target and the oil-liquid ratio from the previous
time step.

• GR-A1 is on liquid rate control.


• GR-A2 must produce 26,000 stb/day of oil.

Figure 49 Scenario 1 group control example

Scenario 2
• PLAT-A oil target is reduced to 40,000 stb/day.
• GR-A1 oil rate will be 20,000 stb/day.

104 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

• GR-A1 and GR-A2 are now under oil rate control from PLAT-
A, and GR-A1 cannot meet its liquid target of 30,000 stb/day.

Figure 50 Scenario 2 group control example

Scenario 3
GR-A1 is declared unavailable for control at a higher level. In this
instance, GR-A1 will produce according to its own target of 30,000
stb/day of liquid (item 8=NO in GCONPROD). Only GR-A2 is under
control from PLAT-A.

Prioritization Option
The prioritization option is an alternative means of applying
production rate limits to groups instead of the guide rate method.
In the prioritization option, wells are turned on in decreasing order
of priority, the well with the highest priority flowing first, until a
group production rate limit is exceeded.

The flowing wells operate at their individual targets or limits


(WCONPROD). However, the well that exceeds the group rate limit
is cut back to meet the limit, and the wells with priority lower than
this subordinate to that group do not flow. The low priority wells
not selected for flow are ‘priority-closed’ until they are eventually
selected.

The group production target and limits are defined in GCONPRI.


The keyword GRUPTARG is used to re-assign group targets and
limits.

The priority number for each well is calculated from its potentials
at regular intervals, according to a general formula with user-
defined coefficients. The keyword PRIORITY is used to select the
prioritization option and to set the coefficients of the priority
equation.

The equation allows the priority to be set equal to, for example,
the potential oil rate, or the reciprocal of the potential gas rate, or
the reciprocal of the water cut. Individual wells may also have their

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 105


Group Control Schlumberger

priorities set independently with the keyword WELPRI, overriding


the general equation.

Well’s Priority Formula


The priority formula is calculated for all wells.

(A+BQo+CQw-DQg)/(E+FQo+GQw+HQg)

• A-H are defined by PRIORITY.


• Wells individually defined by WELPRI overwrite those
generated by PRIORITY.
With the prioritization option, upper limits can be set for the oil,
water, gas, liquid and reservoir fluid volume rates of each group.
The choice of actions on exceeding a limit are the same as those
described for the group production control, except that action PRI
causes the rate to be reduced by closing the low priority wells
instead of cutting all the wells back to flow in proportion to their
guide rates.

The group production rate limits and actions must be set using the
keyword GCONPRI, and not GCONPROD, as in the guide rate
method.

Secondary Priority
In ECLIPSE Black Oil, the second priority equation may be used
instead of the first equation when prioritizing wells to cut back
production to obey specific rate limits.

For example, if a group gas rate limit is exceeded, you may wish
to close wells with a high GOR while, if a water rate limit is
exceeded, you may wish to close wells with a high water cut.

When two priority equations are defined, the calculation


procedure differs slightly from the single priority equation case. All
the available wells are opened initially, then if a group rate limit is
violated, the wells with the lowest priority according to the formula
chosen for that particular limit are closed in turn until the rate limit
is no longer exceeded. The last well to be closed is then re-
opened and made to produce at a rate calculated to meet the limit.

If two or more group rate limits are exceeded which use different
priority formulae, the lowest priority well is selected according to
the formula appropriate to the limit that is exceeded by the

106 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

greatest fraction. The ‘active’ formula may of course change as


each well is closed.

Mixed Control of Guide Rate and Prioritization


It is possible to mix the two group control strategies - prioritization
and guide rates - in a single run. Groups to be controlled by
prioritization should have rate limits set with keyword GCONPRI,
while groups using the guide rate method have their rate limits set
with keyword GCONPROD.

A group can be changed from one method to the other by re-


specifying its rate limits with the appropriate keyword. The mixing
of the two methods, however, is subject to one restriction: the
guide rate method cannot be used by a group subordinate to a
group using the prioritization method.

Among other things, this means that no groups can use the guide
rate method if the field has a prioritization rate limit.

When the two group control strategies are mixed, the well rates
are allocated according to the following method.

1. Solve the production wells subordinate to prioritization


groups, which selects wells for flowing in decreasing order of
their priorities.
2. Solve the producers in the remaining parts of the grouping
tree, employing the standard guide rate method to apportion
the flow rates between them to meet any GCONPROD group
targets.
If a prioritization group is subordinate to one with a
GCONPROD rate target, the wells in the prioritization group will
already have had their flow rates set, and the remaining wells
will have their rates set to make up the rest of the GCONPROD
group’s target.

Wells from the drilling queue (keyword QDRILL or WDRILPRI) that


are not subordinate to a prioritization group are opened when
necessary to meet the GCONPROD group’s rate target.
NOTE: The drilling queue is not used for opening wells that are
subordinate to prioritization groups, as the prioritization
algorithm handles the opening and closing of these wells.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 107


Group Control Schlumberger

Group Economic Limits: GECON


The set of economic limits described for wells can also be applied
to the overall production of groups as well as the field as a whole
(Figure 51). If the oil or gas production rate of the group (or field)
falls below a minimum value, all its production wells are closed.

If the group (or field) water cut, gas-oil ratio or water-gas ratio
exceeds a maximum value, the choice of workover options
described earlier for wells will be performed on successive worst-
offending wells in the group (or field). The economic limit values
are set using keyword GECON.

Figure 51 Setting group economic limits: GECON

As with the well economic limits, the remedial actions for the
group and field economic limits are performed at the end of the
time step in which they were broken. However, if a limit is broken
by proportionately more than the tolerance fraction specified with
keyword WLIMTOL, the time step is repeated after the action has
been taken.

108 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

Group Cut-Back Limits


In ECLIPSE Black Oil, there is an option to cut back the group
production rate by a specified fraction each time the group’s water
cut, gas-oil ratio, gas-liquid ratio, or water-gas ratio exceeds a
specified value. The option is invoked with the keyword
GCUTBACK and works in a way similar to the well rate cut-back
option controlled by the keyword WCUTBACK.

GCUTBACK cuts back the group production rate by a specified


fraction each time the group WCT, GOR, GLR or WGR exceeds a
specified value.

WLIMTOL defines a tolerance fraction above which the time step is


repeated after the action has been taken. By default, the action is
taken at the end of the time step.

Questions
These questions are for discussion and review.

• What is the difference between priority and guide rate


control?
• Is it possible to mix the two types of controls?
• What is an economic limit from the point of view of
simulation?

Lesson 2 Group Injection Control

Groups, and the field as a whole, can be given targets and limits
which govern the injection rate of each phase. The injection
controls, set using the keyword GCONINJE, can be applied
independently of any production controls the group may have.

As you can see in Figure 52 , a group at any level (including the


field) can have its injection rate of water and/or gas (and oil in
ECLIPSE Black Oil) controlled to meet one of the following
targets:

• surface injection rate of a particular phase


• total reservoir volume injection rate of all phases (RESV)
• re-injection fraction of a particular phase (REIN)

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 109


Group Control Schlumberger

• total voidage replacement fraction of all injected phases


(VREP)
• wet gas rate (ECLIPSE Compositional), which is the
volume that the injected hydrocarbon mixture would occupy
at standard conditions if it were an ideal gas.

Figure 52 The GCONINJE keyword

The first control mode gives the group a user-specified surface


injection rate target.

The second control mode gives the group a target reservoir


volume injection rate for the phase that is equal to the user-
specified total rate minus the reservoir volume injection rate of any
other phases in the group.

The third control mode gives the group a surface injection rate
target equal to its production rate of the phase (or alternatively the
production rate of another named group) multiplied by the user-
specified re-injection fraction.

If the phase is gas, gas consumed by the group and any


subordinate groups is subtracted from the production rate; gas
imported to the group and any subordinate groups is added to the
production rate before multiplying by the re-injection fraction.

110 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

If the group has a target set for reservoir volume injection rate or
voidage replacement fraction for a particular phase, that phase is
designated the ‘top-up’ phase for the run. It is used to top up the
total group injection rate to the required target. Its injection target
depends on the injection rates of other phases within the group
and, therefore, the ‘top-up’ phase must have its injection controls
handled last of all.

There can be only one ‘top-up’ phase at any given time in the
simulation; different groups cannot have different ‘top-up’ phases.
An example application of injection control is for a platform to re-
inject all its available gas (that is, produced gas minus gas
consumed for power) and to inject water so that the water and gas
injection together replaces the platform’s production voidage.
Water is the ‘top-up’ phase here.

Upper limits can be imposed on the four quantities at any group or


the field as a whole. If the injection rate exceeds one of a group’s
upper limits, the violated limit becomes a target for the group. If
the group was already injecting at a target rate, the original target
will no longer be met but will act as an upper limit for that quantity.

For example, a group can inject water to replace its voidage


production, subject to a surface rate limit that represents its
injection water handling capacity. Only the ‘top-up’ phase can
have upper limits specified for quantities 2 or 4 because a limit
could become a target at some stage in the simulation.

Guide Rate for Group Injection Control


A group or field target injection rate is apportioned between the
subordinate wells or groups in a manner analogous to a
production target. A well-group’s target is shared between its
group controlled injectors in proportion to their guide rates, after
subtracting the injection rate of any injectors under independent
control. An injector guide rate can be set with keyword WGRUPCON,
otherwise it will be set equal to the well’s injection potential at the
beginning of each time step.

Wells are placed under independent control if they cannot inject


their share of the group’s target, or if they have been declared
unavailable for group control in keyword WGRUPCON. If a group
cannot inject its target rate with its existing wells, the drilling queue
is scanned for a suitable injector to open.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 111


Group Control Schlumberger

Similarly, a node-group (or the field) target rate is apportioned


among its subordinate groups unless a subordinate group has
either:

• a target injection rate of its own for that phase


• been declared unavailable for injection control at a higher level
• been given an injection guide rate for that phase.
Group injection guide rates can be used to control the distribution
of the injected phase between various groups in the same way as
for production control. An alternative to setting the guide rates
specifically is to calculate at the beginning of each time step
according to a choice of two options.

One option sets them equal to the groups voidage production rate,
while the other option (available only to the ‘top-up’ phase) sets
them equal to the groups net voidage: the production voidage
minus the reservoir volume injection rate in the other phases.

A sample application is for a platform to re-inject its available gas,


distributing it to selected groups in proportion to their voidage
production rate. The platform could also inject water to replace the
overall production voidage, distributing it to all groups in
proportion to their net voidage rate. This would give less water to
the groups that have gas injection.

Control for Pattern Flood Injection Wells


The WCONINJP keyword is used to specify a well that injects at a
reservoir volume rate defined by the production of the wells that
surround it, as shown in Figure 53. An example of this type of
control would be to specify a well that injects at a rate equal to the
sum of one quarter of the voidage from each of the four
neighboring producers in a five spot pattern.

One well cannot belong to multiple groups. For example, well


INJW injects a quarter of the production voidage from each of the
four surrounding producers: PRD1, PRD2, PRD3 and PRD4.

Figure 53 Control for pattern flood injection wells

112 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

The keyword WCONINJP can be used only on one injection well at


a time, so it must be specified more than once if there is more
than one injection well under this type of control.

Question
What type of injection control could be used with the GCONINJE
keyword?

Lesson 3 Flow Target Calculation

When any form of group control option is being used (keywords


GCONPROD, GCONPRI, GCONINJE and GCONSALE), the flow
targets of certain wells are directly influenced by the behavior of
other wells in the field.

For example, the target rates of producers under group control


must allow for the production from wells that are under other
modes of control within the group. Also injection wells performing
re-injection or voidage replacement have flow targets that depend
on the behavior of the production wells.

For the group targets to be met exactly, the flow targets of the
wells under group control must be re-calculated at every Newton
iteration. When the well flow targets change at each iteration, the
convergence rate of the iterations is reduced. This is because the
Jacobian matrix calculation does not include the terms
representing the mutual dependency of the well rates.

As a compromise, the well flow targets are updated in the first


NUPCOL Newton iterations of each time step and are kept
constant for any subsequent iterations.

NOTE: The value of NUPCOL is initialized by keyword NUPCOL in


the RUNSPEC section. It can be reset at any time in the
simulation with keyword NUPCOL or GCONTOL in the
SCHEDULE section.

Group/field flow targets will be met exactly if the time step


converges within NUPCOL iterations. Any changes in the solution
after the first NUPCOL iterations may cause the group/field flow
rates to drift slightly away from their targets.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 113


Group Control Schlumberger

In general, larger values of NUPCOL will result in the group/field


flow targets being met more accurately, but perhaps at the
expense of requiring more Newton iterations to achieve
convergence.

Lesson 4 Group Production Rules

The available actions taken to meet the production target when it


is violated can be condensed into six options, as shown in
Figure 54.

Figure 54 Group production rules

The order of the action is defined by record 1 of the keyword


PRORDER: DRILL, REPERF, THP, RETUBE, LIFT, and COMP. If
PRORDER is not present, only DRILL is performed if the drilling
queue is set up, followed by COMP.

Drill New Wells


A drilling queue must be set up either with keyword QDRILL (for a
sequential drilling queue) or keyword WDRILPRI (for a prioritized
drilling queue), containing production wells declared as SHUT in
keyword WCONPROD.

In a sequential drilling queue, wells are considered for opening in


the sequence in which they were placed in the queue. In a
prioritized drilling queue, wells are considered for opening in
decreasing order of their drilling priority.

114 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

Drilling is subjected to:

• WDRILTIM – drilling time


• GRUPRIG – available drilling rigs
• GECON – maximum number of well in a group
• WDRILRES – grid block shared by more than one well
• WELSOMIN – minimum oil saturation in all its completed grid
blocks.
Well drilling priorities may be set manually in keyword WDRILPRI
or calculated from their current potentials according to a function
defined with keyword DRILPRI. Restrictions on the rate at which
wells can be drilled may be imposed by declaring the time taken to
drill each well (keyword WDRILTIM item 2) and defining drilling
rigs (keyword GRUPRIG).

When a group cannot achieve its target rate of the required phase,
ECLIPSE scans the drilling queue for a suitable well to open.

A well is rejected if:

• it is not subordinate to the group that is unable to achieve its


production target
• it is subordinate to an intermediate level group that is already
operating at its target or limiting rate for the required phase,
and so cannot increase its flow further
• it is subordinate to a prioritization group (keyword GCONPRI).
The drilling queue logic is not activated under prioritization
group control.
• the well takes a non-zero time to drill (keyword WDRILTIM
item 2) and all drilling rigs available to its group (keyword
GRUPRIG) are already occupied for the whole of the current
time step
• its group, or any superior group in the hierarchy, already has
its maximum allowed number of open wells (keyword GECON
item 9)
• the oil saturation in all its completed grid blocks is below a
specified minimum value (keyword WELSOMIN)

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 115


Group Control Schlumberger

• the well has a connection within a grid block that also


contains a connection belonging to another open well, and
keyword WDRILRES has been entered to prevent more than
one well being completed in the same block.
TIP: The first producer in the drilling queue that survives all
the above tests is drilled.

The drilling queue should not be confused with the Automatic


Opening facility. They are both subject to the same constraints on
drilling rate, rig availability and maximum number of wells per
group. However, wells on AUTO are opened as soon as these
constraints allow, whereas wells in the drilling queue are opened
only when a group or the field cannot meet its rate target.

Workover and Drilling Rig Constraints


An option is available to limit the rate at which workovers are
performed and new wells are drilled, according to the availability
of workover and drilling rigs. Each group may have as many as 5
workover rigs and as many as 5 drilling rigs assigned to it, using
the keyword GRUPRIG. Several groups may share the same rig, if
required. The default is that one rig of each type is shared by the
whole field.

The availability of a workover rig determines the rate at which


automatic workovers can be performed. Automatic workovers are
performed after violation of a well or group economic limit; if a
connection is set to AUTO, it could be opened after a group limit is
exceeded. The time taken for each well to be worked over is set
with keyword WORKLIM, and the appropriate rig is made
unavailable for other workovers for this duration.

A workover on a particular well is postponed if all its available


workover rigs are already occupied until the end of the time step.
When a workover is postponed, the well continues to operate
‘uneconomically’ until its rig is available. A flag can be set with
keyword WDRILTIM which causes a well to be temporarily closed
while a workover takes place.

Similarly, the availability of a drilling rig determines the rate at


which new wells can be drilled automatically (for example, from
the drilling queue set up with keyword QDRILL or WDRILPRI, or in
ECLIPSE Black Oil using the AUTO option in keyword WCONPROD
or WCONINJE).

116 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

The time taken for each well to be drilled can be set individually
with keyword WDRILTIM, and the appropriate rig is not able to drill
any other wells for this duration. The drilling of a well is postponed
if all its available drilling rigs are already occupied until the end of
the time step. It is drilled during the time step in which a rig
becomes available.

The Effect of Closing Wells During Drilling and Workover


The rate at which new wells can be drilled and existing wells
worked over can be controlled by specifying non-zero durations
for these processes (see keywords WDRILTIM and WORKLIM) and
defining drilling and workover rigs (see keyword GRUPRIG).

A drilling or workover process will occupy the appropriate rig for


the specified time. A well cannot be drilled (or worked over) in a
given time step if all available drilling (or workover) rigs are
occupied for the whole time step.

By default, a well starts flowing at the beginning of the time step in


which its drilling operation starts, and it continues flowing while it
is being worked over. However, there is an option to treat wells as
shut for the duration of their drilling and workover processes (see
keyword WDRILTIM item 3).

This is achieved by giving the wells temporary reduced efficiency


factors, which reflect the proportion of the time step in which they
are unable to flow. While this option yields more realistic behavior,
it can cause a problem in the operation of the group production
rules.

When a well is treated as shut for the duration of its drilling or


workover process, the full benefit of this action is not realized until
the time step after the process has been completed. In fact, the
immediate effect of a REPERF action may be a temporary
reduction in production rate, if the workover takes a non-zero time
and the well is closed for its duration.

Consequently, the immediate effect of a DRILL or REPERF action


may not be sufficient to enable the group to reach its target rate,
and ECLIPSE attempts more actions from the production rule list,
even if these would not have been necessary once the drilling or
workover process is complete.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 117


Group Control Schlumberger

If you wish to treat wells as shut while being drilled or worked


over, it is advisable to set the item in record 2 of the PRORDER
keyword to NO. This prevents the performance of any further
production rule actions for the same group following a DRILL or
REPERF action until the benefits of this action are fully realized.

Open New Connections (Re-Perforating)


Well connections may be placed on automatic opening by
specifying AUTO in item 6 of keyword COMPDAT (or in keyword
WELOPEN or COMPDATL as appropriate). Wells will be worked over
in turn to open these connections.

Restrictions on the rate at which wells can be worked over may be


imposed by declaring the time taken to perform a workover
(keyword WORKLIM) and defining workover rigs (keyword
GRUPRIG).

When a group cannot achieve its target rate of the required phase
ECLIPSE, examines each open production well in turn, rejecting
the well if:

• it has no connections in its AUTO opening queue


• it is already operating at its own target or limiting rate for the
required phase, and so cannot increase its flow further
• it is not subordinate to the group that is unable to achieve its
production target
• it is subordinate to an intermediate level group that is already
operating at its target or limiting rate for the required phase,
and so cannot increase its flow further
• workovers take a non-zero time (keyword WORKLIM) and all
workover rigs available to its group (keyword GRUPRIG) are
already occupied for the whole of the current time step.
For each well that survives all these tests, ECLIPSE determines
the sum of the connection factors multiplied by the mobility of the
required phase over all the connections in its AUTO queue.
ECLIPSE then selects the well having the largest value of this
sum and opens its next connection in its AUTO queue. Within
each well, connections on AUTO are opened in the order in which
they are first declared with the keyword COMPDAT.

118 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

This scheme allows you to dictate the order in which the new
connections are opened in any given well (for example, from the
bottom up). However, ECLIPSE decides for itself which well to re-
perforate, on the basis of the combined productivity of the
connections remaining on AUTO.

Note that the procedure does not necessarily work over the ‘best’
connection each time. Consider a well whose first connection on
AUTO is in a layer with poor mobility, but which has additional
connections on AUTO in highly productive layers.

The procedure may choose this well on the strength of its


productive AUTO connections, but opens the unproductive
connection first. In this way, the unproductive connection does not
‘block’ the opening of the productive ones further down the queue.

Opening the unproductive connection may not be sufficient to


achieve the group’s rate target, and another connection may have
to also be opened. The time taken to perform a workover is
assumed to be independent of the number of connections
opened. Thus, if a rig has been allocated to the well to open a
connection, opening a second connection in the well during the
same time step will not take up additional rig time.

There are two additional options that relate to the opening of


connections on AUTO.

Firstly, connections can be lumped together into ‘completions’


(see keyword COMPLUMP). During automatic workovers, all
connections belonging to the same completion are opened or
closed together. When a well has been selected for re-perforating,
its completions are examined in increasing order of their
completion number, and the first one found having connections on
AUTO will have all its connections opened together.

Secondly, a minimum oil saturation can be specified with keyword


WELSOMIN. Any connection or lumped completion on AUTO with
a grid block oil saturation below this minimum value is not opened.
In lumped completions, the connection factor weighted average of
the grid block saturations is used.

Note that a connection on AUTO is also opened automatically


when another connection in the same well is closed in a workover
at the end of the time step. This could be triggered by the violation
of an economic limit (keywords WECON or GECON).

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 119


Group Control Schlumberger

In addition, if the production rate of a well falls below its minimum


economic limit (keyword WECON items 2 and 3), its next
connection on AUTO is opened. If it has no connections remaining
on AUTO, the well is shut or stopped.

These actions result in AUTO connections being opened


according to the behavior of individual wells rather than a group; it
takes place irrespective of whether or not group targets are being
met.

Reducing the THP Limit


Calculations involving tubing head pressure are handled using
Vertical Flow Performance (VFP) tables, which are supplied as
input data. These tables relate the bottomhole pressure of a well
to the tubing head pressure at various sets of flowing conditions.

There are two types of VFP tables:

• Injector tables, which describe the vertical flow performance


of injection wells entered with keyword VFPINJ
• Producer tables, which describe the vertical flow
performance of production wells entered with keyword
VFPPROD.
Note that there are three ways of defining the flow rate for every
phase. You should select the most appropriate definitions for the
type of well being modeled.

For example, if it is an oil well which eventually waters out, a VFP


table defined in terms of the liquid rate, water cut and gas-liquid
ratio would be suitable. For gas wells, the VFP table should be
defined in terms of the gas rate, water-gas ratio and oil-gas ratio.

The artificial lift quantity (ALQ) is another variable you can use to
incorporate an additional lookup parameter, such as the level of
artificial lift.

Each production well can be given a secondary THP limit in item 8


of keyword WLIFT (which should be lower than the limit currently
specified in WCONPROD or WELTARG). A decrement value may also
be set in item 11 of WLIFT, in which case ECLIPSE reduces the
THP to its secondary limit in stages, a decrement at a time.

120 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

When a group cannot achieve its target rate of the required phase,
ECLIPSE examines each open production well in turn, rejecting
the well if it:

• has no secondary THP limit, or the THP has already been


reduced to its secondary limit
• is currently operating under a control mode other than THP
control
• is not subordinate to the group that is unable to achieve its
production target
• is subordinate to an intermediate level group that is already
operating at its target or limiting rate for the required phase,
and so cannot increase its flow further.
For each well that survives all these tests, ECLIPSE obtains an
estimate of its possible increase in production rate resulting from a
reduction in THP by its next decrement (or to its secondary limit if
no decrements are specified), using the current values of the
phase mobilities at its connections. The well with the highest
estimated increase multiplied by its efficiency factor will have its
THP reduced by the next decrement.

If no decrements are specified for the well, or if its next decrement


would cross the secondary THP limit, the THP is reduced to its
secondary limit. Wells have their THP reduced in decreasing order
of the resulting increase in production rate.

The THP switching process is treated as instantaneous, and there


is no limit on the rate at which wells can be switched.

Changing VFP Tables (Re-tubing)


Each production well can be given a secondary VFP table number
in item 4 of keyword WLIFT (which should be a table with lower
tubing pressure loss). When a group cannot achieve its target rate
of the required phase, ECLIPSE examines each open production
well in turn, rejecting the well if it:

• has no secondary VFP table number, or it has already


switched to its secondary table
• is currently operating under a control mode other than THP
control

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 121


Group Control Schlumberger

• is not subordinate to the group that is unable to achieve its


production target
• is subordinate to an intermediate level group that is already
operating at its target or limiting rate for the required phase,
and so cannot increase its flow further.
For each well that survives all these tests, ECLIPSE obtains an
estimate of the possible increase in production rate resulting from
the switch to its new VFP table, using the current values of the
phase mobilities at its connections. The well with the highest
estimated increase multiplied by its efficiency factor is switched to
its secondary VFP table.

The switching process is treated as instantaneous, and there is no


limit on the rate at which wells can be switched.

Note that wells can also be made to switch to their secondary VFP
tables if their production rate falls below a specified value
(keyword WLIFT item 2), or if their water cut or gas-liquid ratio
exceeds a specified limit (keyword WLIFT items 7 and 9), or if the
well dies under THP control.

This triggers the switch according to the behavior of the individual


wells, irrespective of whether or not group targets are being met. If
you wish the secondary VFP tables to be applied only through the
group production rules to help meet a group target, or if the well
dies under THP control, you must give the rate, water cut and
GLR limits in items 2, 7 and 9 of keyword WLIFT a default, zero or
negative value.

Changing Well ALQ Values (Applying Lift)


Each production well can be given a secondary ALQ value in item
5 of keyword WLIFT, which represents the application of a fixed
quantity of artificial lift (for example, a fixed rate of lift gas
injection). An increment value may also be set in item 10 of
WLIFT, in which case ECLIPSE increases the ALQ to its
secondary value in stages, an increment at a time.

A new well efficiency factor can also be defined in item 6 of


keyword WLIFT if required, which comes into effect at the same
time as the secondary ALQ value (or the first ALQ increment) is
applied. There is an option to restrict the total amount of lift
applied within a particular group, and the number of wells on lift
within a group (keyword GLIFTLIM).

122 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

When a group cannot achieve its target rate of the required phase,
ECLIPSE examines each open production well in turn, rejecting
the well if:

• it has no secondary ALQ value set in keyword WLIFT, or it


has already switched fully to this ALQ value
• it is currently operating under a control mode other than THP
control
• it is not subordinate to the group that is unable to achieve its
production target
• it is subordinate to an intermediate level group that is already
operating at its target or limiting rate for the required phase,
and so cannot increase its flow further
• its group, or any superior group, would exceed its limit on
total lift or the number of wells on lift, set in keyword
GLIFTLIM.
For each well that survives all these tests, ECLIPSE obtains an
estimate of the possible increase in production rate resulting from
an increase in ALQ by its next increment (or to its secondary value
if no increments are specified), using the current values of the
phase mobilities at its connections. The effects of a new efficiency
factor, if specified, are also taken into account.

The well with the highest estimated increase will have its ALQ
value increased by the next increment. If no increments are
specified for the well, or if its next increment would cross the
secondary ALQ value, the ALQ will be increased to its secondary
value. The lift switching process is treated as instantaneous, and
there is no limit on the rate at which wells can be switched.

Note that wells can also be made to switch on lift if their


production rate falls below a specified value (keyword WLIFT item
2), or if their water cut or gas-liquid ratio exceeds a specified limit
(keyword WLIFT items 7 and 9), or if the well dies under THP
control. This triggers the switch according to the behavior of the
individual wells, irrespective of whether or not group targets are
being met.

If you wish lift to be applied only through the group production


rules to help meet a group target, or if the well dies under THP
control, then you must give the rate, water cut and GLR limits in
items 2, 7 and 9 of keyword WLIFT a default, zero or negative
value.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 123


Group Control Schlumberger

Activating Compressors
This option is only available if the Extended Network model is in
use, as this model includes a special type of compressor that is
turned on automatically when a nominated group fails to meet its
production rate target. These compressors are defined with the
keyword NETCOMPA, and each compressor is located in a
specified branch of the network, its operation is modeled by
changing the ALQ value used to look up the VFP table associated
with the branch.

Compressors may be single level or multi-level. Single-level


compressors switch directly to the new ALQ value when they are
turned on, while multi-level compressors change their ALQ value
in a user-defined number of increments until they are fully on at
their maximum ALQ value.

It is possible for a group to have more than one compressor


responding to it. The compressors can be located anywhere in the
network, but should be positioned to boost the production of their
nominated group.

If two or more compressors respond to the same group, the order


in which they are activated is controlled by their switching
sequence number (item 12 in keyword NETCOMPA). Multiple
compressors responding to the same group are activated in
increasing order of their sequence number.

If more compression is required after the first compressor is fully


on, the next compressor that responds to the group will be turned
on (incrementally, if it is a multi-stage compressor).

Sales Gas Production Control


This option is available only in ECLIPSE Black Oil and is selected
by using the keyword GCONSALE. This keyword provides a means
of controlling the export of associated gas from an oil field which
may, at the same time, have controls on the oil production rate. It
is not intended for use when simulating gas fields, as it relies on
gas injection to control the sales gas rate.

124 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

The sales gas production rate of a group is

(sales gas production rate) =

(total gas production rate) - (gas injection rate) +

(gas import rate to the group and any subordinate groups) -

(gas consumption rate of the group and any subordinate


groups).

The group gas consumption and import rates are set with the
keyword GCONSUMP. The sales gas production rate is controlled
by re-injecting the surplus gas not required for sale. Sales gas
control can be applied independently of any other production
controls on the group or field, provided there is enough injection
capacity to inject the surplus gas.

There must be at least one gas injector subordinate to each group


with a sales gas target.

The group or field is automatically placed under gas re-injection


control, and its target re-injection fraction is determined
dynamically at each time step to inject the surplus gas.

Other limits on gas injection for the group or field (such as


maximum surface rate) can be simultaneously applied using the
keyword GCONINJE.

The distribution of the injected gas between any subordinate


groups can also be controlled by giving these groups upper rate
limits and guide rates for gas injection, with the keyword
GCONINJE.

If the group or field is producing more surplus gas than the


injectors can handle, the drilling queue will be scanned for a new
gas injector to open. Failing this, a choice of actions can be
performed at the end of the time step to reduce the gas production
in the next time step. These options include closing or working
over the worst-offending well, or controlling the group or field gas
production rate.

There are two options for controlling the group/field production


rate:

• The RATE option calculates the gas production rate


necessary to meet the sales gas target after allowing for any

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 125


Group Control Schlumberger

consumption and the current rate of re-injection, then places


the group/field on gas production rate control.
The production rate target will remain at this value unless
another limit is violated. Note that if the injection capacity
were subsequently to increase, the production rate would not
increase to take advantage of the increased injectivity.

• The alternative MAXR option also places the group/field


under gas production rate control with a similarly calculated
production target. This removes the re-injection fraction limit
(by setting the re-injection fraction limit to (1) and continues
to recalculate the gas production rate target according to
what the injection rate was in the previous iteration.
As a result, this option maximizes the production rate when
the system is constrained by its injection capacity, because if
the injection capacity were subsequently to increase, it would
allow the production rate to increase accordingly while still
meeting the sales target.

There is a flaw in this algorithm if the net sales, import and


consumption is zero: stagnation of the injection and
production amounts results even if increased injection
capacity is available.

In this special case, the re-injection fraction limit is set to a


larger value (100% by default) so that any increased injection
capacity can be used. The value of this increased reinjection
fraction limit can be controlled using OPTIONS item 103.

The sales target may not be met exactly, however, because the
production rate calculation uses the injection rate from the
previous iteration, and the well rates will not be updated after the
first NUPCOL iterations of each time step.

The MAXR option will overwrite the group gas production rate limit
with a value equal to the sales gas target plus the injection rate
plus any gas consumption minus any import rate, while the group
is operating on gas production rate control. Any user-defined limit
on this quantity will be erased.

The RATE and MAXR options require guide rate group control;
they are not allowed if prioritization (keyword GCONPRI) is used to
control the group/field’s production.

126 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

If, on the other hand, the group or field is not producing enough
gas to fulfill its sales requirement, corrective action will be taken at
the end of the time step to increase its gas production rate, with
two provisions:

• If it is already under gas production rate control, the target


rate will be increased by the amount required to meet the
sales target.
• If there is a special gas producer open (and able to increase
its production rate (declared with keyword WGASPROD), its
gas rate target will be increased by a specified increment.
Otherwise the drilling queue will be scanned for a suitable
production well to open, preferentially opening any special
gas producers in the queue.

For ECLIPSE Compositional, a more limited means of


controlling sales gas production is available. The rate of produced
gas required for sale is specified with keyword GRUPSALE, and a
fuel usage rate may be set with keyword GRUPFUEL. The group
can be given a re-injection fraction target of 1.0, and it will re-inject
its produced gas minus its fuel and sales requirements. However,
there is no feedback on the production controls if there is an
excess or shortfall of gas.

If there is insufficient injection capacity to re-inject all the surplus


gas, the surplus gas that cannot be injected will show up as an
‘excess’ in the gas accounting tables. Similarly, no remedial action
will be taken if there is insufficient produced gas to meet the sales
target.

Group Control in Petrel


Development strategies are used to describe how a field will be
developed – that is, which wells will produce or inject, at what
rates and pressures they will flow, what operations will be carried
out on the wells over time, and so forth. This makes it easy to
keep track of how the control of a field evolves with time.

For example, as new wells are drilled, the target field rates
change; wells are converted from producer to injector, new
platforms and manifolds are added, and so on. Development
strategies also apply the same constraint to many wells, using
well folders, or different values of a particular constraint to
individual wells.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 127


Group Control Schlumberger

Figure 55 shows the workflow in Petrel: preparing the input wells,


establishing the production/injection rules, and visualizing the
keywords directly inside the same interface.

In the workflow, you would

1. Import or create well deviation and completion.


2. Establish a Group tree.
3. Set rules for production targets and economic limits, and
more.
4. Export a simulation case with the designed development
strategy.

Figure 55 Group control in Petrel

Groups are used to tell the simulator how to control many wells at
a time and, often, a group will represent a physical structure in the
field, as discussed during the course.

For example, a platform or a manifold may also be a logical group,


such as a grouping based on production by zones.

128 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

Rules provide logical groups of simulator control parameters and


may generate one or more keywords. The rule selector only
shows rules valid for the current strategy type – history or
prediction – and the currently enabled simulator(s).

Questions
These questions are for discussion and review.

• What kind of actions can you take if the group target is not
met?
• When does ECLIPSE open a well in a drilling queue?

Exercise 1 Establishing Production and


Injection Field Development

Modify the file EQUAL_GR.SCH to establish a production/


injection development of the field and compare the results with
others.

These files are available in the Exercises/GROUPCONTROL


folder for this exercise:

• EQUAL_GR.DATA
• ACTNUM_V1.GRDECL
• SNARK_GRID.GRDECL
• SNARK_PVT.INC
• SNARK_SCAL.RCP
• SNARK_SOL.INC
• SUMMARY.INC
• EQUAL_GR.SCH
This is a Black Oil model with dimensions of 24 x 25 x 12 with a
simulation that began January 1, 2005. Completion data and
group hierarchy are also provided.

Part 1: Set a Constant Guide Rate


1. Before making changes in the files, create a new folder
named PART1 and copy the entire data set into the folder.
2. Set Well Control.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 129


Group Control Schlumberger

3. Open all the wells available at the beginning of the


simulation.
a. Set all the production/injection wells to group control.
b. Provide a production target for each well of 2,500 stb/day
of oil.
c. Set the BHP limit to 2,800 psia.
d. Establish an injection target of 6,000 stb/day of water.
e. For the producers, introduce a guide rate of 1 applied to
the oil phase.
4. Set Group Production Control.
5. Set the oil production rate for the field to 10,000 stb/day of
oil.
6. For the group EAST, the water production rate must have a
maximum rate of 1,000 stb/day.
If this limit is exceeded, shut the worst offending connection
in the most offending well.

For the group WEST, the water production rate must have a
maximum rate of 4,000 stb/day.

If this limit is exceeded, shut the worst offending connection


in the most offending well.

For the group EAST, set a guide rate of 4 applied to the oil
phase.

For the group WEST, set a guide rate of 1 applied to the oil
phase.

7. A voidage replacement scheme will be applied for groups


EAST and WEST. Set group injection control such as each
injects 95% of the group’s voidage production.
8. Optional: Generate an alternative data set that stipulates if
the minimum oil production rate of any of the producers falls
below 100 stb/day, the well must be shut.

Part 2: Set a Variable Guide Rate


1. Before making changes to any file, create a new folder
named PART2 and copy the entire data set into the folder.
2. Set Well Control.
3. Open all wells available at the beginning of the simulation.

130 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

a. Set all the production/injection wells to group control.


b. Provide a production target for each well of 2,500 stb/day
of oil.
c. Set the BHP target to 2,800 psia.
d. Establish an injection target of 6,000 stb/day of water.
e. Using the following equation for guide rate:

Set values of A, B, C and D to 1.

TIP: E and F should be set to zero “0.”

f. Set the minimum interval between guide rate calculations


of 365 days.
g. Apply the guide rate formula to the oil phase. Do not allow
the guide rates to increase.
4. Set Group Production Control.
5. Set the oil production rate for the field to 10,000 stb/day of
oil.
a. For the group EAST, the water production rate must have
a maximum rate of 1000 stb/day.
If this limit is exceeded, shut the worst offending
connection in the most offending well.

b. For the group WEST, the water production rate must have
a maximum rate of 4000 stb/day.
If is this limit is exceeded, shut the worst offending
connection in the most offending well.

c. For the group EAST, set a guide rate of 4 applied to the oil
phase.
d. For the group WEST, set a guide rate of 1 applied to the
oil phase.
6. A voidage replacement scheme will be applied for groups
EAST and WEST. Set group injection control such as each
injects 95% of the group’s voidage production.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 131


Group Control Schlumberger

7. Optional: Generate an alternative data set that stipulates if


the minimum oil production rate of any of the producers falls
below 100 stb/day, the well must be shut.

Part 3: Comparison
1. Open the summary files of the generated cases in Petrel or
ECLIPSE Office.
2. Plot results for oil production rate at the field level.
3. Plot results for oil production rate for the groups WEST and
EAST.
4. Plot results for oil production for all the producers.
5. Plot results for water injection rate at the field level.
6. Plot results for water injection rate for the groups WEST and
EAST.
7. Compare results with your colleagues and discuss about the
effect of using constant and variable guide rate as a control.

Review Questions
• Which keyword is used for production control at group level?
• Which keyword is used for injection control at group level?
• Is it possible to mix guide rate control and prioritization?
• Which keyword is used to define a multi-level hierarchy tree
of the field?
• In the absence of production control at the group level, how
is the production distributed along the wells that belong to the
same group?

Summary
In this module, you learned about:

• defining the multi-level grouping hierarchy


• the difference between well and group control
• the concept of group control for injectors and producers
• defining the Production rules for group control
• alternatives of automatic workover or intervention.

132 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Group Control

NOTES

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 133


Group Control Schlumberger

NOTES

134 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

Module 3 ACTIONs and User-


Defined Quantities
Wells can be included using lists of wells names. These lists can
be directly created by you or they can be dynamically created,
based on which wells satisfy the conditions you specify. You can
control these wells by specifying the name of a new list as
opposed to specifying the name of an individual well in a well
keyword, such as WCONINJE or WCONPROD.

The family of ACTION keywords provides more powerful controls


over wells and groups than conventional keywords. Conventional
keywords, such as WECON, use simple logic to control a well. For
example, “if (WGOR > 6) then (close a well).”

ACTION keywords provide a more flexible way of applying this


logic, as they work on the general principle “if (condition) then (do
anything ECLIPSE can do).” The condition can be as simple as
(WGOR > 6), but could be a limit on many other SUMMARY
quantities.

User-defined quantities (UDQs) increase the flexibility of the


ACTION keywords by letting you define new SUMMARY
keywords as functions and combinations of existing SUMMARY
keywords. Your new SUMMARY keywords can, of course, be
output to the SUMMARY file for display as line graphs, but they
can also provide more complex conditions for the ACTION
keywords.

UDQs can also be used as user-defined arguments (UDAs),


replacing some conventional arguments in well and group
keywords.

For example, suppose you have defined a UDQ named WU_OPR


to be the oil production rate for a specific well. You can insert
WU_OPR directly in the well keyword instead of specifying an oil
production rate. User-defined tables (UDTs) are extensions that
allows UDQs to do table lookups.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 135


ACTIONs and User-Defined Quantities Schlumberger

Learning Objectives
After completing this module, you will understand the purpose of
UDQs and know how to:

• create and use well lists and dynamic well lists


• create complex well and group controls using UDQs, UDAs
and UDTs.

Lesson 1 Conventional Well Controls

The SCHEDULE section drives the simulation by:

• defining and controlling wells


• specifying times during the simulation when output reports
are produced, restart files are written, and more
• modifying the default time step and convergence criteria, if
required.
To define a well, you must first use keywords WELSPECS and
COMPDAT:

WELSPECS Sets the general specification data. Can be


linked to DRILLING the well.
COMPDAT Defines the position and properties of the well
completions. Similar to PERFORATING the
well.

To control a well, the following keywords can be used:

WCONPROD Defines the production well targets and limits.


Similar to OPERATING the well.
WCONINJE Defines the injection well targets and limits.
Similar to OPERATING the well.

These keywords are normally used in forecasting (prediction)


runs. For history-matching, use keywords WCONINJE and
WCONHIST. Simple controls on wells and on groups of wells have
always existed in ECLIPSE. Before continuing to ACTIONs and
user-defined controls, a brief review of conventional controls is
helpful.

136 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

Consider a simple use of the WCONPROD keyword:


WCONPROD
--nm status control oil-rate W-limit BHP-limit
P1 OPEN ORAT 4000 2000 3* 3000/

The well P1 is open, and you would like it to produce 4,000 bpd of
oil (but no more). If the water production does not exceed 2,000
bpd and the BHP does not drop below 3,000 psia, ECLIPSE will
try to produce 4,000 bpd of oil. However, if P1 produces more
water than the limit of 2,000 bpd, P1 will switch to a water rate
control of 2,000 bpd and produce less than 4,000 bpd of oil.

Similarly, if the bhp of 3,000 psia is reached, P1 will switch to BHP


control and produce less oil. In all cases, the most restrictive
control applies.

In the example in Figure 56, P1 starts under oil rate control (the
green line).

Figure 56 P1 under oil rate control

As the well produces more oil, the blue line showing the water cut
rises and the BHP (shown by black *) drops. After a while, the
BHP reaches its lower limit and P1 switches to BHP control and

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 137


ACTIONs and User-Defined Quantities Schlumberger

the green line showing the oil production drops. The water
production initially drops by a small amount, then increases.

Figure 57 P1 moves to BHP control

As the water production continues to increase, P1 reaches the


limit on water production and switches to water production control.

Figure 58 P1 switches to water rate control

138 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

The complete sequence is shown in Figure 59.

Figure 59 Use of the WCONPROD keyword

You can also control wells on economic limits:

• field/group economic limit (GECON)


• well economic limit (WECON)
• well economic limit on mole fraction(WECONMF)
• individual connection economic limit (CECON).
Economic limits can be triggered when:

• oil production rate falls below its set limit


• gas production rate falls below its set limit
• water cut exceeds its limit
• gas-oil ratio exceeds its limit
• water-gas ratio exceeds its limit
• a mole fraction exceeds its limit.

Automatic workovers can be triggered by:

• economic limit keywords – WECON, WECONMF, WECONINJ or


CECON
• a maximum limit set in keyword GCONPROD.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 139


ACTIONs and User-Defined Quantities Schlumberger

Existing ECLIPSE keywords provide the functionality necessary to


control the wells in many ways, as shown in these examples:

• plug back a well – WPLUG


• test shut-in wells and re-open them – WTEST
• retube, or add a pump or gas lift, such as when changing the
VFP table – WLIFT
• cut back producers and injectors – WCUTBACK
• set up a drilling queue – QDRILL or WDRILTIM.

Questions
These questions are for discussion and review.

• What happens if you specify a limit in WCONPROD and that


limit is exceeded?
• From your own experience, give an example of how you
might want to control a well. What keywords would you use
to achieve this?

Lesson 2 Well Lists

The first argument in ECLIPSE well keywords is the well name,


and it is usually the name of a single well. You can call a well
anything you want, as long as the well name is unique. Well
names, for example, can be as simple as 'P' or as complex as
'WELL_AB_5' or 'Lor2_j532-dkw'.

You can also use a wildcard asterisk (*) to specify multiple wells
for which this keyword will apply. For example, 'P*' means all the
wells with names that begin with the letter P,

WCONPROD
--nm status control Oil-rate W-Limit BHP-limit
'P*' OPEN ORAT 4000 2000 3* 3000 /

while 'WELL*' means all the wells with names beginning with the
letters WELL.

140 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

A well list is a more powerful way of defining the names of all the
wells on which you want the keyword to have an effect. A well list
begins with an asterisk (*), such as '*EAST.'

WCONPROD
--nm status control Oil-rate W-Limit BHP-limit
'*EAST' OPEN ORAT 4000 2000 3* 3000 /

In this case, the (*) as the first character does NOT mean a
wildcard; instead, it means that 'EAST' is a list of well names. This
list must be predefined using the WLIST keyword:

WLIST
'*EAST' NEW 'WELL_AD_3' 'B5' 'WELL_FX8' 'INJ2' /

In the WLIST keyword, wells can be added to lists (ADD), deleted


from lists (DEL), or moved between lists (MOV) at any time during a
simulation.

In the example, you created a new well list named '*EAST' that
contains four wells named WELL_AD_3, B5, WELL_FX8 and
INJ2. You can define more than one list within one WLIST
keyword:

WLIST
-- name status names-of-wells-in-the-list
'*EAST' NEW 'P1' 'B3' 'B4' 'AD3' 'PROD2' /
'*WEST' NEW 'WELL_3' 'B5' 'WELL_FX8' /
'*NORTH' NEW 'WELL_A*' 'B6' 'WELL_FX9' 'INJ2'
/

In ECLIPSE 300, combined rates, totals and ratios for all wells in
a well list can be written in the SUMMARY file. Use the relevant
group SUMMARY keyword followed by the well list name.

Well lists can be dynamic as well as static and can be reset


automatically at the beginning of each time step.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 141


ACTIONs and User-Defined Quantities Schlumberger

For example,

WLISTDYN
'*HIGHGOR' '1*' WGOR > 100 /
/
creates a list of all wells whose GOR is greater than 100. The
wells in this list can change from time step to time step, as the
GOR of each well changes.

The keyword WLISTDYN will recognize '>', '<', 'HIGHEST' or


'LOWEST.'

For example:

1. Choose three wells from group GRP1 with the highest water
cut.
WLISTDYN
'*HIGHWCT' 'GRP1' WWCT HIGHEST 3 /
/
2. Cut back the oil rate of the same three wells.
WTMULT
'*HIGHWCT' ORAT 0.95 /
/
You can disable the automatic updating of a dynamic well list at
the end of every time step by setting item 2 of this keyword to OFF
and leaving items 3 to 5 blank. The content of this well list become
static. To reverse this action, set item 2 to ON and leave items 3 to
5 blank.

Dynamic lists allow you to control wells in ways that are not
possible using conventional well keywords. For example, suppose
you want to control wells with a GOR greater than 100. You can
use the WECON keyword to say that “if the GOR of any well is
greater than 100, take one of the following actions”:

• Shut the worst-offending connection.


• Shut the worst-offending connection and all those below it.
• Shut or stop the well.
• Plug back the well.
• Do nothing.

142 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

Suppose, however, that you wanted to do something not on this


list for all wells that exceed that high GOR. For example, to
redefine the BHP limit for those wells:
--nm status control Oil-rate W-limit BHP-limit
'*HIGHGOR' OPEN ORAT 4000 2000 3* 4000
/

You must add the WCONPROD keyword every time you wished to
take that action.

Questions
These questions are for discussion and review.

• What is the difference between a well list and a group of


wells?
• Can a well belong to more than one well list at any time?

Lesson 3 ACTION Keywords

ACTION keywords provide more powerful controls over wells.


Conventional keywords, such as WECON, use simple logic to
control wells and operate using this general principle:

if

(condition)

then

(do something)

An example is the logic in the WECON keyword “if (WGOR > 6)


then (close the well).” The conventional ECLIPSE well keywords
provide enough flexibility to perform most of the actions you would
want to take to control wells. Their logic, however, is limited.

In the case of the WECON keyword, the (condition) can be

• minimum oil production rate


• minimum gas production rate
• maximum water cut

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 143


ACTIONs and User-Defined Quantities Schlumberger

• maximum gas-oil ratio


• maximum water-gas ratio.
(Do something) is limited to shutting wells or completions, or
plugging back the well.

ACTION keywords provide a more flexible way of applying this


logic, and they work on this general principle:

if

(condition)

then

(do anything ECLIPSE can do)

You can set a condition as simple as (WGOR > 6), but it could be
much more complex based on many SUMMARY quantities. The
ACTION keywords mark the start of a set of SCHEDULE section
keywords that are stored for later processing when a specified
condition is satisfied.

The ACTION keyword specifies a field condition for triggering an


action. The ACTIONG, ACTIONR, ACTIONW and ACTIONS
keywords offer greater flexibility and specify actions triggered by
group, region, well and segment conditions, respectively. The
ACTIONX keyword is even more general.

These keyword sets must be terminated with the ENDACTIO1


keyword. The keywords between the ACTION and ENDACTIO
keywords are processed when the condition defined in the
ACTION keyword is satisfied.

Any keyword specifying data for wells, groups or separators may


be placed between ACTION and ENDACTIO. Each action initiated
with the ACTION keyword is executed only once,2 at the end of
the time step during which its triggering condition is first satisfied.

However, any number of action keyword sets may be declared,


each with its own triggering condition; the maximum number being
limited to MAXACT in ACTDIMS item 1.

1. As ECLIPSE reads only the first 8 characters of a keyword, it is usual and acceptable
to type ENDACTIO instead of ENDACTION.
2. If you use the ACTIONX keyword, you can specify how many times you want the action to be
performed.

144 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

Each ACTION is distinguished by its action name defined in item 1


of the keyword. If an ACTION family keyword is re-entered with the
same action name as a previously declared action, the ACTION
keyword set is overwritten by the new information.

You can nest actions by including the definition of the inner action
within the keyword set of the ‘outer’ action (that is before its
ENDACTIO keyword). This offers great flexibility, but you must
exercise care.

ACTION
ACT1 FGOR > 3.0/
WELOPEN
PROD5 OPEN/
/
WELTARG
'P*' ORAT 5000/
/
ENDACTIO
The name of the ACTION is ACT1, and the condition is that
FGOR > 3.0

If the condition is true, well PROD5 will be opened and the oil rate
for all well whose names start with the letter 'P' will have their oil
rate set to 5,000.

• All keywords between the condition and the ENDACTION


keyword are processed at the end of the time step in which
the condition is met.
• You can choose to have the action performed once or many
times, if the condition is met.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 145


ACTIONs and User-Defined Quantities Schlumberger

The ACTIONX Keyword


The idea behind ACTIONX is

IF

(condition1 AND condition2 OR condition3 …)

THEN

(actions).

In the ACTION(G,R,W,S) keywords, the single triggering


condition compares the current value of a quantity against a
constant value defined in the keyword. For example, in ACTIONW,
the condition might be that a well GOR is greater than 3.0.

The ACTIONX keyword allows a comparison against the current


value of a number of quantities. For example, a condition might be
that a well GOR is greater than either the current value of its
controlling group GOR or the current value of the average field
GOR.

Multiple triggering conditions may be combined in the ACTIONX


keyword using Boolean ‘AND’ and ‘OR’ operators to form the
condition set. Conditions on quantities associated with well
connections, well segments, wells, groups and regions may be
combined into a single ACTIONX keyword.

Conditions may be set on the combined properties of a static or


dynamic list of wells. Grouping wells together using lists for the
purposes of defining controlling conditions in an ACTIONX
keyword offers more flexibility than conventional well groups. For
example, a well in ECLIPSE 300 may belong to more than one
list. (See also the WELLDIMS keyword, item 11).

Conditions may be set on the day, month and year the simulation
has reached. These conditions may be used to model the
seasonal availability of workover and drilling rigs, or to prevent the
ACTION from being triggered before or after a specific date.

It is important to bear in mind that:

• The order of items and their quantities is similar to the way in


which summary mnemonics are defined.

146 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

The mnemonic is the first item, followed by a well or group


name. This is not the same as the order of these items in
ACTION (G,R,W,S) type keywords.
• A condition consisting of constant quantities on the left- and
right-hand sides is not permitted. A condition may, however,
consist of a constant quantity on the left-hand side and a
variable quantity on the right-hand side.
• No checks are in place on the type of quantities compared in
a condition.
For example, a meaningless condition of a pressure being
less than a water cut would be allowed.
• If an ACTIONX keyword is triggered, details of those
conditions that are true will be written to the print file.
• Combined rates, totals and ratios for all the wells in a well list
may be written to the SUMMARY file using an appropriate
group summary mnemonic, followed by the well list name.
• If a well keyword is placed between ACTIONX and
ENDACTIO, you can enter a question mark (?) instead of
entering the name of a specific well in the keyword.
ECLIPSE applies the keyword data to whichever well (or
wells) are involved in triggering the action.
• If there is more than one condition in the action that concerns
wells, different sets of wells may trigger different conditions.
These set of triggering wells are combined logically in the
same manner as the conditions themselves. The question
mark in the well keywords will apply to the combined set of
wells.
NOTE: If conditions are combined with logical ‘AND’
operators, there may be no wells that trigger every
condition and, thus, the well keywords will have no
effect even though the overall action has been
triggered.

• Fully checking the keywords entered with an action keyword


cannot be performed until the action is actually implemented,
as it is possible to use wild cards in many of the keywords.
However, before attempting a simulation run, run the data in
NOSIM mode. This performs whatever checks it can on the
keywords within any action keyword blocks that have been
defined.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 147


ACTIONs and User-Defined Quantities Schlumberger

All of the most common types of grammatical and


typographical errors will be found, but no problems will be
found that result from wild cards feeding inappropriate well/
group names to keywords.

• You can trigger an action on a grid block quantity by defining


a region to consist of one grid block (keyword FIPNUM) and
selecting a region quantity in a condition.

Examples of ACTION Keywords


Example 1
ACTIONX
ACT1 100000/
GGPR FIELD > 50000 AND /
WGOR 'PR*' > GGOR FIELD /
/
WTMULT
'?' LRAT 0.8 /
/
ENDACTIO
The action named ACT1 reduces the liquid rate target by 20% of
all wells starting with ‘PR’ whose GOR exceeds that of the FIELD
when the gas production rate of the FIELD exceeds 50,000 Mscf/
day.

The action will be repeated at the end of each time step if the
condition set is true.

Example 2
The action named ACT2 opens well PR-A5 when the combined
water cut of all the wells in list *LIST1 exceeds 0.7, and when the
water production rate of list *LIST1 exceeds the water production
rate of either list *LIST2 or *LIST3. Action ACT2 is performed only
once.

ACTIONX
ACT2 1 /
GWCT '*LIST1' > 0.7 AND /

148 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

(GWPR '*LIST1' > GWPR '*LIST2' OR /


GWPR '*LIST1' > GWPR '*LIST3' ) /
/
WELOPEN
PR-A5 OPEN /
/
ENDACTIO

Example 3
Dynamic lists can be used with ACTION keywords to define a list
of wells that will be controlled together.

WLISTDYN
'*HIGHWCT' '*' WWCT > 0.8 /
/
ACTIONX
WORKOVER 10000 /
MNTH .GE. MAR AND /
MNTH .LE. OCT AND /
GMWL '*HIGHWCT' .GE. 4 /
/
WECON
'*HIGHWCT' 2* 0.75 2* CON /
/
ACTIONX
WECONOFF 1 /
MNTH .GT. OCT /
/
WECON
'*' 2* 1.0 2* CON /
/
ENDACTIO
ENDACTIO

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 149


ACTIONs and User-Defined Quantities Schlumberger

The dynamic well list *HIGHWCT contains all wells that have a
water cut exceeding 0.8. In any year between March and October,
the action WORKOVER is triggered if the list *HIGHWCT contains
more than four wells. This action sets an economic limit on the
wells in the *HIGHWCT list so they will be worked over.

The WORKOVER action also contains a nested action WECONOFF


triggered when the simulation advances past October.

The action WECONOFF stops any further workovers in the winter


by re-specifying the WECON keyword with a high water cut limit.

Example 4
The action named DELAY opens well PR-A5 when the simulation
has advanced past September 31, 2020, and the FIELD water
cut exceeds 0.8.

ACTIONX
DELAY 1 /
GWCT 'FIELD' > 0.8 AND /
YEAR > 2020 /
/
WELOPEN
PR-A5 OPEN /
/
ENDACTIO

Example 5
The DELAYACT option allows you to delay the processing of the
keywords until after another action has been triggered.

The following example stops the run 30 days after the field GOR >
6:

ACTION
HIGHGOR FGOR > 6 /
DELAYACT
SHUTDOWN HIGHGOR 30 /
END
ENDACTIO
ENDACTIO

150 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

Questions
These questions are for discussion and review.

• What are the advantages of ACTION keywords compared


with conventional well controls?
• How many different ACTION keywords are there? Which is
the most flexible?
• How do you control how often an ACTION keyword is
executed?

Lesson 4 User-Defined Quantities

User-defined quantities (UDQ) can be constants. They can be


combinations of constants, SUMMARY quantities, and
mathematical functions.

UDQs are used in two ways: as new SUMMARY quantities or as


arguments in some well and group keywords.

The first use of UDQs as new summary quantities allows you to:

• plot things you could not easily plot before


• customize the SUMMARY section for each individual project
• embed in the project file operations that would normally be
done in Excel after an ECLIPSE run.
UDQs allow you to calculate new SUMMARY quantities from
existing SUMMARY mnemonics, using most of the common
mathematical functions.

UDQs are specified in the SCHEDULE section and can be output


in the SUMMARY section. UDQs use existing summary quantities
- field, group, region, well segment and connection - to create new
summary quantities.

NOTE: In the current release, inter-region flow quantities cannot


be used.

The naming convention for UDQs follows the usual summary


quantity rules for the first letter (F for Field, G for Group, W for
well, and so forth). The second letter must be the letter ‘U.’

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 151


ACTIONs and User-Defined Quantities Schlumberger

UDQs are defined and initialized in the SCHEDULE section but


can be output from the SUMMARY section. Because UDQs will
not be defined at this point, be careful to ensure their names
match their later initializations.

Each record is composed of three items ending with a forward


slash (/). The syntax of a UDQ is

• Item 1: Operation – ASSIGN, DEFINE, UNITS or UPDATE


• Item 2: Quantity name – AU, BU, CU, FU, GU, RU, SU or
WU (Aquifer, Block, Connection, Field, Group and so forth)
• Item 3: Data for the operation, which depends on the type of
operation specified in Item 1.
For example, at the moment, you cannot define in the SUMMARY
section the sum of production from two wells unless they form a
group or a well list.

You can define this using UDQs:

UDQ
DEFINE WUSUM (WOPR P1 + WOPR P2) /
/
You could create and plot new summary quantities, such as the
WUSUM above, using Excel, Petrel RE, or ECLIPSE Office. The
advantage of UDQs is that they can be used within triggering
ACTION keywords and as arguments in well and group keywords.

These are the relevant UDQ keywords in the sections of the data
file.

RUNSPEC

-- define UDQ dimensions


UDQDIMS
--FNC ARG UDQC UDQF UDQG UDQR UDQS UDQW
16 16 0 0 0 0 0 1 /
-- define UDQ parameters
UDQPARAM
--SEED RANGE UNDEFINED TOLERANCE
1* 1* -1 1.0E-4 /

152 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

SUMMARY

-- output the UDQ to the summary file

WUSUM
-- output the UDQ to the summary file
/

SCHEDULE
-- define the UDQ
UDQ
DEFINE WUSUM WOPR P1 + WOPR P2 /
UNITS WUSUM STBD /
/

Syntax of a UDQ
A UDQ has three arguments:

DEFINE WUSUM (WOPR P1 + WOPR P2) /


ASSIGN FUGOR 1500/
UNITS WUSUM STBD/
UPDATE WUSUM ON/
/
The first argument is one of the following:

ASSIGN Assign a value to a quantity


DEFINE Define a qantity in terms of existing summary
quantities using available functions.
UNITS Specify the units for the user defined quantities
UPDATE Specify when next to evaluate the quantity.

To perform the two last operations, a UDQ must have been


previously initialized. A UDQ can be initialized by either ASSIGN
or DEFINE operators.

NOTE: Assignment is processed immediately, while a definition


is evaluated after the following time step. In other words,
you cannot see the effect of DEFINE in the same time
step that UDQ applied.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 153


ACTIONs and User-Defined Quantities Schlumberger

The second argument is the name of the UDQ.

The third argument defines the value of the UDQ and depends on
the first argument:

• If DEFINE => Mathematical expression in combination with


Functions
• If ASSIGN => Numerical value
• If UNITS => A string less than 8 characters
• If UPDATE => ON, OFF, NEXT (just the next time step).
The functions you can use are

ABS() IDV() NORM2() SORTA() ^,*,/,+,-


AVEA() LN() NORMI() SORTD() UADD
AVEG() LOG() NINT() SUM() UMAX
AVEH() MAX() PROD() UNDEF() UMIN
DEF() MIN() RANDN() <,<=,>=,> UMUL
EXP() NORM1() RANDU() ==,!= (,)

Many of these functions have the expected definition, and a full list
of definitions can be found in the ECLIPSE Reference Manual.

If you wish to operate on well names, you can choose either the
union or the intersection of well names. Figure 60 shows
examples that should clarify binary intersection and union. The
examples use a model with four wells – P11, P12, P32 and P33.

Figure 60 Examples of intersection/union

154 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

If you combine UDQs and ACTION keywords, the default behavior


is to update the UDQ and then to test the ACTION conditions. In
ECLIPSE 300 only, you can reverse the order by setting
OPTIONS3(118)=1 so that ECLIPSE tests the ACTION conditions
before updating the UDQ.

Example of Functionality: Net Present Value


Objective: Calculate the net present value of the oil produced.

Assume the oil price is $50/bbl, the discount rate is 5% per


annum, the daily running costs are $100,000 per day, and the
initial setup cost is $10 million.

Solution

UDQ
-- set up economic parameters
ASSIGN FU_OPRIC 50.0 / OIL PRICE
ASSIGN FU_INRAT 0.000136 / Discount RATE ~ 5% pa
ASSIGN FU_RCOST 0.1e6 / DAILY RUNNING COST
ASSIGN FU_NPV -10.0e6 / INITIAL SETUP COST

-- define net present value of produced oil.


DEFINE FU_NPV FU_NPV + ((FOPR*FU_OPRIC-FU_RCOST)
*TIMESTEP)/EXP(-FU_INRAT*TIME)/
/

Exercise 1 Creating and Outputting a UDQ


Create a new quantity name GUSUM and plot its value as a
function of time.

To create and output a UDQ:

1. Copy WINJMULT.DATA from the standard ECLIPSE 300


data set directory.
2. Use keyword UDQ to define a new quantity named GUSUM.
GUSUM = WOPR of well PROD1+ WOPR of well PROD2

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 155


ACTIONs and User-Defined Quantities Schlumberger

3. Set STB/DAY as the unit of GUSUM.


4. Let GUSUM be updated at all time steps.
5. Allocate enough memory in UDQDIMS.
6. Request the output in SUMMARY for all time steps.
7. Plot the value of GUSUM as a function of time.

Results

WOPR WOPR
TIME STB/DAY STB/DAY GUSUM
DAYS PROD1 PROD2 STB/DG
1.000000 12000.00 0 12000.00
3.000000 12000.00 0 12000.00
7.000000 12000.00 0 12000.00
15.00000 12000.00 0 12000.00
30.00000 12000.00 7684.821 19684.82
45.00000 12000.00 7837.560 19837.56
60.00000 12000.00 7985.738 19985.74
75.00000 11573.71 7951.786 19525.49
96.00000 11795.39 8000.000 19795.39
130.0000 11681.08 8000.000 19681.09
180.0000 11640.65 8000.000 19640.65
230.0000 11637.02 8000.000 19637.02
280.0000 11653.08 8000.000 19653.08
330.0000 11677.54 6567.120 18244.66
380.0000 11701.71 8000.000 19701.71
430.0000 11721.34 0 11721.34
465.0000 11738.99 0 11738.99
500.0000 11750.77 0 11750.77
540.0000 11756.93 0 11756.93
590.0000 11765.27 0 11765.27
620.0000 11777.16 0 11777.16
650.0000 11776.54 0 11776.54

156 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

Exercise 2 Creating Repeated ACTIONs

Create an action that is dependent on a previous action before it


will trigger. To set up a repeated action:

1. Use ACTIONX just before the first time step to define an


action named ACT1, repeated 10 times.
The condition for the action is that GUSUM G > 12000 AND
WOPR PROD2 >= 8000.

2. If these conditions are satisfied, use UDQs to define


FUPR=TIME. This will be updated in the next time step.
3. Be sure to allocate enough memory in UDQDIMS.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 157


ACTIONs and User-Defined Quantities Schlumberger

Results

WOPR
TIME STB/DAY GUSUM FUPR
DAYS PROD2 STB/DG
1.000000 0 12000.00 0
3.000000 0 12000.00 0
7.000000 0 12000.00 0
15.00000 0 12000.00 0
30.00000 7684.821 19684.82 0
45.00000 7837.560 19837.56 0
60.00000 7985.738 19985.74 0
75.00000 7951.786 19525.49 0
96.00000 8000.000 19795.39 0
130.0000 8000.000 19681.09 130.0000
180.0000 8000.000 19640.65 180.0000
230.0000 8000.000 19637.02 230.0000
280.0000 8000.000 19653.08 280.0000
330.0000 6567.120 18244.66 330.0000
380.0000 8000.000 19701.71 330.0000
430.0000 0 11721.34 430.0000
465.0000 0 11738.99 430.0000
500.0000 0 11750.77 430.0000
540.0000 0 11756.93 430.0000
590.0000 0 11765.27 430.0000
620.0000 0 11777.16 430.0000
650.0000 0 11776.54 430.0000

158 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

Exercise 3 Defining a Multi-segment Well

Define a multi-segment well and plot the output.

To create a multi-segment well:

1. Copy MSW.DATA from the ECLIPSE standard data sets


directory.
2. Define the segment cumulative (total) oil production (SUOPT).
3. Assign 0 to the quantity SUPROD.
4. Assign 0 to SUOPT.
5. Define SUPROD as a function of SOFR, multiplied by the
TIMESTEP in the following record.
6. Define SUOPT as a function of SUPROD plus SUOPT.
7. Output SUOPT and plot it.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 159


ACTIONs and User-Defined Quantities Schlumberger

Results

Example: Controlling H2S Production


Use an ACTION keyword in a compositional simulation.

To control H2S production:

1. Define UDQ vector FUWORSTW, representing the worst


H2S production from all wells.
2. Use ACTIONX keyword.
3. Define a condition using the UDQ to turn on the action if the
molar percentage of H2S (FZMF) is greater than 0.2.
4. Use WTMULT to reduce by 20% the gas rate of the well with
the worst H2S production.

160 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

Solution
UDQ
DEFINE FUWORSTW MAX(WZMF_1) /
/
ACTIONX
ACT1 10000 /
--if field molar percentage of H2S (1) > 0.2
--then the well with the worst rate will be
--cut back
FZMF_1 > 0.2 AND /
WZMF_1 '*' = FUWORSTW /
/
--reduce the gas rate by a 0.8 factor
WTMULT
'?' GRAT 0.8 /
/
ENDACTIO

Questions
These questions are for discussion and review.

• What are the two main uses of UDQs?


• In which section of the ECLIPSE data file is a UDQ defined?
• When is the value of a UDQ evaluated?
• If an ACTION keyword refers to a UDQ, is the UDQ updated
before the ACTION condition is evaluated?

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 161


ACTIONs and User-Defined Quantities Schlumberger

Lesson 5 User-Defined Arguments

UDQs can be used as arguments in many well keywords in the


SCHEDULE section. When used as arguments, UDQs are
referred to as user-defined arguments (UDAs).

The main well keywords and the allowed UDAs are

• WECON (2-6 arguments)


• WCONPROD (4-10 arguments)
• WCONINJE (5-8 arguments)
• GCONPROD (3-6 arguments)
• GCONINJE (3-7 arguments)
• WELLSTRE (2,..,NCOMPS)
Other keywords that accept UDAs include

• GECON • WAPI
• WALKALIN • WPOLYMER
• WELDRAW • WSOLVENT
• WFOAM • WTRACER
• WSALT • WTADD
• WSURFACT • WTMULT

Given a UDQ such as this:

UDQ
ASSIGN FU_RAT1 100000 /
ASSIGN FU_RAT2 80000 /
DEFINE FU_RAT3 MIN(WWIR) /
DEFINE FU_RAT4 MAX(WWIR) /
DEFINE FU_RAT5 SUM(WWIR) /
DEFINE FU_VRAT1 MIN(WVIR) /
DEFINE FU_VRAT2 MAX(WVIR) /
DEFINE FU_BHP1 WBHP 'I19' /
/

162 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

You can use a UDA such as this:

WCONINJE
'INJ2*' WAT OPEN RATE FU_RAT1 /
'INJ1*' WAT OPEN RATE FU_RAT2 /
'INJ9' WAT OPEN RATE FU_RAT4 /
'INJ7*' WAT OPEN RESV 1* FU_VRAT2 /
'INJ3*' WAT OPEN BHP 2* FU_BHP1 /
/

Examples of UDA
The examples that follow deal with adjusting fluid production
limits.

Example 1: Water Handling Limit


Scenario: You have a water handling limit of 100,000 bpd, but
this limit does not include re-injected water.

• What limit do you put on your water production?


Solution: Use UDAs.

UDQ
DEFINE GUINJ GWIR FIELD /
DEFINE GUWPRL 100000 - GUINJ /
/
GCONPROD
-- GROUP MODE QOMAX QWMAX QGMAX QLMAX ACTION
'P3' 'ORAT' 12345 GUWPRL 1* 1* 'RATE'/
/

NOTE: The UDA is calculated at the end of the time step. To


avoid overshoot, it may be better to set the limit =
95000-GUINJ.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 163


ACTIONs and User-Defined Quantities Schlumberger

Example 2: 50% Increase in Production


Scenario: Injectors have differing water breakthrough times.
Allocate the field injection rate to individual wells.

Solution: Attach tracers to the injections wells and allocate the


injection rates according to the amount of each tracer produced by
the field.

Model: 9 injectors and 4 producers in an irregular 5 spot pattern.


Field injection rate = 9,000 stb/day, production stops when the
water cut exceeds 20%.

UDA/UDQ Implementation
UDQ
DEFINE WUWW (1+SUM(WUTPR))/(1+WUTPR) /
DEFINE WUWR 9000*WUWW/SUM(WUWW) /
/
-- WUTPR is a UDQ with tracer production
rates inserted into the elements
corresponding to the injectors. The injectors
are controlled using a UDA
WCONINJE
'I*' WAT OPEN RATE WUWR /

164 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

Example: Establishing a Water Extraction Limit


Scenario: Suppose you want to limit the maximum water
extraction rate of water from a source such as a river to be less
than 10,000 bpd. You are allowed to re-inject all the water
produced from the field.

How would you control the "NET WATER INJECTION RATE" =


"WATER INJECTION RATE(FWIR)“ - "WATER PRODUCTION
RATE(FWPR)” ?

Solution:
UDQ
DEFINE FUINJ_MAX 10000+FWPR /
/
GCONINJE
-- GROUP PHASE CONTROL TARGET
FIELD WATER RATE FUINJ_MAX /
/
NOTE: The UDA is calculated at the end of the time step, so it
would be better to set the maximum using a value
slightly below the actual maximum.

Choose 9,500 bpd instead of 10,000 bpd and rerun the exercise.

Questions
These questions are for discussion and review.

• If you use a UDA in a well keyword, will the value of the


argument be the value of the UDQ at the end of the current
time step or the value at the end of the previous time step?
• If you define a UDQ WUINJ=10000, what can go wrong if
you use WUINJ as the water injection limit in WCONINJE?

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 165


ACTIONs and User-Defined Quantities Schlumberger

Lesson 6 User-Defined Tables

User-defined tables (UDTs) are designed for cases in which


simple arithmetic functions in UDQs are not enough. UDTs allow
you to do table lookups in the SCHEDULE section and assign
table values to UDQs and to UDAs.

You can define lookup tables with as many as four variables.


These variables can be any SUMMARY mnemonic, including a
UDQ.

Typical uses of UDTs include assigning costs to individual


workover procedures; outputing delumped rates from black oil
well oil, gas and pressure variables; and calculating various
production/facility constraints.

Example of a User-Defined Table


Suppose you wish to shut a well when its economic value is too
low.

1. If the economic value depends on only the oil production


rate, you can use the WECON keyword with a minimum oil
rate.
2. If, however, the economic value depends on a combination
of both the oil production rate and the water production, you
can define a UDQ:
(oil price)*(oil production rate) – (water disposal cost)*(water
production rate)

3. Define an ACTION to shut the well if that value is less than a


minimum value.
What if the economic value cannot be represented by a
simple equation, but only by a table of values, such as the
following table?

Oil Production Rate


4000 6000 8000 10000
1 64 83 95 107
Production

100 55 67 82 93
Water

Rate

1000 38 48 58 68
10000 14 25 35 40

166 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

You can represent this table with a UDT:

UDT
'TUCATH' 2 /
'LC' 4000 6000 8000 10000 /
'LC' 1 100 1000 10000 /
64 83 95 107 /
55 67 82 93 /
38 48 58 68 /
14 25 35 40 /
/
4. Define a UDQ to look-up the value from this table that can be
used in an ACTION keyword.
UDQ
DEFINE WUPRICE TUCATH[WOPR,WWPR] /
/

In addition to a 2D table, you can have 3D and 4D tables. You


would have a 3D table if, in the previous example, the value also
depended on the gas production rate.

You can also control how interpolation is achieved among values


in tables. For example, the Table TU_USER has 3 dimensions:

Figure 61 Table TU_USER

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 167


ACTIONs and User-Defined Quantities Schlumberger

The first parameter in record 2, 3 and 4 (LL, LC, and NV,


respectively) defines the type of interpolation that will be used to
look up values in the table.

• LL means that the first dimension (in blue) will be linearly


interpolated (or extrapolated) along rows.
• LC means that the second dimension (in red) will be linearly
interpolated along columns, but extrapolation will be at
constant value and not at constant slope.
• NV means that the third dimension (in green) will use the
nearest value in any block.
Having defined the UDT TU_USER, you can now define a new
UDQ named WU_TAB that will return a value from the UDT based
on the value of WOPR, WWPR, and WUXY:

DEFINE WU_TAB TU_USER[WOPR WWPR WU_XY]


For example, if WOPR = 5000, WWPR = 50 and WU_XY = 1.8,
the table lookup is performed as follows:

• WOPR = 5000 corresponds to the third column in each of the


tables.
• WWPR = 50 corresponds to the second row of each of the
table. You have a value of 6 from the first block and 9 from
the second block.
The first block corresponds to WU_XY = 1 and the second
block to WU_XY=2. WU_XY=1.8 is a value between the first
block and the second block; it is closer to the second block.

Because the interpolation method is NV, choose the value 9


from the second block.

Result
WU_TAB=9.

168 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

Exercise 1 Modeling Erosional Velocity

The files provided for this exercise are ECL_UDT1.DATA,


ECL_UDT2.DATA and UDT.GRF. The example uses a 2-
dimensional table named TU_ERVT to calculate the maximum
velocity in the tubing for all wells.

The input arguments are liquid rate and GOR.

The returned UDQ from the table is named WU_ERV.

In case 1, the velocity is calculated and there is no action taken


when the velocity is high. In case 2, there is an ACTIONX
statement to choke back the wells when the velocity is above the
‘erosional velocity’ value of 70.

Run both cases and use the GRF to compare results.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 169


ACTIONs and User-Defined Quantities Schlumberger

Questions
These questions are for discussion and review.

• How many dimensions can you have in a UDT?


• What are the extrapolation options you can choose for each
variable in the UDT?

Review Questions
• What do the initials UDQs, UDAs and UDTs represent?
• What are some of the advantages and disadvantages of
using well lists, ACTION keywords, UDQs, UDAs and UDTs?
• How many ways can you define well controls that limit
production based on the water cut of the well?

Summary
In this module, you learned about the purpose, methodology and
workflow of:

• Well lists
• ACTION keywords
• UDQs, UDA and UDTs

170 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger ACTIONs and User-Defined Quantities

NOTES

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 171


ACTIONs and User-Defined Quantities Schlumberger

NOTES

172 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

Module 4 Deviated and Horizontal


Wells
Deviated and horizontal wells are used extensively in many
modern gas and oil field developments. The ultimate success of
the development is often determined by the operating company’s
ability to recognize and overcome many significant placement and
production problems during life cycle of each well.

As a result, it is critical to model wells as accurately as possible so


you can identify potential issues and develop solutions.

Learning Objectives
After completing this module, you will be able to:

• understand the role of a well model in a reservoir simulation


• explain the difference between the default, or ‘standard,’ well
model and the multi-segment well model in ECLIPSE
• outline the advantages of the multi-segment well model when
simulating deviated and horizontal wells
• describe the options available to determine the pressure loss
along a multi-segmented well
• list facilities available within the multi-segment well model to
simulate down hole equipment
• understand the steps required to implement the multi-
segment well model in an ECLIPSE simulation.

Lesson 1 Standard Well Model vs.


MultiSegment Well Model

The well models available in ECLIPSE are the default or,


standard, well model as well as the more rigorous multi-segment
well model.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 173


Deviated and Horizontal Wells Schlumberger

What is a Well Model?


Consider a particle of fluid traveling from the virgin reservoir to the
surface. During its journey it travels through several mediums in
the reservoir, eventually reaching the perforations where it enters
the wellbore and rises in the tubing up to the well head.

ECLIPSE models this process in multiple stages (Figure 62).


Within the reservoir, flow between grid blocks is modeled using
the familiar finite difference equations you may have seen in
previous reservoir simulation courses. However, there is also flow
between grid blocks and well connections at the well to allow
production and injection to occur.

Flow from the reservoir is modeled in these stages:

• grid block to grid block


• grid block to well connection
• well connection to reference depth
• reference depth to surface.

Figure 62 Flow from the reservoir to the surface

The flow within the wellbore itself is modeled in two stages, flow
from the well connections to a reference depth (usually still in the
vicinity of those connections) and flow from the reference depth to
the surface. In ECLIPSE, this last portion is modeled by
interpolating pre-calculated vertical flow performance tables.

174 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

VFP Tables
The pressure loss from the well bottomhole reference depth to the
tubing head is calculated by looking up the Vertical Flow
Performance (VFP) tables. A VFP table is multi-dimensional and
provides BHP values versus flow rates, tubing head pressures,
water flow fractions, gas flow fractions, and artificial lift quantities.

BHP versus:

• FLO
• THP
• WFR
• GFR
• ALQ
For a producer, the VFP table is defined in keyword VFPPROD.
VFPINJ is used for the injector VFP tables. An example of
VFPPROP is shown in the example that follows.

• The first record defines the table number that will be referred
to in WCONPROD, the bottomhole pressure reference depth
used in the table, and the definitions of flow rates, water flow
fraction, gas flow fraction and the artificial quantity (ALQ).
• Record 2 defines the values of flow rates. Record 3 defines
the values of tubing head pressures.
• Record 4 defines the values of the water fractions. Record 5
defines the gas flow fractions. Record 6 defines the values of
the artificial quantities (ALQs).
• From record 7 onwards, a matrix indicating the order of the last
4 types (records 3-6) of data, followed by the bottomhole
pressures corresponding to the flow rates defined in record 2.
• For example, record 7 defines BHPs corresponding to the
first THP, the first water fraction, the first gas fraction, the first
ALQ, and those flow rates defined in record 2.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 175


Deviated and Horizontal Wells Schlumberger

VFPPROD
--No. Datum Q Wfr Gfr Alq
1 7000 ‘LIQ’ ‘WCT’ ‘GOR’ ‘ ‘ /
2.0e3 5.0e3 1.0e4 1.7 e4 3.0e4 /à Qs
2.0e2 5.0e2 1.0e3 / à THPs
0.0e0 2.0e-1 4.0e-1 7.0e-1 9.0e-1/à Wfrac
7.7e-1 1.0e0 1.5e0 / à Gfrac
0.0e0 5.0e-1 / à ALQ
1 1 1 1 8.82e2 7.76e2 1.30e3 2.19e3 4.2e3 /à T1 W1 G1 A1 BHP@Q1, BHP@Q2 …
2 1 1 1 1.26e3 1.17e3 1.55e3 2.53e3 4.27e3 /à T2 W1 G1 A1 BHP@Q1, BHP@Q2

…….

The BHP reference depth in the VFP table (item 2 of record 1) can
be different from that defined in the well (item 5 of keyword
WELSPECS).

If it is different, the BHP calculated from the well model is


converted from the BHP reference depth of the well to the BHP
reference depth defined in the VFP table using the average
density of the fluids in the wellbore, before it is used in the lookup
of the VFP table.

Pthp at Tubing
Pump or
Head
compressor
Frictional pressure drop and
Acceleration pressure drop

Hydrostatic
correction
from BHP
datum to
VFP datum
ll
Hydrostatic we
l to
correction Ce
l wn
wdo
from BHP a
dr
datum to
connection

Figure 63 Pressure losses from BHP to THP

176 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

The VFP curves, together with the well model, are used to
calculate the flow rate, the bottomhole pressure and the tubing
head pressure.

If the THP is fixed, the intersection between the inflow


performance curve defined by the well model and the VFP curve
determines the flow rate and the bottomhole pressure. If BHP or
flow rate is fixed, THP and flow rate or BHP are calculated
iteratively using the well model and the VFP table.

Figure 64 VFP curves

The VFP tables can be generated in VFPi. VFP tables


representing different devices can be generated using a variety of
correlations based on the structure and the performance of the
devices, and the fluid PVT properties.

In addition to tubing, devices include gas lift, pumps, compressors


and chokes. ALQ values are used to represent the properties of
these devices, such as gas lift gas injection rates, pump ratings,
compressor power and choke/bean sizes. If measurements are
available, they can be used to tune the correlations before they
are used to calculate the VFP tables.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 177


Deviated and Horizontal Wells Schlumberger

In ECLIPSE, VFP tables can also be used to calculate the


pressure loss along the well segments in the multi-segmented well
models, and the pressure losses in the network options.

To understand the important features of a well model, it would be


helpful to look at some mathematics. When the simulator flow
equations are derived, well flows are added as a source or a sink
term. (Here, these flows are denoted by the variable q).

Experience tells us that a well’s flow rate will depend on its


productivity index and the well’s drawdown. The flow term, rather
than being a constant, is actually coupled to the other variables
appearing in the previous equation.

A quantitative expression1 that gives the flow rate of a specific


phase, qp, for radial flow in a homogenous reservoir.

The rate is a function of the difference between the average


pressure in the drainage area, po, and the flowing bottomhole
pressure, pwf, as well as various reservoir, fluid and wellbore
properties (as defined below).

krp – relative permeability of the phase in question

k – rock permeability

h – thickness open to flow

p – viscosity of the phase in question

Bp – formation volume factor of the phase in question

ro – drainage radius

rw – wellbore radius

S – skin factor

1. The derivation of this expression may be found in most reservoir engineering texts,
such as Dake (1978).

178 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

To apply this equation to the simulator flow equations, Peaceman


(1983) found an equivalent radius, ro, at which the po in this
equation is equal to the grid block pressure for a vertical well.

This new expression gives the flow rate as a function of the


difference between the grid block pressure, po, and the flowing
bottomhole pressure (as well as the various grid block, fluid and
wellbore properties).

kx / ky – grid block permeability in x / y directions

x / y – grid block thickness in x / y directions

Before you can apply this expression in your well model, however,
it is important to realize that, in general, a single well will connect
to multiple grid blocks, not just a single one.

Because of this, rewrite the pressure difference to be the


difference between the grid block pressure and a common
reference pressure, pbhp, plus some correction term, pi.

The magnitude of the correction term will be different for each well
connection, and will take into account the pressure difference in
the wellbore between the reference point and the connection.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 179


Deviated and Horizontal Wells Schlumberger

The total flow rate of the well is the sum of the flows coming from
each connection (Figure 65).

Figure 65 Multiple connections

The Standard Well Model


The default, or standard, well model in ECLIPSE is based on an
expression quite similar to that shown in Figure 65. However, in
the ECLIPSE well model, you first group like terms together into
two quantities:

• Cell connection factor


• Mobility
The resulting expression is

where:

- Cell connection factor (transmissibility)

- Mobility

- Pressure drop

180 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

The terms listed above may be calculated slightly differently


depending on which options you are using.

It is worth noting that the standard well model in ECLIPSE can be


completely described using three solution variables: the well’s
bottomhole pressure, pbhp, the flowing fraction of water, Fw, and
the flowing fraction of gas, Fg. These three variables are solved
implicitly together with the simulator flow equations.

Cell Connection Factor


The first grouped term in the expression above is the cell
connection factor. It is a measure of the transmissibility between a
well connection and its hosting grid block. You can guess how it
might be calculated by isolating the grid block and wellbore
variables of the equation. ECLIPSE may calculate the cell
connection factor using the expression

The variables in the equation that are not yet defined:

c – a unit conversion constant

 – constant (2)

K – permeability, dependent on the direction of penetration

An alternative calculation available in ECLIPSE 300, appropriate


for linear flow as would arise from a fracture stimulated well, is

It is possible to supply the cell connection factor directly, allowing


external, potentially more accurate calculations of the connection
factor to be made. You can specify the transmissibility in
COMPDAT, item 8.

Mobility
The second grouped term in the expression

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 181


Deviated and Horizontal Wells Schlumberger

is the mobility. Its calculation is shown in

Clearly, it is dependent on the fluid PVT properties and the relative


permeability. There are several methods of calculating the
mobility that provide more accuracy when modeling highly
compressible fluids, such as gas condensates.

The relative permeability terms are taken either form the grid
block saturation table or by means of a separate user-specified
table (COMPDAT, item 7).

In the standard model, is calculated based on grid block


conditions:

• This is not accurate if properties change significantly


between the grid block pressure and the well connection
pressure, such as in gas reservoirs.
• Alternative methods include Russell Goodrich, Dry Gas
Pseudo Pressure, and Generalized Pseudo Pressure
(WELSPECS, item 8).

Pressure Drop
The final term to note is the pressure drop, p. The term is used to
relate well connection pressure to bottomhole pressure:

Δpcon= pbhp+ Δp

This term was introduced earlier so that it was possible to relate


flow rates at different connections, pcon, within the same well, to a
single common reference pressure (the bottomhole pressure). In
general, this pressure drop consists of three components:

Δptot= Δpfric+ Δpacc+ Δphyd

• Frictional pressure drop, pfric – due to energy dissipated on


well / tubing walls
• Acceleration pressure drop, pacc – due to energy consumed
changing the velocity of the fluid
• Hydrostatic pressure drop, phyd – due to the weight of the
fluid

182 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

In the standard well model, assume the hydrostatic pressure drop


is much larger than the other two components, which are
neglected.

This should be a reasonable assumption for most vertical wells.

TIP: This assumption is not necessarily the case for deviated


and horizontal wells.

Calculation of the hydrostatic pressure drop between two points is


simple, provided the density of the fluid in between is known. In
the standard well model, there are two methods of determining the
density:

• Average Density Calculation


• Segmented Density Calculation
In the average density calculation, the density is treated as a
mixed tank (WELSPECS, item 12). The average density, ave, is
then computed at bottomhole conditions given a knowledge of the
volume factors of each phase, o,w,g.

These volume factors are calculated by ECLIPSE from the flowing


water and gas fractions.

The volume factor of a phase is defined as the surface volume of


that phase contained in a unit volume of the wellbore.

where:
o,w,g,surf – surface density of oil, water and gas
qfo,g – surface flow rate of free oil and gas
qw – surface flow rate of water
Rs – solution gas-oil ratio
Rv – vaporized oil-gas ratio
Bo,w,g – formation volume factors of oil, water and gas

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 183


Deviated and Horizontal Wells Schlumberger

The average density calculation has the advantage of being


performed implicitly (based on conditions at the end of the current
time step), so it is unconditionally stable. However, it may be
inaccurate if the content of fluid entering the wellbore varies
significantly from connection to connection.

Figure 66 Wellbore treated as a mixed tank

The second method for determining the density is called the


segmented density calculation. In this calculation, the wellbore is
divided into portions between adjacent connections (WELSPECS,
item 12), and an average density is calculated for each of these
segments. Formation volume factors, , are based on the
average pressure of the segment.

Phase flow rates, , are calculated for upstream rates

Due to the increased accuracy of this calculation, it is the default


method used in ECLIPSE, but the calculation must be performed
explicitly.

184 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

BEST PRACTICE: Use the default segmented density


calculation unless stability problems arise,
then consider using the average density
calculation instead.

Figure 67 Well divided into adjacent connections

After the density has been calculated by either of these methods,


the hydrostatic pressure loss can be calculated because you know
the connection depths.

Implications for Deviated and Horizontal Wells


To examine the applicability of the ‘standard’ well model to
deviated or horizontal wells, consider a simple example of a
horizontal well passing through an inclined grid.
• Kx=ky=150 mD: kz=15 mD
• Dx=dy=50 ft: dz=10 ft
• Inclination = 10°

Figure 68 Implications for deviated and horizontal wells

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 185


Deviated and Horizontal Wells Schlumberger

First, look at the cell connection factor. In Figure 69, ECLIPSE is


allowed to calculate the connection factor for each cell through
which the well passes. You must specify the direction in which the
cell is penetrated and, in this case, choose the x-direction
(COMPDAT, item 12).

The calculation ECLIPSE uses was introduced earlier and


assumes a full penetration in the direction specified (the x-
direction, in this case). Clearly, the connection factor in many of
the cells will be over-estimated because only a small portion of
those cells are actually penetrated by the well.

Figure 69 Cell connection factor in horizontal well

It is also possible to directly specify the cell connection factor


bypassing the ECLIPSE calculation, and there are potentially
many ways the connection factor might be calculated. The Petrel
application (and its predecessor, Schedule) contain a vector-
based algorithm.

This method involves splitting the well trajectory into vector


components, hijk, along the grid cell axes I, J, and K (Figure 70).

A Peaceman calculation is carried out along each component

before being recombined to find the effective connection factor.

186 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

Experience has shown that this method provides good estimates


of the connection factor for arbitrarily penetrated cells, as present
in this example.

Figure 70 Simulation cell

Figure 71 shows a comparison of the connection factors for this


example, as calculated by ECLIPSE, and by the vector-based
algorithm found in Petrel and Schedule.

Figure 71 Cell connection factor in horizontal well

WARNING: This example illustrates an important point. For


deviated or horizontal wells which may intersect and
partially penetrate cells in an arbitrary manner, the
default ECLIPSE calculation may be significantly
inaccurate. The assumption that the well penetrates
the full length of the cell in the direction specified is
not generally valid for these types of wells. Calculate
cell connection factors separately (in Petrel, for
example) and input directly into ECLIPSE.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 187


Deviated and Horizontal Wells Schlumberger

Now consider the pressure drop term. Field experience has


shown that horizontal wells often experience significant frictional
pressure losses along their length. These losses result in
important production problems, such as coning at the well’s heel
due to increased drawdown.

It is not possible to model these problems using the standard well


model because this ignores frictional pressure loses. There are
other problems with the application of the standard well model to
deviated and horizontal wells:

• There can be spurious fluctuations in the hydrostatic head


due to undulations in the well trajectory. Figure 72 shows
how this occurs when the pressure loss calculation uses the
depth of the connecting grid block cell’s center.
• The segmented density calculation is incorrect if connection
order is incorrect.
• Cross flowing connections inject average fluid into the
formation as opposed to local fluid.

Figure 72 Undulations in well trajectory

With frictional pressure losses ignored in the standard well model,


you should expect the pressure to be constant along the length of
our horizontal well because the hydrostatic pressure difference
between connections should be zero. However, the horizontal well
is not horizontal in a sloping grid.

The standard well model carries no information about the


topography of the wellbore, so the well is assumed to pass
through the center of each cell it is connected to as shown in
Figure 72. As a result, the pressure varies from connection to
connection.

188 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

In addition to connection depths, the hydrostatic pressure loss


calculation also depends on the fluid density. The segmented
density calculation provides a reasonably accurate approximation
of the wellbore density, but it is dependent on connections being
placed in the correct order (keyword COMPDAT); if not, the flows
and densities will be accumulated incorrectly.

For even trivial horizontal well trajectories, the default method for
ordering connections may not be correct. In addition, neither a
user-specified order (keyword COMPORD) nor an order based on
connection depth may be correct, as shown in Figure 73.

Figure 73 Default connection order method

The keyword COMPORD gives some control over how connections


are ordered. However it, and the segmented density calculation,
assumes that only a single flow path is present.

For multi-lateral well configurations, the density calculation (and


therefore the hydrostatic gradient) will always be inaccurate in the
standard well model (Figure 74).

TIP: You can check the ordering of your connections by looking


at them closely in FloViz or by examining Connection Flow
reports in the PRT file.

Figure 74 Incorrect ordering methods

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 189


Deviated and Horizontal Wells Schlumberger

Finally, consider a cross flowing well as shown in Figure 75.

Figure 75 Cross flowing well

The state of the well in the standard well model is represented by


three variables: the bottomhole pressure, the flowing fraction of
water and the flowing fraction of gas. The contents of the well,
therefore, do not vary along its length.

TIP: Remember that the segmented density calculation is used


only for calculating the pressure drop.

As a result of this, any cross flowing connections will re-inject the


average contents of the wellbore, as determined by the flowing
fractions such as Fw and Fg. There are many situations, such as
cross flowing laterals, in which this may be significantly
inaccurate.

The Multi-Segment Well Model


To overcome the shortcomings of the standard well model when
modeling deviated and horizontal wells, a second, more rigorous
well model is available. This second model is called the multi-
segment well model.

As the name suggests, it involves dividing the well into multiple


segments (shown in Figure 76) in much the same way you divide
the reservoir into multiple grid blocks.

190 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

NOTE: Do not confuse the multi-segment well model with the


segmented density calculation. They are completely
separate concepts.

The segmentation is user-defined, but it must follow a gathering


tree hierarchy. Each segment may have multiple inlets, but is only
allowed one outlet. This means that multiple branches and sub-
branches may be modeled successfully. From version 2009.1 and
forward, segments within the gathering tree topology can be
connected to form loops. Further details about this new feature
are available in the ECLIPSE Technical Description.

In the standard well model, three solution variables were solved


for each well. In the multi-segment well model, however, four
variables are solved for each segment:

• Segment pressure Pn
• Total fluid flow rate in the segment GTn
• Flowing fraction of water Fwn
• Flowing fraction of gas Fgn.
Like the standard well model, this calculation is performed
implicitly but, because the number of variables has increased, the
multi-segment well model is generally more computationally
expensive than the standard well model.

The way the well is divided into segments (its segmentation) is


user-controlled. In ECLIPSE, each segment is composed of a
node, located at the inlet end of the segment, and a flow path
connecting the node to its downstream neighbor. This idea is
shown in Figure 77Figure 77.

Figure 76 The multi-segment well model

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 191


Deviated and Horizontal Wells Schlumberger

A flow path defines the connection between a node and the node
of its parent segment. When the multi-segment well model is
employed, you must define the physical position of each node,
together with some information about the flow characteristics of
each flow path:

• length
• diameter
• roughness
• volume
• area.
The gathering tree hierarchy means that, in general, a segment
may have multiple inlets, as shown in Figure 78. These may be
other segments but can also be grid blocks. The flow rate of a
specific phase along a segment’s flow path, Qpn, is the sum of the
flow rates coming into the segments minus any mass
accumulation that may occur.

Figure 77 Segment specification

The pressure at a segment’s node may be calculated by adding a


pressure drop to the pressure at the downstream segment’s node.
This pressure drop will, in general, be composed of a hydrostatic,
frictional and acceleration component.

192 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

In the multi-segment well model, the top-most node always


corresponds to the bottomhole pressure point, and the pressure at
this node is calculated to satisfy well constraints.
Calculate the flow out of a segment from material balance

In the standard well model, well connections are assumed to lie at


the hosting grid cell’s center, as no other information is provided.
However, this is not necessarily the case in a multi-segment well
model.

Figure 78 Flow through segments


In general, the well connections may lie at different depths, as
shown in Figure 79. Flows pass through well connections to the
nearest segment node. Given that these connections may be at
different depths to the cell centers, a hydrostatic correction must
be applied to the inflow equation.

This correction consists of two parts:

• A hydrostatic correction, Hnc, within the wellbore (between


the node and the connection depth) which uses the average
of the fluid densities in the segment

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 193


Deviated and Horizontal Wells Schlumberger

• A hydrostatic correction, Hq, within the grid block (between


the connection depth and the cell center depth) which uses
the average of the fluid densities in the grid block.

Figure 79 Flow between grid block and segment


One final aspect to consider is how the pressure drop between
adjacent segments is determined. In the standard well model, you
assumed the hydrostatic pressure drop dominated the other
components, so frictional and acceleration pressure losses were
neglected. This is not the case in the multi-segment well model in
which the pressure drop is composed of all three components.

There are three methods available for determining the pressure


drop:

• Pre-calculated pressure drop tables


• Homogeneous flow model
• Drift flux flow model.

Advantages of the Multi-Segment Well Model


The primary advantages of using the multi-segmented well model
to simulate deviated and horizontal wells include

• the ability to calculate the pressure drop due to friction and


acceleration along the wellbore
• more accurate calculation of a hydrostatic pressure gradient
along the wellbore, as the well no longer lies along grid cell
centers

194 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

• improved modeling of cross flowing wells; fluids injected into


the formation represent the local wellbore contents
• the ability to model phase slippage with the wellbore using
the Drift flux model (discussed in the section titled,
“Homogeneous and Drift Flux Flow Models.”)
• the ability to model various downhole devices.
Investigate some of these advantages further by returning to the
horizontal well. Begin by examining the pressure along the
wellbore, as predicted by the multi-segment well model in the
absence of friction.

Remember that, in this example, you have a horizontal well


passing through a sloping grid; by extension, the hydrostatic
pressure difference along the wellbore should be zero. This also
means that the pressure should be constant in the absence of
losses due to friction or acceleration.

As shown earlier, the standard well model passes the well through
the grid cell centers, resulting in spurious fluctuations in the
pressure along the well. Figure 80 shows the results for the multi-
segment well model. It is able to accurately reproduce a constant
pressure profile because it is not necessary for the nodal depths
correspond to the grid cell centers.

Figure 80 Accurate hydrostatic gradient along the wellbore

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 195


Deviated and Horizontal Wells Schlumberger

In the next lesson, you will see how the multi-segment well model
allows friction and acceleration components to be added to the
pressure drop. Figure 81 shows the pressure loss due to friction
for your simple example, using a wall roughness of 0.75 inches
and a homogeneous flow model.

Figure 81 Frictional pressure loss

Questions
These questions are for discussion and review.

• What is the purpose of a well model in a reservoir simulator?


List three important terms in the standard ECLIPSE well
model.
• What is a segment in the multi-segment well model? How
does flow enter and exit a segment? How is the segment
pressure calculated?
• What are the advantages of using the multi-segment well
model to simulate deviated and horizontal wells? What are
the disadvantages?

Lesson 2 Pressure Drop Along the


Wellbore

This lesson examines three ways to calculate the pressure drop


between adjacent segments in a multi-segment well model:

• Pre-calculated pressure drop tables


• Homogeneous flow model
• Drift flux flow model.

196 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

The pressure drop between adjacent segments is calculated by:

Pressure Drop Tables


This method determines the pressure drop between segments by
interpolating pre-calculated pressure drop tables. Pressure drop
tables provide inlet pressure as a function of the outlet pressure,
flow rate, water and gas fractions and, optionally, an artificial lift
quantity (VFP table).

These tables are identical in format to standard vertical flow


performance tables and are entered using the same keyword
(VFPPROD). This method of determining the pressure drop is set
up using the keyword WSEGTABL.

BEST PRACTICE: The pressure drop table method is


potentially the most accurate method of
determining the pressure losses. However, it
also requires the most data and effort to
implement.

VFP tables should be composed for representative lengths and


inclinations. As shown in Figure 82, multiple tables may be used
and each table may refer to more than one segment.

Figure 82 Pressure drop tables

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 197


Deviated and Horizontal Wells Schlumberger

A VFP table can apply to segments of different lengths because


ECLIPSE allows the pressure drop interpolated from the table to
be scaled by either the segment length or its change in depth
span.

Pressure Drop Scaling


The choice of scaling with either length or depth span is an
important option when applying a single table to segments with
different inclinations. If the dominant pressure drop component is
friction, it is appropriate to scale the pressure by length.

If, however, the dominant pressure drop component is hydrostatic,


scaling based on depth span is more appropriate.

If both friction and hydrostatic pressure losses are important, it is


better to use different tables for segments with different
inclinations.

Preparing Pressure Drop Tables


To prepare a pressure drop table for a multi-segment well, any
standard wellbore hydraulics application capable of exporting
ECLIPSE style VFP tables, PIPESIM or VFPi, may be used. The
table is entered using the standard production VFP table keyword,
VFPPROD. In this case, however, the length or depth span used
when generating the table should be entered in Record 1, Item 2
of the keyword and not the BHP reference depth.

In the table, the BHP should be interpreted as the segment nodal


pressure, the inlet, and the THP should be interpreted as the
upstream segment nodal pressure, the outlet.

The total pressure drop is composed of frictional, acceleration and


hydrostatic components:

Usually, the pressure drop interpolated from the table is taken to


include all three of these components, the total drop.

Options exist to interpret this as a subset of these components,


however. Should this be the case, the remaining components are
calculated by ECLIPSE and are added to the value interpolated
from the table.

198 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

The first option is to interpret the pressure loss as comprising only


the frictional and hydrostatic components. This is useful if there is
believed to exist a significant acceleration pressure loss along the
wellbore, such as when there is inflow of fluid through
perforations.

Alternatively, the table may be interpreted as comprising only the


frictional pressure loss ( ). This might be appropriate when
modeling gently undulating wells that will probably include
segments containing many different inclinations.

If either of these options are employed, the tables should be


constructed accordingly to include only those components. The
options are implemented by using a combination of WELSEGS,
Record 1, Item 6 and WSEGTABL, Item 5.

A final consideration is the treatment of reverse (negative) flow


when using pressure drop tables. Reverse flow occurs in the
multi-segment well model whenever there is flow away from the
wellhead, as might occur if a well is cross-flowing. There are three
methods available to treat reverse flow.

Method 1: If the hydrostatic pressure drop component dominates,


it is appropriate to fix the lookup value at the first flow point in the
table. At this point, it is reasonable to assume the flow velocity is
small enough so that only hydrostatic pressure loss is present in
the table. The same value is also appropriate for small negative
velocities.
Method 2: If frictional pressure loss is the dominant pressure drop
component, it is appropriate to reverse the sign of the reverse flow
(making it positive), perform the table interpolation and scaling,
then reverse the sign of the pressure drop.
Method 3: Extrapolate the pressure drop to the negative flow
values. This is generally not recommended, as it can lead to
unphysical values.

Figure 83 Options for handling reverse flow in using VFP


tables (L to R: Methods 1, 2 and 3, respectively)

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 199


Deviated and Horizontal Wells Schlumberger

Homogeneous and Drift Flux Flow Models


Aside from the ability to interpolate pre-calculated pressure drop
tables, the multi-segment well model also offers two built-in flow
facilities: the Homogeneous Flow model and the Drift Flux Flow
model. These allow the pressure drop to be calculated directly
rather than requiring pre-calculated tables as input.

TIP: The choice of whether to use the Homogeneous or the


Drift Flux model will depend on how important it is to model
phase slippage.

Homogeneous Flow Model


The Homogeneous Flow model is the default flow calculation used
in the multi-segment well model. As the name suggests, it
assumes the flow is homogeneous, so that there is no slip
between the phases (WELSEGS, Rec 1, Item 7).

The hydrostatic pressure drop is calculated using a procedure for


each segment that is analogous to the average density
calculation. The frictional pressure drop is calculated using the
Fanning friction factor

L 2
p fric  2 f v
D
The acceleration pressure drop is calculated from the difference of
velocity heads into and out of each segment.

pacc  H v ,out   H v ,in


inlets

where velocity head is given by:

0.5C f w2
Hv 
A2 

Further details about these calculations are available in the


ECLIPSE Technical Description.

200 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

Drift Flux Model


The Drift Flux model is an alternative flow model which uses a
simple 1D flow correlation that incorporates slip between phases.

Figure 84 Drift Flux model

The model works in two stages, first gas-liquid slip is calculated as


a function of a profile parameter and the drift velocity of gas due to
buoyancy:

vg = Coj + vd

where

vg = gas velocity (averaged over x-section)

j = volumetric flux of mixture

Co, vd = profile parameter and drift velocity, functions of


flowing conditions

Each of these parameters is a function of local flow conditions. For


3-phase flow, oil-water slip is calculated in an analogous manner.

The Drift Flux model is applicable to slightly inclined and vertical


wells, but has not been verified for horizontal wells. It is capable of
modeling phases flowing in different directions as might happen
during shut-in well tests where phase segregation may be
expected to occur within the wellbore.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 201


Deviated and Horizontal Wells Schlumberger

More details are available in:

• ECLIPSE Technical Description, “Multi-segment Wells.”


• Shi, H., Holmes, J.A. et al., “Drift-Flux Modeling of
Multiphase Flow in Wellbores,” SPE 84228.
• Shi, H., Holmes, J.A. et al., “Drift-Flux Parameters for Three-
Phase Steady-State Flow in Wellbores,” SPE 89836.

Questions
These questions are for discussion and review.

• Why would you want to scale the pressure drop interpolated


from a pre-calculated table? What are the two available
scaling methods, and when is each appropriate?
• What pressure loss components may be calculated when
using the Homogeneous Flow model? How is each
component calculated?
• What is the difference between the Drift Flux Flow model and
the Homogeneous Flow model? In what situations should
you use the Drift Flux model?

Lesson 3 Downhole Equipment

One advantage of the multi-segment well model is its ability to


model various types of downhole equipment, including:

• valves and chokes


• inflow control devices
• downhole separators
• external sources and sinks.

Valves and Chokes


The first facility to consider is the ability to model a downhole
choke using a pressure drop table. To set this up, you must
generate a pre-calculated pressure drop table for the choke using
an appropriate choke model correlation.

202 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

For example, the VFPi application offers the Sachdeva choke


model. If desired, it is possible to model various choke diameters
within a single table by making use of the ALQ variable.

When constructing the well segmentation, you must include an


additional segment at the choke location; typically, this is a
relatively short length. The purpose of the choke segment is to
capture the pressure loss across only the choke.

Other pressure losses occurring in the vicinity (hydrostatic,


friction, and more) should be captured using adjacent segments.

Figure 85 Modeling a choke

The VFP table constructed earlier can be assigned to the choke


segment using WSEGTABL. Care should be taken to ensure that
the pressure drop taken from this table is not scaled with the
length or depth span of the segment (WSEGTABL, Item 7).

If required, the choke diameter may be varied over time using


WSEGTABL, Item 8.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 203


Deviated and Horizontal Wells Schlumberger

The multi-segment well model also offers a built-in facility to


model sub-critical valves.

Figure 86 Modeling sub-critical valves

As with the pressure drop table method, an additional segment is


required at the valve location. The WSEGVALV keyword is used to
identify this segment as a sub-critical valve, and the pressure drop
across the constriction is calculated using

vc 2
pcons  cu 2
2Cv

where
pcons = pressure drop across the constriction

 = fluid density

vc = fluid velocity through the constriction

Cv = valve constant

cu = units conversion constant

A frictional pressure drop is also calculated for the segment and is


added to the pressure drop calculated above. This calculation is
based on either the original segment properties (as entered in
WELSEGS) or new ones entered in WSEGVALV.

Various hypothetical flow limiting devices are also available that


limit the flow through a segment by dramatically increasing the

204 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

frictional pressure loss if a user-specified flow rate, gas-oil ratio or


water-oil ratio limit is violated.

Two types of flow limiting devices are available.

• If a flow rate limit is required, a flow limiting valve may be


used (WSEGFLIM). sharply increases if flow rate of
specific phase exceeds specified limit.
• If a limit on GOR or WOR is required, then a frictional
pressure drop multiplier (WSEGMULT) should be used. is
multiplied by either a constant amount or as a function of
GOR and WOR.

Inflow Control Devices


Inflow control devices are often used in horizontal wells to mitigate
the effects of frictional pressure losses which result in production
problems, such as coning at the well heel due to increased
drawdown here in comparison to the toe.

Figure 87 Inflow control devices

The aim of these devices is to impose an additional pressure drop


between the tubing and the sand face, which varies along the
well’s length in proportion to the expected in-tubing pressure
losses (due to friction).

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 205


Deviated and Horizontal Wells Schlumberger

ECLIPSE offers built-in facilities for modeling these types of


devices:

• Spiral Screen type devices may be modeled using


WSEGSICD
• Less common labyrinth-type device using WSEGLABY
• Nozzle-type ICD can be simulated using WSEGVALV.

Downhole Separators
Another facility capable of being simulated with the multi-segment
well model is downhole separation. This involves downhole
separation of a production stream and redirection of the
undesirable phase (water or gas) to an off-take lateral for re-
injection into the formation.

The process is shown in Figure 88.

Figure 88 Downhole separators

An electric submersible pump is usually required to boost the


pressure in the off-take lateral to allow re-injection to occur. In
general, the process must be modeled in two parts: the separator
and the associated pump.

Figure 89 shows how the separator may be setup using the multi-
segment well model. It requires a gathering tree hierarchy, so the
separator segment must have two inlets (and not two outlets).

206 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

The off-take lateral is an inlet, but if set up correctly will have


negative flow (i.e., away from the separator).

Figure 89 Separator model

The separator segment is defined with WSEGSEP. It requires a


number of parameters, including the maximum efficiency factor,
Emax, and the limiting holdup fraction, lim.

If the separator is capable of perfect separation (the off-take


branch contains no oil), the maximum efficiency factor should be
‘1.’ The limiting holdup fraction is the minimum remaining water
(or gas) holdup in the production stream, and it should always be
greater than zero to limit convergence issues.

The separator pump provides the pressure boost generally


required to allow re-injection of the off-take stream back into the
formation. In practice, the outlet pressure of the pump requires
consideration.

If the resulting off-take flow rate is too high, such as higher than
the flow rate of water into the separator, oil will be re-injected into
the formation. Alternatively, if the resulting flow rate is too low,
excessive water will be produced at the well head.

There are at least three methods of modeling the separator pump


in the multi-segment well model:

• A built-in pull-through pump model (WSEGPULL)


• A VFP table with flow limiting valve in off-take branch
• A modified VFP table with lowered ∆p when water cut drops
below 1.0

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 207


Deviated and Horizontal Wells Schlumberger

External Sources and Sinks


The multi-segment well model also offers the ability to import or
export fluid from a specified segment. Typical applications of this
facility may be to model the effect of lift gas injection or hydraulic
pump drive fluid injection. WSEGEXSS offers the ability to import
water or gas at a specified rate or specified external pressure. In
ECLIPSE 300, it also offers the ability to export fluid at a specified
external pressure.

Questions
These questions are for discussion and review.

• What are the main differences between modeling a choke


with a pre-calculated pressure drop table and as a sub-
critical valve? What input data are required in each case?
• Why is a pump typically required in a downhole separator
configuration? Why is the resultant flow rate in the off-take
branch important?

Lesson 4 Multi-Segment Well Setup

This lesson gives you an overview of applying the multi-segment


well model to an ECLIPSE simulation deck. In general, this is the
process:

1. Define a well and its completions in the usual manner with


WELSPECS and COMPDAT (or WELSPECL and COMPDATL if
using LGR).
2. Define the well segmentation with WELSEGS.
3. Define completion locations with COMPSEGS (or COMPSEGL if
using LGR).
4. Update RUNSPEC dimensioning (WSEGDIMS).
5. Decide on an appropriate flow model.
6. Introduce downhole equipment, as required.

208 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

Defining Well Segmentation with WELSEGS


The first step is to introduce a well into the simulation in the
normal manner and define the grid blocks with connections to this
well. This is done using the regular WELSPECS and COMPDAT
keywords.

The WELSEGS keyword is used to identify a well as using the multi-


segment well model and to define its segment structure. The data
required by this keyword includes
• Item 2-4 and 8-9: properties of the top segment (the BHP
reference point)
• Item 6: Components of pressure drop to calculate
• Item 7: Homogeneous or Drift Flux model
• Subsequent records, including the location and properties of
remaining segments
An example of the WELSEGS keyword is shown below. The
required format of the keyword is shown. Note this keyword
introduces a well that contains three lateral branches extending
from a main stem, which is considered as one branch in the
keyword.

Figure 90 Example of the WELSEGS Keyword

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 209


Deviated and Horizontal Wells Schlumberger

When the flow is through the tubing, the internal diameter (ID) is
that of the tubing.

If the flow is through the annulus, the internal diameter is defined


in WELSEGS as the hydraulic diameter of the annulus. This is
equal to the internal diameter of the casing minus the external
diameter of the tubing.

Dh= 4x Area of the annulus / wetted perimeter

where

- Area of annulus

L+ l - Wetted perimeter

- Casing circumference

- Tubing circumference:

D - casing internal diameter

d - tubing external diameter

NOTE: Dh= D-d should be used as the internal diameter.

Figure 91 Flow through annulus

The multi-segment well model also requires additional information


for each grid block connection of a well. This allows the well to
have a general topography, removing the assumption that the well
lies along grid block centers.

NOTE: This was shown to produce spurious fluctuations in the


hydrostatic pressure.

210 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

Defining Completion Locations with COMPSEGS


To enter this additional information, each completion defined with
COMPDAT must have a corresponding entry in COMPSEGS.

The data entered in this keyword includes the branch number to


which the completion belongs, its location on the well tubing, and
the depth of the completion. An example showing the format of
COMPSEGS is seen in Figure 93.

Figure 92 Defining completion locations with COMPSEGS

COMPSEGS
--Wname
‘PROD’ /
-- I J K Brn Ls Le Dir End
2 5 2 2 40 1* ‘X’ 5 / Top branch
2 5 5 3 100 1* ‘X’ 5 / Middle branch
2 5 8 4 170 360 ‘X’ 5 / Bottom branch, partially perforated
/

Figure 93 Example of the COMPSEGS keyword

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 211


Deviated and Horizontal Wells Schlumberger

In practice, the data required in WELSEGS and COMPSEGS is quite


complicated and tedious to enter, which makes it difficult to
manually fill out the keywords. As a result, it is best to use a pre-
processor, such as Petrel RE or one of its predecessors Near-
Wellbore Modeling or Schedule, to interactively generate the
keywords (Figure 94).

TIP: These pre-processors also offer the ability to calculate cell


connection factors, so both the segmentation and
connection factors can be output in one step.

Figure 94 Interactive specifications of a multi-segmented well

Convergence Issues
The multi-segment well model involves four variables for each
segment compared to three variables for the entire well in the
default ‘standard’ well model. The increased complexity often
means that wells using the multi-segment well model are a little
more difficult to converge than wells using the ‘standard’ model.

212 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

A more robust iteration sequence is available to give multi-


segmented wells a better opportunity to converge, as shown in
Figure 95. It is initiated using WSEGITER and involves relaxing the
predicted pressure over an iteration by averaging it with the
pressure from the last converged value. The relaxation becomes
successively more severe if the well continues to not converge.
When convergence is achieved, the relaxation is reduced again,
as shown in Figure 95.

You should take care when setting up WSEGITER, as it has the


potential to dramatically increase the number of well iterations.

You can use MXWSIT (TUNING) iterations by default, but


WSEGITER provides a more robust iteration sequence. Average
predicted pressure with the previously converged pressure if
difficulties arise

pseg = pout + Wp∆p + (1 – Wp) ∆pprev

with Wp varied according to parameters set in this keyword.

Figure 95 Convergence Issues

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 213


Deviated and Horizontal Wells Schlumberger

Requesting Output
Output related to multi-segment wells is available in several
formats:

• Segment structure to PRT file, including RPTSCHED,


Mnemonic WELSPECS in ECLIPSE 100) or RPTPRINT, Item 6
in ECLIPSE 300
• Segment conditions to PRT file, including RPTSCHED,
Mnemonic WELLS in ECLIPSE 100 or RPTPRINT, Item 7 in
ECLIPSE 300
• SUMMARY vectors, such as SOFR, SWCT, SPR and more
In addition to a full range of segment-based Summary vectors,
there are also options to output to the PRT file (using RPTSCHED
or RPTPRINT) and the RFT file (using WRFTPLT).

Questions
These questions are for discussion and review.

• What additional information is required for each well


connection when setting up the multi-segment well model?
Why is this data required and how is it input?
• Summarize the iteration sequence requested by the
WSEGITER keyword. Why is this sometimes required when
using the multi-segment well model?

214 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

Lesson 5 Multi-Segment Well Modeling

The exercise that follows acquaints you the multi-segment well


facilities and compares several multi-segment well models with
the standard ECLIPSE model.

Figure 96 Multi-segment Well modeling using Petrel

Exercise 1 Modelling a Multi-Segment Well


(using ECLIPSE)

To use ECLIPSE for multi-segment well modeling:

1. Locate the directory containing the multi-segmented well


option exercise data sets. Your instructor should confirm that
this is named MSW and will provide access to the data sets
you require.
2. Copy the files you need to a convenient location in your home
directory, if you have not done so already. You will need the
files MSW1.DATA, MSW.GRDECL, CHOKE.VFP, RATES.INC,
SUMMARY.INC and Petrel project MSWExercise.pet.
In Part A, you import an existing simulation into Petrel. In
Parts B, C and D, you create multi-segmented wells with
different options using ECLIPSE and, in the last phase (Part
E), you use Petrel to create a multi-segmented well.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 215


Deviated and Horizontal Wells Schlumberger

Use Petrel to visualize the results from Parts B, C, D


(generated by ECLIPSE), in which you can import your
simulations models and visualize the outputs to compare and
analyze them.

3. To become familiar with importing and visualizing results in


Petrel, run the MSW1.DATA model using the ECLIPSE
launcher, then import the case in Petrel.
Visualize the results using the procedures that follow.

Part A: Importing an Existing Simulation Case into Petrel


To import an existing simulation case into Petrel:

1. Open Petrel 2009.1.


2. Select File > New Project… from the menu.
3. Select File > Save project… from the menu and give it a
name.
4. Click the Cases pane in the most lower-left window and
right-click on the blank area.
5. Choose Import (on tree)…

216 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

6. Select the *.DATA file or the *.EGRID file of the ECLIPSE


case to import. Petrel will automatically import all the files
needed of that case.

7. In the lower part of the dialog, click Import case into the
project directory and click OK.
8. If a dialog requesting change of units appears, click
CHANGE.
9. Repeat the procedure for the other cases.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 217


Deviated and Horizontal Wells Schlumberger

Visualizing 2D Results
To visualize 2D results:

1. From the Windows menu, click New Function window.


You need three types of data for a plot: case, identifier and
vector.

2. CASE: Select the simulation case from the Cases pane in


the lower-left pane.

a. IDENTIFIER: This can be a Well, Field, Group, or


Segment. Make a choice in the Identifier folder in the
Results pane, in the upper-left.

218 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

b. VECTOR: This can be pressure, rates, ratios, or


cumulative. Male a choice in the Dynamic results Data
folder in the Results pane in the upper-left.

3. Using the guidelines above, displayed for all the cases


imported, select the well P1 and compare the GOR (gas-oil
ratio), Oil production rate, Water production rate, and
Bottomhole Pressure.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 219


Deviated and Horizontal Wells Schlumberger

4. If you wish to customize colors of the lines, double-click on


the Legend of the plot and click the Plot tab.
5. Select the line on the left that you wish to customize and
deselect Auto line styles on the right.
6. On the bottom part, customize the color, width and type of
the lines.

7. To display several graphs in just one Function window:


a. In the Windows menu, click New function window.
b. In the upper toolbar, select Create > Align Multiple view
port.

220 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

c. In the Number of viewports section, click the radio button


next to Automatic, or specify a number in the dialog.

8. In the Layout section, select 3 rows by 1 column ports.


9. Click Setup viewports and click OK.
10. In the Results pane, select each port and choose the vectors
you wish to display.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 221


Deviated and Horizontal Wells Schlumberger

Part B: Converting the Producer P1 to a Multi-Segmented


Well
To convert the producer P1 to a multi-segmented well:
1. Copy MSW1.DATA to MSW2.DATA.
TIP: The acceleration contribution to pressure drop has no
noticeable influence on the results.

2. Using the table that follows in MSW2.DATA, convert the


producer P1 to a multi-segmented well. Remember to specify
the dimensions in the RUNSPEC area and use the
appropriate keywords as the well is completed in a LGR.
3. Include the 3 components of the pressure drop and use the
homogeneous flow for the multi-phase flow model.
TIP: Introducing the drift flux model has no significant effect
in this case.

Specifications Value
TOPOLOGY
Depth of top segment 5,100 ft
Maximum segments 12
Pressure drop components Hydrostatic. Friction
and Acceleration
Phase slip included NO
TVD of segments 2 -11 (horizontal well) 5,125 ft (horizontal
well)
Length segment 2 50 ft
Length segment 3 80 ft
Length segment 11 70 ft
Length of remaining segments 100 ft
Tubing internal diameter 0.3 ft
Tubing absolute roughness 0.002 ft
COMPLETIONS
Length of completion 1 80 ft
Length of completion 10 50 ft
Length of remaining completions 100 ft

222 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

TIP: Use the WELSEGS keyword to define the topology and


the COMPSEGL keyword to link the perforations
(COMPDATL) to the created segments. Do not forget to
declare the appropriate number of wells, branches and
segments in the RUNSPEC WSEGDIMS keyword.

4. Modify well P1 in MSW2.DATA to ignore acceleration.


5. Rerun MSW2.DATA and comment on the results.
6. Modify well P1 in MSW2.DATA to use the drift flux model.
TIP: Assume the default fluid interfacial tension.

7. Rerun MSW2 and comment on the results.

Part C: Inserting a Downhole Choke


The choke operates in two regimes: sub-critical and critical. At
sub-critical flow rates, the inlet pressure depends on the outlet
pressure. Critical flow is reached at the sonic velocity; thereafter,
the inlet pressure is independent of the outlet pressure.

In any event, the choke design in this example always restricts the
flow upstream of the first segment to some degree. The result is a
reduction of productivity of upstream segments which, in turn,
reduces the gas cusping, extending the well life.

To insert a downhole choke:

1. Copy MSW2.DATA to MSW3.DATA. Include in MSW3.DATA


the VFP table file CHOKE.VFP containing the pressure drop
vs. rate table for a variable diameter choke, from 8/64 to 64/
64 inch.
Note that in the VFP table, choke diameter 8/64 inch is
represented by ALQ=8, 64/64 inch is represented by 64, and
so forth.

2. Insert an additional well segment of length 1 feet at 50 feet


from the well BHP reference point.
3. Modify the other segments to accommodate it.
4. Assign VFP Table 1 to the new segment and use a choke
diameter of 58/64 in.
5. Run MSW3.DATA and compare the results to those of
MSW2.DATA.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 223


Deviated and Horizontal Wells Schlumberger

6. Look at the pressure and oil rate from the connections along
the wellbore in Petrel to see the effect of the choke.
7. Change the choke diameter to 8/64 and repeat the
comparison to MSW2.DATA.
8. Comment on the results.

Part D: (Optional) Placing the Choke between packers


As the connection in cell (4, 3, 3) shuts in earliest due to high
GOR, the choke is intended to limit the drawdown in that portion of
the well only, thus reducing gas cusping.

The smaller the choke diameter, the more pronounced the


reduction in cusping. The reduced choke diameter also
contributes to lowering the production GOR but too small a
diameter shuts the entire well in too soon.

1. Copy MSW2.DATA to MSW4.DATA.


2. Create segments numbered 12 and 13; assign them to
branch 2.
• Segment 12 flows into segment 2; segment 13 flows into
segment 12.
• Segments 12 and 13 have lengths 1 foot and 100 feet,
respectively.
3. Assign VFP Table 1 to segment 12 using a choke diameter of
40/64 inch.
4. Replace the completion of branch 1 in cell (4,3,3) with a
completion of branch 2. This is shown schematically in the
choked section of tubing in the following figure.

224 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

The intent is to choke only the production from the


connection in cell (4, 3, 3).

5. Run the model and comment on the well performance.


6. Improve the convergence, if necessary, by using keyword
WSEGITER.
7. Run the model several times using a different choke
diameter. Available diameters include 8, 16, 24, 32, 40, 48,
58 and 64 (in units of 1/64 inch).
TIP: The optimum choke diameter is approximately 24/64
inch.

8. Comment on the well performance versus choke diameter.

Part E: Applying the Multi-Segment Well Model in Petrel


All the data from the original simulation case has been recreated
inside Petrel. The next step is to create the multi-segment well
model for one of your simulation wells, P1.

To create a default segmentation:

1. Open Petrel 2009.1.


2. Select File > Open Project… from the menu.
3. Choose the project MSWexercise.pet provided in your MSW
exercises folder.
This project content is the same model as MSW1.DATA, but
it has already been implemented in Petrel.

4. In the Cases pane, only one case is available, but it has no


multi segmented wells.
5. Press Ctrl + C and Ctrl + V in the case to make a copy
containing the multi-segmented well model for the well P1
you are going to create.
6. Open the Processes tab of the bottom Petrel Explorer and
expand the Well engineering category.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 225


Deviated and Horizontal Wells Schlumberger

7. Double-click Define well segmentation process to open it.

226 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

8. In the Input tab of the top Petrel Explorer, click on P1 and


drop it into the Define well segmentation dialog using the
blue arrow . Refer to the image that follows.

9. Choose Pressure drop components: Phase slip, Friction, and


Acceleration.
10. Set the Segment up to (SSTVD) to 5100 (the top of the most
upper perforation).
11. Accept the defaults in the remainder of this dialog and click
OK to create the segmentation.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 227


Deviated and Horizontal Wells Schlumberger

12. A new Well segmentation folder has been created in the


Input tab. Expand this folder to see the segmentation set you
just created.
13. Click in the circle next to it to display it in the Well section
window.

14. Double-click the Well Segmentation set in the Input tab and
click the Setting tab to display the Node and Branch
Numbering.

Exercise 2 Running the Simulation

To run the simulation:

1. Open the Processes tab of the bottom Petrel Explorer.


2. Open the Define simulation case process by double-
clicking on it.
3. In the Define simulation case dialog, ensure that Edit the
copy case has chosen MSW1_CON_1.
4. Click the Strategies tab.
5. Locate and highlight the segmentation set you created earlier
(Well segmentation set 1) in the Input pane; click under
Well Segmentation Set to drop it into the Define Simulation
process.
6. Click the Results tab in the dialog.
7. Select the following Simulation logs options by clicking on
the boxes next to them: RFT, PLT and Segment.

228 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

8. Under Reports (PRT), change the option for Wells from Well
flows to Well and connection flows.
9. Click Apply and click Export.
10. Click the Advanced tab and click Keyword Editor. This
opens the Keyword Editor with ‘MSW1_CON_1-
ECLIPSE100’ dialog.
11. In the tree on the left of the dialog, expand the SCHEDULE
node. Note the WELSEGS and COMPSEGS keywords have
been generated and appear after WELSPECS and COMPDAT
respectively.
12. Examine the keywords by double-clicking on them in the
Keyword Editor dialog. This opens a text editor showing the
keyword settings.
13. Close the editor without saving your changes.
14. Save your changes in the text editor and close it.
15. Click OK to close the Keyword Editor dialog.
16. In the Define simulation case dialog, click Run to run the
simulation. A DOS window displays and the simulation runs.
17. When it is finished, the results are automatically loaded into
Petrel.
18. If the simulation encounters an error, the Simulation
messages for ECLIPSE 100 dialog displays.
Scroll through the list of messages and note any problem
messages about P1 not converging.

19. Click OK to close the Simulation messages for ECLIPSE


100 dialog.
20. In the Define simulation case dialog, click Export and click
Keyword Editor.
21. Expand the SCHEDULE node on the left side of the dialog
and click the first keyword, TUNING.
22. Scroll through the list of keywords on the right and select
WSEGITER.
23. Click Insert to insert the keyword into the data set below the
TUNING keyword. The text editor opens for WSEGITER.
24. Keep the default settings by closing the text editor without
saving changes.
25. Click OK to close the Keyword Editor dialog.

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 229


Deviated and Horizontal Wells Schlumberger

26. In the Define simulation case dialog, click Run to run the
simulation. This time it should run through successfully.
27. Click OK to close the Define Simulation Case dialog.

Review Questions
• Under what circumstances should the multi-segment well
model be used in preference to the ‘standard’ well model?
• What are the differences between the ‘standard’ well model
and the multi-segmented well model?
• What are the three methods available to determine the
pressure drop along a wellbore? Give examples of situations
where each might be appropriate.
• Why are inflow control devices used in some horizontal
wells? What facilities are available in ECLIPSE to model
these types of devices?
• Outline the process required to convert a well from using the
‘standard’ well model to the multi-segment well model. What
input data are required? What options are available to do this
interactively?

Summary
In this module, you learned about the modeling options for
deviated and horizontal wells in the ECLIPSE reservoir simulator,
and you can now:

• describe the role of a well model in a reservoir simulator


• explain the difference between the ‘standard’ well model and
the multi-segment well model
• outline the advantages of the multi-segment well model when
simulating deviated and horizontal wells
• describe the different options available in the multi-segment
well model to determine the pressure loss along a well’s
length
• introduce facilities to model a range of downhole equipment
• explain the steps required to implement the multi-segment
well model in an ECLIPSE.

230 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0


Schlumberger Deviated and Horizontal Wells

NOTES

ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0 231


Deviated and Horizontal Wells Schlumberger

NOTES

232 ECLIPSE Advanced Topics Workflow/Solutions Training Version 2.0

You might also like