Skip to content
Brent$117.6Gas TTF$1,192USD453.87 ₸
MunaiHub
SimulationPurpose, types and construction of models Intermediate 25 min read

Building a simulation model: input data and results

A simulation input deck (also called the data file) is the complete description of a model for the simulator. It holds the size and geometry of the grid, the properties of each cell, the tables of fluid and rock properties, the way to calculate the initial state, the wells and their schedule, and the list of results to write down. It is usually a text file split into sections in a strict order, with extra files attached for the grid and the tables. The simulator reads it from top to bottom, and builds and runs the model from it.

Why it matters

Everything the model “knows” about the reservoir is written in the input data — and so are all its errors. Here are four examples. Megapascals are entered where bars are expected. The depth of the oil–water contact (OWC) is taken from logs where the level of zero capillary pressure is needed. An atmospheric reference pressure is used for the pore compressibility (the rule that says how the pore volume changes with pressure). The density of oil is entered without its dissolved gas. The simulator accepts all of this without objection and carefully calculates the wrong model. You can save weeks of work if you can read an input deck and check a new model before history matching and forecasts. Check the pore volume and the volumes in place, the equilibrium, the gradients and the productivity of the wells. Such checks protect decisions from errors that you cannot see in pictures of the results.

Quick refresher

  • Model data come in four kinds. Arrays hold one value for each cell (geometry, porosity, permeability, region numbers). Tables give properties as functions of pressure or saturation. Records give the reference depth and pressure, the contacts and the densities. Events in time cover the wells, their controls and the dates.
  • The simulator reads the deck from top to bottom, and the order of the sections follows what depends on what: run specification → grid → grid edits → properties → regions → initial state → output → schedule. Other programs prepare the grid and the tables, and the deck includes them as separate files.
  • Equilibrium initialisation needs the pressure at the reference depth, the phase densities, and the depth where the capillary pressure equals the specified value (usually zero). This depth is the free water level (FWL), not the OWC from logs. The saturation of a cell comes from the table of its region, usually at the cell centre.
  • We give a well its position, its completed cells (the cells where the well is open to flow) and a control, that is, a target and limits. The simulator calculates the well index (the number that links the well rate to the pressure difference) itself, by Peaceman's formula. We check the control before the run: can the rate be reached at the limit on the bottomhole pressure?
  • We ask for only what we need: time series for the field, for groups of wells and for single wells, and arrays by cell for chosen dates. We read the message file after each run.
  • We check a new model against independent data: the pore volume against the geological model, the volumes in place against the volumetric calculation, and the pressures against measurements. A model without wells should stay at rest.
Key relationships
Vp=∑Δx Δy Δz⋅NTG⋅ϕV_p = \sum \Delta x\,\Delta y\,\Delta z\cdot \mathrm{NTG}\cdot\phi

pore volume of the model at the reference pressure (sum over the cells)

N=∑Vp (1−Sw)BoN = \sum \dfrac{V_p\,(1 - S_w)}{B_o}

oil in place of the model, m³ at standard conditions

pc(z)=(ρw−ρo) g (zFWL−z)p_c(z) = (\rho_w - \rho_o)\,g\,(z_{\text{FWL}} - z)

capillary pressure in equilibrium at depth zz

Vp(p)Vp(pref)=1+x+x22,x=cf (p−pref)\dfrac{V_p(p)}{V_p(p_{\text{ref}})} = 1 + x + \dfrac{x^2}{2},\quad x = c_f\,(p - p_{\text{ref}})

pore compressibility in the common input format

CF=0.00853 WI\mathrm{CF} = 0.00853\,\mathrm{WI}

the connection factor in deck units, cP·m³/(d·bar), from the well index in mD·m

Common pitfalls
  • Entering pressures in megapascals into a deck that uses the metric system with bars. The error is a factor of 10.
  • Specifying the depth of the OWC from logs where the input data expect the level of zero capillary pressure.
  • Taking the reference pressure of the pore compressibility as atmospheric. The model will get about 2% too much pore volume.
  • Describing the oil by a table without dissolved gas and entering the density of stock-tank oil. The pressure gradient in the oil comes out too low by a tenth.
  • Not reading the message file. A well switching to another control, cuts in the time step and balance errors show up only there.

After this lesson you can

  • list what a model needs and explain the form in which the data reach the simulator: arrays (one value per cell), tables, region numbers, schedule events
  • describe the sections of a typical input deck and their order, and read data in the common keyword format
  • calculate the pressures and saturations of cells in equilibrium initialisation (the starting state in which the fluids are at rest) and explain why the contact depth in the input data is the free water level
  • set up wells and a schedule, and check before the run whether the rates you set can be reached
  • choose which results to write and know where to look for the simulator's messages
  • check a new model: the pore volume and the volumes in place against the volumetric calculation, the equilibrium, the gradients, the units, the productivity of the wells

What a model needs and in what form

We build a model for a question: which decision it must support, which process it must reproduce, and what accuracy is enough for that (the stages of working with a model, Types of reservoir simulation model). The question decides what goes into the input data. The lesson on the reservoir simulation model lists the data and their sources. Here another point matters: the form in which the data reach the simulator.

Four kinds of input data
Kind
Array by cell
What it is
one number for each cell, in the order of cell numbering
Examples
depths and thicknesses, porosity, net-to-gross ratio, permeability in three directions, region numbers, transmissibility multipliers (factors that scale the flow between cells)
Kind
Table
What it is
a property as a function of pressure, saturation or depth; the simulator draws a straight line (linear interpolation) between the rows
Examples
PVT of oil and gas, relative permeability and capillary pressure, solution gas–oil ratio against depth
Kind
Record
What it is
a few numbers that specify one condition
Examples
reference depth and pressure, contact depths, pore compressibility, fluid densities
Kind
Schedule event
What it is
something that changes from a given date
Examples
bringing a well on stream, perforating layers (opening them to flow), control and limits, shut-in, report dates

PVT (pressure, volume, temperature) means the fluid properties as functions of pressure. Relative permeability means how well each phase flows when several phases share the pores.

Other programs, called preprocessors, prepare most of the data. They build the grid and the cell properties from the geological model and transfer them to the simulation grid (Permeability upscaling for single-phase flow). They make the PVT tables from laboratory analyses of samples (Laboratory PVT tests, How to read a PVT report), and the tables of relative permeability and capillary pressure from special core analysis (Petrophysical input for simulation: relative permeability and capillary pressure). They take the well completions from the trajectories and the perforation data. They take the history schedule from the field production database (the data for history matching). They calculate the tubing pressure-loss tables from multiphase flow in pipes (Multiphase flow in tubing). Arrays for hundreds of thousands or millions of cells are stored in separate files, and one line attaches each of them to the main deck.

We write an array in a fixed order of cells. The xx index (ii) changes fastest, then the yy index (jj), and the layer number (kk) changes most slowly. Cell (i,j,k)(i, j, k) of an Nx×Ny×NzN_x \times N_y \times N_z grid stands at position i+(j−1)Nx+(k−1)NxNyi + (j - 1)N_x + (k - 1)N_xN_y in the array. In the 10×8×310\times8\times3 grid of the lesson, cell (10,4,2)(10, 4, 2) is number 120 (10+3⋅10+1⋅8010 + 3\cdot10 + 1\cdot80). A mistake in the order, for example listing the layers from the bottom up, gives no error message but shuffles the properties.

How an input deck is organised

The input formats of simulators differ, but they are built in the same way: the file is divided into sections that come in a strict order. Below, each section has a name that says what it holds, and in brackets the name used in the common keyword format. Over the decades this format has become the standard of the industry in practice (a de facto standard). Many commercial and open-source simulators read it, so it is useful to know even if you work in another program.

Sections of an input deck in the order of reading
Section
Run specification (RUNSPEC)
What it specifies
grid dimensions, phases and model type, the system of units, the start date, the maximum numbers of wells and tables
Example keywords
DIMENS, OIL, WATER, GAS, DISGAS, METRIC, START, WELLDIMS, TABDIMS
Section
Grid (GRID)
What it specifies
the geometry of the cells and their properties
Example keywords
DX, DY, DZ, TOPS, COORD, ZCORN, PORO, NTG, PERMX, PERMZ, ACTNUM, MULTZ
Section
Edit (EDIT), optional
What it specifies
corrections to the calculated pore volumes and transmissibilities
Example keywords
PORV, MULTPV, TRANX
Section
Properties (PROPS)
What it specifies
tables of PVT, relative permeability and capillary pressure, pore compressibility, densities
Example keywords
PVTO, PVDO, PVTW, DENSITY, ROCK, SWOF, SGOF
Section
Regions (REGIONS), optional
What it specifies
which table each cell takes; the areas for reporting volumes in place
Example keywords
SATNUM, PVTNUM, EQLNUM, FIPNUM
Section
Initial state (SOLUTION)
What it specifies
equilibrium from the contacts, or ready-made pressures and saturations
Example keywords
EQUIL, RSVD, PBVD
Section
Output (SUMMARY)
What it specifies
which time series to write
Example keywords
FOPR, FPR, FOIP, WBHP, WWCT
Section
Schedule (SCHEDULE)
What it specifies
wells, completions, controls, dates; when to write the arrays
Example keywords
WELSPECS, COMPDAT, WCONPROD, WCONINJE, WCONHIST, TSTEP, DATES

The file spells section and keyword names in Latin capital letters. The run specification declares the type of model: with dissolved gas (DISGAS), compositional, dual porosity and so on (Types of reservoir simulation model).

Sections of the simulation input deck in the order of readingRun specificationRUNSPECallocates memory: sizes,phases, units, start dateGridGRIDbuilds cells, pore volumesand transmissibilitiesEditEDIT · optionalcorrects volumes andtransmissibilitiesPropertiesPROPSprepares fluid and rocktables, pore compressibilityRegionsREGIONS · optionalassigns tables to cellsand reporting areasInitial stateSOLUTIONcalculates initialpressures and saturationsOutputSUMMARYremembers which seriesto writeScheduleSCHEDULEruns the calculation bywells and dates, step by step

On the left, a column of eight rectangles — the sections of the deck from top to bottom: run specification, grid, edit, properties, regions, initial state, output, schedule. To the right of each is an arrow and a short label saying what the simulator does: reserves memory for the dimensions and phases; builds the cells, pore volumes and transmissibilities; makes corrections; prepares the tables; assigns tables and reporting areas to the cells; calculates the initial pressures and saturations; remembers what to write; runs the calculation step by step through the dates of the schedule.

SchematicThe sections of an input deck and what the simulator does after reading each of them (schematic).

The order of the sections follows what depends on what. We cannot specify the porosity until the dimensions of the grid are known. We cannot calculate the initial equilibrium until the capillary pressure and density tables have been read. We cannot run wells until the initial pressure is known. Inside the schedule, the events follow by date: everything written before the next date or step takes effect from that moment.

Syntax of the keyword format
Element
Keyword
Example
DIMENS
What it means
at the beginning of a line; the data are on the following lines
Element
End of record
Example
10 8 3 /
What it means
a slash ends the record; an empty record consisting of a single slash ends a list of records
Element
Comment
Example
-- layer 1
What it means
everything after two hyphens to the end of the line is skipped
Element
Repeat
Example
80*0.22
What it means
80 identical values; there are no spaces around the asterisk
Element
Default
Example
2*
What it means
the simulator uses its default values for the next two entries
Element
Include a file
Example
INCLUDE 'grid.inc' /
What it means
insert the contents of another file at this place
Element
Name in quotes
Example
'P1'
What it means
names of wells and groups

Numbers in the file are written with a decimal point, never a decimal comma. The order of the values in a record is fixed, so a missing value is replaced by an asterisk, not by a space.

The grid and the cell properties

For a simple Cartesian grid (a grid of rectangular boxes), we give the cell sizes and the depth of the top of the upper layer. The simulator finds the depths of the other layers by adding the thicknesses. For a grid of complex structure, we transfer the geometry from the geological model in corner-point form: the coordinates of the pillars (the lines along which the cell corners lie) and the depths of the corners of each cell (types of grid). We exclude cells outside the reservoir and cells with a negligible pore volume, either with an activity array (a list that marks each cell active or inactive) or with a threshold on the minimum pore volume. The threshold is convenient but dangerous: it can discard thin oil-bearing streaks, and you see this only when you check the pore volume.

Pore volume of a cell
Vp=Δx Δy Δz⋅NTG⋅ϕV_p = \Delta x\,\Delta y\,\Delta z\cdot\mathrm{NTG}\cdot\phi
where:
  • VpV_ppore volume of the cell at the reference pressure, m³
  • Δx, Δy, Δz\Delta x,\ \Delta y,\ \Delta zcell dimensions; Δz\Delta z is the gross thickness, including non-reservoir rock, m
  • NTG\mathrm{NTG}net-to-gross ratio — the share of the cell thickness taken by reservoir rock, fraction
  • ϕ\phiporosity of the reservoir rock, fraction

Units: any consistent units (m and m³)

Holds when
  • The cell is rectangular. For corner-point geometry, the simulator calculates the cell volume from the coordinates of the eight corners.
  • The porosity refers to the conditions at which the reference pressure of the pore compressibility (see below) is set.

The sum over all the active cells is the pore volume of the model. The simulator prints it by region at initialisation, and we check it against the geological model: upscaling must preserve the pore volume exactly (Permeability upscaling for single-phase flow).

We give the permeability in three directions. In the common format, the net-to-gross ratio reduces not only the pore volume but also the transmissibility between cells in the horizontal direction. It does not reduce it in the vertical direction. So we give the vertical permeability already averaged over the whole thickness of the cell, together with the shale interbeds. We use the harmonic average if the interbeds are continuous (averaging over layers). We represent impermeable interbeds and faults by transmissibility multipliers (history-matching parameters). For faults that shift the layers, the simulator finds the connections across the fault itself, from the corner-point geometry.

There are two ways to specify aquifer water, the water that flows in from the water-bearing rock around the reservoir (Aquifer models: water influx). An analytical aquifer is an influx model (Fetkovich, Carter–Tracy; Simplified water influx models: Fetkovich and Carter–Tracy) attached to the faces of the boundary cells. The data give the size and properties of the aquifer and the cells it is connected to. A numerical aquifer is a set of extra grid cells beyond the oil outline, with a large pore volume. We usually refine the aquifer parameters from the pressure history (History matching of aquifer parameters).

Worked exampleThe grid and the pore volume of the model of the lesson
Given (assumed data)
Model
a sector of 1000 × 800 m, a grid of 10 × 8 × 3 cells of 100 × 100 m, flat-lying, top at 2450 m
Layers from the top down
thickness 4, 6 and 6 m; net-to-gross 0.90; 0.80; 0.70; porosity 0.22; 0.20; 0.17
Pore compressibility cfc_f
0.8⋅10−30.8\cdot10^{-3} MPa⁻¹; initial pressure about 24.6 MPa
Solution
  1. Cells: 10⋅8⋅3=24010\cdot8\cdot3 = 240, 80 in each layer.
  2. Pore volume of a cell: layer 1 — 100⋅100⋅4⋅0.90⋅0.22=7920100\cdot100\cdot4\cdot0.90\cdot0.22 = 7920 m³; layer 2 — 100⋅100⋅6⋅0.80⋅0.20=9600100\cdot100\cdot6\cdot0.80\cdot0.20 = 9600 m³; layer 3 — 100⋅100⋅6⋅0.70⋅0.17=7140100\cdot100\cdot6\cdot0.70\cdot0.17 = 7140 m³.
  3. By layer (for 80 cells): 633.6, 768.0 and 571.2 thousand m³. In all, VpV_p = 1972.8 thousand m³.
  4. Now an error: we set the reference pressure of the pore compressibility to atmospheric (0.1 MPa) instead of the initial pressure. At 24.6 MPa, x=0.8⋅10−3⋅(24.6−0.1)=0.0196x = 0.8\cdot10^{-3}\cdot(24.6 - 0.1) = 0.0196 and the multiplier 1+x+x2/2=1.019791 + x + x^2/2 = 1.01979. The model would have 39.0 thousand m³ (1.98%) more pores.
Answer: The model has 240 cells and 1972.8 thousand m³ of pores; an atmospheric reference pressure would add 1.98%.

What it means. The pore volume of the model agrees with the geological one, because we carried the porosity and the thicknesses over unchanged. The porosity of the geological model refers to reservoir conditions. So we take the reference pressure of the pore compressibility equal to the initial reservoir pressure, and then the pores do not “swell” at initialisation. An error of 2% looks small, but it pushes the volumes in place, the elastic storage of the reservoir and all the later pressure matching in one direction. The data in this example are assumed for illustration.

Tables of fluid and rock properties, and regions

In a black oil model (Black oil model: solution gas–oil ratio and formation volume factors) we give the fluid properties as tables against pressure. For oil with dissolved gas, the table runs against the solution gas–oil ratio: for each RsR_s it gives the bubble point pressure (the pressure at which gas starts to come out of the oil), the formation volume factor and the viscosity. For undersaturated oil (oil above its bubble point) it adds a few more rows at pressures above the bubble point pressure. If the reservoir pressure will never fall below the bubble point pressure, the solution gas–oil ratio stays constant, and we can describe the oil more simply: a table of the formation volume factor and viscosity against pressure, as “dead” oil (oil without dissolved gas). We describe water by a single record: the formation volume factor and viscosity at the reference pressure, and the compressibility. The tables must cover the whole range of pressures of the run. Outside the table the simulator extrapolates (extends the last trend), and the result loses its meaning.

Density of oil in the reservoir from the model data
ρo=ρo,sc+Rs ρg,scBo\rho_o = \frac{\rho_{o,\text{sc}} + R_s\,\rho_{g,\text{sc}}}{B_o}
where:
  • ρo\rho_odensity of the oil at reservoir conditions, kg/m³
  • ρo,sc, ρg,sc\rho_{o,\text{sc}},\ \rho_{g,\text{sc}}densities of the oil and the gas at standard conditions — the density records of the input deck, kg/m³
  • RsR_ssolution gas–oil ratio: standard cubic metres of gas dissolved in 1 m³ of stock-tank oil, m³/m³
  • BoB_ooil formation volume factor at the pressure in the cell, m³/m³

Units: kg/m³; the density of water in the reservoir is ρw,sc/Bw\rho_{w,\text{sc}}/B_w

Holds when
  • Mass is conserved: 1 m³ of stock-tank oil together with the gas dissolved in it occupies BoB_o m³ in the reservoir (reservoir oil density).
  • If the oil is described by a table without a solution gas–oil ratio, the simulator calculates ρo=ρo,sc/Bo\rho_o = \rho_{o,\text{sc}}/B_o, without the mass of the dissolved gas.

From these densities the simulator builds the pressure distribution with depth at initialisation, and calculates the weight of the fluid column in the wellbores. An error in density passes straight into the pressures, the capillary pressure and the initial saturations.

Pore volume at the pressure in the cell
Vp(p)=Vp(pref)(1+x+x22),x=cf (p−pref)V_p(p) = V_p(p_{\text{ref}})\left(1 + x + \frac{x^2}{2}\right),\qquad x = c_f\,(p - p_{\text{ref}})
where:
  • Vp(pref)V_p(p_{\text{ref}})pore volume calculated from the porosity of the cell, m³
  • prefp_{\text{ref}}reference pressure — the pressure to which the specified porosity refers, bar (MPa in the text of the lesson)
  • cfc_fpore compressibility (how much the pore volume changes per unit change of pressure; change in pore volume), 1/bar (1/MPa)
  • pppressure in the cell, bar (MPa)

Units: any consistent units: cfc_f and the pressures in the same units

Holds when
  • 1+x+x2/21 + x + x^2/2 are the first terms of the series for exe^{x}. For ∣x∣=0.05|x| = 0.05 the difference from the exponential is about 0.002%.
  • The compressibility is constant. If the change of permeability with pressure matters, we give it in separate tables.

The reference pressure must match the conditions at which the porosity was defined. The porosity of the geological model refers to reservoir conditions, so we take prefp_{\text{ref}} equal to the initial reservoir pressure. An atmospheric reference pressure “swells” the pores by cfc_f multiplied by the initial pressure.

We give the curves of relative permeability and capillary pressure as tables against saturation, one for each rock type. The lesson on petrophysical data for the model covers how to build and check them. The end points of the curves are the irreducible water and the residual oil (the water and oil that cannot be moved). If they vary from cell to cell, we give them as arrays, and the simulator scales the table of the rock type for each cell (end-point scaling).

Regions of the model
Region
Saturation (SATNUM)
What the region number determines
which table of relative permeability and capillary pressure the cell takes
Example
by rock type or layer
Region
PVT (PVTNUM)
What the region number determines
which table of fluid properties
Example
blocks with different oil on different sides of a fault
Region
Equilibrium (EQLNUM)
What the region number determines
which reference pressure and contacts apply at initialisation
Example
blocks with different OWCs
Region
Fluids in place (FIPNUM)
What the region number determines
for which areas to print volumes in place and balances
Example
formations, blocks, licence areas

A region number is also an array by cell. Cells of one equilibrium region must be in communication: if a fault isolates blocks and they have different contacts, we give them different regions.

The initial state: equilibrium from the contacts

We can specify the initial pressures and saturations in three ways. In equilibration, the simulator calculates them itself from the reference pressure, the densities and the contacts. This is the main method. In enumeration, we give the pressure and the saturation as arrays by cell, for example from the saturation derived from logs. Such a state is usually not in capillary equilibrium, so the fluids begin to flow at the very first step. In a restart, we continue the run from the saved state of another run. This is how forecasts begin from the end of the history run (forecast after history matching).

In equilibrium, the simulator finds the oil pressure at any depth from the reference point, using the density of the oil. It finds the water pressure from the contact depth, using the density of the water. The difference between them is the capillary pressure, and from it the simulator reads the saturation in the table of the region. The contact depth in the input data is the depth where the capillary pressure equals the specified value, usually zero. This is the free water level (FWL), the level where the oil and water pressures are equal. The OWC from logs is the first mark where water fills the pores completely. It lies above the FWL by a height that matches the entry pressure of the rock, the pressure the oil needs to enter the largest pores (FWL and OWC, transition zone).

Phase pressures and capillary pressure in equilibrium
po(z)=pref+ρog (z−zref),pc(z)=(ρw−ρo) g (zFWL−z)p_o(z) = p_{\text{ref}} + \rho_o g\,(z - z_{\text{ref}}),\qquad p_c(z) = (\rho_w - \rho_o)\,g\,(z_{\text{FWL}} - z)
where:
  • po(z)p_o(z)oil pressure at depth zz — the pressure of the cell in the simulator's reports, MPa
  • pref, zrefp_{\text{ref}},\ z_{\text{ref}}the pressure at the reference depth and the reference depth itself (from formation tester measurements), MPa, m
  • pc(z)p_c(z)capillary pressure po−pwp_o - p_w at depth zz, MPa
  • ρo, ρw\rho_o,\ \rho_wdensities of oil and water in the reservoir, g/cm³
  • gghydrostatic constant: 0.009810.00981 MPa/m for each 1 g/cm³ of density, MPa·cm³/(g·m)
  • zFWLz_{\text{FWL}}depth of the free water level — the contact depth in the input data, with zero capillary pressure at it, m

Units: metric: MPa, m, g/cm³ (the pressure in the deck is in bars)

Holds when
  • The fluids are at rest, and both phases are continuous over the whole height. Depths are vertical, positive downwards.
  • The densities here are constant. The simulator adds up (integrates) the pressure with depth using a density that depends on pressure. For a reservoir tens of metres thick the difference is negligible.
  • Above the FWL pc>0p_c > 0. If pcp_c is less than the entry pressure of the rock, the cell is fully water-saturated.

The saturation of a cell is the one at which the capillary pressure from its table equals pcp_c at the depth of its centre. This is how the model reproduces the transition zone (the zone where the water saturation changes gradually between water and oil), and its shape depends on the rock properties of each layer (Leverett J-function, a dimensionless form of the capillary pressure).

Initial water saturation against height above the free water level0.20.40.60.81.0−202468101214Water saturation SwHeight above FWL, mlayer 1layer 2layer 3FWLpoints: cell valuesoil of layer 3

A graph: water saturation from 0.2 to 1 along the horizontal axis, height above the free water level from −2 to 14 metres along the vertical axis. Three sections of the curve, one for each layer, are separated by horizontal dashed lines at heights of 10 and 4 metres. In layer 1 the saturation is about 0.23, in layer 2 it increases downwards from 0.27 to 0.37, in layer 3 it increases from 0.49 at the top to 1 at a height of 1.76 metres and remains equal to 1 below. The cell points: 0.229 at a height of 12 metres, 0.293 at a height of 7 metres and 1 at a height of 1 metre — the point of layer 3 lies to the right of the curve, where the layer contains oil.

CalculatedInitial water saturation in the model of the lesson: the profile from the Leverett J-function of each layer and the values that the simulator assigned to the cells from the height of their centres above the FWL (points).
Worked examplePressure and saturation of the cells after initialisation
Given (assumed data)
Reference depth and pressure
2455 m, 24.60 MPa (246 bar)
Contact depth in the input data (FWL)
2464 m, capillary pressure 0 at it; the saturation of a cell is taken at the depth of its centre
Oil at 24.6 MPa
BoB_o = 1.3358; RsR_s = 110 m³/m³; stock-tank oil 850 kg/m³, gas 0.9635 kg/m³ (the oil of the lesson)
Reservoir water
1050 kg/m³ at standard conditions, BwB_w = 1.02
Layers
centres at 2452, 2457 and 2463 m; kk = 60, 36 and 15 mD; ϕ\phi = 0.22; 0.20; 0.17; SwiS_{wi} = 0.2085; 0.2332; 0.2754
Capillary pressure
rock type 2 of the lesson on petrophysical data: J=0.0614 (Sw∗)−0.680J = 0.0614\,(S_w^{*})^{-0.680}, Sw∗=(Sw−Swi)/(1−Swi)S_w^{*} = (S_w - S_{wi})/(1 - S_{wi}), σcos⁡θ\sigma\cos\theta = 25.98 mN/m
Solution
  1. Densities in the reservoir: oil (850+110⋅0.9635)/1.3358=715.7(850 + 110\cdot0.9635)/1.3358 = 715.7 kg/m³, water 1050/1.02=1029.41050/1.02 = 1029.4 kg/m³. The pressure gradient in the oil is 0.00981⋅0.7157=0.0070210.00981\cdot0.7157 = 0.007021 MPa/m; the capillary pressure grows with height above the FWL by 0.00981⋅(1.0294−0.7157)=0.0030770.00981\cdot(1.0294 - 0.7157) = 0.003077 MPa/m, that is, by 3.077 kPa/m.
  2. Oil pressure at the cell centres, p=24.60+0.007021 (z−2455)p = 24.60 + 0.007021\,(z - 2455): layer 1 — 24.579, layer 2 — 24.614, layer 3 — 24.656 MPa.
  3. The heights of the centres above the FWL are 12, 7 and 1 m; the capillary pressure 3.077 h3.077\,h is 36.92, 21.54 and 3.08 kPa.
  4. The scale of the Leverett function σcos⁡θ/(31.4k/ϕ)\sigma\cos\theta/(31.4\sqrt{k/\phi}) comes out in MPa (σcos⁡θ\sigma\cos\theta in mN/m, kk in mD). In kilopascals it is 50.10, 61.67 and 88.08 kPa. Hence J=pc/scaleJ = p_c/\text{scale}: 0.7369, 0.3493 and 0.0350.
  5. The saturation is Sw=Swi+(1−Swi)(J/0.0614)−1/0.680S_w = S_{wi} + (1 - S_{wi})(J/0.0614)^{-1/0.680}: layer 1 — 0.2290, layer 2 — 0.2927. In layer 3, JJ is less than 0.0614. The capillary pressure is not enough for the oil to enter the pores, so the cells of the layer get Sw=1S_w = 1.
  6. The entry pressure of layer 3 is 0.0614⋅88.08=5.410.0614\cdot88.08 = 5.41 kPa. It is reached at a height of 5.41/3.077=1.765.41/3.077 = 1.76 m above the FWL, at a depth of 2462.24 m. This is the OWC that a log will show in layer 3.
Answer: The pressures at the cell centres are from 24.579 to 24.656 MPa. The initial water saturation is 0.2290 in layer 1 and 0.2927 in layer 2. Layer 3 is fully water-saturated at the cell centres.

What it means. The simulator gave each cell a saturation from the height of its centre above the FWL. For layers 1 and 2 this is reasonable, but for layer 3 it is crude. The upper 2.24 m of the layer, from its top at 2460 m to the OWC at 2462.24 m, contains transition-zone oil. But the centre of the cells lies below the OWC, so the whole cell got water. We calculate how much oil is lost this way in the check of volumes in place, in the section on checks. The data in this example are assumed for illustration.

The simplest method is to take the saturation at the centre of the cell, as in the example. Near a contact, a thick cell then loses or gains oil. Layer 3 lost all the transition-zone oil, while layer 2 gained a little: the saturation at its centre is lower than the average over the thickness, because the curve Sw(h)S_w(h) is convex. Thin layers at the contact help, and so does averaging the saturation over several sublayers of each cell. The initialisation data say which method applies. We must know it, because different simulators have different defaults. An averaged saturation does not match the capillary pressure at the centre of the cell, so a check of equilibrium is especially important after it.

Wells and the schedule

For each well the deck gives the name and group, the position in the grid, the depth to which the bottomhole pressure is referred and the main phase. Then it gives the completed cells: an interval of layers or the cells along the trajectory, the state (open, shut), the wellbore diameter and the skin factor. The simulator calculates the connection factor between a cell and the well itself (the number that links the well rate to the pressure difference between the cell and the well). It uses the permeability and net thickness of the cell and the Peaceman equivalent radius, the radius at which the pressure of the flow towards the well matches the pressure of the cell (well index). We set the factor by hand only for special reasons, for example for a hydraulic fracture.

The control of a well is a target and limits (well controls in the model). For example: a liquid rate with a lower limit on the bottomhole pressure, or an injection rate with an upper limit. In a history run, we give the wells the actual oil, water and gas rates, and we choose which quantity the model must honour (keep exactly), usually the liquid rate or the withdrawal at reservoir conditions (what the model is compared with). In a forecast, we set the targets and limits of wells and groups, together with voidage replacement (injecting as much as is withdrawn, measured at reservoir conditions) and economic limits. When the oil rate falls below a given value, or the water cut rises above a given one, the well is shut in or the watered-out intervals are closed off.

We divide the time in the schedule into report steps, given as dates or step lengths. At these moments the controls change and the results are written. The simulator chooses the calculation steps itself. It starts with a small step, makes it longer while the iterations converge quickly, and cuts it when they do not (step selection). So we set the report steps by the needs of the analysis, and not finer “for accuracy”.

Schedule records in the keyword format (the wells of the lesson's model)
Keyword
WELSPECS
Record
'P1' 'G1' 10 4 2455 OIL /
What it specifies
well P1 in group G1, wellhead in column 10, row 4; the bottomhole pressure is referred to a depth of 2455 m; the main phase is oil
Keyword
COMPDAT
Record
'P1' 10 4 1 2 OPEN 2* 0.216 1* 0 /
What it specifies
layers 1–2 are completed (open to flow); the relative permeability table and the connection factor take their default values (from the cell, and from Peaceman's formula), diameter 0.216 m, skin 0
Keyword
WCONPROD
Record
'P1' OPEN LRAT 3* 120 1* 190 /
What it specifies
the target is 120 m³/d of liquid; the three phase limits and the reservoir-volume limit take their defaults; bottomhole pressure not below 190 bar
Keyword
WCONINJE
Record
'I1' WATER OPEN RATE 130 1* 300 /
What it specifies
water injection of 130 m³/d; bottomhole pressure not above 300 bar
Keyword
WCONHIST
Record
'P1' OPEN LRAT 95.0 4.2 /
What it specifies
in a history run: the actual 95.0 m³/d of oil and 4.2 m³/d of water; the model honours the liquid rate
Keyword
TSTEP
Record
24*30.5 /
What it specifies
24 report steps of 30.5 d — two years

Each record of a list ends with a slash, and the whole list with one more. The line with the actual rates is an assumed example: the model of the lesson has no history.

Worked exampleThe wells of the lesson's model: connection factors and a check of the control
Given (assumed data)
P1
cell (10, 4), layers 1 and 2 completed; wellbore diameter 0.216 m (rwr_w = 0.108 m), skin 0
Control of P1
120 m³/d of liquid; bottomhole pressure at a depth of 2455 m not below 19.0 MPa — 1 MPa above the bubble point pressure of 18 MPa
Relative permeability to oil at the initial saturation
layer 1 — 0.734, layer 2 — 0.594 (from the tables of the layers)
Oil at 24.6 MPa
μo\mu_o = 1.11 mPa·s, BoB_o = 1.3358
Compressibilities
oil 1.6⋅10−31.6\cdot10^{-3}, water 0.45⋅10−30.45\cdot10^{-3}, pores 0.8⋅10−30.8\cdot10^{-3} MPa⁻¹
Solution
  1. Equivalent radius of a square cell: r0=0.141002+1002=19.80r_0 = 0.14\sqrt{100^2 + 100^2} = 19.80 m; ln⁡(r0/rw)=ln⁡(19.80/0.108)=5.211\ln(r_0/r_w) = \ln(19.80/0.108) = 5.211.
  2. The net thicknesses are 4⋅0.90=3.64\cdot0.90 = 3.6 m and 6⋅0.80=4.86\cdot0.80 = 4.8 m. The well index is WI=2πkh/ln⁡(r0/rw)\mathrm{WI} = 2\pi kh/\ln(r_0/r_w): layer 1 — 2π⋅60⋅3.6/5.211=260.42\pi\cdot60\cdot3.6/5.211 = 260.4 mD·m, layer 2 — 2π⋅36⋅4.8/5.211=208.42\pi\cdot36\cdot4.8/5.211 = 208.4 mD·m. In deck units the connection factors that the simulator will calculate are 0.00853 WI0.00853\,\mathrm{WI}: 2.221 and 1.778 cP·m³/(d·bar).
  3. Productivity with respect to the cell pressures, allowing for the relative permeability to oil: J0=0.0853 (260.4⋅0.734+208.4⋅0.594)/(1.11⋅1.3358)=18.1J_0 = 0.0853\,(260.4\cdot0.734 + 208.4\cdot0.594)/(1.11\cdot1.3358) = 18.1 m³/(d·MPa).
  4. The pressures in the cells and in the wellbore change with depth by the same oil gradient. So the drawdown in both layers is 24.60−19.0=5.624.60 - 19.0 = 5.6 MPa. At first the well can deliver no more than 18.1⋅5.6=10118.1\cdot5.6 = 101 m³/d, which is less than the specified 120.
  5. Injection that fully replaces such a withdrawal: 1.3358⋅101/1.02=1321.3358\cdot101/1.02 = 132 m³/d of water. The specified 130 m³/d almost provides it.
  6. Without injection: the compressibility ct=Soco+Swcw+cfc_t = S_oc_o + S_wc_w + c_f is 2.137⋅10−32.137\cdot10^{-3} and 2.063⋅10−32.063\cdot10^{-3} MPa⁻¹ in layers 1 and 2, and 1.25⋅10−31.25\cdot10^{-3} MPa⁻¹ in water-saturated layer 3. The elastic capacity of the sector (the fluid it releases per unit of pressure drop) is ∑Vpct=3652\sum V_p c_t = 3652 m³/MPa. Suppose a withdrawal of 1.3358⋅101=134.91.3358\cdot101 = 134.9 m³/d at reservoir conditions could be maintained. Then the pressure would fall by 6.6 MPa, down to the bubble point pressure, in 3652⋅6.6/134.9=1793652\cdot6.6/134.9 = 179 d.
Answer: The connection factors are 2.221 and 1.778 cP·m³/(d·bar). With a limit of 19 MPa, the well will at first deliver no more than 101 m³/d instead of the specified 120, and will switch to the bottomhole pressure control from the first step.

What it means. Such a check takes a few minutes and explains in advance what the engineer will see in the simulator's messages. The specified 120 m³/d is a wish, not something the reservoir can deliver. So we either reduce the target or deliberately run the well on pressure. Then its rate falls with the pressure in the cells, until support from injection arrives. We set the bottomhole pressure limit above the bubble point pressure for a reason. The “oil–water” model has no gas, so below 18 MPa it would still treat the oil as undersaturated, and such a model cannot be run below the bubble point pressure. Without injection, the elastic storage of the closed sector would cover such a withdrawal for only about half a year. In practice the rate will fall sooner: a well at the 19 MPa limit produces less the lower the pressure in the cells, and it will not bring the reservoir down to the bubble point pressure. The data in this example are assumed for illustration.

What to write and where to look for messages

The results of a run are of three kinds. The message file records the course of the calculation: errors in reading the data, warnings, switches of well controls, cuts in the time step, material balance errors, and reports of volumes in place by region at the start and at given dates. Time series (summary vectors, often called simply vectors) give rates, cumulative volumes, pressures, water cut and producing gas–oil ratio for the field, groups, wells, individual completions and regions. We plot them as graphs and use them to compare the model with the facts. Arrays by cell give the pressures and saturations at chosen dates, and the properties of the cells at the start (pore volumes, transmissibilities, depths). We use them for maps and cross-sections, and a restart begins from them.

Names of time series in the keyword format
Name
FOPR
What it is
field oil production rate
How to read the name
F — field, O — oil, P — production, R — rate
Name
FWPT
What it is
cumulative water production
How to read the name
W — water, T — total (cumulative)
Name
FWIR
What it is
water injection rate
How to read the name
I — injection
Name
FPR, FOIP
What it is
average reservoir pressure, oil in place
How to read the name
separate names for the pressure and for the volumes in place
Name
WBHP, WWCT
What it is
bottomhole pressure and water cut of wells
How to read the name
W at the start — well; after the name comes a list of wells

The first letter is the object: F — field, G — group, W — well, C — completion, R — region, B — block (cell). An empty list of wells means “all wells”.

Arrays by cell are large: each write date adds several numbers for each cell, and for large models the results files are measured in gigabytes. So we write arrays only for the dates we need for maps, for comparison with measurements and for restarts. Time series are cheap, so we ask for more than we need. A series that we did not write cannot be recovered after the run, and we would have to repeat the run.

Checks of a new model

Order of the checks
  1. 1
    Messages

    There are no errors, and you understand every warning. The number of active cells is what you expect.

  2. 2
    Pore volume

    Compare it with the geological model, by region and in total. There are no negative or negligible volumes, and no oil-bearing cells thrown out by a threshold.

  3. 3
    Volumes in place

    Compare the oil and gas in place by region with the volumetric calculation (Volumetric estimation of hydrocarbons in place). Explain any difference layer by layer.

  4. 4
    Equilibrium

    Run the model without wells. The pressures and saturations must not change.

  5. 5
    Pressures and contacts

    Compare the cell pressures with formation tester measurements at the same depths (Pressure measurement with the wireline formation tester), the saturation profile with logs, and the contacts with pressure gradients.

  6. 6
    Wells

    Compare the connection factors and productivity with well tests (checking the well model). Check whether the controls can be reached.

  7. 7
    Course of the run

    Look at the material balance error, the switches of controls and the cuts in the time step. Make a short history run without tuning before history matching (History matching).

Worked exampleVolumes in place of the model against the geological model
Given (assumed data)
The model of the lesson after initialisation
layer pore volumes of 633.6; 768.0 and 571.2 thousand m³; SwS_w at the cell centres 0.2290; 0.2927 and 1; BoB_o = 1.3358
Geological model
the same layers divided into sublayers of 0.5 m; the saturation of each sublayer from the height of its midpoint above the FWL
Solution
  1. Oil in place of the model by layer, Vp(1−Sw)/BoV_p(1 - S_w)/B_o: 633.6⋅0.7710/1.3358=365.7633.6\cdot0.7710/1.3358 = 365.7 and 768.0⋅0.7073/1.3358=406.7768.0\cdot0.7073/1.3358 = 406.7 thousand m³, and 0 in layer 3. In all, 772.4 thousand m³.
  2. Geological model: 365.5, 402.3 and 53.0 thousand m³, in all 820.8 thousand m³.
  3. The model is smaller by 48.4 thousand m³ (5.9%). Almost all of it is layer 3: the model does not see its transition-zone oil above the OWC. In layer 2, on the contrary, the model has 4.4 thousand m³ more, because the saturation at the centre of a thick cell is lower than the average over its thickness.
  4. The fix: divide layer 3 into six layers of 1 m. The oil in place of the model is 826.1 thousand m³, which differs from the geological model by 0.6%.
  5. For comparison, here are two input errors, both measured against the corrected model. Putting the contact at the OWC from logs (2462.2 m instead of 2464) gives 751.7 thousand m³, a change of −9.0%. Using the atmospheric reference pressure of the pore compressibility gives 842.5 thousand m³, a change of 1.98%.
Answer: The model contains 772.4 thousand m³ of oil against 820.8 thousand m³ in the geological model, which is 5.9% less. After we divide the lower layer, the difference is 0.6%.

What it means. Checking the volumes in place by layer and by region is the first check of a new model. A difference of a few per cent points to an error in building the model: in the contacts, the net-to-gross ratios, the reference pressure, the tables, or the way the transition zone is divided into cells. We must find the error before history matching. Otherwise, adjusting the aquifer or the permeability will hide it and bias the forecast. We agree the acceptable difference in advance. Here, after the fix, it is less than one per cent, and layer 2 explains it. The data in this example are assumed for illustration.

Terms and symbols

Input deck
A text description of a model for the simulator. It has sections in a strict order and included files with arrays and tables.
Keyword
The name of a record in the input data format. The data that follow it end with a slash.
Preprocessor
A program that prepares part of the input data: the grid and the cell properties, the PVT and relative permeability tables, the schedule from the field production records.
Region
A number given to cells. It says which table they take, which equilibrium conditions apply, and for which areas to print the volumes in place.
Equilibrium initialisation
The calculation of the initial pressures and saturations from the reference pressure, the densities, the contact and the capillary pressure tables.
Contact depth in the input data
The depth where the capillary pressure equals the specified value (usually zero). It is the free water level, not the OWC from logs.
Reference pressure of the pore compressibility
The pressure to which the specified porosity refers. For the porosity of a geological model, it is the initial reservoir pressure.
Report step and calculation step
A report step is a moment when the controls change and the results are written. A calculation step is a step that the simulator chooses itself, so that the iterations converge.
Restart
Continuing a run from the saved state of another run.

Common mistakes and misconceptions

Wrong

“The contact in the input data is the OWC that we see on the logs.”

In fact

The input data expect the depth where the capillary pressure equals the specified value, usually zero. This is the free water level. The OWC lies above it by a height that matches the entry pressure. In the example of the lesson, entering the OWC instead of the FWL reduced the volumes in place by 9%.

Wrong

“In the metric system pressure is in megapascals.”

In fact

In the metric system of the common format, pressure is in bars. 24.6 MPa is written as 246. The simulator reads the number 24.6 as 24.6 bar.

Wrong

“If the run completed without errors, the input data are right.”

In fact

The simulator checks the format, not the physics. Only a check against independent data catches wrong units, contacts, densities and layer order in an array: the pore volume, the volumes in place, the pressures, the productivity.

Wrong

“A rate has been specified, so the well will deliver it.”

In fact

A specified rate is a target. If the productivity is too low, the well switches to the pressure limit. In the example of the lesson, with a limit of 19 MPa, the well delivers about 101 m³/d instead of 120. A simple calculation shows this in advance.

Wrong

“The total volumes in place agree, so the initialisation is right.”

In fact

Errors in different layers cancel each other. We check the volumes in place by layer and by region, and the initial saturation against logs.

In depth: advanced detail

The input deck of the lesson's model

Below is the input deck of the lesson's model in the common keyword format, section by section. The keywords and data are written as in the file: pressure in bars, with a decimal point. Only the repeat is shown with the sign ×. In the file it is an asterisk with no spaces, so 80×4 in the table is 80*4 in the file: eighty values of 4. The oil and relative permeability tables are given separately, in ordinary notation. We leave out the comments and the edit section, because the model needs no edits.

Run specification and grid
Keyword
DIMENS
Data
10 8 3 /
What it specifies
the number of cells along xx, yy, zz
Keyword
OIL, WATER
Data
—
What it specifies
phases: oil and water. There is no gas, because the pressure is above the bubble point pressure
Keyword
METRIC
Data
—
What it specifies
units of the file: m, d, bar, cP, mD, kg/m³
Keyword
TABDIMS
Data
3 1 12 4 /
What it specifies
3 relative permeability tables, 1 PVT table, up to 12 saturation rows, up to 4 pressure rows
Keyword
WELLDIMS
Data
2 3 1 2 /
What it specifies
up to 2 wells, up to 3 completions in a well, 1 group, up to 2 wells in a group
Keyword
START
Data
1 JAN 2027 /
What it specifies
the start date (assumed)
Keyword
DX, DY
Data
240×100 /
What it specifies
sizes of all 240 cells along xx and yy, m
Keyword
DZ
Data
80×4 80×6 80×6 /
What it specifies
layer thicknesses, 80 cells per layer
Keyword
TOPS
Data
80×2450 /
What it specifies
the top of the upper layer; the lower ones follow from the thicknesses
Keyword
PORO
Data
80×0.22 80×0.20 80×0.17 /
What it specifies
porosity of the reservoir rock
Keyword
NTG
Data
80×0.9 80×0.8 80×0.7 /
What it specifies
net-to-gross ratio
Keyword
PERMX, PERMY
Data
80×60 80×36 80×15 /
What it specifies
permeability along xx and yy (the same), mD
Keyword
PERMZ
Data
80×6 80×3.6 80×1.5 /
What it specifies
vertical permeability, kv/khk_v/k_h = 0.1
Properties, regions, initial state, output, schedule
Keyword
DENSITY
Data
956.0 1050 0.963 /
What it specifies
densities at standard conditions, kg/m³: oil together with its dissolved gas, water, gas
Keyword
PVDO
Data
4 rows: pressure, BoB_o, μo\mu_o (below)
What it specifies
oil above the bubble point pressure
Keyword
PVTW
Data
246 1.02 4.5E-5 0.40 0 /
What it specifies
reference pressure, BwB_w, water compressibility (1/bar), viscosity, its change with pressure
Keyword
ROCK
Data
246 8.0E-5 /
What it specifies
reference pressure and pore compressibility (1/bar)
Keyword
SWOF
Data
3 tables of 12 rows
What it specifies
relative permeability and capillary pressure of layers 1–3
Keyword
SATNUM
Data
80×1 80×2 80×3 /
What it specifies
each layer has its own relative permeability table
Keyword
EQUIL
Data
2455 246.0 2464 0 /
What it specifies
reference depth and pressure, contact depth (FWL), capillary pressure at it
Keyword
FOPR, FWPR, FWIR, FPR, FOIP
Data
—
What it specifies
time series for the model
Keyword
WBHP, WWCT
Data
/
What it specifies
bottomhole pressure and water cut of all wells
Keyword
WELSPECS
Data
'P1' 'G1' 10 4 2455 OIL / 'I1' 'G1' 1 4 2455 WATER / /
What it specifies
two wells of one group
Keyword
COMPDAT
Data
'P1' 10 4 1 2 OPEN 2* 0.216 1* 0 / 'I1' 1 4 1 3 OPEN 2* 0.216 1* 0 / /
What it specifies
P1 completes layers 1–2, I1 all three
Keyword
WCONPROD, WCONINJE
Data
as in the section on wells
What it specifies
controls with limits of 190 and 300 bar
Keyword
TSTEP, END
Data
24×30.5 /
What it specifies
two years in steps of 30.5 d; end of the file

Each section begins with its own name (RUNSPEC, GRID, PROPS, REGIONS, SOLUTION, SUMMARY, SCHEDULE). The table leaves these names out.

Oil table (PVDO)
pp, bar
180
BoB_o
1.3500
μo\mu_o, cP
1.000
pp, bar
220
BoB_o
1.3414
μo\mu_o, cP
1.067
pp, bar
260
BoB_o
1.3328
μo\mu_o, cP
1.133
pp, bar
300
BoB_o
1.3243
μo\mu_o, cP
1.200

The oil of the lesson Black oil model: solution gas–oil ratio and formation volume factors above the bubble point pressure of 18 MPa (180 bar). Between the rows the simulator interpolates linearly (it draws a straight line); at 246 bar the error in BoB_o is less than 10−510^{-5}.

Table of relative permeability and capillary pressure of layer 2 (SWOF, 36 mD)
SwS_w
0.2332
krwk_{rw}
0
krok_{ro}
0.8070
pcp_c, bar
1.539
SwS_w
0.2409
krwk_{rw}
7.3⋅10−77.3\cdot10^{-7}
krok_{ro}
0.7772
pcp_c, bar
0.865
SwS_w
0.2485
krwk_{rw}
5.8⋅10−65.8\cdot10^{-6}
krok_{ro}
0.7485
pcp_c, bar
0.542
SwS_w
0.2562
krwk_{rw}
2.0⋅10−52.0\cdot10^{-5}
krok_{ro}
0.7201
pcp_c, bar
0.411
SwS_w
0.2715
krwk_{rw}
9.1⋅10−59.1\cdot10^{-5}
krok_{ro}
0.6656
pcp_c, bar
0.291
SwS_w
0.2945
krwk_{rw}
3.8⋅10−43.8\cdot10^{-4}
krok_{ro}
0.5884
pcp_c, bar
0.211
SwS_w
0.3252
krwk_{rw}
0.0013
krok_{ro}
0.4941
pcp_c, bar
0.160
SwS_w
0.3866
krwk_{rw}
0.0060
krok_{ro}
0.3343
pcp_c, bar
0.113
SwS_w
0.5016
krwk_{rw}
0.0321
krok_{ro}
0.1289
pcp_c, bar
0.0773
SwS_w
0.6549
krwk_{rw}
0.125
krok_{ro}
0.0116
pcp_c, bar
0.0569
SwS_w
0.7495
krwk_{rw}
0.230
krok_{ro}
0
pcp_c, bar
0.0496
SwS_w
1.0000
krwk_{rw}
1.000
krok_{ro}
0
pcp_c, bar
0.0379

Rock type 2 of the lesson Petrophysical input for simulation: relative permeability and capillary pressure: imbibition relative permeability (for water displacing oil) and drainage capillary pressure (for oil displacing water). The first row is irreducible water with the capillary pressure at the top of the reservoir (50 m above the FWL). The last but one row is 1−Sor1 - S_{or}, and the last is Sw=1S_w = 1 for water-saturated cells. The rows are denser near irreducible water. At the cell centres of the model, the interpolation over them differs from the Leverett function by no more than 0.0006 in saturation. All three tables are monotonic: saturation increases, krwk_{rw} does not decrease, krok_{ro} and pcp_c do not increase.

Entry-pressure height: which layers see the contact

The entry pressure of the rock differs from layer to layer. So the OWC from logs passes through the layers at different heights above the same FWL. In the lesson's model these heights are 1.00 m in layer 1 (60 mD), 1.23 m in layer 2 (36 mD) and 1.76 m in layer 3 (15 mD). Tight rocks (rocks with low permeability) hold water higher. So we cannot carry an OWC taken in one well, in a tight streak, over to the whole reservoir. A “tilted” OWC in wells that penetrated different rocks does not yet mean a tilted FWL (FWL and OWC). At initialisation the model accounts for this itself, if its FWL and the capillary pressure tables of each rock type are right.

Connections to other topics

Check yourself

  1. 1

    In a deck with the metric system of units the reference pressure was entered as 24.6 (in megapascals). What will happen?

    1. A.The simulator will convert megapascals to bars itself
    2. B.The run will stop with a units error
    3. C.Nothing: the units of pressure do not affect initialisation
    4. D.The model will start the run from a pressure of 24.6 bar — ten times lower than the true one
    Show the answer

    Correct answer: D. The model will start the run from a pressure of 24.6 bar — ten times lower than the true one

    In the metric system of the format, pressure is in bars, so the simulator reads the number 24.6 as 24.6 bar (2.46 MPa). The data are formally valid, so there is no error message. The model ends up below the bubble point pressure, with wrong densities and formation volume factors. We catch such errors by checking the cell pressures against measurements.

  2. 2

    In a 10×8×310\times8\times3 grid an array is written in the established order. At what position in it does cell (3,2,2)(3, 2, 2) stand?

    Show the answer

    The position is i+(j−1)Nx+(k−1)NxNy=3+1⋅10+1⋅80=93i + (j - 1)N_x + (k - 1)N_xN_y = 3 + 1\cdot10 + 1\cdot80 = 93. The index ii changes fastest, then jj, then the layer number.

  3. 3

    Logs put the OWC in a tight streak at 2462.2 m. The entry pressure of this rock is 5.4 kPa, and the capillary pressure grows with height by 3.08 kPa/m. What contact depth should we enter in the input data, if we specify zero capillary pressure at the contact?

    Show the answer

    The FWL lies below the OWC by the entry-pressure height, 5.4/3.08≈1.755.4/3.08 \approx 1.75 m. That puts it at a depth of about 2464.0 m. If we entered the depth of the OWC, the whole saturation profile would rise by 1.75 m, and the model would undercount the oil — in the example of the lesson by about 9%.

  4. 4

    In a two-phase “oil–water” model, undersaturated oil with a solution gas–oil ratio of 100 m³/m³ is described by a table without dissolved gas, and the density record gives the density of stock-tank oil. What will be distorted at initialisation?

    Show the answer

    The simulator calculates the density of the oil in the reservoir as ρo,sc/Bo\rho_{o,\text{sc}}/B_o, without the mass of the dissolved gas, and understates it by about a tenth. The pressure gradient in the oil is then smaller, and the pressures in the cells above and below the reference depth depart from the measurements. The difference between the densities of water and oil is larger, and so is the capillary pressure at initialisation. The model fills the transition zone with more oil than the reservoir has. The cure is to describe the oil with a solution gas–oil ratio, or to enter a density that includes the mass of the dissolved gas.

  5. 5

    A production well in the model has switched to the bottomhole pressure control from the first step. What does this mean?

    1. A.The well has watered out
    2. B.The simulator is faulty
    3. C.The time step is too large
    4. D.The specified rate cannot be reached with the pressure limit and the productivity of the well in the model
    Show the answer

    Correct answer: D. The specified rate cannot be reached with the pressure limit and the productivity of the well in the model

    A control is a target with limits. If the productivity of the well in the model, multiplied by the allowable drawdown, is less than the target, the well works at the pressure limit. Check the well index, the permeability of the cells, the skin and the reservoir pressure. If all of them are right, the target was unrealistic.

  6. 6

    After initialisation we start a run with the wells closed. After a year the saturation in the cells of the transition zone has changed by a few hundredths. What should we check?

    Show the answer

    The model is not in equilibrium: the saturation of the cells does not match the capillary pressure at their depth. The possible causes are these. The saturation was specified by enumeration (for example, from logs) or averaged over sublayers. The first row of the capillary pressure table is below the pressure at the top, so the cells near the top are limited by irreducible water. The end-point arrays do not agree with the tables. Equilibrium regions with different contacts are in communication through conducting cells. Look for the cells where the movement began, and compare their saturation with the table.

Updated: 19 October 2026