Eclipse User Guide

Download as pdf or txt
Download as pdf or txt
You are on page 1of 59

ECLIPSE

Version 2014.1

Improving simulation data

ECLIPSE Improving simulation data

Proprietary notice
Copyright (c) 2014 Schlumberger. All rights reserved. Reproduction or alteration without
prior written permission is prohibited, except as allowed under applicable law.
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 limitations any warranties of merchantability or fitness for a
particular purpose.
Trademarks & service marks
"Schlumberger," the Schlumberger logotype, and other words or symbols used to
identify the products and services described herein are either trademarks, trade names,
or service marks of Schlumberger and its licensors, or are the property of their
respective owners. These marks may not be copied, imitated, or used, in whole or in
part, without the express prior written permission of their owners. In addition, covers,
page headers, custom graphics, icons, and other design elements may be service
marks, trademarks, and/or trade dress of Schlumberger and may not be copied,
imitated, or used, in whole or in part, without the express prior written permission of
Schlumberger.

ECLIPSE Improving simulation data

Table of Contents
1

Introduction .................................................................................................. 1

What is an ECLIPSE simulation .................................................................. 3


Report steps ...................................................................................................................... 4
Timestep and iteration reporting ..................................................................................... 4
Non-Linear convergence .................................................................................................. 6
Non-Linear convergence example ................................................................................... 7
Convergence criteria ..................................................................................................... 10
Definition of convergence .............................................................................................. 11
Residual check ........................................................................................................... 11
Solution change check ............................................................................................... 11
Gain option in ECLIPSE 300 ...................................................................................... 13
Non-Linear iterations ..................................................................................................... 13
Tracking the source of the problem .............................................................................. 14
ECLIPSE 100 ................................................................................................................ 14
TUNINGDP output ......................................................................................................... 17
RPTRST CONV ............................................................................................................. 18
Non-Linear convergence in ECLIPSE 300 ................................................................. 20
Non-Linearity issues ...................................................................................................... 21

ECLIPSE dataset content .......................................................................... 22


Review ECLIPSE report information ............................................................................. 22
GRID section .................................................................................................................... 24
Minimum pore volume for active cells ........................................................................... 24
Coarsen areas of less interest in a model ..................................................................... 24
Remove cells that do not contribute to the simulation ................................................... 25
PVT data ........................................................................................................................... 26
Total compressibility check ............................................................................................ 26
PVT example ................................................................................................................. 27
Critical saturation ........................................................................................................... 29
SOLUTION section .......................................................................................................... 31
SCHEDULE section ......................................................................................................... 31
Production controls through multisegment wells ........................................................... 31
Modifying an ECLIPSE dataset that contains multisegment wells ................................ 32

A Workflows ................................................................................................... 34
Use an aquifer to simulate water cells in a model ....................................................... 34
Define the area of interest ............................................................................................. 34
Create an aquifer to simulate the water in your model .................................................. 35

ECLIPSE Improving simulation data

Define and run the simulation case using the aquifer .................................................... 37
Remove unwanted isolated cells ................................................................................... 38
Create a property to exclude cells with zero pore volume ............................................. 38
Show the connected volumes in the new property ........................................................ 41
Display the statistics for the connected volume property .............................................. 44
Determine which cells to remove from the model .......................................................... 44
Determine which cells to remove from the model using a continuous property ............ 45
Check the hydrocarbon pore volume in the filtered cells ............................................... 47
Check the well trajectories through the filtered cells ..................................................... 49
Deactivate the filtered cells ............................................................................................ 51
Deactivate groups of cells individually ........................................................................... 52
Define a simulation case which includes the isolated cells property ............................. 54

ii

ECLIPSE Improving simulation data

1
Introduction
The data chosen to model the reservoir may be such that the simulator can only solve the model by taking
extremely short time steps or excessive amounts of CPU time. These are referred as convergence problems.
Recognizing and correcting the cause of convergence problems is an important part of simulation.
Simulation run time can be a key component in determining the scope and quality of a study. The run time
of a study can be determined by many factors that may be changed to keep the run time to a minimum
without compromising results.
This document aims to explain what you can do if a model fails to converge or when it takes a long time to
converge.
Making small changes to the model or adding new options or new keywords can sometimes lead to
dramatic improvements in the speed of the simulation without changing the results to engineering accuracy.
In particular, it is worth checking:

The model size. Can elements of the grid be improved? Reviewing the grid may show that cells with
small pore volumes can be removed either across the whole grid (MINPV), or part of the grid
(MINPVV). If the model size cannot be changed, can the model be run in parallel to reduce simulation
time? Can the model be coarsened to reduce time spent simulating areas of lesser interest in the
model? Does the model contain isolated cells? These cells contribute to the total size and run time and
can distort average reservoir pressure, but typically do not contribute to the model.

Model Complexity. Does the model include unnecessary physics that could be removed?

Data quality. Is the data poor or is any data being extrapolated?

If, after checking, you find the data cannot be changed, convergence criteria can sometimes be chosen to
improve simulator performance. You do not normally need to change convergence criteria, and you should
not do so unless necessary. The default value of convergence criteria, as other internal parameters in
ECLIPSE, will usually give you a stable and robust solution for your model, in a reasonable time.
In some cases the results of a run can depend on the convergence criteria and how they are applied, and
there is a trade-off between accuracy and speed: the more accuracy is required, the more time will be
needed for the simulation to converge.
ECLIPSE can output a lot of messages during a run, and you need to know what you should do about them;
which you can safely ignore and which ones need action. For instance:

Failure to converge linear iterations is not always something to worry about.

Introduction

ECLIPSE Improving simulation data

Failure to converge a minimum timestep can affect the accuracy of the results and this is something
you need to address.

ECLIPSE can also produce reports showing how both linear and non-linear iterations are proceeding and
the methods by which timesteps are selected.

Methods of speeding up a simulation run


The data within a reservoir model may be such that the simulator can only solve the model by taking
extremely short timesteps or using excessive amounts of CPU time. Making small changes to the model or
adding new options or new keywords can sometimes lead to dramatic improvements in the speed of the
simulation without changing the results to engineering accuracy.
It is usually possible to speed up a simulation run, and there are three general approaches that can be used:
1.

Hardware solutions

Make sure no other jobs are running on your computer. If you are running on a cluster, check that
there is no contention for memory or other resources on the nodes on which your job is running.

Run in parallel. If your model is running smoothly but slowly on one processor, try running in
parallel on two; if it speeds up, try running on four processors, and so on. However, if there are
convergence issues in serial mode, then there may be even more convergence problems in
parallel and the run may not go any faster.
Note: Running an ECLIPSE dataset in parallel may require the purchase of additional licenses.

2.

3.

Use a faster machine. A new computer may be twice as fast as the equivalent computer from two
years ago.

Increase the memory in the machine.

Reduce the size of the model

Can you reduce the number of grid blocks without affecting the quality of the solution? For
instance can you replace a large number of water-filled blocks with an analytic aquifer?

If you are running in compositional mode, can you model your fluid with fewer pseudocomponents?

Identify data issues

Can you gain any speed by changing the timestepping?

Can you identify the cause of any convergence problems?

Most of the advice and suggestions apply equally to all the simulators. When there are differences in the
detailed treatment between ECLIPSE Black Oil and ECLIPSE Compositional we will highlight these
differences and explain how the data for each simulator can be tuned to improve performance.

Introduction

ECLIPSE Improving simulation data

2
What is an ECLIPSE simulation
In general, an ECLIPSE simulation is made up of one or more report steps; a report step is made up of one
or more timestep; a timestep is made up of one or more non-linear iterations; and a non-linear iteration is
made up of one or more linear iterations.

ECLIPSE has default values that control how many timesteps will be used to reach the next report that you
have asked for. These default values will work well in most cases, but there are times when you may need
to adjust them to take shorter or longer timesteps as appropriate, depending on your analysis of the output
data and the convergence issues observed.
Different default values also control how many non-linear iterations will be used to solve each timestep.
These values should normally be left unchanged. In a few cases, adjustments to the convergence criteria
can improve the performance of the simulator. In most cases however the greatest improvements in
performance are obtained by identifying the cause of the non-linear problem and changing the data model

What is an ECLIPSE simulation

ECLIPSE Improving simulation data

to reduce the non-linearity. The major part of this document will explain how to avoid problems of this
type, and how to find and fix the problems if they do occur.
By the time problems occur in the linear iterations, it is usually too late to fix them by adjusting the linear
convergence control. If the problems are severe, you could try the CPR solver. If problems remain, you can
change some controls, but the best advice is to avoid such problems by controlling the timestepping and the
non-linear iterations.

Report steps
The number of report steps and the time between report steps will depend on the type of model that you are
simulating:

For a prediction or forecasting run lasting for instance 30 years, you may ask for monthly reports for
the first year, quarterly reports for the next five years, and yearly reports for the rest of the simulation.

For history matching you may ask for weekly reports for the first year and for monthly reports for
remainder of the history match, to test the validity of your model on a finer time scale.

For slim-tube experiments, reporting intervals are likely to be minutes and hours

Computational time may be reduced by changing the requested reports if:

You are asking for more reports than you actually need.

Each report step is being reached in just a single timestep. Savings could also be made if the report
step is taking 2 or 3 iterations.

If you have created a file BASE.STEPS100 (see "ECLIPSE 100" below) and find that it mainly contains
lines of the form:
STEP
STEP
STEP
STEP

40
41
42
43

TIME=
TIME=
TIME=
TIME=

400.00
410.00
420.00
430.00

DAYS
DAYS
DAYS
DAYS

(
(
(
(

+10.0
+10.0
+10.0
+10.0

DAYS
DAYS
DAYS
DAYS

REPT
REPT
REPT
REPT

1
1
1
1

ITS)
ITS)
ITS)
ITS)

(4-FEB-2003)
(14-FEB-2003)
(24-FEB-2003)
(6-MAR-2003)

Each timestep is a report step, and each timestep is solved in a single iteration, then the run may go two or
three times faster if you allow the simulator to produce report steps once a month instead of once every 10
days.
The example above was for an ECLIPSE 100 run. The same applies for an ECLIPSE 300 run with:
Rep
Rep
Rep
Rep

;
;
;
;

400.0
410.0
420.0
430.0

10.0
10.0
10.0
10.0

8.7838
8.7838
8.7838
8.7838

.19498
.19498
.19498
.19498

1.4E05
1.4E05
1.4E05
1.4E05

32884.
32884.
32884.
32884.

1.2E06
1.2E06
1.2E06
1.2E06

4843.6
4843.5
4843.4
4843.3

.00000
.00000
.00000
.00000

1.3E06
1.3E06
1.3E06
1.3E06

1
1
1
1

Timestep and iteration reporting


The number of report steps, timesteps and non-linear iterations can be found in both the PRT file and the
LOG file the shorter form of output which appears on the screen (for interactive runs) or is sent to a log
file (for batch or background runs). On Linux (or UNIX) systems, you can use the 'grep' command to find
all the necessary information; on PCs you may need to use your favorite editor and find the information one
line at a time. Details are reported in a different way in ECLIPSE 100 and ECLIPSE 300.

What is an ECLIPSE simulation

ECLIPSE Improving simulation data

ECLIPSE 100
From the log file extract the step information into a separate file that contains one line for each timestep.
For example, on a Linux system, with an ECLIPSE 100 log file called BASE.LOG, use the following
command to create a file BASE.STEPS100:
grep STEP BASE.LOG > BASE.STEPS100
The file BASE.STEPS100 contains one line for each timestep of the form:
STEP

15

TIME=400.00 DAYS ( +30.0 DAYS REPT

3 ITS)

(4-FEB-2003)

Where
"STEP 15"

means this is the 15th timestep.

TIME= 400.00 DAYS means there have been 400 simulated days since the beginning of the
simulation.
+30.0 DAYS

shows that the latest timestep was of 30 days.

REPT

is a mnemonic explaining why 30 days were chosen, and means that a report
step has been reached.

3 ITS

mean 3 non-linear iterations were needed to solve the 30 day timestep.

(4-FEB-2003)

is the current simulation date.

ECLIPSE 300
From the log file extract the step information into a separate file that contains one line for each timestep.
For example, on a Linux system, with an ECLIPSE 100 log file called BASE.LOG, use the following
command to create a file BASE.STEPS300:
grep ";" BASE.LOG > BASE.STEPS300
The file BASE.STEPS100 contains one line for each timestep of the form:
Rep ;

400.0 30.0 8.7838 .19498 1.4E05 32884. 1.2E06 4843.6 .00000 1.3E06 3

Where
Rep is the mnemonic that shows that a report step has been reached,
30.0 shows that the latest timestep was of 30 days,
the next 8 numbers show the GOR; water cut; oil, gas, and water production rates; average field pressure;
gas and water injection rates,
3 at the end of the line indicates that three non-linear iterations were required to solve the 30-day timestep.
If the AIM option is used then the line will have an extra number at the end, for example:
Rep ;

400.0 30.0 8.7838 .19498 1.4E05 32884. 1.2E06 4843.6 .00000 1.3E06 3 2%

2% shows the percentage of the cells that was solved fully implicitly.

What is an ECLIPSE simulation

ECLIPSE Improving simulation data

Timestep selection options


E100
INIT

E300
Init

Explanation
First timestep

MAXF MIF

Maximum increase factor

REPT

Rep

Report step

HREP

Hrep Half step to report

CHOP Redu Timestep chopped


DIFF

Follows CHOP

TRNC TTE

TTE limit

SCT

Solution change

TPT

Throughput limit

A more complete list is available in the "convergence" section of the ECLIPSE Technical Description.

Non-Linear convergence
The equations that the simulators are trying to solve are non-linear where, for instance, doubling the
tubing-head pressure of a water injector will not usually double the amount of water injected, and doubling
the oil saturation in a grid block will not usually double the oil mobility in that grid block.
The simulators use an iterative process based on Newton's method to solve these non-linear equations:
1.

Linearize the equations

2.

Solve the linear equations

3.

Check if this linear solution gives a good enough non-linear solution.


If the solution is good enough then move to the next timestep.
If the solution is not good enough, go back to step 1 and repeat the process.

What is an ECLIPSE simulation

ECLIPSE Improving simulation data

Figure 2.1. Non-linear iteration

Non-Linear convergence example


The following example demonstrates the method for the simple case of a function of one variable only.
Suppose F is a continuous monotonic function of x, and that F(x)=0 for some value of x. In order to find
the value of x, an initial value for x is estimated call this first estimate x0; F(x0) is calculated to see if
F(x0)=0.

What is an ECLIPSE simulation

ECLIPSE Improving simulation data

In this case F(x0) is not zero so x0 is not the answer. The next step is to "linearize" the problem by
calculating the gradient of F(x) at x=x0.

F(x)=0 cannot easily be solved, so an approximation to F(x) is used, and the approximation here is a
straight line. The approximation is solved to give the value of x at which the straight line of the gradient
cuts the X axis. This value is x1, and is an improvement on the initial estimate of x0.

As with x0, F(x1) is calculated to see if F(x1)=0.

What is an ECLIPSE simulation

ECLIPSE Improving simulation data

F(x1) is not zero, so x1 is not the answer. The next step is to "linearize" the problem again by calculating
the gradient of F(x) at x=x1.

The gradient of F at x1 is calculated to solve the linear equation (the gradient equation) and obtain a new
solution x2. F(x2) is checked to see if it is zero; as F(x2) is not zero, the gradient of F at x2 is calculated.
This leads us to a third estimate of the solution, x3. Although F(x3) is not exactly zero, it is close enough
for engineering accuracy, and x3 is accepted as the solution.

What is an ECLIPSE simulation

ECLIPSE Improving simulation data

Convergence criteria
In order for the simulation to run, a test is required to know when the current iteration can stop in order to
move on to the next timestep; that is to decide when the solution is 'good enough'. This test of convergence
can be based on a small residual, a small change in solution, or both. This residual can be thought of as a
measure of how close to the step has come solving the non-linear problem and is used as the primary test in
ECLIPSE 100. ECLIPSE 300 uses the change of solution as its basic convergence test.
The convergence criteria are different in ECLIPSE 100 and ECLIPSE 300:

In ECLIPSE 100, the convergence that the absolute value of F must be less than a defined limit, for
example:

In ECLIPSE 300, the calculation of F is expensive, as it involves flash calculations. For this reason,
the criterion for convergence is that the change in x since the last iteration should be small, for
example:

What is an ECLIPSE simulation

10

ECLIPSE Improving simulation data

Definition of convergence
ECLIPSE needs a test to decide when the solution is 'good enough' so that it can stop the iterations and
carry on to the next timestep. A test of convergence can be based on either a small residual or a small
change in solution or both. The residual can be thought of as a measure of how close you are to solving
the non-linear problem and is used in ECLIPSE 100 for the primary test. ECLIPSE 300 uses the change of
solution as its basic convergence test.

Residual check
For each phase, ECLIPSE 100 calculates the largest residual in any grid block and the largest material
balance for that phase. By default, the program continues to iterate until the largest convergence error for
any phase in any grid block is less than 0.001, and the largest material balance error is less than 1 part in 10
million.
These targets may be reset using the TUNING keyword, but such changes are not recommended.

Solution change check


The variables used by ECLIPSE 300 are pressure and molar densities. ECLIPSE 300 calculates the
maximum change over all cells for these variables and compares these maximum changes to two limits:
one for pressure (SCONVP) and one for saturation (SCONVS).

SCONVP: Set by first data item in CVCRIT default 0.1 atm

SCONVS: Set by seventh data item in CVCRIT default 0.01

The pressure change is compared directly with SCONVP, while an approximation using field-wide
properties converts molar density changes to effective saturation changes. These effective saturation
changes are compared with SCONVS.
The maximum solutions change over all cells and all solution variables is converted to an actual-over-target
(AOT), a ratio of the current maximum divided by the appropriate limit. When the value of AOT falls
below 1, the timestep is converged.

What is an ECLIPSE simulation

11

ECLIPSE Improving simulation data

For example, suppose that the largest absolute pressure change in any grid block during the last non-linear
iteration was 0.25 atm, with a limit on pressure change SCONVP = 0.1 atm. The ratio of the two numbers is
3.5, meaning that the pressure change was 2.5 times bigger than we would accept.
Suppose the limit on effective saturation change was 0.01 and the actual largest absolute value in any cell
was 0.02, which means the actual change was twice what we would accept. The value AOT is the
maximum of 2.5 and 2, so AOT=2.5.
If the 8th data item in the DEBUG3 keyword is set greater than 0, then ECLIPSE 300 will output a line of
debug that shows the convergence behavior. The UNIX grep command can be used to produce summaries
of the output.
For example, grep ";|aot" BASE.DBG will produce something like:
NLStep=
NLStep=
NLStep=
NLStep=
Rep ;
NLStep=
NLStep=
NLStep=
NLStep=
NLStep=
NLStep=
MIF ;

0 lin= 23 aot= 97.21 Rmax= .7162E-01 Rsum= .9919E-05 egain=-.1000E+01


1 lin= 19 aot= 17.55 Rmax= .1762E+00 Rsum= .1329E-06 egain=-.1000E+01
2 lin= 21 aot=
2.94 Rmax= .1421E-01 Rsum= .6285E-06 egain=-.1000E+01
3 lin= 12 aot=
.77 Rmax= .7252E-02 Rsum= .7476E-08 egain=-.1000E+01
8901.0 1.00 8.7838 .19498 1.4E05 32884. 1.2E06 4843.6 .00000 1.3E06 4 2%
0 lin= 27 aot= 137.50 Rmax= .7587E-01 Rsum= .2011E-04 egain= .1805E+00
1 lin= 26 aot= 79.23 Rmax= .7589E-01 Rsum= .1743E-04 egain= .1676E+00
2 lin= 26 aot= 76.18 Rmax= .7279E-01 Rsum= .1676E-04 egain= .2621E+00
3 lin= 24 aot=
9.30 Rmax= .9062E-01 Rsum= .8301E-06 egain=-.1000E+01
4 lin= 24 aot=
9.00 Rmax= .8764E-01 Rsum= .8028E-06 egain=-.1000E+01
5 lin= 13 aot=
.08 Rmax= .9509E-01 Rsum= .9853E-09 egain=-.1000E+01
8903.0 2.00 8.7860 .19501 1.4E05 32880. 1.2E06 4844.2 .00000 1.3E06 6 2%

The first four lines above show iterations 0 to 3. Non-Linear iterations start with iteration 0, which is a
first guess at the new solution. The AOT for iteration 0 is 97.21 so the non-linear iterations are not
converged. Iteration three has an AOT of 0.77, which is less than 1. The largest absolute change is
now less than the target, so the iterations have converged.

The simulator provides a timestep report that starts Rep, meaning a report has been reached, and a '4'
near the end of that line means that four non-linear iterations were required to converge.

The second timestep needs a total of six iterations. In this step, the AOT at the last non-linear iteration
drops from 9.00 to 0.08. This is a sign of quadratic convergence, which occurs when the simulator is
very close to the solution and reduces the AOT by orders of magnitude at each non-linear iteration.

Details
If you wish to tighten (reduce) the convergence criteria, there are minimum values below which SCONVP
and SCONVS cannot be set. The pressure minimum is 0.01 and the effective saturation minimum 0.005.
Note: The pressure minimum can be ignored by setting the first data item in CVCRIT negative. Care
should be taken in using this option as the behavior is undocumented, and may be changed in future
releases.
The convergence tolerances are relaxed slightly at each non-linear iteration, to make convergence easier as
the number of iterations increases. The hope is that this will allow a difficult timestep to be completed
without significantly affecting the results. The factor used is:
Factor = 1.0 + "iteration number"/"maximum iterations"

An additional check is made that the sum of the residuals, which is a measure of total material balance
error, is not excessive. This is a safety measure that can prevent convergence but rarely gets invoked in
production cases.

What is an ECLIPSE simulation

12

ECLIPSE Improving simulation data

Even if the solution change is too great, and AOT is greater than 1, the maximum residual may be small
enough for the timestep to be converged. The criterion used is the variable SNLRMX set using the 11th data
item in CVCRIT. The residual considered is the residual calculated using the previous iteration and is not
the new residual resulting from the solution change. Because of this the test tends not to be effective very
often.

Gain option in ECLIPSE 300


Gain is an option, not used by default, which can significantly improve performance. The idea is to speed
the code up by not taking an extra nonlinear iteration if that iteration is likely to generate a very small
solution change. ECLIPSE can predict the behavior of the next iteration based on the history of previous
time steps.
Note: This option should be used with care, as there may be cases in which this option can lead to dramatic
changes in the solution. Always check against a run that does not use this option.
ECLIPSE calculates a gain factor from previous time steps and, rather than using the AOT, uses
EAOT=MIN(2.0*AOT*EGAIN,AOT)

Where:
EAOT

Effective AOT.

AOT

The AOT as calculated above.

EGAIN A measure of the expected improvement at the next step.


The gain value is printed out with the non-linear debug, as in the preceding example.
The gain option can be activated using switch 68 of the OPTIONS3 keyword. If you set the switch 19 of
the OPTIONS3 keyword to 1, the gain will not be used if any cell has changed state during the iteration.
Should this occur, you might expect the previous history to be less valid.

Non-Linear iterations
Each time the simulator goes through a step to find a solution, it performs non-linear iterations. The total
number of times the simulator goes through these steps for each timestep is the number of non-linear
iterations for that timestep. In the example given, there are four iterations, a first guess plus three improved
values.

What is an ECLIPSE simulation

13

ECLIPSE Improving simulation data

There is a limit to the number of non-linear iterations that the simulators will try before giving up and
trying with a smaller timestep since this makes the problem more linear. This limit depends on the
simulator and on the solution method, and is set using either the TUNING or the CVCRIT keyword.
You can check on how well the model is converging to a solution by looking at the number of non-linear
iterations for each timestep:
1

Non-linear per timestep means the step was very easy to converge.

2 to 3 Non-linear iterations per timestep, meaning the step was easy to converge.
4 to 9 Non-linear iterations per timestep, showing an increasingly difficult problem.
> 10

Non-linear iterations per timestep can mean a problem with the model.

Tracking the source of the problem


A single cell can cause non-convergence. As we increase the number of cells in a simulation, we increase
the odds that a cell will cause non-convergence.
If there are only one or two cells in the reservoir model that are causing problems, we can identify these
cells and check if there is any engineering or data reason which could explain why they are causing
problems. For example the cells may be at, or near, well completions, in which case the well control could
be modified, or it could be cells with very small pore volumes in which case the MINPV keyword could be
used.

ECLIPSE 100
In ECLIPSE 100, you will get nonlinear debug if you set NEWTON = 2 in RPTSCHED. This will produce
output of the form:

What is an ECLIPSE simulation

14

ECLIPSE Improving simulation data

Looking in detail at an example of the residuals:


IT= 0
CNV
CELL
MAT BAL
OIL 1.00424( 28, 45, 3) 5.3D-03
WAT-0.00288( 9, 3, 3) -1.3D-07
GAS********( 5, 45, 1) -1.3D-02

DPRESS
0.00
0.00
0.00

DSWAT
0.00000
0.00000
0.00000

DSGAS
0.00000
0.00000
0.00000

LINIT= 5 NSCHP=
6 NCHOP=
IT= 1
CNV
CELL
MAT BAL
OIL-1.99144( 5, 45, 1) 4.3D-02
WAT-0.16316( 2, 4, 4) -3.7D-06
GAS********( 5, 45, 1) -3.1D-02

0 NSTAT1,2,3=
50 5400
DPRESS
DSWAT
DSGAS
-24.89 0.00026 -0.20000
-14.02 0.00490 0.00000
-24.89 0.00026 -0.20000

0 NTRAN=

321

LINIT= 3 NSCHP= 195 NCHOP=


IT= 2
CNV
CELL
MAT BAL
OIL-0.62319( 5, 45, 1) 1.7D-02
WAT-0.04162( 28, 5, 3) -1.3D-04
GAS********( 5, 45, 1) -2.2D-02

0 NSTAT1,2,3=
50 5370
DPRESS
DSWAT
DSGAS
-21.15 0.00081 -0.01843
-30.47 0.00139 0.04000
-21.15 0.00081 -0.01843

30 NTRAN=

30

LINIT= 3 NSCHP=
IT= 3
CNV
CELL
OIL-0.30993( 5, 45,
WAT-0.04591( 28, 4,
GAS********( 5, 45,

3 NSTAT1,2,3=
50 5367
DPRESS
DSWAT
DSGAS
-26.44 0.00088 -0.21134
-19.80 0.00666 0.11687
-26.44 0.00088 -0.21134

33 NTRAN=

25

44 NCHOP=
MAT BAL
1) -8.9D-05
3) -4.0D-05
1) -1.4D-02

This shows the first four non-linear iterations (IT=0, IT=1, IT=2, IT=3) in a case that has convergence
problems for the gas phase. The first line shows IT=0, the first iteration, and column headers for the next
three lines; the columns are:
CNV

The worst residual for the OIL, WATer and GAS phases.

CELL

The cell that has the worst residual.

MAT BAL The material balance for that cell, a measure of mass accuracy.
DPRESS

The change in pressure in that cell since the last iteration.

DSWAT

The change in water saturation since the last iteration.

DSGAS

The change in gas saturation since the last iteration.

The residual for gas in all four iterations is shown as ******* which means that it is greater than the
maximum printable value. It has a very high residual at each iteration for cell (5,45,1), so that is the cell
that is causing problems.

What is an ECLIPSE simulation

15

ECLIPSE Improving simulation data

After each iteration report above, the line starting LINIT= provides more information on what is
happening within the model.
LINIT

Number of iterations required to solve the linearized equations.

NSCHP

Number of saturation changes that were altered to suppress possible oscillations.

NCHOP

Number of times the changes in P, Rs, or Rv were reduced to increase stability.

NSTAT 1, 2, 3 The number of cells in solution state, either 1, 2, or 3:

NTRAN

Solution state 1 means no oil is present in the cell.

Solution state 2 means both oil and gas are present in the cell.

Solution state 3 means no gas is present in the cell.

The number of state transitions since the last non-linear iteration.

Any non-zero value of NSCHP or NCHOP increases material balance errors for the subsequent non-linear
iteration and therefore reduces the chances of convergence. Some saturation chops can be avoided by
adjusting relative permeability curves in such a way that the critical saturation is not the same as the lowest
saturation value in the table.
For instance, instead of
SWFN
0.2
0.3
0.4
0.5
0.6
0.8
0.9
1

0
0.07
0.15
0.24
0.33
0.65
0.83
1

7
4
3
2.5
2
1
0.5
0

0
0
0.07
0.15
0.24
0.33
0.65
0.83
1

7
1*
4
3
2.5
2
1
0.5
0

Try using
SWFN
0.2
0.21
0.3
0.4
0.5
0.6
0.8
0.9
1

The new saturation value at 0.21 may help convergence. It will not affect the initial fluids-in-place but will
unfortunately slightly reduce the water mobility for water saturations between 0.2 and 0.3. This may not be
important to engineering accuracy.
Look for oscillations in the CNV for a phase. If the first iteration has a positive value, the next has a
negative value, the next is positive, then negative, and so on, there is perhaps a non-linearity in the system.
These are sometimes associated with sudden changes in the slope of the relative permeability curves. If you
have access to the SCAL program, you can plot these slopes and look for discontinuities. If you have
access to a spreadsheet program then you can numerically calculate and plot the slopes. Remember that
ECLIPSE will use all the values of saturation and relative permeability that you give in the table without
any smoothing.

What is an ECLIPSE simulation

16

ECLIPSE Improving simulation data

You should therefore try to avoid tables such as


SWFN
0.2
0.21
0.3
0.301
0.398
0.4
0.401
0.402
0.5
0.6
0.8
0.9
1

0
0
0.07
0.07
0.14
0.15
0.17
0.19
0.24
0.33
0.65
0.83
1

7
1*
4
4
3
3
3
3
2.5
2
1
0.5
0

The table above has saturation values that are too close to each other and the slopes of the relative
permeabilities shows severe changes.
You should also try to avoid tables such as:
SWFN
0.2
0.3
0.5
0.51
0.8
0.9
1

0
0.
0.01
0.60
0.68
0.83
1

7
4
2.5
2
1
0.5
0

The table above has a very sudden krw change from krw=0.01 at Sw=0.5 to krw=0.60 at Sw=0.51 and will
certainly cause convergence problems.

TUNINGDP output
The NEWTON switch in RPTSCHED produces extra information in the case of TUNINGDP:

PTRG is the target pressure change; the default is 1 psi in Field units.

STRG is the target saturation change; the default is 0 if TUNINGDP is not used and 0.01 if it is used.

MDDP is the maximum pressure change for convergence.

MDDS is the maximum saturation change for convergence.

If you use TUNINGDP, ECLIPSE solves the linear equations to a tighter tolerance and convergence is
reached if either the residual or the solution change criteria is small enough. If you do not use TUNINGDP,
only the residual is used to test for convergence.

Output of the reason for non-linear failure


If you set DEBUG item 1 in ECLIPSE 100 to be greater than 1, ECLIPSE outputs a number that shows the
reason why a non-linear iteration has failed to converge. Some possible values are:
1.

Exceeds maximum tolerable pressure change DDPLIM.

2.

Exceeds maximum tolerable saturation change DDSLIM.


Note: DDPLIM and DDSLIM are described in record 3 of the TUNING keyword.

What is an ECLIPSE simulation

17

ECLIPSE Improving simulation data

3.

Exceeds maximum tolerable material balance RSUM.


A value of 3 means the sum of normalized residual is greater than the maximum allowed. The allowed
maximum is a linear combination of items 3 and 7 of record 2 of the tuning parameter.
The maximum residual also depends on which Newton iteration you are on.

4.

Exceeds tolerable for maximum norm RNMAX.


A value of 4 means the normalized residual is greater than the maximum allowed. The allowed
maximum is a linear combination of items 2 and 6 of record 2 of the tuning parameter.
The maximum residual also depends on which newton iteration you are on.

5.

Uses but fails the TRGDDP / TRGDDS test.


A value of 5 means the change in the solution is more than TRGDDP and TRGDDS. These are the
values of DDPLIM and DDSLIM until that point in the simulation. This is used in cases where there is
high throughput.

RPTRST CONV
You can use a visual display of the grid blocks causing convergence problems. Adding CONV to the
RPTRST keyword sends two new outputs to the restart files. Each cell will have two new variables that will
be used to count the number of times that cell has been one of the most difficult cells to converge.
At the beginning of the simulation, each cell will have its counter set to zero and, at every timestep, the
most difficult cells (10 by default for ECLIPSE 300) will have their counter increased by 1. At the end of
the run, you can display the cells with the most problems.
The outputs in the restart file for ECLIPSE 100 are:

CNV_GAS, CNV_OIL and CNV_WAT indicate the worst cells base on fluid saturations.

CNV_PRE indicates the worst cells base on pressure updates.

The outputs in the restart file for ECLIPSE 300 are:

CONV_VBR indicates the worst cells base on volume balance residual.

CONV_PRV indicates the worst cells base on pressure updates.

ECLIPSE 300 DEBUG3


You will get non-linear debug if item 8 in the DEBUG3 keyword is set greater than 0. Some of the debug
information has been described previously.
Typical output is of the form:
Iteration
DX Pressure 0
DX
Comp 1
DX
Comp 2
DX
Comp 3
DX
Comp 4
DX
Comp 5
DX
Comp 6
DX
Comp 7
DX
Comp 8
DX
Comp 9
DX
Comp 10
NLStep= 0 lin=

0 linears req
7
-40.075969 25 32 4
F
1.469590
-0.000375 25 32 1
T
0.010000
-0.000980 25 32 1
T
0.010000
-0.025419 25 32 1
F
0.010000
-0.002318 25 32 1
T
0.010000
-0.000318 25 32 3
T
0.010000
0.009711 25 32 1
T
0.010000
0.008562 25 32 1
T
0.010000
0.004396 25 32 1
T
0.010000
0.001465 25 32 1
T
0.010000
0.000907 25 32 4
T
0.010000
7 aot=
27.27 Rmax=0.8514E+00 Rsum=0.2739E-03 egain=0.2624E-01

What is an ECLIPSE simulation

18

ECLIPSE Improving simulation data

Iteration
1 linears req
5
DX Pressure 0
-0.563835 25 32 1
T
1.592056
DX
Comp 1
0.000035 25 32 1
T
0.010833
DX
Comp 2
0.000063 25 32 1
T
0.010833
DX
Comp 3
0.001887 25 32 1
T
0.010833
DX
Comp 4
0.000242 25 32 1
T
0.010833
DX
Comp 5
0.000111 25 32 1
T
0.010833
DX
Comp 6
0.000270 26 32 1
T
0.010833
DX
Comp 7
0.000238 26 32 1
T
0.010833
DX
Comp 8
0.000127 26 32 1
T
0.010833
DX
Comp 9
0.000044 26 32 1
T
0.010833
DX
Comp 10
-0.000317 25 32 2
T
0.010833
NLStep= 1 lin= 5 aot=
0.38 Rmax=0.1921E-01 Rsum=0.1448E-04 egain=0.3165E-01
Max changes:pres
40.6
25 32 4 temp
0.00
0 0 0
oil satn 0.516E-01 17 7 1 gas satn -0.178E-01 17 8 1
wat satn -0.939E-03 25 32 4 eng dens
0.00
0 0 0
Throughput ratio:avrg
0.404E-01 max
0.192
26 32
2
MIF ; 103.0 9.00 6.9094 .01725 8973.3 157.46 62000. 3531.4
0.0 60500. 2 2%

This output shows two non-linear iterations leading to a timestep report. The first line:
Iteration

0 linears req

tells us that the iteration 0 (the initial estimate) needed 7 linear iterations to solve the linear problem.
The next 11 lines consist of one line for each of the solution variables showing the largest change in that
variable in any cell during this iteration. The solution variables for each grid block are the pressure in the
grid block, the molar density of each hydrocarbon component, and a water term. This model has 9
hydrocarbon components. Water is written as component 10.
DX Pressure 0
DX
Comp 1
DX
Comp 2
DX
Comp 3
DX
Comp 4
DX
Comp 5
DX
Comp 6
DX
Comp 7
DX
Comp 8
DX
Comp 9
DX
Comp 10

-40.075969
-0.000375
-0.000980
-0.025419
-0.002318
-0.000318
0.009711
0.008562
0.004396
0.001465
0.000907

25
25
25
25
25
25
25
25
25
25
25

32
32
32
32
32
32
32
32
32
32
32

4
1
1
1
1
3
1
1
1
1
4

F
T
T
F
T
T
T
T
T
T
T

1.469590
0.010000
0.010000
0.010000
0.010000
0.010000
0.010000
0.010000
0.010000
0.010000
0.010000

In each of these lines, DX means the solution change. The first DX line is the pressure change. The largest
pressure change was an increase of 40.075969 psi in cell (25,32,4), which happen to contain an injecting
completion. The 'F' on that line means 'False,' in that the pressure variable has not converged, as the
pressure change is greater than 1.469590, which is the maximum pressure change, allowed for convergence
for this iteration.
The second DX line shows the largest change in the molar density, expressed as a saturation equivalent, for
component 1. The increase of 0.000375 was in cell (25, 32, 1), and is less than the convergence maximum
of 0.01, so the component 1 variable is considered to be converged. In fact all the components have
converged except for component 3.
The non-linear iteration however has not converged since two of the variables (pressure and component 3)
are not yet converged. The next line is a summary of the first iteration (iteration 0).
NLStep= 0 lin=

7 aot=

27.27 Rmax=0.8514E+00 Rsum=0.2739E-03 egain=0.2624E-01

NLStep=0

means that this in non-linear step 0

lin=7

means that 7 linear iterations were needed to solve it

What is an ECLIPSE simulation

19

ECLIPSE Improving simulation data

Rmax= 0.8514E+00 is the worst (maximum) absolute residual at the beginning of this iteration
Rsum= 0.2739E-03 is the sum of all the residuals at the beginning of this iteration
egain= 0.2624E-01 is a gain factor calculated from previous timesteps
The next line
Iteration

1 linears req

is the start of the report on the second non-linear iteration, Iteration 1, which needed 5 linear iterations.
The next 11 lines are the solution changes. They are similar to the reported changes for the first non-linear
iteration except that now both the pressure and component 3 have changed by less than the new
convergence criteria.
The non-linear iterations have now converged.
NLStep= 1 lin=

5 aot=

0.38 Rmax=0.1921E-01 Rsum=0.1448E-04 egain=0.3165E-01

is the report of the converged iteration showing that the maximum residual at the beginning of that iteration
was down to 0.1921E-01 and the sum of residuals was down to Rsum=0.1448E-04. A report follows with
the changes during that timestep.
Max changes:pres
40.6
oil satn 0.516E-01
wat satn -0.939E-03

25 32
17 7
25 32

4 temp
0.00
1 gas satn -0.178E-01
4 eng dens
0.00

0
17
0

0
8
0

0
1
0

The maximum pressure and saturation changes are reported, as well as the cells in which this change
occurred. In the case of thermal runs, the maximum temperature and energy density changes are also
reported.
The maximum throughput is reported next. Throughput is defined as the volume flowing through a cell
divided by the pore volume of the cell. If the throughput is too high (say higher than 0.5) it could cause
convergence problems, and the pore volume of the cell that has the highest throughput should be examined.
Throughput ratio:avrg

0.404E-01 max

0.192

26

32

The last of these lines is the report of production, and so forth for the time step.
MIF ;

103.0 9.00 6.9094 .01725 8973.3 157.46 62000. 3531.4

0.0 60500. 2 2%

Non-Linear convergence in ECLIPSE 300


ECLIPSE 300 non-linear convergence criteria have 'moving goalposts.' The convergence tolerances are
relaxed slightly at each non-linear iteration. Effectively, convergence becomes easier as the number of
iterations increases.
The idea is that if you have reached the maximum number of iterations (call that Nmax) and you are close
(within a factor of two) to the convergence criteria, then you don't want to chop the timestep and waste all
the work you have done so far. So the criterion relaxes by 1/Nmax every Newton iteration.
An example is shown below. The maximum number of non-linear iterations is 12, the units are metric, and
the first Newton iteration uses the default convergence criteria (0.1 atm pressure and 0.01 for component
specific volume). For later Newton iterations, these criteria were relaxed by 8.33% (=1/12) with each

What is an ECLIPSE simulation

20

ECLIPSE Improving simulation data

Newton iteration. After 12 Newton iterations, the criteria are doubled to 0.2 atm pressure and 0.02 for
component specific volume.
Iteration 0 linears req 4 NTOTNL 4076
DX Pressure 0 2.803147 38 16 10 Ind:GLOB F 1.469590
DX Comp
1 0.000262 34 31 6 Ind:GLOB T 0.010000
DX Comp
2 0.000042 34 31 6 Ind:GLOB T 0.010000
..
NLStep= 0 lin= 4 aot= 1.91 Rmax=0.1149E-02 Rsum=0.8487E-05 egain=0.9926E+00
DCHOP2: 1 cells chopped, Try= 1
Iteration 1 linears req 7 NTOTNL 4077
DX Pressure 0 -2.799664 38 16 10 Ind:GLOB F 1.592056
DX Comp
1 -0.003126 38 16 10 Ind:GLOB T 0.010833
DX Comp
2 -0.000239 38 16 10 Ind:GLOB T 0.010833
..
NLStep= 1 lin= 7 aot= 1.91 Rmax=0.3573E-01 Rsum=0.1269E-05 egain=0.3326E+01
DCHOP2: 1 cells chopped, Try= 1
Iteration 2 linears req 4 NTOTNL 4078
DX Pressure 0 2.694699 38 16 10 Ind:GLOB F 1.714522
DX Comp
1 -0.048358 38 16 10 Ind:GLOB F 0.011667
DX Comp
2 -0.002969 38 16 10 Ind:GLOB T 0.011667

Non-Linearity issues
A few general problems with non-linearity can include:

In explicit cells, the algorithm can try to extract more fluid from a grid block than is present in the grid
block. This happens because flows are calculated from the solution of the previous timestep and not
from the current timestep. The only thing you can do is reduce the timestep. This will only be an issue
if you using the IMPES or AIM solution methods. The default in ECLIPSE 100 is FULLIMP, but the
default in ECLIPSE 300 is AIM unless you are using options such as Radial, Dual Porosity or
Thermal.

Flow reversals are a major non-linearity issue.

The group control algorithm will sometimes change well rates at every non-linear iteration to reflect
the latest calculated conditions in the reservoir. Changing well rates at every non-linear iteration can
lead to poor convergence.
By default, the simulators only recalculate group control parameters for the first few non-linear
iterations, then keep the group controls unchanged for the remaining non-linear iterations. This
number of iterations can be changed using NUPCOL, but it is best to leave the value unchanged, unless
the simulator warns you otherwise.

Non-monotonic VFP tables can cause convergence problems during the simulation. VFP tables are
always checked for monotonicity in ECLIPSE 300, and the check can be switched on in ECLIPSE 100
by using the EXTRAPMS keyword.

What is an ECLIPSE simulation

21

ECLIPSE Improving simulation data

3
ECLIPSE dataset content
Review ECLIPSE report information
ECLIPSE can output a lot of messages about your dataset information about the simulation run or errors
within the data. You need to know what should you do about them, which ones you can safely ignore, and
which ones need action. You can also ask ECLIPSE to produce reports showing how both linear and nonlinear iterations are proceeding and the methods of timestep selection.
Before reviewing the detail of the content of your dataset, you should check the PRT or log file for
messages related to the simulation run. All the messages start with @ in the files, so you can find all these
messages by looking for @. You should start by checking messages, comments and warnings, and then
correct any problems and errors. Messages that may be printed are:
Messages
These give information about the run and should be checked to make sure the content is what
you expect:
@--MESSAGE
@
@--MESSAGE
@
@

AT TIME
0.0
DAYS
(19-OCT-1982):
CHECKING FOR LICENSES
AT TIME
0.0
DAYS
(19-OCT-1982):
THE MEMORY REQUIRED TO PROCESS THE GRID SECTION IS
1526 KBYTES

Comments
These contain information about potential problems that may affect the run:
@--COMMENT
@

AT TIME
0.0
DAYS
(19-OCT-1982):
NO NON-NEIGHBOUR CONNECTIONS FOUND

If you did not expect non-neighbor connections, this comment can be ignored. If you know that
your reservoir has a lot of fault throws, then you may need to check your model.
Warnings
These are possible data errors and should be checked as there may be an issue to be corrected:
@--WARNING
@
@
@
@

AT TIME
0.0
DAYS
(19-OCT-1982):
INCONSISTENT END POINTS IN SATURATION TABLE
THE MAXIMUM GAS SATURATION (1.0000)
PLUS THE CONNATE WATER SATURATION (0.1200)
MUST NOT EXCEED 1.0

ECLIPSE dataset content

22

ECLIPSE Improving simulation data

This may not be an issue, but the gas and water SCAL tables are inconsistent; using this data
means the gas saturation will never be greater than 0.88.
@--WARNING
@
@

AT TIME
0.0
DAYS
(19-OCT-1982):
THE BOTTOM HOLE PRESSURE LIMIT FOR WELL INJECTR1
HAS BEEN DEFAULTED. THE DEFAULT VALUE IS 100,000 PSIA

This warning could possibly be safe - as long as the injector never goes to BHP control, but
setting a more reasonable limit would be preferable.
Problems
Any problems reported mean there is definitely an issue that must be checked and fixed before
running the simulation:
@--PROBLEM
@
@
@
@
@

AT TIME
0.0
DAYS
(19-OCT-1982):
OIL
PRESSURE IN EQUILIBRATION CALCULATION BETWEEN DEPTHS
8400.0
FEET
AND
8397.7
FEET
HAS NOT CONVERGED.
CONVERGENCE ERROR =
0.86508E+33
PSI.
THE CURRENT NUMBER ( 100 ) OF DEPTH NODES IN THE
EQUILIBRATION CALCULATION IS TOO SMALL

In this example, there is a problem in either the specified depth nodes or oil PVT table.
Errors
This means there is an error in the data and you cannot continue with a simulation run without
fixing it.
@-@
@
@

ERROR

AT TIME
0.0
DAYS
(19-OCT-1982):
ERROR IN PVTO TABLE NUMBER
1
NOT ENOUGH PRESSURE VALUES (ONLY 1) SPECIFIED
FOR HIGHEST RS (=
1.270 MSCF/STB)

Errors may also result in other messages. This error is the underlying cause for the reported
problem above. You should always review and fix errors before looking for the solutions to
other messages.
An error may result in "NaN" (Not a Number) being displayed as part of a message and is
usually caused by dividing by zero or something similar.
@--WARNING
@
@
@
@
@
@
@

AT TIME
0.0
DAYS
(19-OCT-1982):
GAS IS DENSER THAN OIL
WITHIN THE RESERVOIR
IN EQUILIBRATION REGION 1. CHECK SURFACE
DENSITIES, FORMATION VOLUME FACTORS, RS, RV.
THE PROBLEM OCCURS AT DEPTH
8725.0000
GAS
PRESSURE =
0.4201E-01
OIL
PRESSURE = NaN
(RS MAY BE SPECIFIED IN THE WRONG UNITS)

If you see "NaN" anywhere in any output, then:


a.

Fix any Error or Problem first.

b.

If the "NaN" is still there, contact your local support.

Bugs
A bug is an indication of an internal inconsistency in ECLIPSE.
"Bugs" should not occur unless there has previously been an error; you should therefore fix any
error or problem before reporting the problem. However, if the bug is still occurs, contact your
local support.

ECLIPSE dataset content

23

ECLIPSE Improving simulation data

GRID section
A reservoir or field model is divided into grid cells which divide the model into areas of interest, both in
terms of structures ( such as faults or horizons) and properties. However, these requirements can vary
what is of great interest to a geologist may not be of so much importance to a reservoir engineer. To get the
best performance from a simulation run requires identifying the parts of a model that are less important
reducing the level of detail in those areas within the model. These changes may include:

Making small volume cells inactive by setting a minimum pore volume that must be exceeded.

Coarsen areas of the model that are of less interest for simulation.

Remove isolated cells within a model that do not contribute to the fluid volume.

Note: To view grid structures and properties, use a visualization program. The instructions in this section
describe how to use Petrel to view and manipulate grids.

Minimum pore volume for active cells


Differences in the volumes of neighboring grid blocks may cause convergence issues where volume change
in one cell leads to a disproportionate change in the neighboring cell. Where these smaller cells exist in the
model, they are not likely to add to the model and could be removed using the MINPV keyword to help
speed up the simulation run.
When removing cells, take care to choose a suitable value of MINPV that does not significantly change the
total pore volumes in each region, and that does not remove high-permeability streaks or thin shale layers
within the reservoirs. If MINPV is being used to remove pinch-outs, also use PINCH to connect across
those thin cells that represent pinch-outs. Within these limitations, using MINPV should both improve
performance and give unchanged production results.
If a full-field model has convergence problems and does NOT have a minimum pore volume, adding
MINPV is the most likely change that will improve performance.

Coarsen areas of less interest in a model


Only have the areas of interest in the grid, or at least concentrate on areas of interest. Where a model
contains many grid cells in areas of lesser interest, the model can be modified to reduce the simulation
time. For example, if your model contains a large number of water-filled cells, cells could either be merged
or replaced with an aquifer:

ECLIPSE dataset content

24

ECLIPSE Improving simulation data

You can also coarsen the model, or coarsen areas/regions of the model, to speed up the simulation.
For a workflow showing how to define an aquifer, see "Use an aquifer to simulate water cells in a model".

Remove cells that do not contribute to the simulation


A model should include cells that contribute to the overall simulation run; if the model contains isolated
cells, such cells require processing that is, they contribute to the total size and run time and can distort
average reservoir pressure, but do not contribute to the model. Where the model contains isolated cells, you
can identify and filter-out these cells visualizing the grid in Petrel to help determine which cells to remove.

ECLIPSE dataset content

25

ECLIPSE Improving simulation data

For a workflow showing how to remove isolated cells, see "Remove unwanted isolated cells".

PVT data
Total compressibility check
In black oil models, both ECLIPSE 100 and ECLIPSE 300 check for positive compressibility of each single
reservoir fluid as the PVT data is read (the formation volume factor must be a monotonically decreasing
function of pressure assuming all other variables are held fixed).
ECLIPSE also checks that mixtures of saturated oil and gas have a positive total compressibility even when
there is mass transfer between the two phases. For example, increasing the pressure of a cell that contains
both oil and gas will:

transfer some gas from the gas phase to the oil phase

swell the oil due to extra dissolved gas

decrease the remaining gas volume due to compression

ECLIPSE dataset content

26

ECLIPSE Improving simulation data

The oil volume will therefore increase with increasing pressure, and the gas volume will decrease with
increasing pressure. The total (oil+gas) volume must however decrease. This will only happen if the
reduction in the volume of gas is greater than the increase in the volume of oil.

PVT example
Poor convergence may be caused by erratic relative permeability information. For example, a plot of the
relative permeability curve for oil against water may appear accurate. A plot of the original curve is shown
below:

The curve is smooth and looks reasonable. At first, the data in the relative permeability table also looked
reasonable. The data is entered using the SOF3 keyword:
SOF3
-- SOIL
0.181
0.283
0.385
0.436
0.483
0.588
0.686
0.689
0.761
0.837
0.863
0.879
0.880

KROW
0
0.0001
0.0015
0.0124
0.0217
0.0939
0.3499
0.3501
0.7323
0.9887
0.9978
1
1

KROG
0
0.0001
0.0015
0.0124
0.0217
0.0939
0.3499
0.3501
0.7323
0.9887
0.9978
1
1
/

The Soil and krow column seem to be correct:

The Soil column is monotonically increasing, and has values between 0 and 1.

The krow column is also monotonically increasing, and has values between 0 and 1.

When the derivative d(krow)/d(Soil) is plotted, the expected derivatives should be smoothly varying as krow
was smoothly varying. The resultant graph was:

ECLIPSE dataset content

27

ECLIPSE Improving simulation data

There are sharp changes in slope around Sw = 24% and around Sw = 31%. These value correspond to Soil of
about 68% and 76% respectively. When the SOF3 table is checked at these values; at around 68% oil there
are two oil saturations with very close values, 0.686 and 0.689, that have very similar krow values of 0.3499
and 0.3501.
The SOF3 table does not need saturation values that close together, and in fact very closely spaced values
in any table may cause ECLIPSE to do extra computing work as it has to find exactly which two point to
interpolate between. In this case to fix the problem remove either one of the two entries. Removing the row
corresponding to the Soil value of 0.686, gives the following table:
SOF3
-- SOIL
0.181
0.283
0.385
0.436
0.483
0.588
0.689
0.761
0.837
0.863
0.879
0.880

KROW
0
0.0001
0.0015
0.0124
0.0217
0.0939
0.3501
0.7323
0.9887
0.9978
1
1

KROG
0
0.0001
0.0015
0.0124
0.0217
0.0939
0.3501
0.7323
0.9887
0.9978
1
1
/

This change is enough to produce smooth derivatives and to resolve the convergence problem:

ECLIPSE dataset content

28

ECLIPSE Improving simulation data

Critical saturation
Consider a grid block with pore volume of 100 m3. Assume it contains 80 m3 of gas and 20 m3 of water.
The water saturation is 20%:

In the case where there is no flow in or out of that grid block, and the pore volume decreases by 1% due to
reservoir pressure changes:

The gas will compress but water is relatively incompressible, so we will have approximately 79 m3 of
gas and 20 m3 of water.

Water saturation will increase from 20% (20 m3 of water in 100 m3 pore volume) to 20.2% (20 m3 of
water in 99 m3 pore volume)

ECLIPSE dataset content

29

ECLIPSE Improving simulation data

As you produce/inject, the pressure in every block will change and therefore the pore volume of each grid
block will change.
Assuming the initial water saturation (SWL) in each grid block was 20%, Sw will now be greater than 20%
in many blocks. If SWCR=SWL=20%, then all those blocks have mobile water even if Sw is only 20.0001%,
and this water WILL flow.
Setting SWCR=SWL+0.01% will stabilize the model without changing the OOIP.
This can be applied to the critical saturation of any phase; using the original SOF3 table:
SOF3
-- SOIL
0.181
0.283
0.385
0.436
0.483
0.588
0.689
0.761
0.837
0.863
0.879
0.880

KROW
0
0.0001
0.0015
0.0124
0.0217
0.0939
0.3501
0.7323
0.9887
0.9978
1
1

KROG
0
0.0001
0.0015
0.0124
0.0217
0.0939
0.3501
0.7323
0.9887
0.9978
1
1
/

The oil can be stabilized by changing the 1E-4 values at 18.1% oil saturation to zero. If this is not the
preferred solution, we could instead add a relative permeability of 0 at an oil saturation of 18.2%
SOF3
-- SOIL
0.181
0.182
0.283
0.385
0.436
0.483
0.588
0.689
0.761
0.837
0.863
0.879
0.880

KROW
0
0
0.0001
0.0015
0.0124
0.0217
0.0939
0.3501
0.7323
0.9887
0.9978
1
1

KROG
0
0
0.0001
0.0015
0.0124
0.0217
0.0939
0.3501
0.7323
0.9887
0.9978
1
1
/

ECLIPSE dataset content

30

ECLIPSE Improving simulation data

SOLUTION section
The SOLUTION section of an ECLIPSE dataset contains the data used to define the initial state (pressure,
saturations and compositions) of the reservoir. There are several methods that can be used to calculate the
initial fluid in place values (the initial oil, water and gas saturations) in each grid block. The choice is
selected using the ninth argument of the EQUIL keyword that specifies the number of sub-layers (N) used
to obtain the initial saturations:
Center-point equilibration (EQUIL item 9 = 0)
The simulator sets the fluid saturations in each grid block according to the conditions at its
center. This method gives a stable initial state since the phase pressure differences in the
simulation are also taken between cell centers. It is however the least accurate method,
particularly in cases where the fluid contact passes through large grid blocks.
Horizontal fine grid equilibration (EQUIL item 9 < 0)
The top and bottom halves of each grid block are each divided into -N layers of equal thickness,
and the saturations are determined locally in each layer. The phase saturations for the block are
the average of the saturations in each layer. This option provides a more accurate calculation of
the fluids in place, but may yield a solution that is not completely stable in the initial state.
Tilted block fine grid equilibration (EQUIL item 9 > 0)
This option is similar to horizontal fine grid equilibration, but it takes into account the slope of
each grid block. The top and bottom faces of the blocks are treated as planes that are tilted about
their central points. The top and bottom halves of the grid block are each divided into N
horizontal layers of equal thickness, but the thickness of the layers in the top half is generally
different from the thickness of the layers in the bottom half. This is because the distance from
the block center line to the highest corner is not the same as the distance from the block center
line to the lowest corner, if the upper and lower faces have different tilts. The phase saturations
in each block are calculated as a weighted average of the saturations in the layers, weighted
according to the area of each layer that is enclosed within the block multiplied by the layer
thickness. This option provides the most accurate calculation of fluids in place, but may yield a
solution which is not completely stable in the initial state.
With fine grid equilibration there is a redistribution of fluids between grid blocks near the
contacts when the simulation begins, which occurs independently of any external driving force
(such as wells). The reason is that a steady state solution on the fine equilibration grid (in which
each block is subdivided into several layers) is not necessarily a steady state solution on the
coarser simulation grid.

SCHEDULE section
The SCHEDULE section specifies the operations to be simulated (production and injection controls and
constraints) and the times at which output reports are required.

Production controls through multisegment wells


As the whole system being modelled is highly coupled between the surface system, the wells and the
reservoir, convergence issues with datasets including multisegment wells are normally a manifestation of
issues elsewhere in the dataset. This means that although you see a problem in your well, it might be caused
by a non-linearity in your grid or your fluid data. Therefore, you should first QC the whole dataset before
narrowing down your search to find specific problems in the multisegment well itself.
To QC your model:

ECLIPSE dataset content

31

ECLIPSE Improving simulation data

1.

QC your grid and your fluid data (PVT or relative permeability values) as the system is highly coupled
and although you might see a problem in your well, it might be caused by a non-linearity in your grid
or your fluid data.

2.

Ensure your multisegment well is correctly defined.


Note: Defining multisegment wells by hand is extremely error-prone and so it is recommended to use
Petrel instead, using the Define well segmentation process.
If you have defined the multisegment wells by hand, you can visually check the branches and
numbering in the Well section window in Petrel. Branches and numbering can be switched on by
right clicking on the segmentation set in the Input pane, and checking on the Show segment info
option in the Style tab.

Looped flow paths


Check your multisegment well for looped flow paths as these can often cause problems; see Loop flow
paths in the ECLIPSE Technical Description for more details.
In Petrel, using the Suppress annular segments option in the Define well segmentation process can remove
looped flow paths, particularly for completions using inflow control devices.
If looped flow paths are necessary for your model, you can use the WSEGSOLV keyword to set the
parameters affecting the multisegment well iterative linear solver. Items 2 and 4 have more influence on the
solution convergence than the other items and increasing these by a factor of 5 is reasonable depending on
the complexity of your model and the computation time you wish to spend. Items 7 and 8 in WSEGSOLV
might also help to control any spurious high flows that can be generated during the non-linear solving of
looped multisegment wells.

Modifying an ECLIPSE dataset that contains multisegment


wells
If you have checked your grid, your fluid data and your segmentation and you are still experiencing
convergence issues, the next thing to try is to reduce the non-linearity in your model to give you a clue as to
what might be causing the convergence problem. The non-linearity can be reduced by making the
following changes, (these are in order of what should make most effect and so should be tried first):

Turn off drift flux in any of the segments and use the homogeneous well model instead (item 7 in
WELSEGS, or clear the Phase slip check box in the Petrel Define well segmentation process). If the
model gives significantly different results with and without phase slip (for any time period of the
simulation which does not have convergence issues) then a VFP table could be used instead to derive
the pressure drop along the segments.

Reduce the number of segments in each well. In the Petrel Define well segmentation process this can
be done by increasing the minimum segment length.

Use a conventional well model for the vertical section of the well. In the Petrel Define well
segmentation process this can be done by unchecking the Segment up to (SSTVD) option. If this is
unchecked, by default, the well will be segmented to the top connection/device in the well.
Alternatively, as stated above, a VFP table could be used to model the flow to surface.

Turn off the friction and acceleration pressure drop calculations (item 6 in WELSEGS, or clear
Friction and Acceleration in the Petrel Define well segmentation process).

ECLIPSE dataset content

32

ECLIPSE Improving simulation data

Check in the RFT log if any of the completion devices have a particularly high pressure drop across
them. If they do, try reducing the strength of these devices or removing them altogether.

Turn off cross flow (item 10 in WELSPECS). The default in ECLIPSE is on, set to NO to turn off
cross-flow.

Note that simplifying your model in these ways should only be done as an experiment to help you
determine the root cause of your convergence problem. Your model should still include all the physics
necessary for the problem, but trying some of these changes might help you pinpoint the problem and help
you determine how much of the physics is necessary to include without overcomplicating the problem.
Other keywords that could help are:

WSEGITER this is a more expensive, but more robust iteration sequence, to give multisegment wells
a better opportunity to converge. It 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.
Note: If you are using any tuning keyword, you must add WSEGITER after the tuning keyword.

MXWSIT By default, if the WSEGITER keyword is not entered, each well is allowed up to MXWSIT
iterations. Increasing the value of MXWSIT in record 3 of the TUNING keyword may give your model
a better chance of converging.

WVFPEXP if using VFP tables this can help for tubing head pressure (THP) controlled wells,
especially those with fluctuating gas production.

EXTRAPMS if using VFP tables, use the EXTRAPMS keyword which gives a warning when
extrapolating outside of the VFP table and could be giving physically unrealistic results. You can
check your VFP table by opening the VFP manager in Petrel and using the quality control tools found
there. More information on these tools can be found in the VFP quality control section of the Petrel
help.

WELSEGS item 8 in record 2 check if the friction factor is too high. Lowering this may help
convergence. You should aim to have default roughness for an open hole completion as the upper limit
for roughness values for well equipment.

ECLIPSE dataset content

33

ECLIPSE Improving simulation data

A
Workflows
The workflows in this appendix show how to perform some of the tasks outlined earlier in this guide for
improving your simulation data.

Use an aquifer to simulate water cells in a model


If you have a large amount of water in your model, you can speed up a simulation run by replacing the
water cells with an aquifer.
An aquifer can be used to simulate large amounts of water in a model. Adding an aquifer to your model
allows you to focus on an area of interest in your model, exclude the water cells, and receive simulation
results much faster.
You can add easily visualize and define the area of interest and then add an aquifer to your model using
Petrel.
To use an aquifer in a simulation case you need to:

Create a polygon that defines the area of interest in the model using the Polygon editing tools in
Petrel.

Create an aquifer using Petrel's Make aquifer process.

Open the simulation case in the Define simulation case process and add the aquifer to the
inputs on the Grid tab.

Save and run the simulation case.

Note: Ensure that you have set up the simulation case in Petrel to use the maximum number of available
processes. The case can be submitted to a queue on your local machine or cluster if one has been defined in
the System settings dialog.

Define the area of interest


Begin by creating polygon that defines the area to be influenced by the aquifer. This is used as an input to
the Make aquifers process.
1.

Display the grid in a 2D window.

2.

In the Models pane, select the oil-water contact.

Appendix A Workflows

34

ECLIPSE Improving simulation data

Use the contact as a reference when creating the polygon defining the area of interest.
3.

On the Reservoir Engineering tab, in the Utilities group, click


open the Polygon editing Tool Palette.

4.

On the Tool Palette, click

Polygon editing to

Add points to polygon.

If there are other polygons in the model, click


'New' is displayed.

to expand the Tool Palette and ensure that

5.

Digitize the points on the polygon. Double-click on the first point to close the polygon.

6.

In the Input pane, right-click the polygon that you have just created, and then click

7.

In the Settings dialog, click the Info tab, provide a more descriptive name for the polygon and
click OK.

Settings.

Create an aquifer to simulate the water in your model


In this step of the workflow, create an aquifer to include in the simulation.
Before running the Make aquifer process, ensure that you create a polygon that defines the area of
interest using the Polygon editing tools in the Utilities group on the Reservoir
engineering tab.
1.

In the Models pane, select the grid.

2.

On the Reservoir Engineering tab, in the Boundaries group, click

3.

In the Make aquifer dialog, click Create new.

Aquifers.

Change the name of the aquifer, if required.


4.

Choose the Aquifer model.

5.

On the Connections tab, insert

the polygon defining the aquifer area of interest.

Appendix A Workflows

35

ECLIPSE Improving simulation data

6.

In the Direction panel, select 'Bottom up'. This option specifies that the aquifer is connected to the
bottom edge at the bottom of the reservoir for all cells within the area of interest.

7.

Set the Vertical extent.


a.

Select Top limit.

b.

Choose 'Fixed depth' and enter the depth.

You may find it useful to display the axis in the 3D window when setting the depth. To do this,
on the Window Tools tab, in the Decoration group, click Axis. Display the oil-water
contact as an additional reference.

Appendix A Workflows

36

ECLIPSE Improving simulation data

8.

Click OK to create the aquifer.

To use the aquifer in a simulation, open the Define simulation case process and select your
simulation case. On the Grid tab, insert the aquifer from the Aquifers folder on the Models pane into
the grid inputs table. Click Apply and then run the case.

Define and run the simulation case using the aquifer


In this step of the workflow, define a simulation case and include the aquifer as an input on the Grid tab of
the Define simulation case process.
1.

On the Simulation tab, in the Simulation group, click

2.

Click Create new and enter a name for the new case.

3.

Click the Grid tab.


a.

Click Append

b.

Select the aquifer in the Models pane and insert

Define case.

to add a new row to the table.

The Keyword is automatically set to 'Aquifer'.


4.

Click Apply.

5.

Click Run to export the data files and run the case.

Appendix A Workflows

37

into the Input field.

ECLIPSE Improving simulation data

Remove unwanted isolated cells


You can find isolated cells in your model and, based on engineering decisions, remove those that do not
contribute to your strategies for hydrocarbon production modeling. This helps to reduce the computing
resources during reservoir/field simulation.
Isolated cells/regions require processing during simulation but, depending on where they are, they may not
contribute to your modeling and production strategies. By removing those that do not contribute, you could
reduce the simulation time. For example, there may be small isolated regions that you will never target for
production, because they are too small or are in parts of the reservoir that you do not plan to develop.
There are a number of stages in this process:
1.

If you haven't already done so, create a property that removes inactive cells and any other cells with
porosity, permeability or pore volume below a threshold value. This property has the value zero (0) for
cells that you want to remove from the simulation and the value one (1) for all other cells.

2.

Use the geometric modeling process to show the connected volumes in this property.

3.

View the statistics to determine the number of connected volumes in the new property.

4.

Depending on the number of connected volumes:

Filter the property to investigate the isolated cells.


or

Create a continuous property and then filter it to investigate the isolated cells.

The connected volumes property is a discrete property. If you have a large number of connected
volumes, more than 10 or 20, you should convert the property to a continuous one as Petrel processes
this more efficiently.
5.

Review the hydrocarbon volume in the cells you have selected for removal from your model.

6.

If you have already defined well trajectories in your model, find selected cell groups that are
penetrated by wells and ensure that you retain these if they are potential targets.

7.

Remove the isolated cells from your model:

Remove all of the cells displayed with your filtering.


or

8.

Remove single clusters.

Define a simulation case which uses the isolated cells property.

Note: In the descriptions of these stages, the names used for properties and filters, and the example images
used, may be different from the ones that you use and see in your model.

Create a property to exclude cells with zero pore volume


Create a property that excludes cells with zero pore volume which you do not want to simulate.
In this part of the workflow, you create a property using a Boolean calculation. The example sets all cells
with a zero pore volume to zero (0) and all other cells to a value of one (1). The cells set to 0 are the ones
that you want to ignore. The cells with a value of 1 are those that you will investigate further.

Appendix A Workflows

38

ECLIPSE Improving simulation data

Note: This workflow uses zero pore volume to differentiate between cells, but you could use a different
pore volume cut-off, or another property, for example porosity or permeability.
1.

Open a 3D window and display a pore volume model (you may have more than one defined).
To do this, on the Home tab, in the Insert group, click
Window and then click
3D window.
Then select a pore volume property from the Properties folder in the Models pane.

2.

Analyze the property using filters, statistics and settings to determine the pore volume cut-off. To do
this:
a.

Right-click the property (in the Properties folder in the Models pane) and select
1D filter.

b.

Click Both limits defined.

Create

The Min value shows you whether your model contains cells with zero pore volume, or a small
non-zero volume.
c.

To analyze the property further, display a histogram by right-clicking the property and selecting
Settings. In the Settings dialog, click the

d.

Histogram tab.

You can toggle the Log check box to switch between linear or log scaling of the x axis to view
the distribution of the pore volumes, for example:

Appendix A Workflows

39

ECLIPSE Improving simulation data

Using the information from the filter limits and your analysis of the histograms, determine the
pore volume cut-off that you want to use.
e.

Click on Cancel in the filter and histogram windows to clear them without saving your settings.

3.

On the Reservoir Engineering tab in the 3D and fault properties group, click
3D properties.

4.

Set the calculator to calculate the property.


For example, to calculate a property called actnum calculated from a property called PORV[0] in
the Petrophysics folder in the Properties folder, the calculation is:
actnum=If( Petrophysics\PORV[0]=0, 0, 1)
This Boolean logic sets cell values to zero if they have pore volume=0 and to one otherwise. To create
this in the calculator:
a.

Type actnum= into the calculator.

b.

Click If.

c.

In the Select property variable pane, click the PoreVolume model to add it to the
calculator.

d.

Complete the calculation by adding =0, 0, 1).

e.

Select the Boolean template in the Attach new to template list. A quick way to do this
is to type boo into the Filter templates box.

Appendix A Workflows

40

ECLIPSE Improving simulation data

If you choose to use a non-zero pore volume as the cut-off limit, for example, less than or equal to
0.0001, you enter this value into the calculator instead:
actnum=If( Petrophysics\PORV[0]<=0.0001, 0, 1)
5.

Click ENTER and close the Property calculator window.

This adds the actnum property to the Properties folder in the Models pane and you can display it in
the 3D window.

The legend (toggle on/off in the 3D window tools palette by clicking


Axis and then
Auto
legend) shows the true (value 1) and false (value 0) colors on the left and a histogram of the relative
amount of true/false cells on the right.

Show the connected volumes in the new property


After creating the property to differentiate between zero and non-zero cells (the actnum property from the
previous stage), you create a property showing the connected volumes in the non-zero regions.
1.

On the Reservoir Engineering tab, in the 3D and fault properties group, click
Geometrical modeling
This displays the Geometrical modeling dialog.

2.

From the Method list, select Connected volumes.


The Geometrical modeling window displays further settings for the connected volumes
property.

Appendix A Workflows

41

ECLIPSE Improving simulation data

3.

From the Property to analyse list, select the actnum property.

4.

Select the Only for facies type check box.


By default this is set to 1: True. If this is not displayed, select it from the Only for facies
type box.

5.

Also select Cross zone boundaries and Cross faults.

6.

Limit the number of isolated volumes generated by selecting By volume and entering a small volume,
for example 100.
This volume is 100 of the Petrel project's units, for example 100m3 for metric units.

Appendix A Workflows

42

ECLIPSE Improving simulation data

7.

Click OK.

The new property is in the Models pane in the Properties folder and you can display it in the 3D
window.

If you want a different name for the property:


1.

Right-click the property in the Models pane, and then click

2.

Click the

3.

Click OK.

Settings.

Info tab and enter the new name in the Name box.

You can use the same method to change the names of other properties. For example you may have defined
a number of different connected volume properties, using different methods and settings, and want to use a
naming convention that allows you to choose between them.
If you have wells defined in your project, you can display them by clicking the Wells folder in the Input
pane. The wells are displayed along with the current property in the 3D window.

Appendix A Workflows

43

ECLIPSE Improving simulation data

Display the statistics for the connected volume property


Use the statistics to find the number of connected volumes in the property.
In this step, you use the statistics to find the number of connected volumes in the connected volume
property. Depending on the number:

If you have a small number of connected volumes, you can start filtering the property to investigate
the isolated volumes to decide which to keep or remove.

If you have a large number of connected volumes, first create a continuous property from the
connected volume property as Petrel processes continuous properties more efficiently. You can then
filter the continuous property to investigate the connected volumes.

1.

Right-click the connected volume property in the Properties folder in the Models pane and
select

Settings.

2.

Click the

Statistics tab.

3.

Note the number of connected volumes and click OK to close the statistics window.

Having viewed the statistics, you should filter the property to investigate the isolated cells, or create a
continuous property and then filter it.

Determine which cells to remove from the model


Filter the connected volume property to view the isolated cells and determine which to remove.
In this step, you use a 1D filter to view different collections of isolated cells to determine which cells to
remove from the model. This is an iterative process in which you apply different filters to display different
connected volumes. If your filtering displays all of the volumes that you want to remove using the filter,
you can remove them in one step. If not, you will have to investigate and remove individual volumes in
turn.
To filter the cells:
1.

Display the connected volume property in a 3D window.

Appendix A Workflows

44

ECLIPSE Improving simulation data

If you don't have the property displayed from the previous process, in the quick access toolbar click
Window and select
2.

Right-click the connected volume property in the Properties folder in the Models pane and
select

3.

3D window. Then click the connected volume model in the Models pane.

Create 1D filter.

Use the filter settings to create a set of volumes to view and click Apply.
0: Volume 1 is the largest volume and 254: Rest of volumes is the smallest and may
contain more than one isolated volume.

4.

To inspect the properties of any of the filtered cells, on the Home tab in the View group, click
Inspector. With the
Pick tool active (click
Select[P] in the 3D window tools
palette), click on any cells in the 3D window to inspect the properties, including volume.

5.

Repeat the filtering and inspecting to display the cell clusters that you want to remove from the model.
You can toggle the well display on and off, by selecting Wells from the Input pane.

This example has all volumes displayed apart from 0: Volume 1, but you could have any set of
volumes here depending on your filtering and the settings in your model.
6.

Close the filter and inspector windows.

At the end of the process, you have a number of filtered connected volumes displayed.
Having filtered the cells, you can perform further checks before inactivating the small connected volumes:

Check the volume of hydrocarbon in the filtered cells against the total volume in the model/grid.
Depending on the volume contained, you may wish to re-filter to reduce the potential hydrocarbon
volume that you are going to remove from your model.

If you have wells in your model, you can should the isolated cells to see if any of them are penetrated
by wells.

After these checks you can remove unwanted clusters of cells from the model.

Determine which cells to remove from the model using a


continuous property
Where you have a larger number of connected volumes, create a continuous property and then filter it to
view the isolated cells and determine which to remove.

Appendix A Workflows

45

ECLIPSE Improving simulation data

In this step, you create a continuous property from your connected volumes property. You then use a 1D
filter to view different collections of isolated cells so that you can determine which ones to remove from
the model. This is an iterative process in which you apply different filters to display different connected
volumes. If your filtering displays all of the volumes that you want to remove using the filter, you can
remove them in one step. If not, you will have to investigate and remove individual volumes.
To create the continuous property and filter the cells in it:
1.

Display the connected volume property in a 3D window.


If you don't have the property displayed from the previous process, in the quick access toolbar click
Window and select

3D window. Then click the connected volume model in the Models pane.

2.

On the Reservoir Engineering tab in the 3D and fault properties group, click
3D properties.

3.

Use the calculator to create the property. For example, to create a property called cont.
a.

Type cont =

b.

Insert

c.

Select General from the Attach new to template menu.

d.

Click ENTER

the connected volume property into the calculation

4.

Select the continuous property from the Properties folder in the Models pane to display it in the
3D window.

5.

Right click on the property in the Properties folder in the Models pane and select
filter.

6.

Set Min to 1 and click Apply.

Create 1D

This removes the largest volume, Volume 0, in the filtered display. The lower numbers are for the
bigger connected volumes, with the Max limit being for the smallest connected volume.
7.

On the Grid Property Tools tab, in the Color table group, click
Click Yes in the next window.

Appendix A Workflows

46

Adjust color table.

ECLIPSE Improving simulation data

8.

If the initial filter setting (removing volume 0) does not remove enough connected volumes, use the
filter settings to create a different set of volumes to view and click Apply.
This is an iterative step and you can filter and re-filter until you have the set of connected volumes that
you want to deactivate.

9.

To inspect the properties of any of the filtered cells, on the Home tab in the View group, click
Inspector. With the
Pick tool active (click
Select[P] in the 3D window tools
palette), click any cells in the 3D window to inspect their properties, including volume.

10. Close the filter and inspector windows.


At the end of the process, you have a number of filtered connected volumes displayed.
Having filtered the cells, you can perform further checks before inactivating the small connected volumes:

Check the volume of hydrocarbon in the filtered cells against the total volume in the model/grid.
Depending on the volume contained, you may wish to re-filter to reduce the potential hydrocarbon
volume that you are going to remove from your model.

If you already have wells in your model, you should review the isolated cells to see if any of them are
penetrated by wells.

After these checks you can remove unwanted clusters of cells from the model.

Check the hydrocarbon pore volume in the filtered cells


Check the amount of hydrocarbon in the connected volumes that you have selected for deletion.
In this step, you check the volume of hydrocarbon in the filtered cells against that in the complete model.
Depending on the relative percentages, you can deactivate the isolated cells you have identified, or you can
repeat your filtering to create a different group of cells for deletion. For example, if you have 0.5% or 1%
hydrocarbon in your selected cells, you may decide to deactivate them. If you have 3%, 5% or 10%, you
may decide to re-filter to create a set of isolated cells that contains less hydrocarbon.
To check the hydrocarbon volume:
1.

Double-click the label of the hydrocarbon pore volume (possibly shortened to HCPV) in the Models
pane.

Appendix A Workflows

47

ECLIPSE Improving simulation data

For example
This displays the Settings dialog.
2.

Click the

Statistics tab.

3.

Create a report for the hydrocarbon volume in the filtered cells from the Settings window:
a.

Show statistics for the filtered cells only is on. Note


At the top of the window, ensure that
the orange background color to the filter icon.

b.

At the bottom of the window, ensure that the List 2 and Reset check boxes are selected.

c.

Click

Copy to output sheet .

This displays the Output sheet for the HCPV property for the filtered cells.

4.

Create a second report for the hydrocarbon volume in the unfiltered cells from the Settings
window:
a.

At the top of the window, ensure that

b.

At the bottom of the window, ensure that only the List 2 check box is selected.

Appendix A Workflows

48

Show statistics for the filtered cells is off.

ECLIPSE Improving simulation data

c.

Click

Copy to output sheet.

This adds the property for the unfiltered cells to the Output sheet for the HCPV property, for
example:

5.

Compare the sum for the filtered (1028626 in the example) and unfiltered (221234396) volumes and
use the percentage difference to decide how to proceed.
In the example, the filtered cells that have been identified for deactivation account for less that 0.5%
of the hydrocarbon volume and this is well below any threshold for reconsidering the filtering.

6.

Click OK to close the Settings window and close the Output sheet.

At the end of the process, you can re-filter the cells if the hydrocarbon volume in the current set is too high.
You can also check to see how any wells in your model penetrate the filtered cell set.

Check the well trajectories through the filtered cells


Check the intersections of the wells with the filtered cells to determine whether to keep some of the filtered
volumes in the model.
In this step, you see which cells are penetrated by wells, if you have them in your model. If you identify
volumes which are targets, or potential targets, you can re-filter your connected volumes property to
remove them from the filtered set and so from the cells that you are going to deactivate.
1.

On the Reservoir Engineering tab, in the 3D and fault properties group, click
Geometrical modeling.

Appendix A Workflows

49

ECLIPSE Improving simulation data

This displays the


2.

Ensure that Create New is selected (it is by default) and then from the Method menu, select Well
region.

3.

Select Connected sections only.

4.

Set the radius from each well that you want to consider.
The units are based on your project settings. For example, metric units with a setting of 100 define a
radius of 100m.

5.

Click OK.
This creates a new property with the default name Region from 'Wells'.

6.

Select the property to display it in the 3D window and then move around the display to look at any
areas of interest.
To toggle the wells on/off in the display, select Wells from the Input pane. For example, here is a
small volume that can be ignored, even though it lies close to a well:

At the end of the process, you can either re-filter the cells if significant volumes are intersected by, or lie
close to wells in your model and are targets for production. If you don't need to re-filter the cells, you can
now deactivate them.

Appendix A Workflows

50

ECLIPSE Improving simulation data

Deactivate the filtered cells


Deactivate the cells that you have identified as being unnecessary for your model.
In this step, you deactivate those isolated cells that you want to remove from the model. In this process, the
filtered cells contain all of the isolated cells that you want to deactivate.
To remove all of the filtered cells:
1.

Select the connected volume property to re-display it in the 3D window.


As your filter is still set on, this shows the filtered cells in the connected volume property. If the filter
is not on, you can re-select it from the Filters folder in the Input pane.

2.

On the Reservoir Engineering tab, in the 3D and fault properties group, select
3D properties.

3.

Type actnum=0 for the calculated expression (

4.

Select Use filter (

5.

Click ENTER and close the Property calculator.

6.

Select the actnum property to display it in the 3D window.

7.

In the Input pane, click the filter in the Filter folder to switch it off.

).

).

At the end of the process, you have deactivated groups of isolated cells and the simulator will not consider
them in its calculations. The actnum property includes all of the cells that you deactivated.

Appendix A Workflows

51

ECLIPSE Improving simulation data

Deactivate groups of cells individually


Analyze and deactivate individual groups of isolated cells.
In this step, you deactivate individual groups of cells to remove those selections from your model. To do
this you analyze the filtered display of connected volumes. To isolate a group of cells you use the calculator
to set them to actnum=0, while leaving the other cells with an actnum property value of 1.
1.

Display the filtered connected volume property in the 3D window.


To do this, select the connected volume property from the Models pane and the filter from the
Filters Folder in the Input pane.

2.

Switch to pick mode (

).

Toggle between pick and view mode by pressing Esc, or select the mode from the window Tool
Palette. In this way, you can move around the grid in view mode and inspect properties in pick mode.
3.

On the Home tab, in the View group, click

4.

Click individual groups of cells in pick mode to identify small isolated volumes.

Appendix A Workflows

52

Inspector.

ECLIPSE Improving simulation data

Note: Because of limits in the color ranges used for the display, it may be that cells of different volumes are
displayed in the same color. You can check this by creating a 1D filter (right click on the cells and select
Create 1D filter) and filtering on the volume number.
5.

On the Reservoir Engineering tab in the 3D and fault properties group, click
3D properties.

6.

Enter the calculation to give the connected volume an actnum value of 0.


For example, if the Boolean property is called actnum and you want to give connected volume 180 an
actnum value of 0, the calculator expression is:
actnum=If( Connected_volumes_for_actnum=180, 0, actnum)
To enter this into the calculator:
a.

Type actnum=

b.

Click If

c.

Select the connected volume property from the Properties folder in the Models pane and
insert it

into the calculator

d.

Type = and the volume number before the first comma (=180) and 0 before the second

e.

Click before the closing bracket, select the actnum property from the Properties folder in the
Models pane and insert it

f.

into the calculator.

Select the Boolean template in the Attach new to template box.

Appendix A Workflows

53

ECLIPSE Improving simulation data

Note: If you created a 1D filter in step 4, you can use it to filter several connected volumes at the same
time. In this case, you can set the actnum values on these cells in one go. To do this, enter the calculator
expression actnum=0 and select Use filter.
7.

Click ENTER.

8.

Select the connected volume property from the Properties folder in the Models pane to display it
in the 3D window.
The group of cells indexed by volume number 180 is now set to 0.

At the end of the process, you have deactivated a particular group or groups of cells by adding them to the
Boolean property actnum (created in the first step of the process).

Define a simulation case which includes the isolated cells


property
In this step, you define a simulation case and include the actnum property as an input on the Grid tab of
the Define simulation case process.
1.

On the Simulation tab, in the Simulation group, click Define case.

2.

Click Create new and enter a name for your new case.

3.

Click the Grid tab.

4.

Click Append

5.

Select the actnum property in the Models pane and insert

6.

Choose Active cell flag [ACTNUM] from the Keyword list.

7.

Click Apply.

to add a new row to the table.

Appendix A Workflows

54

into the Input field.

ECLIPSE Improving simulation data

8.

Click Run to export the data files and run the case.

You can compare the simulation results with the isolated cells defined against other simulations which do
not include the property.

Appendix A Workflows

55

You might also like