1. of 55
2014 March
By: Mohammad Massah m.massah@gmail.com
1
2. of 55
ECLIPSE 100 COURSE
1ST SESSION
Blackoil Reservoir Simulation
By: Mohammad Massah
m.massah@gmail.com
09125289613
Amirkabir University of Technology
SPE-Iran Amirkabir Chapter
March 2014
2014 March
By: Mohammad Massah m.massah@gmail.com
2
3. of 55
Eclipse 100 Course
WHAT IS RESERVOIR SIMULATION?
2014 March
By: Mohammad Massah m.massah@gmail.com
3
4. of 55
Eclipse 100 Course
RESERVOIR SIMULATION
â˘Numerical modeling used to quantify and interpret physical phenomena
â˘Dividing the reservoir into several discrete units in three dimensions
â˘Modeling the progression of reservoir and fluid properties through space and time
â˘To project future performance.
2014 March
By: Mohammad Massah m.massah@gmail.com
4
5. of 55
Eclipse 100 Course
INTEGRATED RESERVOIR STUDY
Initial Reservoir Geometry
Formation Tops
Ă, Sw, NTG, WOC,GOC
Geology Study
Res, Geometry Correction
Fault Modeling Zonation
Lithological modeling
Property Modeling
Static Model
Reservoir Simulation (Dynamic Model )
Sensitivity Analysis History Matching
Prediction Scenario Definition Economic analysis
Reservoir Management
PVT SCAL VFT
Production History Well Completion
Pressure History
Geo-Physic (Seismic )
Drilling (Cutting )
Petro-Physic (Well Log :Sonic, R,Ď ).. ,
Core
Fluid Sample (Surface-Bottom Hole )
K, Ă (Rcal )
Data Center
2014 March
By: Mohammad Massah m.massah@gmail.com
5
6. of 55
Eclipse 100 Course
WHAT IS SIMULATION?
â˘Governing Physics
â˘Darcyâs Law (without gravity term)
â˘Material Balance Equation
2014 March
By: Mohammad Massah m.massah@gmail.com
6
7. of 55
Eclipse 100 Course
MATHEMATICS
Combination of material balance eq. and Darcy's Law
2014 March
By: Mohammad Massah m.massah@gmail.com
7
8. of 55
Eclipse 100 Course
TECHNIQUES TO SOLVE THE PHYSICS
2014 March
By: Mohammad Massah m.massah@gmail.com
8
9. of 55
Eclipse 100 Course
DISCRETIZATION AND SOLUTION
â˘Eclipse Uses finite difference approach
â˘Solution approach:
â˘Fully implicit (ECLIPSE default)
â˘Implicit Pressure, Explicit Saturation (IMPES)
â˘Must be used with sound engineering judgment to obtain useful results
2014 March
By: Mohammad Massah m.massah@gmail.com
9
10. of 55
Eclipse 100 Course
BLACKOIL VS. COMPOSITIONAL MODELS
â˘Black Oil Simulator (Eclipse 100)
â˘Oil & Gas Phases are represented by one component
â˘Assume composition of gas & oil components are constant with pressure and time
â˘Compositional Simulator (Eclipse 300)
â˘Oil & gas Phases are represented by multi components mixture
â˘Assume the reservoir fluids at all temperature, pressure, composition & time can be represented by EOS (PR, SRK)
2014 March
By: Mohammad Massah m.massah@gmail.com
10
11. of 55
Eclipse 100 Course
GENERAL SOLVE METHOD
â˘Divide reservoir into several cells
â˘Provide basic data for each cell
â˘Position wells
â˘Specify well production rates as a function of time
â˘Solve the equations to yield:
â˘pressure and saturation for each block
â˘production of each phase from each well
â˘Each cell is solved simultaneously
â˘Number of cells is related to time required for a timestep
â˘Short timesteps are easier (quicker) to solve
2014 March
By: Mohammad Massah m.massah@gmail.com
11
12. of 55
Eclipse 100 Course
WE ARE INTERESTED IN SIMULATING FLOW
â˘Flow from one grid block to the next
â˘Flow from a grid block to the well completion
â˘Flow within the wells (and surface networks)
Flow= Transmissibility * Mobility * Potential Difference
2014 March
By: Mohammad Massah m.massah@gmail.com
12
13. of 55
Eclipse 100 Course
MODEL IS NOT THE RESERVOIR
â˘Input data is uncertain
â˘Data gathering and evaluation much more time-consuming than constructing a simulation model
â˘Reservoir processes and characteristics may be unknown
â˘The simulation software may be unsuited
â˘Data must be validated, that is history matched
â˘Data modifications must be viable and justified
â˘Artifacts that alter the model performance (e.g. upscaling)
2014 March
By: Mohammad Massah m.massah@gmail.com
13
14. of 55
Eclipse 100 Course
USES OF RESERVOIR SIMULATION
⢠Asset valuation:
⢠Accurate determination of recoverable reserves
⢠Asset management:
⢠Determine the most economical perforation method, well pattern, number of wells to drill, injection rates
⢠Determine appropriate facilities
⢠Uncertainty management:
⢠Estimate financial risk of exploration prospects & early lifecycle fields
⢠Assess the effects of early gas or water breakthrough or coning
⢠Estimate means of meeting gas deliverability contracts
2014 March
By: Mohammad Massah m.massah@gmail.com
14
15. of 55
Eclipse 100 Course
ECLIPSE BLACKOIL BASIC FEATURES
2014 March
By: Mohammad Massah m.massah@gmail.com
15
16. of 55
Eclipse 100 Course
INPUT / OUTPUT STRUCTURE
2014 March
By: Mohammad Massah m.massah@gmail.com
16
17. of 55
Eclipse 100 Course
ECLIPSE MODEL: *.DATA
2014 March
By: Mohammad Massah m.massah@gmail.com
17
18. of 55
Eclipse 100 Course
2014 March
By: Mohammad Massah m.massah@gmail.com
18
19. of 55
Eclipse 100 Course
HOW ECLIPSE WORKS
â˘Each section of the data file is read, processed, consistency checks are performed & required information is written to various output files (ie *.PRT)
⢠Exceptions:
⢠RUNSPEC: Used for allocation of dynamic memory
⢠SCHEDULE: Time dependent data is read & processed every timestep
2014 March
By: Mohammad Massah m.massah@gmail.com
19
20. of 55
Eclipse 100 Course
HOW ECLIPSE SECTIONS RELATE TO THE EQUATION
2014 March
By: Mohammad Massah m.massah@gmail.com
20
21. of 55
Eclipse 100 Course
STATIC RESERVOIR DESCRIPTION
2014 March
By: Mohammad Massah m.massah@gmail.com
21
22. of 55
Eclipse 100 Course
SIMULATION WITH ECLIPSE
2014 March
By: Mohammad Massah m.massah@gmail.com
22
23. of 55
Eclipse 100 Course
HOW TO USE THE MANUALS
2014 March
By: Mohammad Massah m.massah@gmail.com
23
24. of 55
Eclipse 100 Course
ECLIPSE PRODUCTS
2014 March
By: Mohammad Massah m.massah@gmail.com
24
25. of 55
Eclipse 100 Course
OUTPUT STYLES
2014 March
By: Mohammad Massah m.massah@gmail.com
25
26. of 55
Eclipse 100 Course
OUTPUT FILES
2014 March
By: Mohammad Massah m.massah@gmail.com
26
27. of 55
Eclipse 100 Course
OUTPUT FILES
2014 March
By: Mohammad Massah m.massah@gmail.com
27
28. of 55
Eclipse 100 Course
DATA FILE FORMAT
â˘Input data file is text
â˘Can be created by Notepad or Notpad++
â˘Tab character and Ctrl character are not acceptable
â˘Keyword length is limited to eight characters
â˘Anything after the eighth character is taken as a comment
â˘Data following a keyword must begin on the next line
â˘The first character of each keyword should be in the first column
â˘This may be changed using the COLUMNS keyword
2014 March
By: Mohammad Massah m.massah@gmail.com
28
29. of 55
Eclipse 100 Course
DATA FILE FORMAT
â˘The file is taken as 132 characters wide
â˘Anything to the right of column 130 is interpreted as a comment
â˘COLUMNS keyword may only be needed if data from third party packages is incorporated
â˘Comment lines begin with a double dash (--)
â˘Or begin after the forward slash terminating a keyword
â˘It is strongly recommended to use many comments
â˘ECLIPSE keywords are not case-sensitive
2014 March
By: Mohammad Massah m.massah@gmail.com
29
30. of 55
Eclipse 100 Course
DATA FILE FORMAT
â˘Omitting a keyword is equivalent to specifying a default
â˘Keywords that have data, the data record must be terminated by a slash (/)
â˘If a data record is terminated early with a slash, the remaining data items are set to their Default Values
â˘If a keyword is omitted all its associated data items are set to their default values
â˘Eclipse data file sections must come in the prescribed order
â˘But the order of the keywords within each section is arbitrary (except the SCHEDULE section)
2014 March
By: Mohammad Massah m.massah@gmail.com
30
31. of 55
Eclipse 100 Course
DATA FILE FORMAT
2014 March
By: Mohammad Massah m.massah@gmail.com
31
32. of 55
Eclipse 100 Course
KEYWORD SYNTAX
2014 March
By: Mohammad Massah m.massah@gmail.com
32
33. of 55
Eclipse 100 Course
MESSAGE HANDLING SYSTEM
1.Message (Not an error, purely informative)
2.Comment (Probably not a data error)
3.Warning (Possibly a data error)
4.Problem (Calculation difficulties)
5.Error (Definitelya data error)
6.Bug (Suspected programming error)
The MESSAGES keyword allows you to modify the default
print and stop limits
Example:
MESSAGES
2* 10 5* 10000 / alters print and stop limits for warnings
2014 March
By: Mohammad Massah m.massah@gmail.com
33
34. of 55
Eclipse 100 Course
GLOBAL KEYWORDS
2014 March
By: Mohammad Massah m.massah@gmail.com
34
35. of 55
Eclipse 100 Course
GLOBAL KEYWORDS
2014 March
By: Mohammad Massah m.massah@gmail.com
35
36. of 55
ECLIPSE DATA FILE
1. THE RUNSPEC SECTION
2014 March
By: Mohammad Massah m.massah@gmail.com
36
37. of 55
Eclipse 100 Course
RUNSPEC SECTION
â˘The section contains run specification data
â˘Functions:
â˘Memory allocation (RAM)
â˘Specifying character of the model
â˘Sets start date of the simulation
â˘Memory allocation for:
â˘Wells (small)
â˘Tabular data (small)
â˘Simulation grid (large)
â˘Solver stack (large)
2014 March
By: Mohammad Massah m.massah@gmail.com
37
38. of 55
Eclipse 100 Course
MEMORY ALLOCATION
â˘Grid:
â˘Geometry, depth, porosity, permeability, and NTG of each cell
â˘ECLIPSE converts this to an array of pore volumes, transmissibilities and cell center depths
â˘The minimum information required: five numbers per active cell
â˘Total number of cells equals: NX * NY * NZ.
2014 March
By: Mohammad Massah m.massah@gmail.com
38
39. of 55
Eclipse 100 Course
MEMORY ALLOCATION
â˘Solver stack:
â˘Solves equations for the pressure, saturation and gas-oil and/or oil- gas ratio in each cell
â˘ECLIPSE requires rapid access to several previous solutions
â˘Known as the solver stack, set to "10" by default
â˘May be altered using NSTACK keyword
â˘The default value of NSTACK is 10
2014 March
By: Mohammad Massah m.massah@gmail.com
39
40. of 55
Eclipse 100 Course
SAMPLE RUNSPEC SECTION
2014 March
By: Mohammad Massah m.massah@gmail.com
40
RUNSPEC TITLE ECLIPSE Course Example DIMENS 20 5 10 / FIELD OIL WATER WELLDIMS 4 20 1 4 / TABDIMS 2 2 50 50 /
START
1 JAN 1994 /
A Model With 20*5*10 Cells
Start of simulation
Phases Present
may be OIL, WATER, GAS, DISGAS, VAPOIL
Number of PVT, SCAL, Well, Aquifer Table in Model
41. of 55
SOME RUNSPEC KEYWORDS
â˘TITLE
â˘FIELD
â˘OIL
â˘GAS
â˘DISGAS
â˘WATER
â˘DUALPORO
â˘DUALPERM
â˘GRAVDR
â˘FULLIMP
â˘DIMENS
â˘WELLDIMS
â˘TABDIMS
â˘REGDIMS
â˘START
â˘MESSAGES
â˘NOSIM
â˘DPGRID
â˘NODPPM
2014 March
By: Mohammad Massah m.massah@gmail.com
41
42. of 55
MINIMUM RUNSPEC KEYWORDS-E100
Keyword
Description
TITLE
Title
DIMENS
Number of blocks in X,Y,Z directions
OIL, WATER, GAS, VAPOIL, DISGAS
The active phases present
FIELD/ METRIC/ LAB
Unit convention
START
Start date of the simulation.
WELLDIMS
Well and group dimensions
2014 March
By: Mohammad Massah m.massah@gmail.com
42
43. of 55
Eclipse 100 Course
RUNSPEC DEFAULTS
â˘Cartesian geometry
â˘One set of PVT and Rel. perm. tables
â˘One reporting region
â˘Unformatted restart files
â˘Non-unified restart files
2014 March
By: Mohammad Massah m.massah@gmail.com
43
44. of 55
Eclipse 100 Course
UNITS
â˘Three unit conventions can be used:
â˘METRIC units
â˘FIELD units
â˘LAB units
â˘In Eclipse the default unit convention is METRIC
Quantity
Metric
Field
Lab
Length, depth, radius
m
ft.
cm
Time
day
day
hr
Density
kg/m3
lbm/ft.3
g/cc
Pressure (absolute(
Barsa
Psia
Atma
Temperature (absolute(
K
°R
K
Temperature (difference(
°C
°F
°C
Viscosity
cpoise
cpoise
cpoise
Permeability
MDarcy
MDarcy
MDarcy
Mass
Kg
Lb
G
Moles
kg-mo;
Lb-mol
g-mol
2014 March
By: Mohammad Massah m.massah@gmail.com
44
45. of 55
Eclipse 100 Course
RUNSPEC KEYWORDS
â˘The ECLIPSE Reference manual contains information about all keywords
⢠Data File Overview chapter shows keywords by section
⢠Keywords chapter contains details about each keyword
2014 March
By: Mohammad Massah m.massah@gmail.com
45
46. of 55
Eclipse 100 Course
MINIMUM RUNSPEC SECTION
2014 March
By: Mohammad Massah m.massah@gmail.com
46
47. of 55
Eclipse 100 Course
â˘OIL : Indicates that the run contains oil.
â˘GAS : Indicates that the run contains gas.
â˘DISGAS : Run contains dissolved gas in live oil.
â˘WATER : Indicates that the run contains water.
â˘VAPOIL: indicates that the run contains vaporized oil.
ACTIVE PHASES
#
Phase
Phase Combination
RUNSPEC
keyword
1
Dead Oil
OIL
Dry Gas
GAS
Water
WATER
2
Dead Oil
Water
OIL, Water
Dry Gas
Water
Gas, Water
Dead Oil
Dry Gas
OIL, GAS
3
Live Oil with dissolved
Water
OIL, Gas, DISGAS,
Water
Wet Gas with vaporized
Water
OIL, GAS,
VAPOIL, Water
Live Oil with dissolved
Wet Gas with vaporized
Water
OIL, GAS, DISGAS, VAPOIL,
Water
2014 March
By: Mohammad Massah m.massah@gmail.com
47
48. of 55
Eclipse 100 Course
DIMENS
â˘Defines the basic size of the simulation grid .
â˘It is followed by three integers, specifying the number of cells in the X, Y and Z or (R, Theta, Z) directions respectively.
â˘Example
â˘For a reservoir represented by a 10 x 3 x 4 grid the keyword would be:
DIMENS
10 3 4/
2014 March
By: Mohammad Massah m.massah@gmail.com
48
49. of 55
Eclipse 100 Course
WELLDIMS
â˘Dimensions of the well data to be used
â˘The data must be terminated by a slash /) ( .
â˘Parameters:
1.The maximum number of wells in the model.
2.The maximum number of connections per well.
3.The maximum number of groups in the model.
4.The maximum number of wells in any one group.
Example: WELLDIMS 20 4 4 5 10 2 4 /
2014 March
By: Mohammad Massah m.massah@gmail.com
49
50. of 55
Eclipse 100 Course
TABDIMS
â˘Describe the sizes of saturation and PVT tables used
â˘Number of fluid-in-place regions
Parameters:
1.NTSFUN : The number of saturation tables entered using SGFN etc. in the PROPS section.
2.NTPVT : The number of PVT tables entered using PVTG, PVTO etc. in the PROPS section.
3.NSSFUN : The maximum number of saturation nodes in any saturation table.
4.NPPVT : The maximum number of pressure nodes in any PVT table.
5.NTFIP : The maximum number of FIP regions defined using FIPNUM in the REGIONS section.
6.NRPVT : The maximum number of Rs nodes in a live oil PVT table.
Example:
TABDIMS
2 1 20 50 4 30 /
39
2014 March
By: Mohammad Massah m.massah@gmail.com
50
51. of 55
Eclipse 100 Course
START
â˘Specifies the start date of the simulation
â˘Any report dates entered in the DATES keyword in the SCHEDULE section must be later than the start date
1.Day: Day of the month (an integer between 1 and 31)
2.Month : Name of the month (JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC)
3.Year: The year (a 4-figure integer)
4.Time: The time (24 hour, in the format HH:MM:SS.SSSS) Example START 1 OCT 1999/
2014 March
By: Mohammad Massah m.massah@gmail.com
51
52. of 55
Eclipse 100 Course
UNIFOUT
â˘Output files (for example Restart and Summary files), which may be either multiple or unified, are to be unified
â˘The default is for multiple (non-unified) files
2014 March
By: Mohammad Massah m.massah@gmail.com
52
53. of 55
Eclipse 100 Course
FMTOUT
â˘This indicates that output files which may be either formatted or unformatted are to be formatted
â˘This includes the SMSPEC, SUMMARY, GRID, INIT and RESTART files
â˘The default is unformatted, as this reduces file size and processing time
2014 March
By: Mohammad Massah m.massah@gmail.com
53
54. of 55
Eclipse 100 Course
NOSIM
â˘Turns off time step simulation in the SCHEDULE section
â˘But the simulator will continue reading and checking the data.
â˘To verify the validity of the keyword syntax prior to submitting a large simulation run
2014 March
By: Mohammad Massah m.massah@gmail.com
54
55. of 55
Eclipse 100 Course
ECLIPSE PARALLEL
⢠Allows the simulation of a single data set to be distributed across a number of processors
⢠Large simulations can be run in a shorter time
⢠Memory requirements for each processor are smaller
⢠Rule of thumb: 50k cells per processor
PARALLEL
--#Procs MachineType
4 DISTRIBUTED /
2014 March
By: Mohammad Massah m.massah@gmail.com
55