Beruflich Dokumente
Kultur Dokumente
Heriot-Watt University
Acknowledgements
Thanks are due to the members of Heriot-Watt, School of Energy Geoscience
Infrastructure and Society who planned and generated this material.
Overall Contents
Learning Objectives
After studying this topic, you should be able to:
1. Introduction
Reservoir simulation is used routinely in the oil and gas industry to help engineers to
plan how they should develop a reservoir, to predict how much oil (or gas) they may
recover, and also to investigate the effects of uncertainty in their models.
Definition: A simulation model is one which shows the main features of a real system,
but is simple enough to make calculations on.
Simple Example
This example has nothing to do with reservoir simulation, but is useful to illustrate the
two modelling methods. Imagine a colony of bacteria, where the growth of the colony
depends on the number of bacteria present, i.e.
dN
N , (1)
dt
N N0 exp t , (2)
where N0 is the number of bacteria at time t = 0. (If you are uncertain about this result,
try differentiating Equation (2)).
Figure 1 shows an example solution. Note, however, that as time increases the number
of bacteria gets infinitely large, according to this model, which is unrealistic. In the
case an actual colony of bacteria the growth rate would fall eventually because of, for
example, a lack of food. This demonstrates the limitations of our model. In fact,
models tend to be useful over certain conditions, but can fail outside their range of
applicability. There is a well-known saying “All models are wrong, but some models
are useful”!
Figure 1
The number of bacteria as a function of time – an example of an analytical
calculation. (See Tutorial 1.1.)
In the example above, the analytical solution is very simple. However, in more complex
problems (e.g. reservoir simulation), the model may be too complex to solve using an
analytical method. Instead, we use a numerical method. We assume that the number
of bacteria at a certain time is known, and we calculate the number a certain time later.
Assume that we have time steps 1, 2, … n, n+1, each separated by a time interval t.
Use the notation:
N n 1 N n
Nn. (3)
t
This gives us a simple algorithm to calculate Nn+1 in terms of Nn, and t.
The above example, although very simple, explains quite well several aspects of what
a simulation model is. This model is simple enough to be solved analytically. However,
it can also be formulated as an approximate numerical model which is organised into
a numerical algorithm (or recipe) which can be followed repetitively. Tutorial 1 gives
you an opportunity to compare analytical and numerical solutions of the model of the
colony of bacteria.
First consider the nature of reservoir rocks. Figure 2 shows a schematic diagram of the
depositional system for the mid-Jurassic Linnhe and Beryl formations in the UK sector
of the North Sea. Some actual reservoir cores from the Beryl formation are shown in
Figure 3.
From these two figures, it can been seen that reservoirs can be highly complex. Figure
2 shows a wide variety of facies at scales occur over a scale of around 10 km. These
will have different poro-perm properties, which will affect the flow of fluid through the
reservoir. On the other hand, Figure 3 shows that rocks are very heterogeneous over
scales of mm – cm. Note that the air permeabilities (kair) range from 1mD to almost
3000 mD. Obviously reservoir models must be hugely simplified compared with a real
reservoir system.
Since reservoirs are complex, we use numerical simulation models. Spatially, the
model is split into grid cells, each of which has a set of properties – e.g. porosity, net-
to-gross and permeability. See Figure 4. It is important to realise that, although the
grid cells may be 100 m in length and perhaps 1 m in thickness, the properties in each
grid cell are constant. A reservoir simulation then solves equations (described in Topics
4 and 5) to estimate how the pressures and saturations change as the fluids are
injected into and produced from the reservoir.
Figure 2
A schematic diagram for the depositional system for the mid-Jurassic Linnhe and
Beryl formations.
Figure 3
Section of core from the Beryl Formation in the North Sea.
Figure 4
Example of a reservoir model, showing grid cells and the permeability distribution (in
mD). (MRST SAIGUP example; Lie, 2016.)
Figure 4 shows an example of a reservoir model. The grid follows the reservoir
architecture, and includes faults (discontinuities between grid cells). The colours of
the cells represent permeability. This is a synthetic, but realistic model which was used
to test the effect of geological uncertainty in oil reservoirs, in a project called SAIGUP
(Manzocchi et al, 2008). The model is included in the examples in the MRST software
package. The model has 40 x 120 x 20 grid cells. They are all 75 m x 75 m in the x- and
y- directions, and typically about 10 m in the z-direction, but vary depending on the
geological structure.
i. The simplest type of model is a tank model (Figure 5), which has just one grid cell
for the whole reservoir, and we are only concerned with the gross fluid flow into
or out of the reservoir. It is assumed in this case that the pressure equilibrates
rapidly across the reservoir. This is essentially a material balance model, which we
will discuss in Topic 2. The advantage of this model is that it is very simple. It can
address questions relating to the average field pressure, given the fluid fluxes into
or out of the reservoir. However, this model cannot simulate different pressures
in different parts of the reservoir.
Wells
Average Pressure = P
Average Saturations = So, Sw and Sg
Aquifer
Figure 5
A tank model.
ii. Slightly more complex than a model with a single tank, is a sector model with
several tanks. Material balance is applied to each tank. This sort of model is
frequently used when a reservoir is compartmentalised, and engineers are trying
to understand which compartments of a reservoir are in contact. Figure 6 shows
an example of a material balance model similar to one of the models used for the
Schiehallion Field (Dobbyn and Marsh, 2001). This field is discussed further in
Section 4.2. Again this model has the advantage of being simple and quick to run,
but it can show more than the single tank simulation.
Tank
Injector
Producer
Figure 6
Model with several connecting tanks.
iii. Thirdly there is a conventional reservoir simulation model, which may be 1D, 2D,
or 3D. Full field reservoir simulation uses a 3D model, as shown in Figure 4. The
advantage of a fine-scale reservoir simulation model is that you can model
It is important to realise that there is no single “right” way to model a reservoir. The
simplicity/complexity of the simulation should relate to the simplicity/complexity of
the question. Another important factor is the amount of data available. There is no
point in making a complex model if there is no data!
fluid data
SCAL
well
locations
oil recovery
time
Figure 7
Data required for reservoir modelling and simulation.
a) Geological Model
This stage is normally the job of a geologist, rather than an engineer. Seismic
data is required to define the structure of a geological model: the horizons
between layers of rock are input. Also, fault information (locations and
throws) may be included.
b) Petrophysical Data
c) Geological modelling
At this stage the model is gridded. The geologist, in consultation with an
engineer, should decide what the size of the grid cells should be. This is usually
a compromise between the geologist wanting a very fine grid to represent the
geological heterogeneity, and the engineer wanting to limit the number of grid
cells so that simulation runs don’t take too long. Then properties must be
assigned to the grid cells. Usually the rock type is modelled first (e.g. clean
sandstone, muddy sandstone, etc). Since there is little known about
reservoirs, apart from at wells, the rock types and their properties are usually
generated randomly, conditioning the values at the wells. (i.e. The values in
grid cells containing the wells are set to the average well log values.) After the
rock types are assigned, the petrophysical properties are generated at the
wells (net-to-gross, porosity and permeability). This data is also assigned
stochastically, constrained to well data.
d) PVT properties
Fluid samples from RFT data should be analysed to determine the PVT
properties. In compositional simulation, which we discuss in Topic 9, the
composition of the fluids and the equation of state (EOS) is required. However,
most simulations use a “Black Oil” model, in which the components of oil and
gas are not simulated. A typical PVT table for oil will contain Rs (dissolved gas
ratio), Bo (formation volume factor) and viscosity as a function of pressure. In
addition to inputting PVT tables, the reservoir simulator needs the surface
densities of the fluids.
e) SCAL data
If more than one fluid is present – e.g. oil and water – relative permeability
data and capillary pressure data is required. Topic 7 is devoted to describing
these data.
f) Initialisation of simulation
The reservoir simulator needs to be given some starting information: the initial
pressures and saturations. It is usually assumed that the fluids in the reservoir
start off in hydrostatic equilibrium, i.e. pressure increases with gz, where is
density, g is the acceleration due to gravity and z is depth. The engineer needs
to put in the pressure at a datum depth, and also the fluid contacts (OWC and
GOC).
Figure 8
Example of a reservoir model. The grid is distorted (corner point geometry) with two
faults, and has over 25,000 cells (not very many, by today’s standards). Red is oil and
blue is water. There is a horizontal production well in the crest and two vertical
water injectors on the flank. Vertical projections of the x-z and y-z planes are shown
at the side.
Water and gas injection rates (for individual wells or a whole field)
Individual well pressures (bottom hole, or top hole using lift curves) with time
Individual well cumulative and daily flow rates of oil, water and gas with time
Either full field or individual well watercut, or gas-oil ratios with time
Spatial distribution of oil, water and gas saturations throughout the reservoir as
functions of time.
Spatial distribution of pressure as a function of time.
Some of the outputs can be compared with data from the field (if available) – e.g. well
rates, field rates, or well BHPs. (See Topic 8 on History Matching.) It is also very useful
to examine the saturation and pressure distributions as this helps to understand the
flow processes.
Figure 9
Example of some typical reservoir simulator output, from SPE 36540, Sibley et al,
1997, “Reservoir Modeling and Simulation of a Middle Eastern Carbonate”. Top:
history match for cumulative field oil and water recovery; Middle: history match for
average pressure; Bottom: history match for RFT data.
It is obviously much cheaper to model these four cases than to actually drill wells. The
important quantities are the oil recovery profiles for each case compared with the
scenario where we just proceed with the current development strategy (Option 1). Of
course, we do not know if our model is “correct”, so our predictions may not be
accurate. In fact, an important aspect of reservoir simulation is to assess each of the
various uncertainties associated with our model. This should lead to a range of
prediction profiles.
Figure 10 a) shows the reservoir model with the current wells – 3 producers and 3
injectors. Figure 10 b) shows the various options to be assessed. Reservoir simulations
are then performed for the 4 cases to determine the cumulative volume of oil
produced in each case. The results are shown in Figure 10 c), and indicate that the
option which produces the most oil is option 3, which was to upgrade the injectors and
drill 3 new injector wells. However, we must also assess the cost of each option.
Option 3 which involves drilling 3 wells is going to be more expensive than option 4
which involved only drilling 2 production wells. Therefore we may find that Option 4
has the greatest NPV (Figure 10 d). In other words, the aim of reservoir management
is always to maximise economic benefit.
new producers
a) b)
new injectors
c) d)
Figure 10
Synthetic Example. a) model with initial wells; b) model showing new wells; c)
cumulative oil with time; d) NPV for each option.
During the appraisal stage the biggest, i.e. most expensive investment decisions are
made, e.g. the type of platform and facilities. Therefore, it is the most helpful time to
have accurate forward prediction of the reservoir performance. But at this time we
have the least amount of data. There is very little or no field performance history.
(There may be some extended well tests, though.) So it seems that reservoir
simulation has a built-in weakness: just when it can be most useful, it has the least data
to work on, and hence the predictions will be uncertain. However, even during
appraisal reservoir simulation can take us forward with the best current view of the
reservoir that we have at that time. Since the model is very uncertain at this stage,
usually a range of models is tested to give a range of predictions, as shown in Figure
11.
"Optimistic"
Cumulative Oil case
Recovery
(STB) Most probable
case
"Pessimistic"
case
Carrying out a history match using the (now available) field production history in
order to obtain a better tuned model to use for future predictions of performance.
Using the history match to re-visit the field development strategy in terms of
changing the development plan – e.g. infill drilling, adding extra water injection
wells, changing from water injection to gas injection, or using some method of
Enhanced Oil Recovery (EOR).
Deciding between smaller project options, such as drilling an attic horizontal well
vs. working over 2 or 3 existing vertical/slanted wells.
It may be necessary to review the equity stake of various partner companies in the
field, although this typically involves a complete review of the engineering,
geological and petrophysical data prior to a new simulation study.
The reservoir recovery mechanisms can be reviewed using a carefully history
matched simulation model – e.g. we may find that to match the history, we must
reduce the vertical flows (by lowering the vertical transmissibility). In this case, the
effect of gravity will be of less importance. Keith Coats refers to this as the
“educational value of simulation models”, and it is part of good reservoir
management that the engineer has a good grasp of the important reservoir physics
of their asset.
4. Case Studies
The following case studies have been chosen to help you to understand how reservoir
simulation fits into reservoir modelling and helps to improve reservoir understanding,
so that a field may be developed in the optimum way.
field had been produced for many years (since 1957) and production was declining.
This study was carried out to assess future options for the field. Previously, a model
had been made by geologists and then passed to engineers. However, they could not
match the history. Therefore a new, integrated study was instigated, i.e. a
multidisciplinary team consisting of geoscientists and engineers worked together
throughout the project.
A huge amount of data was available for this field (although not all of the data was of
good quality). For example, there was slabbed core, thin sections, core analyses,
seismic, isotope analysis, open hole logs, TDT data (thermal decay time), RFT data
(repeat formation tests), field pressure data and oil and water production data. This
data helped geoscientists identify “flow units” – i.e. bodies of rock with similar flow
properties. The 3D geological model was built in terms of these flow units, rather than
depositional units. This was mainly because the diagenetic barrier cut across different
depositional units.
Figure 12
Schematic cross-section of the reservoir (Sibley et al, 1997).
Some examples of the history matching for this field were shown earlier, in Figure 9. It
can be seen that, thanks to the thorough understanding of the reservoir gained by the
data analysis, the history matches were good. The conclusion from this study was that
the integrated approach was essential for the understanding of the field. As a result
of the study, further development of the reservoir was planned. This included drilling
many new in-fill production wells, and drilling injector wells on the flank of the field
(Figure 13).
existing well
recently drilled well
new well
injector
C convert to injector
Figure 13
Structure map showing the locations of the old and new wells (Sibley et al, 1997). The
contours are at 50 ft intervals.
Shetland Isles
North Sea
Figure 14
Map showing the British Isles, with Shetland marked.
Figure 15
Schematic diagram of a turbidite system (Govan et al, 2006).
Since the channel sands have high permeability (~ 600 mD), it was initially thought that
there would be good recovery from this field. However, soon after the start of
production, the engineers realised that there were connectivity issues – the pressure
reduced faster than expected in the producers and there was an increase in gas-oil
ratio (GOR). The engineers suspected that the faults in the field were acting as barriers
to flow, and that they needed to get a better understanding of the field, and so needed
to collect more data. They performed extended well tests to determine the extent of
the reservoir compartments, and they shot repeat seismic surveys (4D seismic) to
monitor changes in the reservoir.
Dobbyn and Marsh (2001) described how a set of simple tank models were created to
investigate the connectivity between wells. These models were essentially a set of
material balance models (there was no flow within the tanks). This demonstrates that,
even though computers are currently capable handling models with millions of grid
cells, it is sometimes best to make simple models. Figure 16 gives an example of a tank
model. Compartments of the reservoir were represented by tanks, which usually
contained a well. Fluid was able to flow between tanks, and the transmissibility of the
connections was varied to match the history (i.e. observed pressure and production
profiles). Figure 17 shows the results of a history match to the pressure.
key
Figure 16
Example of a tank model (Dobbyn and Marsh, 2001).
Figure 17
Example of a history match to the pressure (Dobbyn and Marsh, 2001). The pink line
shows the results (in psia) of the material balance model, and the symbols show the
measured data. Also shown is the oil production and water injection in stb/day.
The advantages of running the tank models (material balance models) were:
They helped engineers to understand how much water from one injector provided
support for a producer.
They were easy to set up and fast to run. (There were only a few cells to consider.)
The models were very useful in the early stages of field development – they helped
with the history matching of the simulation model.
With additional data and a greater understanding of the connectivity in the reservoir,
the engineers were able to build a better reservoir simulation model (Govan et al,
2006). The aim of the detailed model was to assess the value of the water injectors,
by predicting how many barrels of oil could be produced per barrel of water injected.
This varied from 0.02 to 0.5, with an average of 0.17.
Govan et al (2006) also discuss the use of various different types of data used to
improve their model – 3D seismic data, 4D seismic data (i.e. repeat surveys), tracers
and pressure data. (See ppt file on the Schiehallion case study.)
The title of the SPE paper specifies that this is a field where normal modelling rules do
not apply. However, this statements refers to the problem of noise in the seismic data
and the fact that the reservoir is structurally complex. The SPE paper is still useful as
an example of a reservoir simulation study for this course. Note that this paper was
reviewed in JPT July, 2016 (Wilson, 2016).
The field has been on production since 1984 and had 240 production wells at the time
of writing the paper (2014). Most of the field was produced by primary depletion,
apart from a small area where water flooding was carried out, mainly for water
disposal. (Since this field is in a desert area, there is no cheaply available water supply,
so a careful study is required to evaluate the economics of water flooding.) The water
cut in the production wells was high though, because of an active aquifer on the flanks
of the reservoir. There is also a gas cap on the crest, which is 95% CO2.
Figure 18 shows some diagrams of the field. The left figure shows the well locations
with the contours representing depth. (Note that the reservoir is mainly above sea
level, though.) The centre image shows the different compartments. The one labelled
“NE” was used for the waterflood pilot and the modelling study. Finally some E-W
cross-sections are shown on the right. The colours illustrate gas, oil and water. Figure
19 focuses in on the NE sector. Note that the reservoir has very steep flanks and that
there is a large range of depths (700 m).
Figure 18
From left to right: the structure of the reservoir (red being highest and blue lowest);
the reservoir compartments; cross-sections through the reservoir showing gas (red),
oil (green) and water (blue).
Figure 19
Left: whole reservoir showing the location of the NE segment. Right: NE segment
plus wells. Note the big difference in height within the reservoir.
The main issue which had to be addressed in this field was the connectivity of the sand
bodies. RFT data showed that the pressures in some units were variable due to the
fact that the pressure had been depleted in some sandstones. They could not correlate
sands using just static data. From the static model, it looks like the sands in D and C
are disconnected. However, D was changed to an injector well and there was a
watercut response in well C. As they learnt more about the connectivity, they had to
update the static model grid and then re-propagate the facies model and the
simulation model.
Since many of the sandstone beds were very thin, they had to use thin grid cells, with
an average thickness of 1.25m. Because they needed to have several grid cells
between wells, the cells had a horizontal length of 30 m. This meant that there were
too many cells to simulate the whole reservoir, so only the NE sector was simulated.
SCAL data was available, but the relative permeabilities proved unreliable. They
produced water breakthrough where none was observed, so they increased the critical
saturation (i.e. the saturation below which there is no water flow). They also had
capillary pressure data. This was converted into an average J-function (Topic 7), which
proved to be more reliable for assigning the initial water saturation than the well log
data. This is because the thin sand beds were not properly resolved in the well logs,
which gave misleading results for the resistivity and therefore for the saturation.
History matching was carried out in several stages, firstly adjusting the size of sand
bodies, and then adjusting relative permeabilities. Figure 20 shows the history match
for the oil and water production rate in the NE sector. History matching is non-unique,
which means that a good match may be obtained from several different models. As
seen in Figure 20, the simulation overestimates the water production. This could be
due to a number of factors, such as: an underestimate of the connected hydrocarbon
pore volume, or an overestimate in the end-point water relative permeability.
Production Rate
Time
Figure 20
History match of oil and water rates in the NE sector. Note that the simulation was
controlled by oil rate, so the simulated and historical curves overlap.
Once a model has been history-matched adequately, forward predictions are run. In
this case they compared continuing with the existing flood with extending the water
injection. Figure 21 shows the saturations predicted for 2038. The oil saturation is
reduced in the case with the extended water flood.
The conclusions were that in order to understand the field, they have to integrate static
and dynamic data. Thanks to the modelling study, engineers were given the go-ahead
to expand the water flooding in this field.
Figure 21
Comparison of the predicted saturation distribution in 2038 (red = high oil saturation).
Left: continuing the existing waterflood. Right: extending the water injection.
In all of these papers a large section is devoted to the collection and interpretation of
the data (geophysical, geological and petrophysical). You may think (as some
geologists do!) that reservoir simulation is merely a matter of pressing a few buttons
in a simulation package to predict the production. However, there is no guarantee that
you will be able to get reliable results from simulation. The role of a reservoir
simulation expert is:
to determine the most appropriate type of model to run (tank model, complex 3D
model);
to collaborate with geoscientists to decide on issues such as the grid resolution;
to ensure that the simulation is adequate from a numerical point of view;
to understand the limitations of modelling and simulation.
During this course you will be gradually introduced to these issues. You will not
become an expert within a few weeks, but hopefully this course will whet your appetite
to learn more.
5. Simulation Software
There are several commercial software packages available. Two commonly used
packages are:
Eclipse
o Part of the Schlumberger suite for modelling and simulation
o Probably the best known simulation package
o Can be used for a wide range of problems
o Eclipse 100 is for “black oil” simulation (ignoring the composition of oil and gas)
o Eclipse 300 was developed for compositional simulation
CMG Software
o Computer Modeling Group Ltd, Canada
o Includes IMEX for black oil simulation and GEM for compositional simulation
o Can also be used for a wide range of problems, including some which Eclipse
does not do (e.g. geochemical simulation).
It is usually very expensive to buy a license for these packages. In this course, you will
be using MRST, which stands for Matlab Reservoir Simulation Toolbox, which can be
downloaded free. The advantage of using MRST is that the code is not a “black box”,
like the codes in commercial software such as Eclipse. In MRST, you can view all the
codes, and you write Matlab scripts to call the routines. This gives more insight into
the process of reservoir simulation.
6. References
Dobbyn, A. and Marsh, M., 2001. “Material Balance: A Powerful Tool for
Understanding the Early Performance of the Schiehallion Field”, SPE 71819, presented
at the Offshore Europe Conference, Aberdeen, Scotland, 4-7 September, 2001.
Govan, A., Primmer, T., Douglas, C., Moodie, N., Davies, M. and Nieuland, F., 2006.
"Reservoir Management in a Deepwater Subsea Field - The Schiehallion Experience",
SPE 96610, SPE Reservoir Evaluation and Engineering, 9 (4), 382-290.
Lie, K.-A., 2016. “An Introduction to Reservoir Simulation Using MATLAB. User Guide
for the Matlab Reservoir Simulation Toolbox (MRST)”, SINTEF ICT, www.sintef.no/mrst.
Sibley, M.J., Bent, J.V. and Davis, D.W., 1997. “Reservoir Modeling and Simulation of a
Middle Eastern Carbonate Reservoir”, SPE 36540, SPE Reservoir Engineering, May
1997, 75-81.
Thompson, A., Garriz, A., Manestar, G., Vocaturo, G., Conoli, V. and Giampaoli, P., 2014.
“Intergrated Modeling of a Highly Structural and Complex Reservoir where the Normal
Modeling Rules Do Not Apply, Cerro Fortunoso”, SPE-169369, presented at the SPE
Latin American and Caribbean Petroleum Engineering Conference, Maracaibo,
Venezuela, 21-23 May, 2014.
Wilson, A., 2016.” Modeling of a Complex Reservoir Where the Normal Modeling Rules
Do Not Apply”, Journal of Petroleum Technology, July, 2016.
Learning Objectives
After studying this topic, you should be able to:
Define general reservoir engineering quantities, such as Bo and Rso
o This is revision from the reservoir engineering courses
Describe the data required for material balance; discuss conditions for the material
balance equation to be valid; and present examples where material balance
cannot be used
Derive the Buckley-Leverett Equation and use Welge’s Method to calculate the
shock front height
1. Introduction
This Topic reviews some basic concepts of reservoir engineering that must be familiar
to the simulation engineer, which you have covered already in the Reservoir
Engineering courses. We start with Material Balance (G19RB, Topic 5) and the
definition of the quantities which are necessary to carry out such calculations: , co, cf,
Bo, Swi etc. You will perform simple material balance calculations in Tutorial 2.1 for this
Topic. Then the respective roles of Material Balance and Reservoir Simulations are
compared.
Then we go on to consider basic engineering associated with fluid flow: the single-
phase Darcy’s Law (relating flow rate and pressure gradient), including the effect of
gravity and also considering radial flow. We next look at two-phase flow, and review
a very useful method for estimating two-phase immiscible flow in a simple 1D model,
namely fractional flow and Buckley-Leverett Theory. Tutorial 2 for this Topic is on
Buckley-Levertt theory.
Table 1
Basic reservoir engineering properties. The units are given first in field units, and
then in metric units. (In metric units, s = surface, r = reservoir.)
2. Material Balance
1. To introduce the central idea of MB and apply it to a simple case which we will
later set up as an exercise for simulation;
Material balance has been used in the industry for the following main purposes:
2. Calculating water influx i.e. the degree to which a natural aquifer is supporting the
production (and hence slowing down the pressure decline);
3. Predicting mean reservoir pressure in the future, if a good match of the early
pressure decline is achieved and the correct reservoir recovery mechanism has
been identified.
Thus, MB is principally a tool which, if it can be applied successfully, defines the input
for a reservoir simulation model (from 1 and 2 above). Subsequently, the mean field
pressure decline as calculated in 3 above can be compared with the predictions of the
numerical reservoir simulation model.
Because engineers have drifted away from oilfield material balance in recent
years, the unfamiliarity breeds a lack of confidence in its meaningfulness and, indeed,
how to use it properly. To counter this, the chapter provides a comprehensive
description of various methods of application of the technique and included six fully
worked exercises illustrating the history matching of oilfields. It is perhaps worth
commenting that in none of these fields had the operators attempted to apply material
balance, which denied them vital information concerning the basic understanding of
the physics of reservoir performance.
1. The authors of this Reservoir Flow Simulation course would very much like to echo
Dake's sentiments. Performing large scale reservoir simulation studies does not
replace doing good conventional reservoir engineering analysis - especially MB
calculations. MB should always be carried out since, if you have enough data to
build a reservoir simulation model, you certainly have enough to perform a MB
calculation.
Table 2 below.
The simple example which we will take in order to demonstrate the main idea of
material balance is shown in Figure 1, where the system is simply an under-saturated
oil, with possible water influx. See also Table 3 with the definitions of symbols used.
Note that, although the water and oil are drawn in separate sections in Figure 1, the
material balance equation considers all the water in the “tank” which may be spread
throughout the reservoir.
Table 2
Typical rock and fluid compressibilities (from Craft, Hawkins and Terry, 1991).
Figure 1
Simplified system for Material Balance (MB) with an under-saturated oil above the
bubble point.
Symbol Definition
N STOIIP – stock tank oil initially in place (stb)
Boi Initial formation volume factor of oil (rb/stb)
Np Cumulative volume of oil produced at time t, pressure, p (stb)
Bo Oil formation volume factor at current t and p (rb/stb)
W Initial volume of water in the reservoir (rb)
Wp Cumulative volume of produced water (stb)
Bw Water formation volume factor (rb/stb)
We Water influx into reservoir (rb) (“e” stands for “encroachment”)
cw Isothermal compressibility of water
crock Isothermal compressibility of rock
p Change in reservoir pressure , p – po
Table 3
Definitions of symbols used in the Material Balance Equation. (rb = reservoir barrels,
stb = stock tank barrels.)
The pressure drop is p p po . Note that this is current pressure minus initial
pressure. Since the reservoir is depleting p is negative.
In Appendix A1, we show expressions for each change in volume, and how to derive
the material balance equation. (You are not required to reproduce this derivation.)
Np Boi Boi S wi cw c f
1 p (2)
N Bo Bo 1 S wi
This is for a reservoir with oil and water (no gas), with no water production or water
influx from the aquifer. Also, we have assumed that the pressure remains above the
bubble point.
We can then identify 1 – (Np/N) as the fraction of the initial oil still in the reservoir.
Assuming that we know all the quantities on the right side of Equation (3), we can
__ __
calculate 1 – (Np/N) and plot against p , as shown in Figure 2. (We take p so
that it increases along the x-axis.)
Figure 2
1 N p N
__
As noted in Figure 2, this decline plot is not necessarily a straight line, but for oil-water
systems, it is very close. Figure 2 suggests a way of applying a simple material balance
equation to the case of an under-saturated oil above the bubble point (with no water
influx or production). This is a pure depletion problem driven by the oil (mainly), water
and formation compressibilities. Suppose we know the pressure behaviour of Bo (e.g.
Bo(P)), as shown in Figure 3.
Figure 3
Bo as a function of pressure for a black oil.
Assume that after a certain time, the cumulative volume of oil produced is Np (stb),
__
and that the pressure has declined by an amount p . This point of depletion is
shown in Figure 4.
Figure 4
Reservoir depletion on a plot following Equation (3).
The value of X (which is actually calculated from the right side of Equation (3) in Figure
4 above, is 1 N p N . Since we know Np, we can calculate N. There is an exercise
on this in Tutorial 2.1 for this Topic.
Dake (1994, p.78), also points out two "necessary" conditions to apply material balance
in practice as follows:
ii. we must have the ability to define an average pressure decline trend i.e. the more
"tank like", the better – large k/(c) – as discussed above.
Figure 5
Single-Phase Darcy’s Law. Note that here P = Pin - Pout.
Darcy’s law as given in Figure 5, is in its "experimental" form where a conversion factor,
, is used to allow us to work in various units as may be convenient to the problem at
hand. Note that A is the area perpendicular to flow (i.e. if L is along the x-axis, A is in
the y-z plane). In differential form, a more useful way to express Darcy’s Law and
introducing the Darcy velocity, u, is as follows:
Q k P k P
u . .
A L x (4)
where the minus sign in Equation (4) indicates that the direction of fluid flow is down
the pressure gradient from high pressure to low pressure i.e. in the opposite direction
to the positive pressure gradient.
Consistent
Symbol Dimensions Meaning Units
Darcy field SI-field Proper SI
units
L L Length of cm ft m m
system
k L2 Permeability Darcy mD mD m2
Note: Permeability has dimensions L2 ; e.g. units m2, Darcies (D), milliDarcies (mD);
1 Darcy = 9.869 x 10-9 cm2 = 0.9869 x 10-12 m2 1 m2 .
Table 4
Units used in Darcy’s Law.
Note on Units Conversion for Darcy's Law: the various units that are commonly used
for Darcy's Law are listed in Table 4Error! Reference source not found. above. The
conversion between various systems of units causes confusion for some students.
Here, we briefly explain how to do this using the examples in the previous figure; that
is, we go from c.g.s. (centimetre - gram - second) units where = 1 to field units.
Indeed, the Darcy was defined such that = 1. Starting from the Darcy Law in c.g.s.
units:
k (m D) . A ( ft 2 ) P ( psi)
Q (bbl / day ) ?? .
(cp) L ( ft )
How do we find the correct conversion factor for these new units? Essentially, we
convert it unit by unit starting from the c.g.s. expression where we know that = 1.
We do need to know a few conversion factors as follows: 1 ft = 30.48 cm (exact), 14.7
psi = 1 atm, 1 bbl = 5.615 ft3 = 5.615 x 30.483 cm3 = 1.58999 x 105 cm3, 1 day = 24x3600
s = 8.64 x 104 s. Thus, we now convert everything in the field units to c.g.s. units as
follows (except for cP which is the same):
P
psi
k
bbl 1.58999x105 (mD) . A ( ft.2 ).30.482
1000 . 14.7
Q .
day 8.64x10
4
(cp) L ( ft.).30.48
Thus, collecting the numerical factors together we obtain:
which simplifies to
Note that in Table 4, the units in the second last column are actually those used in
the Eclipse simulator. They are not proper SI units. MRST has all variables converted
to proper SI units:
length in m
time in s
pressure in Pa
viscosity in Pa.s
permeability in m2.
There are special MRST routines to convert units.
In Appendices A2 and A3, we present an extension of Darcy’s Law into 3D, using vector
and tensor notation. This is included to familiarise the student with the concepts, but
it is not an examinable part of the course. Note, though, that it is useful to be familiar
with the fact that permeability is a tensor quantity, because many textbooks and
papers mention permeability tensors. See, for example, Lie (2016).
1 P
ux - kx
x
1 P
uy - ky (5)
y
1 P
uz - kz
z
(This is assuming that we have a diagonal permeability tensor – i.e. no sub-grid cross-
flow. See Appendix 3 for full details.)
1 P z
ux - kx - g . (6)
x x
In the case of a simple inclined system with a slope of degrees, as shown in Figure
6:
z
sin , (7)
x
and
1 P
ux - k xx - g..sin . (8)
x
Figure 6
Model in which the x-direction is inclined to the horizontal.
Figure 7
Radial form of the single-phase Darcy Equation.
Notation:
Q = volumetric flow rate of fluid into well
r = radial distance from well
h = height of formation
dP = incremental pressure drop from r (r + dr) i.e. over dr
A = area of surface at r = 2.r.h
= fluid viscosity
k = formation permeability
2 khr dP
Q
dr
(8)
Q dr
dP (9)
2 kh r
Taking rw as the wellbore radius and r as some appropriate radial distance, we can
easily integrate the above equation to obtain the radial pressure profile in a radial
system as follows:
Q r dr Q r dr
r rw
dP 2 kh r r or
r
r dP 2 kh r r (10)
w w w
which gives:
Q r
P(r ) ln
2 kh rw
(11)
where we have denoted the radial pressure drop away from an injector (or increase
for a producer) from rw to r as, P(r). Note that, unlike the linear version of Darcy’s
Law, the pressure profile is logarithmic in the radial case. This means that pressure
drops are much higher closer to the well. This is exactly what we expect physically
since the area is decreasing with r as we approach the well and Q is the same;
therefore, the pressure drop, dP, over a given dr is higher. This is shown schematically
for an injector and a producer in Figure 8. The formulae and the ideas developed here
will be used later in Topic 3 on well modelling in reservoir simulation.
Figure 8
Pressure profiles P(r), in radial single-phase flow. Pwf is the well flowing pressure (at
rw).
As in the single-phase Darcy experiment, the fluid permeability for each phase
(sometimes termed the effective permeability to a phase) is:
k f A Pf
Qf (12)
f L
Figure 9
Darcy experiment for two-phase steady-state flow. Oil and water are flowing through
the system at a steady state (i.e. the fluids are flowing at the same rate at the inlet and
outlet). The pressure across the system is measured for each phase.
Note that the flow rate, the relative permeability, the viscosity and the pressure drop
are different for each phase. (It may seem strange that the pressure drops are
different, but see Topic 7 on capillary pressure.)
Figure 10 shows an example of relative permeabilities for oil and water. It can be seen
that the relative permeability of a phase depends on its saturation (increasing as the
phase saturation increases). Also, the relative permeabilities are less than 1, because
the fluid phases interfere with each other. Relative permeability is also explained in
Topic 7.
Figure 10
Example of relative permeability curves for oil and water.
The differential form of the two phase Darcy Law in 1D, again including gravity which
is taken to act in the z-direction, is as follows:
k .krw Pw z
uw - - g w
x x
k .kro Po z
uo - - g o
x x (14)
As mentioned above, the flow of the two phases (water and oil, in this case) depends
Pw Po
on the pressure gradient in that phase; i.e. on and . The phase
x x
pressures, Po and Pw, at a given saturation, Sw (So = 1 - Sw), are generally not equal.
However, they are related through the capillary pressure, as follows:
Pc Sw Po Pw
More strictly, the capillary pressure is the difference between the non-wetting phase
pressure and the wetting-phase pressure: Pc Sw Pnon wett . Pwett . . We can think of
the capillary pressure as a constraint on the phase pressures. That is, if we know the
capillary pressure function - from experiment, say – then, if we have Po at a given
saturation, we can calculate Pw. (As mentioned above, capillary pressure is explained
more fully in Topic 7.)
Consider the flow of water and oil in one dimension (1D) and assume that these are
incompressible immiscible fluids. Let water displace oil in a thin homogeneous 1D
porous system of porosity (Figure 11). The system has a cross-sectional area A, which
is sufficiently small that it is possible to consider the liquid saturations and pressures
to be uniform in any cross-section. In deriving the Fractional Flow, and Buckley-
Leverett theories, we will set up continuity equations for oil and water. We shall use
this sort of approach in Topic 4 for deriving the general flow equations. This means
that mass must be conserved in a system, i.e. the mass of a fluid flowing into a block
of rock within a time interval t minus the mass which flows out during that time is the
mass accumulation. The notation we will use is given in Table 5.
In the calculations below, we ignore gravity and capillary pressure (Po = Pw), so that
Darcy’s Law for the two phases is:
kabs krw . A P k k . A P
Qw and Qo abs ro . (15)
w x o x
Figure 11
Blocks in 1D model used to derive the continuity equation for two-phase flow.
DEFINITION NOTATION
Porosity
Saturation of water Sw
Table 5
Nomenclature for Fractional Flow Theory. Note that vT is the actual velocity
(interstitial velocity), not the Darcy velocity, which is just QT/A.
Figure 11 shows part of a 1D model. We have split the length into blocks of length
numbered i = 1, 2, … n. We shall use this type of model in deriving the flow equations
in Topic 4. We are interested in block i. Since we are assuming incompressible fluids,
the volume of each fluid which flows into the block within a given time is equal to the
volume which flows out (Figure 11).
Figure 10
The fraction of the flowing stream which is water – the water fractional flow, fw, is:
Qw
fw (16)
QT
Qw kabs krw A w P x
fw .
QT kabs krw A w P x kabs kro A o P x
1
krw w 1 k
fw 1 ro w (18)
krw w kro o kro w krw o
1
krw o
Change in mass over time t = A x w Sw t t A x w Sw t (21)
Since both phases are assumed to be incompressible the water density, w , and
porosity, , are constant and we assume that the cross section area, A , is constant.
From Equations (19), (20) and (21) we get:
Qw xx Qw x w t w A x Sw t t Sw t (22)
S w t t Sw t
1 Qw
x x
Qw x 0 (23)
t A x
Setting x 0, t 0 gives:
Sw 1 Qw
0 (24)
t A x
Sw QT f w
0. (25)
t A x
Hence:
f w df w S w
. (26)
x dS w x
QT f w S w S w
. (27)
A Sw x t
The continuity equation for the oil phase also has the same form.
S w S
dS w dx w dt (28)
x t t x
Thus, if x = x(t) is chosen to coincide with a surface of fixed water saturation Sw; i.e. we
imagine that the point x(t) is moving with the constant saturation level, then:
dSw 0
and
dx Sw Sw
t x (29)
dt Sw
Substituting Equation (29) in Equation (27) above reveals that that the following terms
are equal:
dx QT df w
(30)
dt Sw A dS w
This is the Buckley-Leverett Equation. This equation essentially identifies the velocity
of a given saturation value, Sw, with the derivative of the fractional flow function, fw(Sw)
multiplied by the total fluid velocity (of both oil + water), vT QT / ( A) .
W t df w
x Sw , t (31)
A dS w
where W(t) is the total amount of water which has been injected since t = 0. (It is
assumed that water is injected at the left side where x = 0.)
df w
The coefficient can be evaluated at every saturation, Sw, if the function fw (Sw) is
dS w
known and is differentiable. It follows that if the saturation distribution is known at
time t = 0, it can be found at any other time t > 0.
df w
function of relative permeability and viscosity.) Since the gradient increases
dS w
and then decreases as a function of Sw, the distance traversed, x, as a function of Sw
(after a given time t) has the form shown in Figure 12. The result shown turned
round in
Figure 13 (left) is obviously physically unrealistic in that saturation, Sw, is a double-
valued function of distance. However, this problem of multiple values in saturation is
eliminated by taking a volumetric balance for the injected water. This means that the
saturation stays constant at the initial saturation, Swc, until then there is an abrupt
increase in water saturation, in the form of a shock front (Figure 13, right).
Welge (1952) analysed this problem and demonstrated that the saturation of the shock
front and the fractional flow at that point can be determined by drawing a tangent to
the fractional flow curve from the Sw = Swc, and f(Sw) = 0. This is known as the Welge
tangent (Figure 14). We do not present the proof here. It is covered in many text
books, such as Dake (1978).
Figure 12
Left: A typical fractional flow curve. Right: the derivative of fractional flow with
respect to saturation, which is proportional to distance gone.
Figure 13
Saturation vs distance. Left: Same curve as Figure 12, but plotted as S(x). The bold
dashed line shows where the curve is chopped off to give the shock front. Right: The
S(x) curve with the shock front drawn. In these figures Swc = 0.2 and Sor = 0.3
(maximum, Sw = 0.7).
Figure 14
Demonstration of the Welge Tangent
Two other useful measures can be obtained from Welge Theory. Firstly, it can be
shown that the time to water breakthrough is given by:
LA
tbt . (32)
Qw df w dS w Swf
Also, the recovery efficiency (i.e. fraction of the oil which has been recovered) at
breakthrough is:
1
R . (33)
df w dS w
You do not have to memorize these two equations. They are only valid for a simple
homogeneous 1D system. However, they are useful for rough estimates.
6. Closing Remarks
This Topic forms a link between reservoir engineering and reservoir simulation. Even
if you become an expert in reservoir simulation, you should still use conventional
engineering approaches such as Material Balance (Section 2), and also fraction flow
theory, along with the Buckley-Leverett solution and the Welge tangent.
Some additional derivations are included in the Appendix. They are only there for
reference.
7. References
Amyx, J.W., Bass, D.M. and Whiting, R.L., 1960. “Petroleum Reservoir Engineering”
McGraw-Hill, New York.
Buckley, S.E. and Leverett, M.C., 1942. “Mechanism of Fluid Displacement in Sands”
SPE, doi:10.2118/942107-G.
Craft, B.C., Hawkins, M.F. and Terry, R.E., 1991. “Applied Petroleum Reservoir
Engineering”, Prentice Hall, NJ.
Lie, K-A, 2016. “An Introduction to Reservoir Simulation Using MATLAB: User Guide
for the Matlab Reservoir Simulation Toolbox (MRST)”, www.sintef.no/mrst.
Welge, H.J., 1952. “A Simplified Method for Computing Oil Recovery by Gas or Water
Drive”, SPE, doi:10.2118/124-G.
8. Appendix
A1 Full Derivation of the Simplified Material Balance Equation
__
Change in rock volume, Vrock = - Vf = - V f .C f . p (A5)
Rearranging Equation (A6) and noting that W = Vf.Swi and Vf = N.Boi/(1-Swi), we obtain:
N Boi N Bo N p Bo We Wp Bw
S c c f __ (A7)
N Boi wi w p 0
1 S wi
Equation (A7) is the (simplified) material balance expression for the under-saturated
system given in Figure 1 (as long as it remains above its bubble point).
To illustrate the use of material balance in an even simpler example, let us assume
that there is no water influx (We =0) or production (Wp = 0). Therefore, the MB
equation simplifies even further to:
S c c f __
N Boi N Bo N p Bo N Boi wi w . p 0 (A8)
1 S wi
Note that we can divide through Equation (A8) by N (the initial stock tank oil volume,
stb) to obtain:
Np S C Crock __
Boi Bo Bo Boi wi w p 0
N 1 Swi (A9)
Np Boi Boi S wi cw c f
1 p (A10)
N Bo Bo 1 S wi
where the quantity (Np/N) is the Recovery Factor (RF) and is the oil recovered as a
__
fraction of the STOIIP. It is seen from Equation (A10) that, at t = 0, Bo = Boi and p 0
__
and therefore (Np/N) = 0, as expected. Remember also that p is negative, in
__
depletion. ( p p po - new pressure minus initial pressure).
i j k
x y z (A11)
where i , j and k are the unit vectors which point in the x, y and z directions,
respectively. The gradient operation can be carried out on a scalar field such as
pressure, P, as follows:
P P P
P i j k
x y z (A12)
P
i
x
P
P j
y
P
k
z (A13)
This is shown schematically in Figure 15, where the three components of the vector
P P P
P , i.e. i , j and k are shown by the dotted lines.
x y z
Figure 15
P showing the components of the vector in the x, y and z-directions.
Divergence (or div) is the dot product of the gradient operator and acts on a vector
to produce a scalar. The operator is denoted as follows:
.
i
x
. y
.
j .
k
z (A14)
For example, taking the divergence of the Darcy velocity vector, u, gives the
following:
ux i
. u i
x
. y
j . z
k .
u y j
uz k (A15)
where we can expand the right side of the above equation by multiplying out the first
(1x3) matrix by the second (3x1) matrix to obtain a "1x1 matrix" which is a scalar as
follows:
ux i
. u i
x
. y
j . z
.
k u y j
uz k (A16)
u u y u z
xii
x
.
y
j j
z
.
k k
.
. .
where we use the relationships, i i j j k k 1 , to obtain:.
ux u y uz
.u x y z
(A17)
Likewise, we can take the divergence of the grad P vector, P , to obtain the
quantity, . P (sometimes denoted div grad P), as follows:
P
x i
P
. P i
x y
. j .
k j
z y
.
P
k
z
2 P 2 P 2P
. .
2 i i 2 j j 2 k k .
x y z
(A18)
. . .
Again using the relationships, i i j j k k 1 , we obtain the familiar
expression:
(A19)
2 2 2
2 . div . grad
x 2
y 2
y 2
In the next section of the Appendix, we will discuss taking the dot product of a tensor
and a vector.
N.B. We now omit the explicit inclusion of the unit vectors, i, j and k in the following
equations.
A3 Darcy’s Law in 3D
You are probably aware that the permeability of a rock may be different in different
directions. This is especially true when comparing the permeability in the horizontal
and vertical directions, i.e. k x k y k z . Often the permeability is much lower in the
vertical direction ( kv kh or k z k x ), due to the fact that sediments are usually laid
down in horizontal layers. (See Topic 6.) However, there may be permeability
anisotropy in the horizontal direction.
It turns out that permeability is actually more complex than this. In a heterogeneous
medium, features such as cross-bedding may give rise to crossflow – e.g. flow in the z-
direction due to a pressure gradient in the x-direction (Figure 16). To account for this,
we need a full permeability tensor, k , with 9 terms in 3D (or 4 terms in 2D). A
permeability tensor may be represented in matrix as follows:
k xx k xy k xz
k k yx k yy k yz
k k zy k zz
zx (A20)
P
Figure 16
Cross-flow in a heterogeneous model.
Suppose we wish to take a dot product of this tensor, k , with the vector P ; that is
.
k P . The dot product of a tensor and a vector is a vector and the operation is
carried out like a matrix multiplication as follows:
P
x
k xx k xy k xz
P
k . P k yx k yy k yz
k y
zx k zy k zz
P
z (A21)
P k P + k P + k P
x xx x xy
y
xz
z
k xx k xy k xz
P P
P P
k . P k yx k yy k yz k yx + k yy + k yz
k y x y z
zx k zy k zz
P P
k P P
+ k zy + k zz
zx
x
z y z
P P P
k xx + k xy + k xz
x y z
P P P
k .
P k yx + k yy + k yz
x y z
P P P
k zx + k zy + k zz
x y z
(A22)
Using the above concepts from vector calculus (div. and grad), we can extend the Darcy
Law (in the absence of gravity) to 3D as follows by introducing the tensor permeability,
k :
P
x
k xx k xy k xz
1 P
u -
1
k . P - k yx
k yy k yz
y
k zx k zy k zz
P
z
P P P
ux k xx + k xy + k xz
x y z
1 P P P
u u y - k yx + k yy + k yz
x y z
u P P P
z k zx + k zy + k zz
x y z
(A23)
1 P P P
ux - k xx + k xy + k xz
x y z
1 P P P
uy - k yx + k yy + k yz
x y z
1 P P P
uz - k zx + k zy + k zz
x y z
(A24)
If the permeability tensor is diagonal i.e. the cross-terms are zero as follows:
k xx 0 0
k 0 k yy 0
0 k zz
0
then the various components of the Darcy law revert to their normal form and :
1 P
ux - k xx
x
1 P
uy - k yy
y
1 P
uz - k zz
z (A25)
Also, mathematicians often refer to permeability tensors. For example the MRST book
(Lie, 2016) refers for permeability tensor. MRST is capable of handling full permeability
tensors.
Learning Objectives
After studying this topic, you should be able to:
Demonstrate how to calculate the average permeability between two grid cells.
o Also explain which relative permeability should be used when there are
two phases
1. Introduction
Before learning about the flow equations and how to discretize them for reservoir
simulation, this Topic deals with the related issues of grid selection and well modelling.
Gridding: Examples of various types of grid geometries are presented including 1D, 2D
areal, 2D cross-sectional, 2D radial, and 3D Cartesian cases. A simple description of
two problems associated with gridding, namely numerical dispersion and grid
orientation, is given. Also, some more complex grid structures are discussed.
Treatment of the block to block flows in reservoir simulation is presented and it is
shown how the various inter-block quantities such as the permeability and relative
permeabilities are averaged.
Well Modelling: All interactions between the surface facilities and the reservoir takes
place through the injector and producer wells. It is therefore very important to model
wells accurately in the reservoir simulation model. The central issue with a “well
model” in a simulator is that it must represent a near singular line source within
(usually) a very large grid block.
2.1 Introduction
Basically, the gridding process is simply one of chopping the reservoir into a (large)
number of smaller spatial blocks which then comprise the units on which the numerical
block to block flow calculations are performed. More formally, this process of dividing
up the reservoir into such blocks is known as spatial discretisation. Recall that we also
divide up time into discrete steps (denoted t) and this related process is known as
temporal discretisation. The numerical details of how the discretisation process is
carried out using finite difference approximations of the governing flow equations is
presented in Topic 5. However, note that the grid used for a given application is a user
choice - it is certainly not a reservoir “given” - although, as we will see, there are some
practical guidelines that help us to make sensible choices in grid definition.
The simplest type of grid is a Cartesian grid, where all of the grid cells are cuboids, i.e.
each face is a rectangle. The dimensions of the grid cells are denoted by x, y and
z. This grid can be in one dimension (1D), two dimensions (2D) or three dimensions
(3D). Some typical examples of 1D, 2D and 3D Cartesian grids are shown in
Figure 1. The grid cells do not have to be all the same size in a model. For example in
a 3D grid, the thickness of the cells (z) may be varied to reflect the thickness of
geological layers.
Note that the term “grid” refers to the whole structure. Each unit should be referred
to as a “grid cell” or block. Also note that even in a 1D or 2D grid, each cell is always 3-
dimensional: x, y and z are all non-zero.
1D linear grids may be used for slim-tube simulations, with a long horizontal
model. Slim-tube experiments are performed in laboratories to test the miscibility
of gas injection into oil. (For example, injection of CO2 into an oil is multi-contact
miscible process, and the CO2 mixes with different components of the oil at
different stages of the flood.) You could also investigate the effect of gravity with
a vertical 1D grid – e.g. gravity stable gas injection.
Radial Grids
When studying near-wellbore flow, it is useful to construct a radial grid. These may be
1D (r-direction only), 2D (r-z grid), or 3D (r-z- grid, where is the azimuth angle). From
Topic 2, you know that pressure depends on ln(r/rw) for radial flow, where rw is the
wellbore radius. Therefore engineers usually use a logarithmically spaced grid for the
block size, r. A logarithmic spacing divides up the grid such that (ri/ ri-1) is constant
where ri = (ri- ri-1) as shown in Figure 2. For example, if we take rw = 0.5 ft and the
first grid block size is, r1 = 1ft, then this sets (ri/ ri-1) = 3 since r0 = rw = 0.5ft and r1 =
1.5ft.; hence r2 = 3x1.5ft. = 4.5ft and r2 = 3ft, r3 = 13.5ft and r3 = 9ft, and so on.
a) x
b) c) x
d)
e)
16
x
y
Figure 1
Examples of 1D, 2D and 3D Cartesian grids.
Figure 2
Radial (r-z) grid geometry.
Consider the simulation of a waterflood in a 1D grid with 5 grid cells, as shown in Figure
3. Each of the sub-figures a) to e) represents a time step, t, of the water injection
process. Block i = 1 contains the injector well which is injecting water at a constant
volumetric rate of Qw, and block i = 5 contains the producer. The system is initially at
water saturation, Swc, and this water is immobile i.e. the relative permeability of water
is zero, krw(Swc) = 0. Each block has constant pore volume, Vp = x.A. where is the
porosity. In Figure 3a), we see that after time, t = t, some quantity of fluid has been
injected into block i = 1; the volume of water injected is Qw.t and this would cause a
water saturation change in grid block i = 1, Sw1 = (Qw. t)/Vp i.e. the new water
saturation in this block is now, Swc+ (Qw. t)/Vp. Over the first time step, no fluid flowed
from block to block since the relative permeability of all blocks was zero (krw(Swc) = 0).
However, the relative permeability in block i = 1 is now krw(Sw1) > 0. The second time
period of water injection is shown in Figure 3b). Another increment of water, Qw. t,
is injected into block i = 1 causing a further increase in water saturation Sw1. However,
over the second time period, krw(Sw1) > 0 and therefore water can flow from block i =
1 to i = 2, increasing the water saturation such that Sw2 > Swc making the relative
permeability in this block, krw(Sw2) > 0. In the third time step, shown in Figure 3c), the
same sequence occurs except that fluid can flow from block 1 2 and also 2 3,
because krw(Sw3) > 0. In the fourth and fifth time steps (Figure 3d) and Figure 3e)),
flow can now go from block 3 4 and from 4 5 where, since krw(Sw5) > 0, it can be
produced from this block, although the relative permeability in block 5 will be very
small. Hence, after only five time steps to time t = 5t, the water has reached the
producer in block 5 from whence it can be produced (although not a very high rate
because the relative permeability is very small) and this is an unsatisfactory situation.
If we had taken 10 grid blocks, then clearly a similar argument would apply and water
would be produced after 10 time steps - with an even lower relative permeability in
block i = 10 - and this is more satisfactory. Indeed, this underlies why we take more
grid blocks. This simple illustration explains in a quite physical way the basic idea of
numerical dispersion.
The frontal spreading effect of numerical dispersion can be seen when we try to
simulate the actual saturation profile, Sw(x,t), in a 1D waterflood, and compare this
with the Buckley-Leverett solution presented in Topic 2. There is a shock at the flood
front in the analytical solution, and at time t, the front will have a definite position, x(t).
However, in a grid system with block size x, any saturation front can only be located
within x as shown in Figure 4. If we take more grid blocks (x decreases), then we
will locate the front more accurately. Indeed, taking more and more blocks we will
gradually get closer to the analytical (correct) solution. Hence, one method of reducing
numerical dispersion is to increase the number of grid blocks. An alternative is to use
a numerical method which has inherently less dispersion in it but we will not pursue
this here. Another approach is to use pseudo functions to control numerical
dispersion. These are discussed in Topic 6.
Figure 3
Effect of grid on water breakthrough time – numerical dispersion.
Figure 4
The frontal spreading of a Buckley-Leverett shock front when calculated using a 1D
grid block model.
Figure 5
Flow between an injector (I) and 2 producers (P1and P2) where the injector-producer
separations are identical but flow is either oriented with the grid or diagonally across
it, illustrating the grid orientation effect.
The effects on the breakthrough time and in the recoveries of these two flow
orientations are shown in Figure 6. The I-P1 orientation tends to lead to earlier
breakthrough and a less optimistic recovery than the I-P2 orientation.
Figure 6
Oil recoveries for aligned and diagonal flows.
The grid orientation error can be emphasised for certain types of displacement. For
example, in gas injection, the gas viscosity is much less than the oil viscosity (g << o)
leading to viscous fingering instability. This is exaggerated when flow is along the grid
as in the I-P1 orientation.
Figure 7 shows a simple version of a refined grid – not a true LGR, but sometimes
referred to as a “tartan grid”. An example of true LGR is shown in Figure 8, where you
can see that only the area of interest is refined and none of the surrounding area. Note
that in some simulation packages (e.g. Eclipse), you can use radial local grid refinement
to study near-well effects.
Figure 7
A simple version of local grid refinement where the grid is finer in the (central) area
of interest in the reservoir.
Figure 8
“True” local grid refinement (LGR) where the refined grid is embedded in the coarser
grid.
Figure 9
Corner Point Geometry
In Topic 1, CPG grids were shown in Figures 4 and 8, 10 and 22. In Figure 10 below,
we reproduce the example from Figures 4 and 10 of Topic 1, focussing on the grid
structure. Notice how the cells are approximately cuboidal, but are slightly distorted.
Also, this grid has been deformed to represent faulting in the reservoir.
Figure 10
Example of Corner Point Geometry (CPG). This is the MRST SAIGUP example (Lie,
2016).
to be taken. Therefore, the issues of grid dimension, type and fineness should be
appropriate for the question/decision. However, as we will see, there are several
technical considerations that can guide us in these choices.
Often in a field simulation model, the cell thickness (z) is chosen based on the
thickness of geological bedding – e.g. 1-2 m. However, this may give rise to too many
grid cells, so some upscaling (Topic 6) is required. In the horizontal direction, the size
of the cells is usually much larger (~100 m). The main constraint is that there are
several cells between wells, otherwise numerical dispersion will produce early
breakthrough. (If there are still too many cells, a coarse model could be used with LGR
around the wells.)
The grid resolution also depends on the process being simulated. In some cases a
coarse grid may give misleading results. For example, in the case of gas injection, since
gas has a low density compared with oil, the gas will rise to the top of the reservoir
very quickly. This effect may be simulated by assuming vertical equilibrium (VE) in the
reservoir, so that the gas rises instantaneously to the top. On the other hand a fine
grid with lots of layers is required. This is demonstrated in Figure 11. A VE model
allows gas to form a very narrow “tongue” at the top of the model, leading to early
breakthrough and low recovery. (A VE model only has one layer in the z-direction.) If
5 fine-scale layers are used, the tongue will be much fatter, and breakthrough will be
later, leading to better recovery. As the fine-scale model is refined, the tongue will
become thinner and the recovery similar to that of the VE simulation.
Figure 11
Resolving the gas “tongue” in the Vertical Equilibrium (VE) limit in a gas-oil
displacement by increasing the number of grid cells in the vertical direction (from
Darman et al, 1999).
Figure 12
Diagram of two grid cells with different lengths and permeabilities.
Notation:
Q = volumetric flow rate
Applying Darcy’s law to the inter block flow shown in Figure 12 and using the notation
in that figure, we obtain:
k A P k A Pi Pi 1
Q , (1)
x xi 1 xi
2
Consider flows from Block (i-1) to the interface of the two blocks, where we denote
the interface pressure as Pf (see Figure 13).
ki 1 A Pf Pi 1
In block (i-1): Q (2)
xi 1 2
Q xi 1 1
P f Pi 1
A 2 ki 1
. (3)
Figure 13
Single-phase flow between blocks to determine the correct permeability average to
use for flow simulation.
ki A Pi Pf
In block (i): Q (4)
xi 2
P P QA 2x k1 .
i f
i
(5)
i
Adding Equations (3) and (5) above to eliminate the Pf term gives:
Q xi 1 xi
Pi Pi 1 (6)
2 A ki 1 ki
A 2
Q Pi Pi 1 . (7)
xi 1 xi
k
i 1 ki
Darcy’s Law for flow between the two blocks should have the form:
kA Pi Pi 1
Q , (8)
xi 1 xi
2
where k is the average permeability. (Equation 8 is essentially the same as
Equation 1.)
k 2
(9)
xi 1 xi xi 1 xi
2 ki 1 ki
xi 1 xi
k (10)
xi 1 xi
ki 1 ki
(i) The appropriate average k is not the arithmetic average, it is the harmonic
average weighted by the grid block sizes.
(ii) This harmonic average gives much more weighting to the lower permeability
value. If the grid sizes are equal, this reduced to the exact harmonic average, kH,
of the permeabilities as follows:
1 1 1 1
(11)
k H 2 ki 1 ki
Note that because pressure varies from block to block, the viscosity will also vary.
However, viscosity does not usually change much, so we may use the arithmetic
average:
i 1 i
(12)
2
kkrp A Pi 1 Pi
Qp . (13)
p x
We need to be careful how the relative permeability is calculated. Consider Figure 14:
In Block i, Swi = (1 – Sor). Only water can flow: krw > 0 and kro = 0.
In Block i + 1, Sw = Swc. Only oil can flow: krw = 0 and kro > 0.
Figure 14
Example with block i at Sor and block i+1 at Swc.
If we use the arithmetic average to average the relative permeabilities of oil and
water between the two blocks. Then krw 0 which is correct, but also kro 0 ,
which is incorrect.
On the other hand, if we use the harmonic average, both krw and kro will equal zero,
and that is incorrect. (Note you cannot calculate the harmonic average if one of the
permeabilities is equal to zero. However, you will notice that, as one permeability
approaches zero, the harmonic average gets smaller and smaller and also approaches
zero.)
We need to find another way of “averaging” the relative permeability. The solution is
to take the upstream relative permeability. (The upstream cell is the one which is at
higher pressure, so that fluid is flowing from it to the next cell.) We take krw krw,i .
This is greater than zero, as required. On the other hand, kro kro,i is zero, which
means that no oil can flow from Block i to Block i + 1.
If the fluid is flowing in the opposite direction (from right to left), we take krw krw,i 1
which is equal to zero, so no water flows, and kro kro ,i 1 which is greater than zero,
so oil can flow.
In reservoir simulation, sometimes the surface flows are used, and they have to be
multiplied by the formation volume factor, B, to convert to reservoir flows (i.e. divide
by B on the right side of the equation).
kkr A Pi 1 Pi
Q . (14)
B x
As with viscosity, B does not vary much from cell to cell, so the arithmetic average
may be used.
4.1 Introduction
The only way fluids can be produced from or injected into a reservoir is through the
wells, so we must include them in our reservoir simulation model. As you may know,
the area of Well Technology is vast and in addition to the long wellbore between the
reservoir and the surface, there are many other technical features of wells that can
have a major impact on the flows into and out of the reservoir. For example, there will
be safety valves at the surface and many different types of completion in the well
construction itself. Here, we will simplify things as much as possible in order to extract
the central functions of the well that we will have to model in the simulator. A
schematic of the total well is shown in Figure 15 where the details of the near well
formation are shown in the inset. The near wellbore flows are thought to be radial in
an ideal vertical well and this will have some relevance in modelling the near-well
pressure behaviour, as discussed in Topic 2 and elaborated upon below. In addition to
these near-well pressure drops, there are several other identifiable pressure drops
between the fluids in the reservoir and the surface oil storage facilities and we may
have to model at least some of these. Indeed, it is this topside pressure behaviour that
“links” or “couples” the surface with the pressure and flows that we are trying to model
in the reservoir using reservoir simulation. The main decision is to determine how
much of the formation to surface well assembly we will actually have to model. The
main pressure drops are shown in Figure 16 (based on Figure 15 of whole well +
pressure drops) and are associated with:
(i) Formation → wellbore flow, Pf w : where fluids flow from a “drainage
radius”, re, at pressure, Pe, to the wellbore. Figure 16 shows the near-well
pressure profile, in the near-sandface region with bottom hole flowing well
pressure (BHFP), Pwf. Thus the formation → wellbore pressure drop, Pf w
is:
(ii) The pressure drop, Pwell , that may occur along the completed region of the
wellbore from the bottom of the well (or the “toe” of a horizontal well) to
the wellbore just at the top of the completed interval. In very long wells, this
pressure drop along the wellbore due to friction may be quite significant
although there will be cases where it can be ignored.
Figure 15
Schematic diagram of the fluid flows into a well in a grid block model of the reservoir
through to their storage or export from the field.
(iii) Reservoir → surface pressure drop, Pr s : the pressure drop from the well
at the top of the completed formation just above the reservoir to the
wellhead which is at pressure, Pwh . This P is quite significant and, locally
in any sector of the well, there will be a local pressure drop vs. flow rate/fluid
composition relationship. This may be calculated from models (often
correlations) of multi-phase flow in pipes. As the fluids move up the
wellbore, the pressure drops in oil/water production and free gas may also
appear; thus, we can have three phase flow in the well tubular to the surface
and we may have to incorporate this flow rate/pressure drop behaviour in
our modelling.
(iv) There will frequently be further pressure drops as the fluids flow from the
wellhead through the surface facilities such as the separators, various
chokes, etc. We will not consider this in detail here although it can be an
important consideration in some field cases e.g. if the well is feeding into a
network gathering system which other wells are also feeding into. This could
be a complex surface gathering system network or a multiple-well manifold
of a subsea production system.
Figure 16
Schematic diagram of the fluid flows from the well through to storage or export
showing the associated pressure drops that occur in the system.
In this section, we will focus on the formation to wellbore pressure drops. Thus, our
main task is to either calculate or set the well flowing pressure (Pwf).
To set the scene in modelling wells in a simulator, we will first consider a very simple
model well producing only oil into the wellbore. How do we decide what the
volumetric flow rate, Qo, of this well is? We start with a simple case where the
wellhead pressure, Pwh, is set to atmospheric pressure. There is then the additional
reservoir to surface pressure drop, Pr s , to consider. Thus, the well flowing pressure,
Pwf, is given by:
Clearly, if this value of Pwf > Pe (the reservoir pressure), then no oil can be produced.
However, if Pwf < Pe, then some oil will flow into the well and we can now calculate
how much. As we will see, this will depend on the physical properties of the system
such as the permeability of the rock, the viscosity of the oil, the precise geometry of
the well etc. However, in our simple conceptual well, we will take all of these
quantities as “givens” for the moment. Suppose the well does flow at a volumetric
flow rate, Qo, for reservoir pressure, Pe, and well flowing pressure, Pwf. We can then
define a productivity index, PI, of the well as follows:
Qo PI Pe Pwf , (17)
where possible units of PI could be bbl/day/psi, for example. The above equation
basically states the oil production rate per psi of drawdown. This simple equation takes
us back to our original question on “what/who decides on Qo?”. In our simple case,
the answer is now clear; i.e. some things are “givens” - e.g. PI and Pe in a virgin oil
producing system - and some we can set within limits - e.g. Pwf by setting the wellhead
pressure. However, you may be able to set a flowrate, Qo, by installing a downhole
pump (an ESP - electrical submersible pump). In that case, you would set Qo and then
calculate Pwf where we are still considering the reservoir pressure (Pe) as a given. But
clearly we cannot set Qo to any arbitrarily large value since the lowest possible value
of Pwf = 0 (a vacuum), which would then set a maximum value of Qo given by:
Qo,max PI Pe (18)
So, in summary, we can set either a pressure or a flowrate but (a) not both and (b) in
either case, within limits.
But, can’t we affect the well PI or the reservoir pressure, Pe? We can actually change
the PI of a well by “stimulating” it possibly by locally hydraulically fracturing the well
or by acidising it to increase the effective permeability of the near well region. In
addition, we can increase (or more commonly maintain) the reservoir pressure (which
relates to the “reservoir energy”) to some extent by injecting a fluid - usually water or
gas in another injector well. However, the basic well controls are either setting
pressure or flow rate and this must be kept in mind when we model wells in reservoir
simulation. We elaborate on these ideas in the following section where we introduce
the central idea of a well model.
Q r
P r ln , (19)
2 kh rw
where h is the thickness of the formation, and rw is the well bore radius.
Taking the pressure at radius re as being the reservoir pressure, Pe, then gives:
Q r
P re Pe Pwf ln e . (20)
2 kh rw
Figure 17
Pressure distribution near a well: a) near-well pressure profile for a radial system; b)
corresponding quantities in a Cartesian grid block.
2 kh
Q P P .
ln re rw e wf
(21)
Hence, from Equation (17) above, we can identify the productivity index of the well
as:
2 kh
PI . (22)
ln re rw
This now demonstrates exactly how the quantities k, h, , rw and re affect the well
productivity. All of these factors behave as we might expect them to physically e.g. as
k, PI; as , PI etc.
Now consider how this relates to the pressures in the simulation block shown in Figure
18 and Figure 19. In a grid block, the pressure is thought of as being constant
throughout the block although we know that it should be varying continuously across
the block; we will refer to this as the average block pressure. The size of the grid block
in our example is (x, y) and, for simplicity, we will assume that, x = y. Looking at
the expression for PI in Equation (22) and the quantities we have in the grid block, it is
easy to make direct relations for some of them - obviously k, and h and also possibly
rw and Pwf, although these latter two do not seem to appear in the grid model. The
drainage radius, re, and the reservoir pressure, Pe, which appear in the radial model do
not appear in the grid model - instead, the block size (x, y) and average block
pressure ( P ) appear. This immediately suggests the following 2 questions:
1. what is the relation between re , and the block size (x, y)?
2. what is the relation between Pe and the average grid block pressure, P ?
Figure 18
Schematic diagram to show how the near-well pressure relates to the corresponding
quantities in a Cartesian grid block.
Figure 19
The relationship between re and the block dimensions, x and y.
The issue is defined quite clearly in Figure 18. From this figure, we would like to choose
re such that Pe coincides with the average grid block pressure, P . The latter quantity
( P ) is calculated in the simulation itself. In fact, we need to know how to calculate re
from the quantities x and y as indicated in Figure 19 where we show the re as
function of x and y, i.e. re(x, y).
If we know the formula for re(x, y), then we can calculate the PI (Equation 22) and
use this in the simulation to couple the quantities Qo (oil flow rate) and P (average
grid block pressure); i.e.
Qo PI P Pwf (23)
Here, we can set either Qo or Pwf and then calculate the other one from P (and the
known PI). This was achieved in a very simple but ingenious way in a classic paper by
Donald Peaceman (1978), a pioneer of numerical reservoir simulation. Peaceman did
this by carrying out a 2D numerical solution of the pressure equation on a Cartesian (x,
y) grid for a quarter five-spot configuration as shown in Figure 20. From Equation (20),
we know that:
r 2 kh P r Pwf
ln
(24)
rw Q
Hence, if we plot the pressure at grid blocks away from the well block vs. the well block
spacing on a logarithmic scale as shown in Figure 21, then we can extrapolate back to
find the equivalent radius where P = Pe in terms of the well block dimension (x). It
turns out that the simple relation is (for x = y):
re 0.2x . (25)
Therefore, we have a very simple way of calculating the PI of a well in a simulation grid
block. The well PI is also sometimes known as the “well connection factor”,
“connection transmissibility factor”, or the “well index”, Iw.
The simple Peaceman formula applies to a well in a radial environment (the five-spot
configuration is as close as we can get to radial using a common 2D Cartesian grid) and
for x = y. In fact, some modification to the simple formula is required for wells in
“corner” locations or set close to a boundary. Also, if x y, but the well is isolated
(radial flow), then:
re 0.14 x 2 y 2 . (26)
Figure 20
The 2D areal grid used to compare pressures with the expected radial profiles
(Peaceman, 1978).
Figure 21
Plot of pressures from the 2D areal grid vs log(r), used to find re (from Peaceman,
1978).
When two phases are present, the equation for flow at a well is:
2 kkrp h
Qp
p ln re rw
P P
e wf (27)
where the subscript “p” stands for phase (oil, water or gas). Remember that the
relative permeability and the viscosity are different for each phase. In this case, the
well PI, or well connection factor is sometimes given as:
2 kh
PI , (28)
ln re rw
missing out the viscosity, so that the PI does not depend on fluid properties. Then the
well flow is:
PI Pe Pwf .
krp
Qp (29)
p
2 kk hk
PI k , (30)
re
ln
rw
because the permeability of each layer may be different, and also the thickness. See
Figure 22. (Note that we’ve assumed here for simplicity that the cells are the same
size in the horizontal so that re does not vary.) The total flow of phase, p, will be:
4 krp
Qp PI k P k Pwf . (31)
k 1 p
Figure 22
Two-phase flow into a well in a multi-layered system.
Qi , j ,k PIi , j ,k Pi , j ,k Pwf ,i , j ,k , (32)
where (i, j, k) are the coordinates of the cell connecting to the well. The actual form
of the productivity index expression, PIi,j,k , may be rather more complex since (a) the
well may intersect the block in a more complex way and (b) the aspect ratio of the
block is rather different when a horizontal well intersects it in that the x-direction well
is very close to the z-boundaries since z is often smaller than x or y.
Figure 23
Section of a 3D reservoir model showing two horizontal wells, plus two vertical wells.
5. References
Darman, N.H., Sorbie, K.S. and Pickup, G.E., 1999. “The Development of Pseudo
Functions for Gravity-Dominated Immiscible Gas Displacements”, SPE 51941,
presented at the SPE Reservoir Simulation Symposium, Houston Texas, 14-17 February,
1999.
Lie, K-A, 2016. “An Introduction to Reservoir Simulation Using MATLAB. User Guide
for the Matlab Reservoir Simulation Toolbox (MRST)”, www.sintef.no/mrst/.
Learning Objectives
After studying this topic, you should be able to:
Note that there are some lengthy derivations in this Topic. You are expected to know
the derivations in the main part of this Topic, but not the ones in the Appendix.
1. Introduction
The central activity of reservoir simulation is the numerical solution of the multi-phase
flow equations in real reservoir systems. This chapter introduces the underlying
equations of flow through porous media which are solved in a reservoir simulation
code. We start with the single-phase flow equation for a compressible system. The
mathematics for multi-phase fluid flow is not much more complicated. However, there
are many terms in the equations (especially in a 3D system!), so we shall make some
simplifying assumptions when dealing with two-phase flow.
The resulting equations are, in general, non-linear partial differential equations (PDEs),
which cannot usually be solved analytically. In the next topic, Topic 5, we show how
to discretize these equations for numerical solution in a reservoir simulator.
General Approach
The general approach for deriving the flow equations is basically the same for both
single- and two-phase flow. We first derive a mass balance between the flows and the
accumulation (local mass build-up or decline) in a local control volume. A control
volume can be thought of as a typical isolated grid block in the system (Figure 1). Note
that the mass balance equation must be correct: it is simply a mathematical way of
expressing something that is a fact. Mass balance simply states that over a given period
of time (t, say):
Usually, we do not think of flow in terms of mass, but in terms of the volumetric flow
rate, usually denoted by Q, in units of m3/day, or bbl/day. So the mass flow into or out
of a block in time, t, is given by:
m = Qt,
where is the density (e.g. kg/m3 for metric units). We then use Darcy’s Law to relate
Q to the pressure gradient P x . Hence we derive pressure equations.
Figure 1
Basic Principles of Mass Balance and Darcy’s Law as the basis for all equations for
flow through porous media.
Now consider what happens to the pressure profile if we cause the pressure to rise
suddenly at Well 1 by injecting fluid (identical to the fluid already in the reservoir).
But what happens at Well 2? This depends on what we do with Well 2. Suppose we
leave it shut in, what will eventually happen? If we were injecting a volumetric rate,
q1(t) into Well 1, such that it maintained a constant pressure P1(x=0, t), we should be
varying (reducing) q1 with time, the outcome is predictable. We would keep pumping
in at (decreasing) rate q1(t) until we had “blown up” the pressure in the reservoir – like
pumping up a car tyre – to a pressure P1. Hence the value of q1 would reduce to zero,
and the reservoir pressure in both wells would settle to P(x,t) = P1.
Figure 2
a) Schematic diagram of a long thin “reservoir” containing compressible fluid and
rock.
b) Pressure profile along the system at various times from t = 0, t1, t2, etc. This shows
the pressure diffusing across the system.
On the other hand, suppose we simply pumped fluid into Well 1 at a constant rate q1
(now fixed) and we held the bottom hole pressure of Well 2 to be constant at P(x, L) =
Po (the initial pressure). What would happen in this case? With a little thought, you
can probably visualise the sequence of events, as follows:
Firstly, at early time, up to t2, and a little later, nothing will happen at the Well 2. It
would still have pressure Po and would not be flowing;
The pressure “wave” (actually not a wave, although people tend to refer to it as this)
would propagate or diffuse through the reservoir as shown in Figure 2b); the “speed”
of this wave is governed by the diffusivity which is quantified by k c f as will be
shown later. Note that the larger the fluid compressibility (cf) or porosity (), the
“slower” the wave will propagate;
At a certain time, denoted by t3, the pressure disturbance just reaches the producer,
Well 2, as shown in Figure 2b);
At t = t3, Well 2 must start to flow in order to maintain the pressure at P = Po (this works
like a back-pressure regulator);
As time proceeds ( t ), the pressure wave starts to be felt all across the reservoir
such that the flow rate at Well 1 is (still fixed at) q1, and the pressure settles to a
constant value P1;
In Tutorial 1 for this topic, you are asked to describe the sequence of events which
would occur in the simple 1D system with varying properties and boundary conditions.
(1)
We can write mathematical expressions for each of the terms in Equation (1) as
follows:
(2a)
(2b)
Figure 3
Control volume for the application of material balance for the single-phase flow
equation.
(3)
Note that we have changed signs in the last step for reasons that will become apparent
later on. The density calculated at location (i-1/2) is an average of the density in
blocks (i-1) and i. (Similarly for the density at (i+1/2).)
Therefore:
(4)
Note that the size of the block is assumed constant – i.e. xA is constant. See Figure
4.
Figure 4
The expression for the mass of a fluid in a grid block.
Now apply the mass balance equation (Equation 1) by equating the expressions in
Equations (3) and (4).
q q
A
t t t i 1/2 A i 1/2
, (6)
t x
where we have taken the constant area A into the inner parenthesis of Equation (6).
Note that this is an exact equation, because mass balance is exact. We can take the
limits of Equation (7) as t 0 and x 0 to obtain the equivalent differential
equation.
t t t (
lim (8)
t 0 t t
and
Therefore
u
. (10)
t x
Equation (10) is the differential form of the conservation equation and remember that
it is an exact equation. Note that there is a symmetry between and . These two
quantities appear in an identical manner on the left side of this equation. Therefore,
if the mass in a grid block stayed the same with time, i.e. t 0 , then this
could be because the fluid density decreased (fluid expanded) and the rock porosity
increased (the rock contracted or compressed).
k P
u . (11)
x
We substitute this into Equation (10) (taking care of the signs) to obtain:
k P
(12)
t x x
This equation is now inexact, because Darcy’s Law is just an empirical equation.
However, it is necessary to use a flow law such as Darcy’s Law to provide a link between
fluid velocities and pressure gradients. Equation (12) still does not have pressure (P(x,
t)) explicitly on the left side. However, we know that and both depend locally only
on pressure, i.e. they can be written (P) and (P). We can therefore manipulate the
left side of Equation (12) as follows, using the chain rule of differentiation:
P
(14)
t P t
P k P
C P . (15)
t x x
By solving them numerically where we can handle the non-linearities using certain
types of iterative methods (Topic 5).
Going back to Equation (10), we could include gravity effect by taking the Darcy
equation with gravity as follows.
k P z
u g (16)
x x
(instead of Equation (11)). If the 1D system has a constant incline z(x), then
z x sin where is the angle of the incline (Topic 2).
k P
u g sin (17)
x
P k P
C P g sin . (18)
t x x
In fact, to make clear what is happening to the left side of the equation, we start with
Equation (15) as follows:
P k P
(15)
P t x x
We first list the assumptions which we will make to the above equation, and then we
go on the examining their consequences.
Simplifying Assumptions
1. Viscosity, , is constant (with x and P);
2. Permeability and porosity, k and , are constant (with x and P), i.e. the system is
homogeneous and the rock is incompressible.
P
2
Assumption 1 is probably quite reasonable since viscosity does not vary greatly for
model oils (or water) over small pressure ranges. Assumption 2 is quite drastic since it
says that the permeability and porosoity (k, ) are constant throughout the reservoir.
However, for a real system permeability especially is often very heterogeneous. The
second part of Assumption 2 is that the rock is incompressible, and this is quite
reasonable, because usually cf >> crock. Assumption 3 is rather odd: it is clearly designed
to get rid of “difficult” terms like P x . Assumption 4 – fluid compressibility, cf,
2
does not vary with pressure, is again quite reasonable for most (non-critical) reservoir
oils.
P k P
, (19)
P t x x
P P
. (20)
k P t x x
We now expand the right side of Equation (20) as follows, using the product rule:
P P 2P
2 . (21)
x x x x x
The density, , is only a function of pressure, i.e. (P), so we can expand this equation
using the chain rule:
P P P 2P
2 , (22)
x x P x x x
which gives:
P P 2P
2
2 (23)
x x P x x
Assumption 3 can now be used to eliminate the first term on the right side of
P
2
P 2 P
2 . (24)
k P t x
1 P P
2
2 .
k P t x
1
But, note that c f P , so we have:
c f P 2 P
2 (25)
k t x
P k 2 P
2 , (26)
t c f x
k
where the constant is usually referred to as the hydraulic diffusivity, Dh .
c f
Equation (26) is now a linear PDE and has the form of a linear diffusion equation:
P 2 P
Dh 2
. (27)
t x
ii. Analytical solutions are available for a range of boundary conditions. (See,
for example, Crank, The Mathematics of Diffusion, 2nd edition, Oxford,
Clarendon Press, 1975).
iii. In its radial form (i.e. in radial coordinates, r, rather than x) Equation (27)
becomes the following:
P Dh P
r , (28)
t r r r
which is the well-known equation of well testing. Likewise, this equation has
a number of well-known analytical solutions for various boundary conditions.
iv. The reason these equations have many ready-made analytical solutions
available is because these diffusion equations are well-known and are identical
in form to the equations of heat conduction which have been studied for many
years (Carslaw and Jaeger, 1959).
Ax yh Ay xh
where h is the model thickness (= z) (Figure 5). In addition, we show a source/sink
term due to a (single-phase) well. This well injects or produces exactly the same fluid
as is in the reservoir already. The well flow rate into block (i, j) is described by qwij,
which is the volumetric flow (e.g. in units of m3/day).
Mass flow rate into or out of block (i, j) through a well = qwij ij . (29)
When calculating the change in mass due to the flow into/out of the control volume
we now need to consider flow in the x-direction, the y-direction and the well.
Change in mass in block (i, j) over time t due to flows across the boundaries and the
well:
(30)
The accumulation term is the same as before (Figure 4):
Figure 5
A 2D, x-y grid showing the control volume for calculating mass balance.
Note that the signs have been adjusted on the right side. Now dividing through by
xyht gives:
(33)
where we have used xyh = xAx = yAy. (See Figure 5). Also, we have set
qw qw xyh for convenience. We know that q/A is the Darcy velocity, so
Equation (33) becomes:
(34)
ux u y
t
x
y
q . (35)
This is the 2D mass conservation equation and it is still and exact equation in that no
approximations have yet been made. Clearly we can easily generate this to 3D by
simply adding in a z-flow term, uz, to give:
ux u y uz
t
x
y
z
q . (36)
As before, the pressure still does not yet appear in this equation. We must manipulate
the left side of Equation (35) (or 36) as before (Equation 14) to yield:
P
. (37)
t P t
We then use Darcy’s Law on the right side of the equations. Assuming that z is in the
vertical direction, the Darcy velocities are given by:
k x P z
ux g , (38a)
x x
k y P z
uy g , (38b)
y y
k z P
uz g , (38c)
z
where we note that the permeability may be anisotropic, i.e. k x k y k z . Using the
above equations for the Darcy velocity along with Equation (37) gives the 3D pressure
equation:
P k x P z k P z
g y g
P t x x x y y y
kz P
z
z
g q
(39)
Equation (39) is the 3D generalization of Equation 14, including gravity and also a well
source/sink term. Again, this is a non-linear partial differential equation (PDE) which
cannot generally be solved analytically.
Key Concepts: Ensure you are familiar with the following main ideas of two-phase flow
(where we assume the phases are oil and water):
The two-phase Darcy Law (with gravity) and relative permeabilities krw(Sw) and
kro(Sw).
kkro Po z
uo o g
o x x
kk P z
uw rw w w g
w x x
(Note that we’re back to considering flow in one direction here – the x-direction.)
Phase pressures Po and Pw, and the concept of capillary pressure, Pc(Sw) = Po – Pw,
which acts as a constraint between the phase pressure difference at various
saturations, Sw.
A useful quantity to define is the mass flux. Jo is the mass flux of oil and Jw the mass
flux of water. Mass flux is the mass flow rate per unit cross-sectional area. The
dimension are ML-2T-1, and possible units are kg.m-2s-1, or lbs.ft-2day-1.
Figure 6 and the paragraphs below show how the mass flux of oil may be calculated.
(The calculation for the water flux is similar.)
Figure 6
Definition of the oil flux, Jo.
(40)
qo o uo osc
Therefore, mass flow rate of oil per unit area = uo o
A Bo
(41)
But, by definition the above quantity is the flux, Jo (Figure 6) (where we note that
qo / A uo is the Darcy velocity of oil).
J o uo o ; J w uw w . (42)
However, usually the density is given at standard conditions (sc = standard conditions
= 60oF and 14.7 psia, or ~15.6oC and 1 bar). Then Bo, or Bw are used to convert the
densities to reservoir values.
uo osc uw wsc
Jo ; Jw . (43)
Bo Bw
Now we used the flux expression to perform the mass balance on control block i in
Figure 7.
Figure 7
Control volume (block i) for two-phase flow.
(44)
Mass of oil flowing out of block i over time t = J o At i 1/2 (45)
Remember that A = yz. Also, note that we changed the signs in Equation (46), so
that we have minus (the flow going out minus the flow going in), because we are going
on to form the differential equation.
The accumulation – i.e. change in the mass of oil in block i – is then calculated. Note
that in the two-phase case, we need to remember to take account of the saturation of
oil in the block. This is the proportion of the pore volume occupied by the oil.
Taking limits as x and t tend to zero, we obtain the differential form of the mass
conservation equation:
S o o J
o . (50)
t x
So osc J o
. (51)
t Bo x
u
Then substituting for J o o osc gives:
Bo
So osc uo osc
. (52)
t Bo x Bo
So uo
. (53)
t Bo x Bo
Sw uw
. (54)
t Bw x Bw
The above equations are the exact differential forms of the oil and water mass
conservation equations. They involve no assumptions: they simply arise as a result of
the definition of various terms. However, these equations are not useful in this form
since they do not mention pressure, and this is what we measure in a reservoir – not
local (spatially distributed) velocities, uo and uw. We therefore need to use Darcy’s Law.
So kkro Po z
o g . (55)
t Bo x o Bo x x
Sw kkrw Pw z
t Bw x w Bw x w g x . (56)
These equations express the mass conservation of oil and water, on the assumption
that the two-phase Darcy Law applies. They are therefore not exact (because Darcy’s
law is empirical).
At first glance, it appears that Equations (55) and (56) have 4 unknowns: Po, Pw, So and
Sw. Since there are only two equations, it seems impossible to solve. However, we
have two additional equations, which act as constraints:
Pc Po Pw and So Sw 1 .
Therefore there are only two independent unknowns: e.g. Po and Sw.
Although we are only dealing with a 1D model here, the derivation of the two-phase
pressure equation becomes quite lengthy. At this point, we are going to simplify the
two-phase flow equations. The full equations are given at in an Appendix to Topic 4
(and are non-examinable).
So kkro P
, (57)
t x o x
S w kkrw P
. (58)
t x w x
So S w
Remember that So + Sw = 1. Therefore 0 . (If we increase the oil
t t
saturation by a certain amount, we must decrease the water saturation by the same
amount.) Now, if we add these two equations together, we get:
kkro P kkrw P
0 (59)
x o x x w x
P
o w 0 (60)
x x
kkro kkrw
o and w . (61)
o w
These phase mobilities are functions of the saturation through the relative
permeabilities, i.e. we have o(So) and w(Sw). To simplify further, we define a total
mobility as:
T So o w (62)
P
T 0 . (63)
x x
This is the simplified pressure equation. However, we also need to have another
equation to give the saturation. This 2nd equation can be given by either Equation (57)
or (58), e.g.
So kkro P
. (64)
t x o x
Note that these two equations are coupled. That is, the coefficients in the pressure
equation, T depend on the saturation, and the saturation depends on the pressure
gradient P x . Therefore, if we solve the equations one at a time, we don’t know
the values to use for the coefficients. Here we consider how we could solve the
equations. In Topic 5 we go into a bit more detail.
In grid block, i, we have two unknowns, Poi and Soi. Consider the situation at time t,
which is the nth time step (t = n x t).
We wish to find Poi and Soi at the next time step, t = t+t, or n+1.
Figure 8
Schematic diagram showing the update of the pressure and saturation in grid block, i,
over time step, t.
The pressure equation has terms which depend on So, so we need to know Soin 1 to
solve for the pressure. However, we can try the following strategy:
a) Use S oin , i.e. the known saturation values to calculate the coefficients in the
pressure equation (Equation 63).
c) Now solve the saturation equations (Equation 64) using the latest values for
Poin 1 for the pressure-dependent flow terms, to get the Soin 1 values.
d) We now have values for Poin 1 and Soin 1 . However, we may calculate the values
more accurately by going back to step a) and using our new saturations, Soin 1
, to obtain a better solution for the Poin 1 values.
e) We could iterate through steps a) to d) until the process converges, i.e. the
newly calculated Soin 1 and Poin 1 do not change any more (or only change by a
tiny amount). We then accept these as our “accurate” new time level values,
and go on to the next time level.
The above description outlines a strategy for solving the equations. We shall deal with
the solution of equations in Topic 5.
(65)
So k kro P z
o g (66)
t Bo x o Bo x x
These two equations can be solved to estimate the evolution of the pressure and
saturation throughout a system with time. They can take account of compressibility of
both the fluid and the rock, and also they can take the effects of gravity and capillary
pressure into account.
4. Closing Remarks
In this Topic, we have derived the fundamental equations for single- and two-phase
flow in a porous medium. These equations are derived by applying:
In two phases, the mass conservation is applied to each phase. We have to remember
to include the phase saturation, the relative permeabilities and the capillary pressure.
(Topic 7 discusses relative permeability and capillary pressure in detail.)
For both single- and two-phase flow, the resulting equations for the compressibility
system are non-linear PDE’s. Moreover, the two-phase flow equations are coupled
equations. The equations cannot be solved analytically. The numerical solution of
these equations is discussed in Topic 5.
5. References
Carslaw, H.S. and Jaeger, J.C., 1959. “Conduction of Heat in Solids”, 2md Edition,
Oxford Clarendon Press.
Crank. J., 1975. “The Mathematics of Diffusion”, 2nd Edition, Oxford Clarendon Press.
So kkro Po z
o g . (A1)
t Bo x o Bo x x
Sw kkrw Pw z
t Bw x w Bw x w g x . (A2)
Expand the left side of Equation (A1), using the product rule for differentiation and
then the chain rule:
So 1 So So
So
t Bo t Bo Bo t Bo t
So 1 So Po
So
Bo t Po Bo Bo Po t
(A3)
Sw Sw 1 Sw Po
Sw
t Bw Bw t Po Bw Bw Po t
(A4)
(You may notice that we’ve changed Pw to Po in Equation A4. Since we are just
interested in the variation certain quantities with pressure, the label does not matter.)
So Sw
We want to eliminate the time derivative. Since 0 , we can multiply (A3)
t t
by Bo and (A4) by Bw , and then add the two equations.
Bo So So 1 So Po
Bo So (A5)
t Bo t Po Bo Po t
Bw Sw S w 1 Sw Po
Bw Sw (A6)
t Bw t Po Bw Po t
Adding, we get:
1 1
Bo So Bw S w
Bo So Bw S w Po Bo Po Bw Po
t
t Bo t Bw So S w
Po Po
1 1 1 Po
Bo So Bw S w
Po Bo Po Bw Po t
(A7)
The terms in the square brackets in Equation (A7) are compressibility terms. We
simplify the equation, by lumping these together, i.e.:
1 1 1
So ; Po Bo So Bw S w (A8)
Po Bo Po Bw Po
The expression above (A7) was derived by multiplying the left sides of equations (A1)
and (A2) by Bo and Bw , respectively, and then adding them together. We now
need to do the same thing to the right side of these equations.
(A9)
We now use the capillary pressure, Pc(Sw) = Po – Pw, to eliminate Pw, i.e.
This gives:
This is the 1D pressure equation for a two-phase compressible (fluids and rock) system.
Each of the terms is physically interpretable and we expand this out to see each of the
contributions more clearly. This is the same as Equation (65), shown in Section 3.4.
(A12)
So k kro P z
o g . (A13)
t Bo x o Bo x x
Learning Objectives
After studying this topic, you should be able to:
Note that once again, there are some lengthy derivations in this Topic. The student
should work through all of these in detail to understand each step of the process. All
the derivations are examinable, except the solution of the non-linear equation which
is given in the Appendix.
1. Introduction
As noted in Topic 4, the multi-phase flow equations for real systems are so complex
that it is not possible to solve them analytically. In practice these equations can only
be solved numerically. There are several different ways in which the equations may be
discretised. Here we shall use the simplest approach, which is the finite difference
method.
After a brief review of finite differences, we go on to apply them to very simple systems
such as for the simplified 1D pressure equation (derived in Topic 4). This equation does
not need to be solved numerically but it demonstrates how explicit and implicit finite
difference solution can be developed. We then show how sets of linear equations arise
in solving implicit equations and we consider solution of the linear equations in an
elementary manner. We then consider how the 2D pressure equation is solved.
In the numerical solution of the multi-phase flow equations, we need to solve for
pressure and flow. An outline of how this is done is presented but we do not go into
great detail.
At the very start of this course, we considered a very simple “simulation model” for a
growing colony of bacteria. The number of bacteria, N, grew with a rate proportional
to N itself i.e. (dN/dt) = N, where is a constant. We saw that this simple equation
t
had a well-known analytical solution, N No e , where No is the number of bacteria
at time, t = 0. This exponential growth law provides the solution to our model.
However, we also introduced the idea of a numerical model, even although we could
solve the problem analytically. The numerical version of the model came up with an
algorithm (or recipe). In the Tutorial exercise in Topic 1, you should have compared
the results of the analytical and numerical models and found out that they get closer
as we take successively smaller time steps, t. In this case, we say that the numerical
model converges to the analytical model. In fact, in many areas of science and
engineering, we often apply a numerical technique to a problem we can already solve
analytically i.e. where we “know the answer”. Why would we do this? The answer is
that we might be testing the numerical method to see how closely it gives the right
answer. More commonly, we might test several - maybe 3 or 4 - numerical techniques
to determine which one works best. The phrase “works best” in the context of a
numerical method usually means gives the most accurate numerical agreement with
the analytical answer for the least amount of computational work. Note the
importance of this balance between accuracy and work for a numerical method. There
may be no point in having a numerical method that is “twice” as accurate (in some
sense) for ten times the amount of computational work.
In Topic 4, we already met the equations for single-phase and two-phase flow of
compressible fluids through porous media. These turned out to be non-linear partial
differential equations (PDEs). Recall that a non-linear PDE is one where certain
coefficients in the equation depend on the answer we are trying to find e.g. Sw(x,t),
P(x,y,z,t) etc. For example, for single phase compressible flow, the equation for
pressure, P(x,t), in 1D is given by:
P k P
c P
t x x
(1)
In this equation, both the generalised compressibility term, c(P) (of both the rock and
the fluid), and the density, (P), terms depend on the unknown pressure, P, which we
are trying to find. As noted previously, such non-linear PDEs are very difficult to solve
analytically and we must usually resort to numerical methods. The main topic of this
module is on how we solve the reservoir flow equations numerically. This process
involves the following steps:
(i) Firstly, we must take the PDE describing the flow process and “chop it up” into grid
blocks in space. This is known as spatial discretisation and, in this course, we will
exclusively use finite difference methods for this purpose.
(ii) When we apply finite differences, we usually end up with sets of non-linear
algebraic equations, which are still quite difficult to solve. In some cases, we do
solve these non-linear equations. However, we usually linearise these equations
in order to obtain a set of linear equations.
(iii) We then solve the resulting sets of linear equations. Many numerical options are
available for solving sets of linear equations and these will be discussed below. This
is often done iteratively by repeatedly solving them until the numerical solution
converges.
This module will deal successively with each of the parts of the numerical solution
process, (i) - (iii) above.
dP P 2 P
, , , etc.
dx x x 2
Approximation 1 – Forward Difference (fd): take the slope between Pi and Pi+1 as
being approximately equal to dP dx i at xi to obtain:
dP Pi 1 Pi
. (2)
dx i fd x
Approximation 2 – Backward Difference (bd): take the slope between Pi-1 and Pi as
being approximately equal to dP dx i at xi to obtain:
dP Pi Pi 1
. (3)
dx ibd x
Approximation 3 – Central Difference (cd): we could take the average of the forward
and backward difference approximations to give us dP dx i at xi.
dP 1 dP dP 1 Pi 1 Pi Pi Pi 1
dx i cd 2 dx i fd dx ibd 2 x x
dP Pi 1 Pi 1
(4)
dx i cd 2x
Figure 1
Notation for the application of finite difference methods for approximating
derivatives.
dP
Each of the above approximates to as shown in Figure 2. But which is best?
dx i
There is not an unqualified answer to this question, but let’s take a simple numerical
example, e.g. P(x) = ex, where we know the right answer. The values given in Figure 3
illustrate how the methods perform.
dP
We take xi = 1.0, and x = 0.1, and P 1 2.7183 .
dx 1
Figure 2
The three types of finite difference approximations
dP 3.0042 2.7183
2.859 err 0.14
dx i fd 0.1
dP 2.7183 2.4596
2.587 err 0.13
dx ibd 0.1
dP 3.0042 2.4596
2.723 err 0.005 (5)
dx i cd 0.2
Figure 3
A numerical example of the finite difference approaches. P(x) = ex.
The quantity in square brackets after each of the finite difference approximations
above is the error i.e. the difference between that method and the right answer which
is 2.7183. As expected from the figure for this case, the forward difference answer is a
little too high (by ≈ +0.14) and the backward difference answer is a little too low (by ≈
-0.13). The central difference approximation is rather better than either of the previous
ones. In fact, we note that the fd and bd methods give an error of the order ∆x, the
grid spacing (where, as engineers, we are saying 0.14 ≈ 0.1!). The cd approximation, on
the other hand, has an error of order ∆x2 (where again we are saying 0.005 ≈ 0.1x0.1 =
0.01). More formally, we say that the error in the fd and bd approximations are "of
order Δx" which we denote, O(∆x), and the cd approximation has an error "of order
Δx2" which we denote, O(∆x2).
d 2P
Now consider the finite difference approximation of the second derivative, .
dx 2
Going back to Figure 1, the definition of the second derivative of P(x) at xi, is the change
in the slope dP dx at xi. Therefore, we can evaluate this derivative between xi-1 and
xi (i.e. the bd approximation) and then do the same between xi and xi+1 (i.e. the fd
approximation) and simply take the rate of change of these two quantities with respect
to x, as follows:
dP dP
d 2P dx i fd dx ibd
dx 2 x
Pi 1 Pi Pi Pi 1
x x
x
Therefore
d 2 P Pi 1 Pi 1 2 Pi
. (6)
dx 2 x 2
d 2P
The accuracy of may be estimated using the example shown in Figure 3. The
dx 2
correct answer is 2.7183. Equation (6) gives:
Thus we can see that the error in this case is approximately 0.001, so is O(x2).
In the introductory section of Topic 1, we already applied the idea of finite differences
(although we did not call it that at the time) to the simple ordinary differential
equation:
dN
N
dt
Here, N (the number of bacteria in the colony) as a function of time, N(t), is the
unknown we want to find. Denoting Nn and Nn+1 as the size of the colony at times t
(labelled n) and t + t (labelled n+1), we applied finite differences to obtain:
dN N n1 N n
Nn (8)
dt t
This gives:
N n1 1 t N n .
This gave us a very simple algorithm for calculating Nn+1. We then took this as the
current value of N and applied the algorithm repeatedly.
P k 2 P 2 P
D (9)
t c x 2 x 2
h
where Dh is the hydraulic diffusivity. As we noted in Topic 4, this PDE is linear and has
known analytical solutions for various boundary conditions. However, we will neglect
these and apply numerical methods as an example of how to use finite differences to
solve PDEs numerically. To make things even simpler, we will take Dh = 1, giving the
equation:
P 2 P
(10)
t x 2
This is the pressure equation for a 1D system where 0 < x < L, where L is the length of
the system. We can visualise this physically - much as we did in Topic 4, Section 2.1 -
using Figure 4. After the system is set constant at P = Po, the inlet pressure is raised
(at x = 0) instantly to P = Pin while the outlet pressure is held at Pout = Po.
These pressures, Pin and Pout, represent the constant pressure boundary conditions
(Mathematically these are sometimes called Dirichlet boundary conditions.) In other
words, these are set, as if by experiment, and the system between 0 < x < L must “sort
itself out” or "respond" by simply obeying Equation (10) above.
Figure 4
Diagram of the pressure propagation in a 1D (compressible) system.
Fix the boundary conditions which, in this case, are as follows (Figure 4):
Apply finite differences to Equation (10) using the above notation to obtain:
n 1
P Pi Pi
n
(11)
t i t
2 P Pi ??1 Pi ??1 Pi ??
2 (12)
x i x 2
However, an issue arises in Equation (12) above as shown by the question marks on
the spatial derivative time levels. It is simply: which time level should we take for the
spatial derivative terms in Equation (12)? This is important and we will return to this
matter soon. However, for the moment, let us take these spatial derivatives at time
level n (the “known” level) since this will turn out to be the simplest thing we can do.
Thus we obtain:
2 P Pi n1 Pi n1 2 Pi n
2 (13)
x i x 2
n 1
which arranges into an explicit expression for Pi , the only unknown in the above
equation:
t
Pi n 1 Pi n
x 2
Pin1 Pin1 2Pi n (15)
Equation (15) gives the algorithm for propagating the solution of the PDE forward in
time from the given set of initial conditions.
0 x 1.0
x 0.1 implies 11 grid points, P1, P2, P3, ..., P11 (NX = 11)
t 0.01 .
The problem is then to calculate the solution, P(x,t), that is for all i (at all grid points)
and all future times up to some final time (possibly when the equation comes to a
steady-state as will happen in this example). This exercise is carried out in Tutorial 1
for Topic 5.
The assumption we made in Equation (12) was that the spatial derivative was taken at
the n (known) time level. This allowed us to develop an explicit formula for the
pressure (for all i). This method is therefore known as an explicit finite difference
method. We can learn about some interesting and useful features of the explicit
method which is encapsulated in Equation (15) by simply experimenting with the
spreadsheet in Tutorial 1 for this Topic. Three features of this method can be
illustrated by “numerical experiment” as follows:
(ii) The effect of refining the spatial grid size, x (or number of grid cells, NX);
(iii) The effect of running the calculation to steady-state as t (in practice, until
the numerically computed solution stops changing).
Another way to represent this explicit finite difference solution to the PDE is shown in
Figure 5, where we indicate the time levels for the solution of the equations and we
n 1
also show the dependency of the unknown pressure ( Pi ).
Figure 5
Schematic diagram of the explicit finite difference algorithm for solving the linear
pressure diffusion equation.
consequences of taking this derivative at the (n+1) time level - this is the “unknown”
time level. The finite difference equation for this case is as follows: The time derivative
is the same, i.e.
n 1
P Pi Pi
n
(16)
t i t
2 P Pi n11 Pi n11 2 Pi n 1
2 . (17)
x i x 2
Pi n 1 Pi n Pi n11 Pi n11 2 Pi n 1
. (18)
t x 2
This equation should be compared with Equation (14). In the previous case, the
n 1
equation could be easily rearranged into an explicit equation for Pi (Equation 15).
However, Equation (18) cannot be rearranged so easily. There are now 3 unknowns.
This seems to be a paradox: how do we calculate 3 unknowns from one equation. The
answer is that there is one such equation for each grid point. We show below that this
is a set of linear equations, and that there are the same number of equations as there
are unknowns. This approach is more work than the simple explicit method. We have
an implicit set of equations, and this method is known as an implicit finite difference
method.
To obtain the linear equations, rearrange Equation (18) so that all of the unknowns are
on the left and the knowns are on the right.
x 2 n 1 x 2 n
Pi n11 2 n 1
Pi Pi 1 Pi . (19)
t t
x 2 x 2 n
where ai 1 1; ai 2 i 1
; a 1 and b Pi .
t t
i
These are all known. The ai do not change through the calculation, but bi is updated at
each time step as the newly calculated Pn+1 is set to Pn for the next time step. This is
demonstrated below using a system with 5 grid blocks as shown in Figure 6. We
assume that the pressures are fixed on the boundaries: P1 at grid point 1 and P5 at
grid point 5.
Figure 6
Simple example of a 5 grid-block system to illustrate the implicit finite difference
scheme.
We write out the equations for points 2, 3 and 4, which we wish to solve for all times
after t = 0. (We can assume that the pressures are all equal to P5 at time t = 0.)
1) P1 = P1 ;
x 2 n
2) P1 a2 P2n 1 P3n 1 b2 P2
t
x 2 n
a2 P2n 1 P3n 1 P2 P1
t
x 2 n
3) P2n 1 a3 P3n 1 P4n 1 b3 P3
t
x 2 n
4) P3n 1 a4 P4n 1 P5 b4 P4
t
x 2 n
P3n 1 a4 P4n 1 P4 P 5
t
5) P5 = P5 . (21)
As you can see, we have three equations for three unknowns. We can represent these
equations in matrix form, as follows:
x 2 n
P2 P1
t
a2 1 0 P2n 1
1 x n
2
a3 1 P3n 1 P3 (22)
t
0 1 a4 P4n 1
x P n P
2
t 4 5
The structure of this matrix equation is clearer when there are more equations
involved. For example, it is quite easy to show that, if we take 12 grid points instead
of the 5 above, we obtain 10 equations (using the two fixed boundary conditions,
P1 P1 and P12 P12 ) for the quantities P2n1 , P3n1 , P4n1 ,..., P11n1 of the form:
(23)
For this simple 1D PDE, it is clear that the matrix arising from our implicit finite
difference method has the following properties:
(i) It is tridiagonal - that is, it has a maximum of three non-zero elements in any
row and these are symmetric around the central diagonal;
(ii) It is very sparse - that is, most of the elements are zero. In an MxM matrix,
there are only 3M non-zero terms but M2 actual elements. If M = 100, then
the matrix is only (300/1002)x100% = 3% filled with non-zero terms.
Finally, note that the implicit finite difference scheme may be viewed as shown in
Figure 7. Contrast this with the equivalent figure for the explicit method (Figure 5).
Figure 7
Schematic diagram of the implicit finite difference algorithm for solving the linear
pressure diffusion equation.
P k x P k y P
. (24)
P t x x y y
P 2 P 2 P
Dh, x 2 Dh, y 2 (25)
t x y
kx ky
where Dh , x and Dh , y is the hydraulic diffusivity in the x- and y-
c c
directions, respectively.
Equation (25) above can be discretised in a similar way to that applied to the 1D linear
pressure PDE discussed above. However, we will need to be quite clear about our
notation in 2D and, for this purpose, we refer to Figure 8. This shows the discretisation
grid for the above PDE - note that this is essentially the opposite of what we did when
we derived the equation in the first place! In Topic 4, we used a control volume (or
grid block) to express the mass conservation and then inserted Darcy’s Law for the
block to block flows; we then took limits as x, y and t 0. Here, we are starting
with the PDE and going back to the local conservation of flows and introducing finite
size x and y.
Figure 8
Discretisation and notation for the 2D pressure equation.
Discretising equation (25) above and using the notation shown in Figure 8, we get:
Pi ,nj1 Pi ,nj
Dh, x
P n 1
i 1, j Pi n1,1j 2 Pi ,nj1
Dh, y
P n 1
i , j 1 Pi ,nj11 2 Pi ,nj1
(26)
t x y
2 2
Note that in this case, we’ve not assumed that the hydraulic diffusivity equals 1, like
we did in Equation (10). Since we are using the implicit scheme, we take the pressure
on the right side at time (n+1).
Dh , x t Dh , x t Dh , x t Dh , y t
Pi n1,1j Pi n1,1j 2 Pi ,nj1 Pi ,nj11
x 2
x 2
x 2
y 2
(27)
Dh , y t n 1
Dh , y t n 1 n 1
P i , j 1 2 P P P n
y 2 y 2
i, j i, j i, j
ai , j 1Pi ,nj11 ai 1, j Pi n1,1j ai , j Pi ,nj1 ai 1, j Pi n1,1j ai , j 1Pi ,nj11 bi , j (28)
where the coefficients ai,j and bi,j are known. Note that the terms have been arranged
in the order south, west, centre, east and north for convenience later (Figure 8).
Equation (28) is similar to Equation (20) for the 1D system. However, now we have 5
non-zero terms in each equation rather than 3, and the matrix of coefficients is known
as a pentadiagonal matrix.
Figure 9
Numbering system for the 2D equations.
amnx Pmnnx
1
am1Pmn11 am Pmn1 am1Pmn11 amnx Pmnnx
1
bm (29)
Note that, when we apply the above equation numbering scheme to the example in
Figure 9 (nx = 4, ny = 5 and therefore, 1 m 20 ), certain “neighbours” are “missing”
when a block is at the boundary (or in a corner where two neighbours are missing).
For example, for block (i = 1; j = 3), that is block m = 9, the “i-1 block” is not there.
Therefore, the coefficient am-1 =0 in this case. This is best seen by writing out the
structure of the 20 x 20 A-matrix by referring to Figure 9; the A-matrix structure is
shown in Figure 10.
Note that the A-matrix structure in Figure 10 is sparse and has a maximum of five non-
zero coefficients in a given row – it is a pentadiagonal matrix.
Figure 10
Structure of the matrix of coefficients for the 2D pressure equation. See Figure 9 for
the ordering scheme for the cell counter, m.
All implicit methods for discretising the pressure equation lead to sets of linear
equations. These have the general matrix form:
A.x b (30)
where A is a matrix like the examples shown above, x is the column vector of unknowns
(such as pressures) and b is a column vector of the RHSs. This is just like Equation (31)
but it is in shorthand form. We will discuss methods for solving these equations later
in this chapter. For the meantime, we will just assume that it can be solved. We next
consider when the PDEs describing a phenomenon are non-linear PDEs.
systems (i.e. compressible rock and fluid) the equations are non-linear. For example,
the density of the rock and fluid may depend on the pressure, which is what we’re
trying to solve. We will not derive the non-linear equations here, but the method is
similar to the method for deriving the linear equations. The final result is of the form:
where we have used Greek symbols to indicate that the coefficients depend on
pressure. The elements of the matrix, m and the column vector are not constant,
because they depend on pressure.
How do we go about solving the non-linear set of algebraic equations in (31)? We have
two choices in tackling this more difficult problem as follows:
(i) We can use a numerical equation solver which is specifically designed to solve
more difficult non-linear problems. An example of this type of approach is in using
the Newton-Raphson method. We will return to this method later (once we have
seen how to solve linear equations).
(ii) We can choose to apply a more pragmatic algorithm such as the following:
a) Although our -terms in Equation (31) are strictly at time level (n+1), simply
take them at time level n, as a first guess. So we approximate Equation (31) by
the following first guess:
mn nx Pmnnx1 mn 1Pmn11 mn Pmn1 mn 1Pmn11 mn nx Pmnnx1 mn (32)
where the quantities m, etc and m are evaluated at the (known) time level n,
n
i.e. at values of pressure, Pm .
b) Solve the now linear Equations (32) above to obtain a first estimate - or a first
iteration - of the Pn each grid point. We will use the following notation: m
where is the iteration counter and m is the value of the coefficient for
P
m
n 1
, after iterations; that is:
m m Pmn1 .
(33)
c) Use the latest iterated values of the to solve the (now linear) equations to go
from to Pm to P
n 1 v n 1 v 1
m .
d) Keep iterating the above scheme until it converges; i.e. the difference between
the sum of two successive iterated values of the pressure (Err) is sufficiently
small (< Tol, which is an acceptably small value):
The algorithm outlined in (ii) above for solving the non-linear pressure equation is
represented in Figure 11.
Figure 11
Algorithm for the numerical solution of the non-linear 2D pressure equation.
From Topic 4, we use the highly simplified form of the 1D pressure and saturation
equations, where we choose to solve for P(x,t) and So(x,t) as shown in Topic 4,
Equations (63) and (64). Note that we have taken zero capillary pressure (therefore P
= Po = Pw) and a horizontal system, so no gravity, which gives:
P
PRESSURE EQUATION T So 0 (35)
x x
So P
SATURATION EQUATION o So (36)
t x x
(Equations (35) and (36) are the same as Equations 63 and 64 from Topic 4,
respectively).
The quantity T is the total mobility and is the sum of the oil and water mobilities:
Equations (35) and (36) are clearly coupled together since the oil saturation appears in
the non-linear coefficient of the pressure equation. Likewise, the pressure appears in
the flow term on the right side of the saturation equation.
We can now apply finite differences to each of these equations in the same way as
discussed above to obtain the pressure equation:
P P
T So x T So
i 1/2 x i 1/2
0 (37)
x
Pi n11 Pi n 1 Pi n 1 Pi n11
T o
S
T o
S
x i 1/2 x i 1/2
0 (38)
x
In Equation (38), we must specify the time level of the non-linear mobility. We could
either take this at time level n or (n+1). We will choose the most difficult option, which
is to specify at the new time, i.e. at Son 1 . There terms are denoted at T So
n 1
i 1/2
and T So
n 1
i 1/2
. This gives:
T Son1
T Son 1
x 2
i 1/2
P n 1
i 1 Pi n 1
x2 i 1/2
i i1 0 (39)
P n 1
P n 1
Rearranging, we obtain:
S
T
n 1
o
i 1/2
P n 1
T Son 1
i 1/2
S
T
n 1
o
i 1/2
Pi
n 1
T Son 1
i 1/2
Pi n11 0
i 1
x 2
x 2 x 2
x 2
(40)
We now consider the discretisation of the saturation Equation (36). Finite differences
may be applied as follows:
P P
o So o So
S S x i 1/2 x i 1/2
n 1 n
oi oi
(41)
t x
Again we can expand the derivatives at the (i+1/2) and (i-1/2) boundaries (Figure 8)
and take the mobility terms at time level (n+1), to obtain:
2 Pi 1 Pi
n 1
2
i 1/2
Pi
n 1
Pi
n 1
1
t x
x
(42)
The above non-linear set of equations can be written in various ways. Two particularly
useful ways to write the above equations are as follows:
Form A:
o So i 1/2 n 1
t o Son 1
n 1
S n 1
oi S
n
oi
x 2 Pi 1 Pi
n 1
x 2
i 1/2
Pi
n 1
P n 1
i 1
(43)
Form B:
o So i 1/2 n 1
t o Son 1
n 1
S n 1
oi S
n
oi
x 2 Pi 1 Pi
n 1
x 2
i 1/2
Pi Pi 1 0
n 1 n 1
(44)
The reason for writing the above two forms of the saturation equation is that each is
useful, depending on how we intend to approach the solution of the coupled pressure
and saturation equations (Equations 63 and 64).
As with the case of the solution of the non-linear single phase pressure equation for a
compressible system, we have two strategies which we can use to solve the two-phase
equations above, as follows:
We can actually use a numerical equation solver which is specifically designed to solve
more difficult non-linear problems; e.g. the Newton-Raphson method. We will return
to this method later (once we have seen how to solve linear equations).
We can again choose to apply a more pragmatic algorithm and this is the subject of
Section 4.2 below.
4.2 IMPES Strategy for Solving the Two-Phase Pressure and Saturation
Equations
Take the pressure and saturation equations as follows (Equations 40 and 43):
PRESSURE:
S
T
n 1
o
i 1/2
P n 1
T Son 1
i 1/2
S
T
n 1
o
i 1/2
S n 1
Pi n 1 T o
i 1/2
Pi n11 0
i 1
x 2
x 2 x 2
x 2
(40)
SATURATION:
o So i 1/2 n 1
t o Son 1
n 1
S n 1
oi S
n
oi
x 2 Pi 1 Pi
n 1
x 2
i 1/2
Pi
n 1
Pi 1
n 1
(43)
(i) In order to be able to solve the pressure equation, take the coefficients at time
level n (i.e. use the mobilities for the known saturations, S on ). This gives a first
estimate for the pressures.
(ii) Use the first estimate of the pressures to update the saturations, using Equation
(43). This gives us an estimate of Son 1 .
(iii) Use the updated saturation values to give another estimate for Pn+1.
(iv) Iterate these steps, using as an iteration counter. Keep iterating these steps until
P n 1 1
Pi n 1
the solution converges – i.e. until i
is less than some small
tolerance (e.g. 10-6). Now we have solved the pressure equations implicitly.
(v) Then the saturations may be solved explicitly using Equation (43).
This approach is known as the IMPES approximation, which stands for IMplicit Pressure
Explicit Saturation. There are however limitations in the time steps, t in the IMPES
approach. If t is too large, the solution may become unstable and give unphysical
results.
….. …..
….. …..
….. …..
Where the aij and bi are known constants and the xi (i = 1, 2, …, n) are the unknown
quantities which we are trying to find. The xi in our pressure equation, for example,
would be the unknown pressures at the next time step.
We can write the matrix A and the column vectors x and b as follows:
and the set of linear equations can be written in a very compact form:
A.x b (48)
4 x1 2 x2 1x3 13
1x1 3x2 3x3 14 (49)
2 x1 1x2 2 x3 11
How do we solve these? In the above case, you can do a simple trial and error solution
to find that x1 = 2, x2 = 1 and x3 = 3, although this would be virtually impossible if there
were hundreds of equations. Remember, there is one equation for every grid block in
a linearised pressure equation in reservoir simulation (although there are lots of zeros
in the A matrix). This implies that we need a clear numerical algorithm that a computer
can work through and solve the linear equations. The overview of approaches to
solving these equations is discussed in the next section.
Basically, there are two main approaches for solving sets of linear equations involving
direct methods and iterative methods as follows:
Direct Methods: this group of methods involves following a specific algorithm and
taking a fixed number of steps to get to the answer (i.e. the numerical values of x1, x2
.. xn). Usually, this involves a set of forward elimination steps in order to get the
equations into a particularly suitable form for solution (see below), followed by a back
substitution set of steps which give us the answer. An example of such a direct method
is Gaussian Elimination.
Iterative Methods: in this type of method, we usually start off with a first guess (or
estimate) to the solution vector, say x(0) . Where we take this as iteration zero, = 0.
We then have a procedure – an algorithm – for successively improving this guess by
( )
x
x .... x etc. If it is successful, then this
(1) (2) (3)
iteration to obtain, x
iterative method should converge to the correct x as increases. The solution should
get closer and closer to the “correct” answer but, in many cases, we cannot say exactly
how quickly it will get there. Therefore, iterative methods do not have a fixed number
of steps in them as do direct methods. Examples of iterative methods are the Jacobi
iteration, the LSOR (Line Successive Over Relaxation) method, etc.
The following two sections will discuss each of these approaches for solving sets of
linear equations in turn.
A.x b (50)
where A is an n x n square matrix and x and b are n x 1 column vectors. We can form
an augmented matrix with (n+1) columns and n rows, as follows:
The C-matrix above is in upper triangular form, i.e. only the diagonals and above are
non-zero
( cij 0, j i ) and all elements below the diagonal are zero ( cij 0, i j ), as shown
above. Now consider why this particular form is of interest in solving the original
equations. The reason is that, if we have formed the augmented matrix correctly (i.e.
doing the same operations to the A and b coefficients), then the following matrix
equation is equivalent to the original matrix equation:
This matrix equation is very easy to solve, as can be seen by writing it out in full as
follows:
….. …..
cnn xn en (55)
We can now easily solve this equation by back-substitution, starting from equation n
in which we only have one term to find, xn. Once xn has been determined, it can be
used in the (n-1) equation to determine xn-1, etc.
adequately illustrates the main ideas which you need to know for the purposes of this
part of the course.
Our simple scheme starts with the longhand version of a set of linear equations and,
for our purposes, we will just take a set of four linear equations as follows:
1
x1 b1 a12 x2 a13 x3 a14 x4
a11
1
x2 b2 a21 x1 a23 x3 a24 x4
a22
(57)
1
x3 b3 a31 x1 a32 x2 a34 x4
a33
1
x4 b4 a41 x1 a42 x2 a43 x3
a44
The resulting equations are precisely equivalent to the original set. They have been
reorganised to form the basis for an iterative scheme. Firstly, we introduce the
following notation:
( )
x , x - the first guess and the th iteration of the solution vector, x.
(0)
Err - an estimate of the error in the iterative scheme from the th to the (-1)th
iteration
Tol - some “small” quantity which determines the acceptable error in the iteration
scheme.
If Err < Tol the scheme has converged.
Using the above notation in Equations (57) above, we get the following simple iterative
scheme.
x1 1
1
a11
b1 a12 x2 v a13 x3 a14 x4
x2 1
1
a22
b2 a21 x1 v a23 x3 a24 x4
(58)
x3 1
1
a33
b3 a31 x1 v a32 x2 a34 x4
x4
1
1
a44
b4 a41 x1 a42 x2 a43 x3
v
This iteration scheme may now be applied as follows:
(iii) Estimate the error term (Err) by comparing the ( + 1) values with the values:
4
Err xi 1 xi
i 1
(iv) If Err < Tol, the scheme has converged. If not go back to step (ii) and continue
the iterations.
Example: Solve the following set of equations using the iterative scheme described
above.
x1
1
1 3.1 13.92 0.32 x2 0.5 x3 0.1x4
x2 1 2.1 5.63 0.20 x 033x 0.21x
1
1 3 4
Fill out the following table using Excel or Matlab. (This may be tried in the Tutorial 2
for Topic 5.)
Iteration
counter x at iteration k
k x1 x2 x3 x4
First guess 0 2.0 2.0 2.0 2.0
1
2
3
4
5
6
7
8
9
10
Table 1
Worksheet for the iterative solution.
In some cases, it may be possible to develop improved iteration schemes by using the
latest information that is available. For example, in the above scheme, we could use
the very latest value of x1 when we are calculating x2 , since we already have this
1 1
quantity. Likewise, we can use both x1 and x2 when we calculate x3 etc, as
1 1 1
shown below:
x1
1
1 3.1 13.92 0.32 x2 0.5 x3 0.1x4
x2 1 2.1 5.63 0.20 x
1 1
033x3 0.21x4
1
The underlined items shows that they are calculated at the latest time available.
Compare the solution using these equations with the original ones. Does the method
converge faster?
(ii) We do not know in advance how many iterations may be required in order to
converge a given iteration scheme. In reservoir simulation, when we solve the
pressure equation, a good guess for the new pressures is usually the values of the
old pressures, at the last time step. If nothing radical has changed in the reservoir,
this is fine. However, if new wells have started up in the model, or if existing wells
have changed rate significantly, the “pressure at the last time step” guess may not
be very good. However, with a robust numerical method, convergence may still
be achieved.
(iii) The equations may not converge – or converge so slowly that it would take too
long to achieve the required accuracy. The iterative scheme described above is
the simplest. In reservoir simulators more sophisticated methods are used.
direct methods are best for small problems, but for larger problems, such as the
solution of equations in reservoir simulation, an iterative method is best.
We can summarise our comparison between direct and iterative methods for solving
the sets of linear equations that arise in reservoir simulation as follows:
(i) A direct method for solving a set of linear equations has an algorithm that involves
a fixed number of steps for a given size of problem. Given that the equations are
properly behaved (i.e. the problem has a stable solution), the direct method is
guaranteed to get to the solution in this fixed number of steps. No first guess is
required for a direct method.
(ii) An iterative method on the other hand, starts from a first guess at the solution (x(0))
and then applied a (usually simpler) algorithm to get better and better
approximations to the true solution of the linear equations. If successful, the
method will converge in a certain number of iterations, Niter, which we hope will
be as small as possible. However, we cannot usually tell what this number will be
in advance. Also, in some cases the iterative method may not converge for certain
types of “difficult” problem. We may need to have good first guess to make our
iterative method fast. Also, it often helps to use the latest computed information
that is available (see example above).
(iii) Usually the amount of “work” required for a direct method is smaller for smaller
problems but iterative methods usually win out for larger problems. For an
iterative method, the amount of work per iteration is usually relatively small but
the number of iterations (Niter) required to reach convergence may be large and is
usually unknown in advance.
In this section, we will introduce the general idea of solving sets of non-linear equations
numerically and indicate how this can be applied to the two-phase flow equations. We
will do this in a simplified manner that shows the basic principles without going into
too much detail. Firstly, compare the difference between solving the following two
sets of two equations, a set of 2 linear equations:
2 x1 x2 10
(59)
3x1 x2 5
x1 2 x2e x1 2
(60)
x2 x1 x1 x2 5
2 2
It is immediately obvious that the second set of non-linear equations is more difficult.
The first set of linear equations can be rearranged easily to show that x1 = 3 and x2 = 4.
However, it is not as straightforward to do the same thing for the non-linear set of
equations. As a first attempt to solve these, we might try to develop an iterative
scheme by rearranging the equations as follows:
x1 1 2 2 x2 e x1
(61)
2
1
x2 x1 5
x2
x1
The exact solution in this case is x1 = 2.510681 and x2 = 3.144089. Applying the above
iterative scheme with a first guess of x1 x2 1.0 gives the results shown in Table
0 0
Iteration
counter x at iteration v
v x1 x2
First guess 0 1.000000 1.000000
1 2.735759 2.449490
2 2.317673 2.920421
3 2.575338 2.987627
4 2.454885 3.104133
… … …
9 2.513337 3.141814
10 2.508958 3.144173
… … …
25 2.510682 3.144089
26 2.510681 3.144089
Table 2
Iterative method for solving two non-linear equations.
We note that the convergence of these equations is not very fast but, in this case, a
solution is reached. In general, this is not a good approach for solving non-linear
equations.
Which has the solution x = 0.829069 (you can verify this by checking and making sure
the right side is 0.30). This equation can be written as:
and the solution we require is the value of x for which the function f(x) is zero.
x 2
f x f x0 xf x0 f x0 ... (64)
2
where the dash and double dash represent the first and second derivatives of f,
respectively.
1
Thinking in terms of an iterative scheme ( x x ) as a basis for calculating better
and better solution of f(x) = 0, we can rewrite the Taylor series above as:
f x f x x 1 x f x (65)
where we have neglected second order and higher terms. Since we require a solution
at f(x) = 0, we obtain:
f x x 1 x f x 0 (66)
which can be rearranged to the following algorithm to estimate our updated guess,
x(+1), as follows:
x 1
x
f x
f x
(67)
This equation is the basis of the Newton-Raphson algorithm for obtaining better and
better estimates of the solution of the equation, f(x) = 0. Note that we need both a
first guess, x(0), and also an expression for f x the derivative at iteration . In the
simple example in Equation (62), we can obtain the derivative analytically as follows:
df x
f x 2 xe x x 2e x (68)
dx
Therefore the Newton-Raphson algorithm for solving Equation (64) above is:
x e x
2
0.30
x
1
x
(69)
x
e x
2
2x e x
The point iterative and Newton-Raphson solutions for Equation (62) are shown in Table
3.
Iteration
Number
Point Newton-
Iteration Raphson
Method Method
x() x()
0 1.000000 1.000000
1 0.903042 0.815485
2 0.860307 0.829011
3 0.842120 0.829069
4 0.834497 0.829069
5 0.831322 0.829069
6 0.830003 0.829069
7 0.829456 0.829069
8 0.829230 0.829069
9 0.829136 0.829069
10 0.829097 0.829069
11 0.829080 0.829069
12 0.829074 0.829069
13 0.829071 0.829069
14 0.829070 0.829069
15 0.829069 0.829069
16 0.829069 0.829069
Table 3
Comparison of the Iterative and Newton-Raphson Methods for a simple problem.
The results in Table 3 show that the Newton-Raphson method converges very rapidly
to the solution, whereas it takes 15 iterations for the point iterative method to
converge at the same level accuracy. The performance can vary quite a bit from
problem to problem but the Newton-Raphson method is generally better if the
, is not too close to zero. When this derivative gets too small,
derivative term, f x
it can be seen that the second term in Equation (67) would start to get very large or
“blow up”, as it is sometimes described. We will not go into details about the
convergence properties of the Newton-Raphson but it is meant to be “quadratic”
meaning that the error should decrease quite rapidly.
We now go on to see how the Newton-Raphson method can be applied to sets of non-
linear equations. Returning to the set of two non-linear equations (Equation 60) in the
previous section, we note that another way of writing this set of equations in a general
way is as follows:
F1 x1 , x2 x1 2 x2e x1 2 0
(70)
F2 x1 , x2 x2 x1 x1 x2 5 0
2 2
The problem is then to find the values of x1 and x2 that make F1 = F2 = 0. In this section,
we present Newton’s method for the solution of sets of non-linear equations.
Basically, we will simply state the Newton-Raphson algorithm without proof (although
it will resemble the simple form of the Newton-Raphson method above) for sets of
non-linear equations. We will then illustrate what this means for the example of the
set of two non-linear equations above (Equation 60).
Definitions:
As before,
x() and x(+1) = the solution vectors at iteration levels and ( +1)
That is:
For the Newton-Raphson method, we need to differentiate all the Fs with respect to
all the xi, i.e. we require terms of the form: Fi x j , where both i and j go from 1 to
F1 x
F1 x
F1 x
......
F1 x
......
F2 x
x1 x2 x3 xN
J x
F3 x
F3 x
F3 x
F3 x
......
x1 x2 x3 xN
... ... ... ...... ...
... ... ... ...... ...
FN x
FN x
FN x
......
FN x
x x2 x3 xN
1
(72)
In the 1D case (only one x value), we had to divide by f x , and in the multi-
dimensional case (lots of x values), we need to take the inverse of the Jacobian:
1
J x .
(Recall that the inverse of a matrix, A is the denoted by A1 and by definition,
1
A A I where I is the identity matrix – all the diagonal terms equal 1 and the other
elements are zero.)
1 0 0 ...... 0
0 1 0 ...... 0
0
1
J x . J x I 0 0 1 ......
(73)
... ... ... ...... ...
... ... ... ...... ...
0 0 0 ...... 1
Using the above definitions, the Newton-Raphson algorithm for a set of non-linear
equations, F x 0 , is given by the following expression:
1
x x J x
1
.F x
This method could be applied to the Equations shown in (60) and (70) above. In this
case, the Jacobian can be calculated analytically. However, the maths is quite complex,
so is given in the Appendix. (You need not spend time on this, unless you want to try
as a mathematical challenge!) Instead, we simply present the results in the table
below. You can see that the point iterative method does not converge till iteration 26,
but the Newton-Raphson method converges at iteration 7.
Table 4
Comparison of the point iterative method and the Newton-Raphson Method for the
2D example.
S
T
n 1
o
i 1/2
P n 1
T Son 1
i 1/2
S
T
n 1
o
i 1/2
Pi
n 1
T Son 1
i 1/2
Pi n11 0
i 1
x 2
x 2 x 2
x 2
o So i 1/2 n 1
t o Son 1
n 1
S n 1
oi S
n
oi
x 2 Pi 1 Pi
n 1
x 2
i 1/2
Pi
n 1
P n 1
i 1 0
FP ,i S n 1
,P
n 1
0
(74)
FS ,i S n 1
,P
n 1
0
n 1 n 1
The vectors of unknowns, P and S are given by:
P1n 1 S1n 1
n 1 n 1
P2 S2
P3n 1 S3n 1
... ...
... ...
... ...
P Pi n11 S Sin11
n 1 n 1
(75)
Pi n 1 Sin 1
n 1 n 1
Pi 1 Si 1
... ...
... ...
... ...
n 1 n 1
PNX S NX
n 1
We may also write all the unknowns in one vector, X , combining all of the
saturations and pressures, as follows:
S1n 1
n 1
P1
S 2n 1
n 1
P2
n 1
...
X n 1 (76)
Si
P n 1
i
...
n 1
S NX
PNX
n 1
1
J X .F X
n 1 1 n 1
X X (77)
There are various methods to construct the Jacobian matrix, J X . Also, we need to
1
be able to obtain the inverse of the matrix, J in order to apply the algorithm. Note
that it is a very sparse matrix because each grid block is only linked to the one on either
side. There are special techniques to invert sparse matrices. We will not go into these
here.
Also note that in MRST, a technique called Automatic Differentiation (AD) is used.
When each variable is calculated, a derivative is also calculated and stored, ready to be
used in the Jacobian.
7. Closing Remarks
In this Topic we have introduced the finite difference approximations for partial
differential equations (PDEs) which describe both single- and two-phase flow through
porous media. The discretised equations lead to systems of either linear or non-linear
equations (depending on whether the coefficients depend on the unknowns), which
are solved numerically. Simple methods for solving the equations have been presented
to give the student a general idea of how reservoir simulation works. However, in most
reservoir simulators the actual methods applied are much more sophisticated because
they are required to deal with models where there may be 100,000s of grid cells (or
more).
8. Appendix
This is a continuation of Section 6.2, giving the full solution of the example with two
non-linear equations. The equations (Equation 62 originally) are:
x1 2 x2e x1 2
(A1)
x2 x1 x1 x2 5
2 2
In matrix form:
F1 x1 , x2 x1 2 x2e 1 2
x
F x (A3)
F2 x1 , x2 x2 x1 x1 x2 5
2 2
1 2 x e x1
2e x1
2
x
J x 2 2 (A4)
2 x1 x2 x2
2 x1 x2
1
Now we need to calculate the inverse of this matrix. This is simple in the case of a 2x2
matrix. If we have a matrix, A , given by
a b
A (A5)
c d
1 1 d b
A (A6)
ad bc c a
1
J x 1
x 2x 2e 2x
x1
2 2
1 2 x2 e x1
x2
x2 x2
1 1 1
1
x 2 2 x x
1 2 2e x1
2 x x x
1 2 2
2
1 2 x e 2
x1
(A7)
1
x x J x
1
.F x
(A8)
1 1
x
x 2x 2e 2x
x
x1
2 2
1 2 x2 e x1
x2
x2 x2
1 1 1
1
x 2 2 x x
1 2 2e x1
x1 2 x2 e x1 2
2
2 x x x
1 2 2 1 2 x e
2
2
x1
x2 x1
x1 x2 2
5
Learning Objectives
After studying this topic, you should be able to:
1. Introduction
In this Topic, we present two related procedures which are required for reservoir
simulation, namely modelling and upscaling. For numerical simulations, some sort of
model (grid structure) is always required. (See Topic 3, Section 2.) This may be a very
simple grid. For example, you may wish to test the miscibility of a gas and oil for a gas
flood. In this case, you might just use a simple Cartesian (perhaps 1D) grid, with
negligible geological input. On the other hand, it is usual nowadays to build a 3D corner
point grid for a reservoir to predict future recovery and evaluate various sensitivities.
In both cases, we need to decide how fine or coarse we require the model to be. Also,
in the case of a geological model, we need to decide how to populate the cells with
attribute values (porosity, permeability, etc). Figure 1 shows a diagram of the different
types of data required for reservoir modelling and simulation. (This is the same as
Figure 7 in Topic 1.)
Figure 1
Data required for reservoir modelling and simulation. The shaded blocks represent
data which will be mentioned in this Topic.
corner point grid, we can still use the same nomenclature, but the grid cells will have
uneven shapes and sizes.
We might want to make a very fine grid which can resolve a lot of geological detail, but
this might take too long for flow simulation. Therefore, as mentioned in Topic 1, we
need to compromise. Also, if there is little data, it will not be worthwhile making a
fine-scale model. In a coarse model, we will need to somehow average properties such
as porosity and permeability. In other words, we need to upscale the data.
Additionally, sometimes geologists construct too fine a model for flow simulation, so
engineers have to perform another stage of upscaling.
dy
dz dx
Lz
Ly
Lx
Figure 2
Nomenclature for a grid. In this case, nx = 7, ny = 5 and nz = 3.
In Figure 3 you can see that the effects of lamination cannot be resolved by core and
log data, only by fine-scale probe permeameter measurements, and this data may not
be available. The fine-scale lamination may not be important, but sometimes can have
significant effects on two-phase flow. If so this should be taken into account. (See
Section 6.2.)
b) Acquire data for the model – porosity, permeability, etc, from core plugs and well
logs
We only have data measurements at the wells (apart from some attributes
from seismic data).
If core plug measurements have been made, we will have porosity and
permeability measurements at the scale of a core plug (a few cm). Such
measurements can give us correlations between log(permeability) and
porosity as shown in Topic 7 of Course G19RA.
There is usually more information from well logs, although it will be at a
coarser resolution. If porosities have been obtained from the neutron-density
log, these can be used to calculate permeabilities. (However, note that the
poro-perm relationship at the plug-scale may not be the same as the poro-
perm relationship at the well-log scale, depending on the heterogeneity.)
d) Decide how to populate the grid with values, away from the wells.
This may be done deterministically or stochastically. We focus on this below.
Often the rock type is assigned first, and then the properties are generated for
each type of rock.
Log
1 Flow model
Beds
0.01 Probe
Laminae
0.001
0.001 0.01 0.1 1.0 1 10 100 1000 10000
Horizontal length (m)
Figure 3
Length scales of sedimentary structures, data and models.
Figure 4
Examples of deterministic models: a) A layered model. The size of a grid cell could be
~ 100m x 1 m. b) A model of laminae. In this case, the cell size may be only a few
mm.
One the other hand, we know that rock properties are very heterogeneous, and it is
difficult to predict the properties between wells. For this reason, many people
generate stochastic models. This means that there is a random variation in the
properties. The branch of geological modelling which deals with stochastic methods is
called geostatistics.
We shall not go into geostatistics in detail. However, the student should become
familiar with the following terms (if they are not familiar with them already).
x i
The mean, or average value is: i 1
. (1)
n
The standard deviation, which is a measure of the spread of the data, is:
xi
2
. (2)
n
i
2
. (3)
n
1 x 2
f x exp . (4)
2 2 2 2
Figure 5
Examples of normal distributions. a) a normal distribution of porosity; b) A normal
distribution of log(permeability); c) the equivalent permeability distribution.
We could generate stochastic values (e.g. porosities) for the grid blocks in a model, if
we assumed that the values were normally distributed, by specifying the mean and
standard deviation. However, using this approach, the value for each grid cell would
be independent of surrounding grid blocks, and this is unrealistic. In a reservoir
adjacent samples of rock are likely to be more similar than samples which were
measured a distance apart. This is referred to as spatial correlation. One way of
measuring the spatial variation of measurements is to calculate a variogram. In fact,
usually a semi-variogram is calculated. This is done by comparing pairs of values a
certain distance apart (called the lag). A variogram can be calculated if the
measurements are irregularly spaced. However, it is easier to demonstrate if they are
evenly spaced – e.g. the porosity in core plugs, measured every foot, over an interval
of several hundred feet.
If the lag is 1 ft, then compare pairs 1 and 2, 2 and 3, 3, and 4, and so on.
If the lag is 2 ft, then compare pairs 1 and 3, 2 and 4, 3 and 5, etc. See Figure 6.
1 2 3 4 5 6 7 8
Figure 6
Pairs of measurements used to calculate a semi-variogram. The blue dots represent
data points, and the curved lines are links between pairs. This figure only shows the
links for lags of 1 and 2. To make a whole semi-variogram, more lags are required.
np
x xi j ,
1
h
2
i
(5)
2n p i 1
semivariogram sill
nugget range
Lag (m)
Figure 7
An example of a semi-variogram. The red dots are data and the black curve is a fit to
a model (spherical variogram).
One method which Petrel uses for generating correlated random properties is known
as Sequential Gaussian Simulation (SGS).
Note that, since porosity and log(permeability) are usually correlated, their values
should not be generated independently. Instead, the porosity is usually generated as
a correlated random model, and then the permeability in each grid cell is calculated
from the porosity value in that cell. This may be done assuming that there is perfect
correlation between porosity and log(k). For example an empirical relationship may
be used. The example in Figure 5 has the following relationship:
ln k 25 0.395 .
Figure 8
Example of a correlated random model generated in MRST. a) porosity distribution;
b) histogram of porosity. (From Lie, 2016.)
grid cell at that location. This is a valid approach if you assume that the measurements
are representative of that part of the reservoir. On the other hand, this part of the
reservoir may be part of a complex structure, so averaging may not give a good answer,
in which case, you should create a very fine-scale geological model. (See Section 6.2.)
Figure 9 shows an example of upscaling of well data. The arithmetic average was used
(assuming a layered model).
Full-field model
Geological model
300,000 cells
20 million cells
Figure 9
Upscaling examples. Top: Example of upscaling well data using the arithmetic
average. Bottom: Example of upscaling a geological model for full-field simulation.
2. Averaging Methods
do not start modelling at the lamina scale. However lamination may give rise to
significant effects. See Section 6.2 on the Geopseudo Method.
Figure 10
Schematic diagram of how a property may vary with the volume of the sample. From
Nordahl and Ringrose (2008), re-drawn from Bear (1972).
The concept of REVs is useful when considering length-scales for modelling, especially
for single-phase flow. In the following Section, we shall assume that we are upscaling
to an REV, so that upscaling is reasonably accurate. We shall return to the topic of
accuracy in Section 3.3.
For the moment, let us assume that a fine-scale grid has been generated, and we are
upscaling to a coarser grid. Figure 11 shows a fine grid split into coarse cells (outlined
in bold). The cells within each coarse block are upscaled in turn.
Figure 11
Upscaling from a fine grid to a coarse one.
will be dealt with first. Figure 12 represents part of a fine-scale grid whose cells have
volume Vi, porosity, i, and water saturation, Swi, where i = 1, 2, … n, the number of
cells.
Note that these formulae are absolutely correct: there are no errors in upscaling
NTG, or Sw (assuming that the fine-grid values are “correct”). In the following
sections, we shall assume that NTG = 1.
P P
Q Q
keff
kij
Figure 13
Example of effective permeability.
Also note that in upscaling, we are assuming that Darcy’s Law holds both at the fine-
and coarse-scales. For example, flow between grid cells may be represented by
Equations (9) and (10), where lower-case letters are used for the fine scale and upper-
case for the coarse scale. (Compare with equations for flow between grid cells in Topic
3.)
ki 1/2, j a pi 1 pi
Fine scale: qi 1/2, j (9)
x
In this section, we assume that there is only one phase present – water or oil, and that
we have steady-state linear flow. (We are not considering radial flow, or transient
flow.) We show how simple averaging may sometimes be used to estimate upscaled
permeability. Then in the next section we move on to methods which involve
numerical simulation.
Figure 14
Flow along uniform layers.
Proof:
Assume we have n layers, labelled i = 1, 2, .., n, and that the permeability and thickness
of the ith layer are ki and ti, respectively. Also assume that the pressure is P1 at the
left side of a coarse block and P2 at the right side. Then the flow, Qi, will depend on
the permeability and thickness of layer i. We may write Darcy’s Law for each layer:
ki ti y P 2 P1
Qi (11)
x
n n
k t y P 2 P1 y P 2 P1 n
Q Qi i i ki ti (12)
i 1 i 1 x x i 1
keff T y P 2 P1
Q , (13)
x
n
where T ti .
i 1
y P 2 P1 n k T y P 2 P1
Therefore: Q
x
i 1
kiti eff
x
, (14)
n n
k t
i 1
i i keff T keff ti
i 1
(15)
k t i i
Therefore, the effective permeability is keff i 1
n
. (16)
t
i 1
i
Figure 15
Flow across uniform layers.
Proof:
Use the same notation as before. This time note that the total flow Q is the same
across all the layers, but the pressure drop across each layer is different.
ki xy Pi
Darcy’s Law for flow across layer i is: Q (17)
ti
Qti
Therefore the pressure drop is: Pi (18)
ki xy
n n
Qti Q n
P1 P2 Pi ti k i (19)
i 1 i 1 ki xy xy i 1
Therefore:
n
Q ti
Q n
i 1
keff xy
ti ki
xy i 1
(21)
t i
keff n
i 1
(22)
ti k i
i 1
Example
Suppose that the thicknesses and permeabilities of the layers have the values given
below (Figure 16). What is the effective permeability in the horizontal and vertical
directions?
Figure 16
Permeability and thickness values for the numerical example.
The harmonic average is always smaller than the arithmetic average. This can be
understood by considering the effect on a single low permeability layer. If flow is
parallel to the layers, a low permeability layer will have little effect. However, if the
flow is across the layers, a low permeability will have a significant affect. Try changing
the value of the low permeability layer in the example above from 20 mD to 1 mD.
How much effect does this have on the arithmetic and harmonic averages?
n n
ln k i log10 ki
k geom exp i 1 10 ^ i 1 . (23)
n n
Figure 17
Example of a correlated random permeability model.
In fact, it can be proved that the effective permeability of a correlated random model
depends on the dimension of the model (1D, 2D or 3D). The results given below have
been derived theoretically for log-normal distributions, with a standard deviation of
Y, where Y = ln(k).
keff k g 1 Y2 2 in1D
keff k g in2D (24)
keff k g 1 Y2 6 in3D
These formulae are approximate, and assume that Y is small (< 0.5). The 1D result is
an approximation of the harmonic average. Note that the results do not depend on
the correlation length of the field, provided it is much smaller than the system size.
Also note that ka > kg > kh, and the effective permeability always lies between the two
extremes: ka and kh.
Example
Imagine that the permeabilities in the example shown in Figure 16 were jumbled at
random, but the numbers of cells of each permeability were in the same ratio (i.e.
30:45:10:35). What would be the effective permeability of this model?
1/
n
ki
k p i 1 , (25)
n
where is the power. The value of the power depends on the type of model, and
must be calibrated against numerical simulation (Section 3.2).
Parallel layers
Correlated random fields
Since averaging is very quick, it is frequently used as an approximation for the effective
permeability in more complex models.
Example 1
Figure 15.1 in Lie (2016) presents a good illustration of upscaling of porosity.
(Reproduced in Figure 18 below.) Note how the histogram of the porosities changes
with upscaling. You can try this example in the Tutorial, and also compare the different
types of average for permeability.
Figure 18
Example of upscaling porosity. (From Lie, 2016.)
Example 2
In the Tutorial, you can also try upscaling a 2D log-normal permeability field, and
comparing the fine- and coarse-scale permeability histograms.
Figure 19
Example of upscaling a 2D random model using the geometric average.
Figure 20
Part of a 2D grid for demonstrating the equations for incompressible flow.
Darcy’s law is used to express the flows in terms of the pressures and permeabilities.
For example, if the grid blocks in Figure 20 are of length x, width y (into the paper)
and height z, then:
where kx,i-1/2,j is the harmonic average of the permeabilities in the x-direction in blocks
(i-1,j) and (i,j). (You now should know now why the harmonic average is used here.)
The other flows are calculated in a similar manner.
This is left as an exercise to the student. (Note that cancels in the equation.) See
Topic 5, if you have problems.
Note that the boundary conditions are applied to each coarse grid cell in turn (referring
to Figure 11), and they may not be a good approximation to the pressures which would
arise in a fine-grid simulation of a whole field. This leads to errors in the results.
Upscaling errors are discussed in Section 3.3.
Figure 21
Fixed pressure, no-flow boundary conditions.
The pressure is fixed on two sides of the model, and no flow is allowed through the
others sides. This type of boundary condition is suitable for models where there is little
cross-flow: for example, models with approximately horizontal layers, or a random
distribution (assuming that the coarse cell is a REV). These are the most commonly
applied boundary conditions. Figure 22 illustrates how an effective permeability may
be calculated in the x-direction.
1. Solve the steady-state equation to give the pressures, Pij, in each grid block
(Equation 28).
2. Calculate the inter-block flows in the x-direction using Darcy’s Law. (See Equation
27.)
3. Calculate the total flow, Q, by adding the individual flows between two y-z planes.
(Any two planes will do, because the total flow is constant.)
4. Calculate the effective permeability for flow in the x-direction, using the equation:
keff , x A P1 P 2
Q (29)
L
Repeat the calculation for flow in the y- and z-directions, to obtain keff,y and keff,z.
Figure 22
The calculation of effective permeability using no-flow boundary conditions.
As mentioned above there are many other types of boundary conditions – e.g. fixing
the pressure at each end and letting the pressure vary gradually along the sides. The
resultant effective permeability usually depends on the boundary conditions used, but
the actual boundary conditions in a reservoir might not be known. Therefore,
sometimes engineers apply the boundary conditions to a region which is larger than
the coarse block. This is known as a “flow jacket”, or “skin” (Figure 23).
Figure 23
Example of a flow jacket round a coarse cell. In this case the flow jacket is 4 cells
thick.
Examples of numerical upscaling are given in the section below, which discusses the
accuracy of upscaling.
The results here are typical of this type of model, where the accuracy is high for a very
small scale-up factor (little change in the permeability distribution), and also the
accuracy is high for a large scale-up factor (which includes an REV), but the accuracy is
less at intermediate scale-up factors. This result only applies for single-phase
systems.
Figure 24
Example of checking numerical upscaling by comparing the ratio of coarse-scale to
fine-scale flows: a) permeability distribution and b) plot of flow ratio.
In many cases upscaling is much more inaccurate, particularly in models with very high
permeability contrasts (i.e. many reservoir models!), and there may not be an obvious
REV to upscale to. Examples of models where upscaling is tricky are:
Low permeability shales in a high permeability sandstone
Low permeability faults in a high permeability sandstone
High permeability channels in a low net/gross reservoir
High permeability fractures in a low permeability reservoir.
All these cases are difficult to model. As an example, we consider a sand/shale model,
where the shale has zero permeability. Figure 25 shows part of a fine-scale model,
which has to be upscaled to 3 coarse blocks, as shown. Since there is a shale lying
across each coarse block, each coarse block will have zero permeability in the z-
direction (vertical). However, fluid can flow through the model vertically, as shown.
This error arises because the coarse block size is similar to the characteristic length of
the shales. Upscaling would be more accurate, if the coarse block size was much larger,
or much smaller than the shales. Alternatively, using a “skin” or “flow jacket” will
increase the accuracy of upscaling (Figure 23).
Figure 25
Sand/shale model.
4. Two-Phase Flow
4.1 Introduction
Often we need to simulate two-phase systems, e.g. a water flood or a gas flood of an
oil reservoir, or an oil reservoir with a gas cap or an aquifer. The aim of upscaling in
this case is to calculate a coarse-scale model which can reproduce the flow rates of the
different fluids. The coarse model should also provide a good approximation to the
saturation distribution in the reservoir with time.
The paths which the injected fluid takes through the reservoir depends on the forces
present:
Viscous
Capillary
Gravity.
Therefore, the balance of forces should be taken into account during upscaling. Before
learning how to upscale two-phase flow, we show the effects which geological
heterogeneity may have on hydrocarbon recovery.
Consider the following simple model (Figure 26), with alternating horizontal layers of
100 mD and 10 mD (referred to as facies 1 and facies 2). We assume that the model is
filled with oil and connate water initially, and simulate a water flood, by injecting at
uniform rate at the left side, and producing from the right side (at constant bottom-
hole pressure). The density of the two fluids is the same for this example, so that there
are no gravity effects. In the first two examples, the relative permeabilities were the
same for the high and low permeability layers and the capillary pressure was zero.
Therefore the flood was viscous-dominated. In Case 1, the porosity was set constant
across the model (= 0.2). A diagram of the water saturation is shown in Figure 27a).
As expected the water moves quickest along the high permeability layers.
In Case 2, the porosity remained at 0.2 in the high permeability layers, but was changed
to 0.05 in the low permeability layers. This meant that the front advanced faster in the
low permeability layers, and so the flood front was more even.
Figure 26
Simple layered model for demonstrating viscous and capillary effects.
Figure 27
Water saturation distribution after in injection of 0.2 PV (pore volumes) of water: a)
Case 1 where the porosity was constant at 0.2, and b) Case 2 where the porosity was
0.2 in the high permeability layers and 0.05 in the low permeability layers.
A third case was run with using different relative permeabilities (with different connate
water saturations) and the capillary pressure was different in the different layers
(Figure 28). These curves are typical of a water-wet rock: the capillary pressure is much
higher in the low permeability facies, and the connate water saturation is higher. In
this case, water is imbibed along the low permeability layers, and also there is cross-
flow from the high permeability layers to the low permeability ones. Due to the effects
of capillary pressure, the front is nearly level in the two facies.
Figure 28
The relative permeabilities and capillary pressure used in Case 3.
Figure 29
Water saturation distribution, after the injection of 0.2 PV: Case 3, showing capillary
effects.
Figure 30 shows the recovery factor as a function of pore-volumes injected. All these
cases have the same permeabilities in the layers, and the same effective
permeability. However the total recovery depends on the capillary pressure and on
the porosity distribution.
Figure 30
Comparison of cumulative oil recovery in the 3 cases.
Table 1
Properties for the first set of examples.
In the next example, graded models are used, as shown in Figure 31. There are two
versions: Case 4 with permeability increasing upwards (referred to as coarsening-up)
and Case 5 with permeability decreasing upwards (referred to as fining-up). The
permeabilities range from 200 mD to 1000 mD, the porosity was kept constant at 0.2,
and the same relative permeability curve was used. In this model, however, the
densities of the fluids were different: the density of water was set to 1000 kg/m3 and
that of oil was set to 200 kg/m3.
Figure 31
Coarsening-up and fining-up models for Cases 4 and 5.
Again a waterflood was performed, and the results are shown in Figure 32. Since water
is more dense than oil, water has a tendency to slump down. In Case 4 (coarsening-
up), this tendency is reduced by the fact that the viscous forces tend to move the fluid
faster in the upper layers. However, in Case 5 (fining-up), the slumping effect is
reinforced by the viscous force moving fluid faster along the lower layers. This means
that the breakthrough time is earlier in Case 5 than in Case 4, as shown in Figure 33.
The effective absolute permeability in these two models is the same, but the two-
phase flow effects are different, due to the effect of gravity. (If the density of water
equalled the density of oil, the recovery and watercut curves would be identical.)
Figure 32
Water saturation distributions for Cases 4 and 5.
Figure 33
Fractional recovery for the graded layer models.
Figure 34 (left side) shows a very heterogeneous 2D model, with correlated random
permeabilities. The permeability distribution was ln-normal (i.e. natural logs), with a
standard deviation of 2.0. The model is assumed to be in the horizontal plain. The
details of the model are given in Table 2. The model was upscaled using the pressure
solution method with no-flow boundaries. Three different scale-up factors were
and the coarse-scale models 1 and 3 are also shown in
Figure 34
Fine-and coarse-scale models used for demonstrating the effect of applying single-
phase upscaling to a two-phase problem.
Table 2
Details of models for check on single-phase upscaling for a two-phase system.
A waterflood with a quarter 5-spot well pattern was performed (i.e. 2 wells in
diagonally opposite corners). The same relative permeability curve was used for the
whole model (Figure 35), and the capillary pressure was set to zero. The flood was
therefore viscous-dominated. The viscosity of water was 0.3 and that of oil was 3.0.
The resulting recovery curves are shown in Figure 36. As one might expect, the error
increases with the scale-up factor.
The model was modified by reducing the standard deviation to 0.2 (lowering the
permeability contrast), and the simulations were repeated with the low heterogeneity
model. The recovery is shown in Figure 37 for the scale-up factor of 15 x 15. As
expected, the errors are smaller for the low heterogeneity model.
Figure 35
The relative permeability curve used for the random model. (Capillary pressure was
set to zero).
Figure 36
Comparison of recovery for different scale-up factors.
Figure 37
Comparison of recovery for models with different levels of heterogeneity (labelled
“hi” and “lo”).
From before, we know that the results will be affected by the balance of forces –
capillary pressure and gravity may adversely affect the results. In addition, upscaling
is more accurate when a flood is stable – i.e. when the injected fluid has a greater
viscosity than the produced fluid.
Consider a model with horizontal layers, as shown in Figure 38. There is a high
permeability streak running across the model. The model details are given in Table 3.
In both coarse-scale models there are 3 coarse cells in the vertical direction. In model
Coarse 1, the cells are each 5 m thick. However, in model Coarse 2, the thicknesses
are: 7 m, 1 m, 7 m, so that the high permeability streak is still resolved.
Figure 38
Model with high permeability streak.
Table 3
Details of models for example of non-uniform upscaling.
Figure 39 shows the recovery for these models. It can be seen that the model with
uniform coarse cells (Coarse 1) gives very inaccurate results, and the model which
maintains the high permeability streak (Coarse 2) is much more accurate.
Figure 39
Recovery for fine- and coarse-scale models.
There are some other approaches which makes single-phase upscaling more accurate
in a two-phase system. One is to improve the boundary conditions used when
performing numerical upscaling, and also to upscale the transmissibility between pairs
of coarse cells, rather than calculating the effective permeability (e.g. Zhang et al,
2005).
where “f” stands for fluid – oil, gas or water. Generally, we assume that both the
absolute and the relative permeabilities are homogeneous and isotropic at the
smallest scale ( krf , x krf , y krf , z ). As we upscale, the absolute and relative
permeabilities may become anisotropic ( krf , x krf , y krf , z ). To obtain effective (or
pseudo) relative permeabilities, the absolute permeability must be scaled-up
separately. Then the pseudo relative permeability is calculated as follows:
As mentioned above many engineers just use single-phase upscaling, even if the
reservoir they are trying to model is undergoing a water flood or gas flood. In many
cases, careful single-phase upscaling (with a non-uniform coarse grid and good choice
of boundary conditions) can be as accurate as two-phase upscaling. However, many
people have worked on methods for two-phase upscaling. In the next sections, we
give a brief description of a range of methods, and then focus on the best known
method (Kyte and Berry, 1975).
If we assume that we have an incompressible system and that Sw t 0 , then the
continuity equation (mass balance equation) for each fluid is given by:
where f = fluid. This equation is essentially the same as Equation (26), but we have two
– one for each fluid (oil and water). This leads to a set of pressure equations for each
fluid, similar to Equation (28), i.e.:
T x ,i 1/2, j Tx ,i 1/2, j Tx ,i , j 1/2 Tx ,i , j 1/2 Pi , j
Tx ,i 1/2, j Pi 1, j Tx ,i 1/2, j Pi 1, j
(33)
Tx ,i , j 1/2 Pi , j 1 Tx ,i , j 1/2 Pi , j 1
0
where, in this case the transmissibilities include relative permeabilities (e.g.
Tx kkrf yz x ).
distances (20 cm or less). This means that the saturation distribution is determined by
the capillary pressure curves.
Figure 40 illustrates steps 1 and 2 of the process for a model which has two rock types
(any type of distribution). Steps 5 and 6 may be carried out analytically or numerically
depending on the complexity of the model.
Figure 40
Illustration of the Capillary Equilibrium method – determining the water saturation
and then the relative permeabilities for two different rock types.
required. The awkward thing, here, though, is deciding what boundary conditions to
use for upscaling in a reservoir model: the flow regime will depend on the location of
wells, and will be radial near a well. This is why two-phase dynamic upscaling is not
often performed. However, once a simulation has been performed, the basic idea is
to sum the flows at a coarse block boundary (on the down-stream side), calculate the
average pressure adjoining grid cells and use Darcy’s Law to determine an upscaled
phase permeability, and hence a pseudo relative permeability (Figure 41 and Equation
34).
Figure 41
General idea of the Kyte and Berry Method. The cell for which the pseudo is being
calculated is shaded in the darker colour.
where j = 1, 2, ..nz is the cell counter in the z-direction, A is the cross-sectional area,
P is the difference in the pressure in the two coarse cells and X is the difference
between the cell centres. At the same time the average saturation needs to be
calculated for the cell. The calculations are repeated at intervals throughout the
simulation so that a table of relative permeability vs saturation can be constructed.
Equation (34) is a simplified form of the Kyte and Berry Method. A fuller derivation,
including gravity effects, is given in the Appendix.
effect by calculating the flows on the down-stream side of the coarse block, instead of
the middle. This is illustrated by a simple example. Figure 42 shows an example of
input relative permeability curves (“rock” curves).
Figure 42
Example of “rock” curves
If the water saturation is Sw = 0.5, the rock curves show that there is a small amount of
oil and water flowing. However, when the average saturation is 0.5 in the coarse block,
the distribution could be as shown in Figure 43.
Figure 43
Example of the water saturation in a coarse block
Since the water has reached only part-way across the coarse block, there should be no
water flowing out of the right side. The Kyte and Berry method calculates the pseudo
relative permeabilities using the flow on the downstream side of the coarse block, to
prevent water breaking through too soon. The pseudo water relative permeability
curve is moved to the right, relative to the rock curves, as shown in Figure 44.
Figure 44
Example of Kyte and Berry pseudo relative permeabilities.
Because of these problems full two-phase dynamic upscaling is rarely using for
upscaling.
Does the fact that reservoir engineers do not generally upscaling relative
permeabilities mean that reservoir simulation is being carried out carelessly? Not
necessarily – one has to consider all the other uncertainties in reservoir models, and
decide what is required. If we only need a coarse model to make a decision, that is
fine (Topic 1). The next section discusses the issue of what scale to start performing
simulations.
6. Scale Issues
By now, you know how to upscale models, either by averaging or using a numerical
method. However, one of the challenges of modelling and simulation is knowing how
to do this in practice. Firstly what scale should you start at? Should you start with fine-
scale models and upscale, or just make a coarse-scale model? The answer, as
mentioned in Topic 1, is that it depends on the decision being made. There is no need
to make a fine-scale model, if you can a make a decision based on a coarse-scale one.
Another issue is the amount of data available, because there is no point making a
detailed model if you have no data. Also, if there is a lot of uncertainty, you need test
many models to quantify the uncertainty and therefore do not have time to perform
flow simulations on models with millions of grid cells.
Figure 3 is repeated here, as Figure 45 to remind you about scales. You may wonder
why anyone might bother to make models of sedimentary structures when these are
so small compared with the size of a reservoir. However, small-scale structures may
have a significant effect on two-phase flow, as shown below.
Log
1 Flow model
Beds
0.01 Probe
Laminae
0.001
0.001 0.01 0.1 1.0 1 10 100 1000 10000
Horizontal length (m)
Figure 45
Length scales of sedimentary structures, data and models.
Figure 46
Example of capillary-dominated flood in a layered model.
Notice that, in Figure 46, there is little lateral variation in the shading, showing that the
water saturation is almost constant in each layer. This is because the front has been
spread out by the effects of capillary pressure, and the model is almost in capillary
equilibrium.
When the flow is across the layers, as in Figure 47, the effects of capillary pressure are
even more striking. This figure shows the same small-scale model of sedimentary
lamination, but rotated through 90o. When the injection rate is low (average frontal
advance rate of 0.3 m/day), the flood is capillary-dominated (Figure 47a), water (black)
has been imbibed into the low permeability layers leaving oil trapped in the high
permeability laminae (grey). As the injection rate is increased, the oil has more viscous
force and can overcome the capillary forces leading to less trapping of oil (Figure 47b).
In the case of Figure 47c, the flood is viscous dominated and all the movable oil has
been displaced by water.
Figure 47
Examples of across-layer flow. a) capillary dominated, b) intermediate, c) viscous-
dominated
Note that we have assumed here that the rock is water-wet. The results would be
different if the rock was oil-wet, or intermediate-wet. (See Topic 7 for more
information on wettability.)
Models of typical sedimentary structures are created and permeability values are
assigned to the laminae (from probe permeameter measurements, or by analysing
core plug data). Relative permeabilities and capillary pressure curves are also assigned
to each lamina-type (e.g. by history matching SCAL experiments on core plugs, or from
pore-scale modelling (Topic 7)). Flow simulations are carried out to calculate the
effective single-phase permeability and the two-phase pseudo parameters. Additional
stages of modelling and upscaling may be required – e.g. upscaling from beds to bed-
sets.
Figure 48
Illustration of the Geopseudo Method.
sizes 100m x 100m x 6m). This last stage of upscaling used flow-based single-phase
upscaling.
Figure 49
Example of multi-stage upscaling (SPE 78292, Stephen et al, 2002).
Ringrose et al. (1999) give a list of guidelines for when Geopseudo upscaling may be
necessary:
In the example described in Figure 49 and the accompanying text, the small-scale
heterogeneity did not actually have much of an effect in the base case model (after all
that effort!). In the base case where there was connected high permeability
sandstone, water from the aquifer did not need to flow through the lower permeability
heterogeneous structures. However, a sensitivity study was carried out with a layer of
interbedded sandstone across the model, so that water had to flow through this
structure. In this case, the geopseudo upscaling did make a difference.
7. Streamline Simulation
Finally, we describe a method which can be used to speed up fine-scale simulations in
order to avoid upscaling, namely streamline simulation. Here, we describe streamline
simulation qualitatively in a non-mathematical manner with reference to Figure 50
from the work of Gautier et al (1999). The basic procedure in streamline simulation
for a given permeability field (Figure 50(a)) is to calculate the pressure distribution by
solving a conventional pressure equation (see Topics 4 and 5). From this the iso-
potentials (pressure contours) can be calculated as shown in Figure 50(b); the gradient
of the pressures locally perpendicular to the iso-potentials are the streamlines as
shown in Figure 50(c). These streamlines are essentially the “paths” of the injected
fluid from the injectors (sources) to the producers (sinks). Since the velocity along
these paths is known (from Darcy’s Law using the calculated P ), we can work out
how far the saturation front moves along the streamline, l = v.t, where v is the (local)
velocity at that point on the streamline. Since v is known quite accurately, the advance
of the front along the streamline can be calculated accurately.
Note that the path along a streamline is one-dimensional, so the advance along a
streamline can be calculated using Buckley-Leverett theory (Topic 2), or can also be
calculated numerically. Also, streamline simulation can reduce the effect of numerical
dispersion and grid orientation (Topic 3). After we propagate the front along the
streamlines, the saturations will change over the reservoir model. These saturation
changes are then projected back onto the Cartesian grid as shown in Figure 50(d),
hence changing fluid mobilities. These updated mobilities can be used to recalculate
the pressures which, in turn, can be used to update the streamline pattern. This
process can be continued throughout the calculation. However, the calculation of the
pressure equation is what takes most computational time in most reservoir simulation,
so usually only a few pressure solves are performed.
Figure 50
The streamline method (Gautier et al, 1999).
MRST contains a module for calculating streamlines, and this forms an important
component of the MRST diagnostic tools. These tools are for rapidly assessing models
using single-phase incompressible flow. Once streamlines have been calculated, the
time of flight is computed. This is the time which “particles” of fluid take to travel from
an injector to a point in the model. Also, diagnostics can be used in complex models
to identify which regions are swept by a particular injector, or drained by a producer,
and which injectors are in communication with which producers. Figure 51 shows an
example of streamlines and time of flight for a model with two injectors and three
producers. This example is part of Lie (2016), Figure 13.1, and may be reproduced by
running the “showDiagnosticBasic” script in the /book/diagnostic folder.
Figure 51
Example of streamlines (white lines) and time of flight (shading) for a model with two
injectors and three producers (Lie, 2016). The colour bar on the right shows time of
flight in arbitrary units.
8. Concluding Remarks
This Topic has focussed on a subject which is essential for reservoir modelling and
simulation, namely how to calculate properties for a model. Firstly, a brief outline of
geological modelling was given. A full description of reservoir modelling is outside the
scope of this Course. However, the introduction to stochastic modelling and the
Tutorials demonstrate how to generate simple (Cartesian) models for flow simulation.
Most of the Topic concentrated on upscaling, which is a crucial part of the modelling
process (Ringrose and Bentley, 2015, P118). Data usually comes at a smaller scale than
is required for modelling, so some form of averaging is required. On the other hand,
some data may come from larger scales (e.g. well test data), and is already an effective
property. In which case, we need to understand how this data relates to any smaller-
scale measurements and to the scale of the model grid cell.
As stated above (and in Topic 1), there is no “correct” scale at which to make models:
it depends on the decision being made, and on the data available. At the appraisal
stage of reservoir development, many coarse-scale models may be tested, with no
explicit upscaling. On the other hand, for a mature field, a full Geopseudo approach
may be required.
9. References
Corbett, P.W.M., Ringrose, P.S., Jensen, J.L. and Sorbie, K.S., 1992. “Laminated Clastic
Reservoirs: The Interplay of capillary Pressure and Sedimentary Structure
Architecture”, SPE 24699, presented at the SPE Annual Technical Conference,
Washington, DC, 1992.
Gautier, Y., Blunt, M.J. and Christie, M.A., 1999. “Nested gridding and streamline-based
simulation for fast reservoir performance prediction”, Computational Geosciences, 3(3-
4), 295-320.
Kyte, J. R. and Berry, D. W., 1975. “New Pseudo Functions to Control Numerical
Dispersion”, SPEJ, August 1975, 269-276.
Lie, K-A, 2016. “An Introduction to Reservoir Simulation Using MATLAB: User Guide
for the Matlab Reservoir Simulation Toolbox (MRST)”, www.sintef.no/mrst.
Ringrose, P. S., Sorbie, K. S., Corbett, P. W. M. and Jensen, J. L., 1993. “Immiscible Flow
Behaviour in Laminated and Cross-bedded Sandstones”, J. Petroleum Science and
Engineering, 9(2), 103-124.
Ringrose, P., Pickup, G.E., Jensen, J. and Forrester, M., 1999. “The Ardross Reservoir
Gridblock Analog: Sedimentology, Statistical Representivity and Flow Upscaling”, in R.
Schatzinger and J. Jordan, eds., Reservoir Characterization – Recent Advances, AAPG
Memoir 71, 265-276.
Ringrose, P. and Bentley, M., 2015. “Reservoir Model design: A Practitioner’s Guide”,
Springer, Dordrecht, Heidelberg, New York, London.
Stephen, K.D., Clard, J.D. and Pickup, G.E., 2002. “Modelling and Flow Simulations of a
North Sea Turbidite Reservoir: Sensitivities and Upscaling”, SPE 78292, presented at
the SPE 13th European Petroleum Conference, Aberdeen, Scotland, UK, 29-31 October,
2002.
Weber, K. J. and van Geuns, L. C., 1990. “Framework for Constructing Clastic Reservoir
Simulation models”. JPT, October 1990, p 1248 – 1297.
Figure 52
Model used for describing the Kyte and Berry Method. The thickness of the model is
y.
The first step is to perform a fine-scale, two-phase simulation, saving the pressures and
inter-block flows at specified intervals of time. The method proceeds as follows:
1) Calculate the effective absolute permeability in the area shown in Figure 53, i.e.
half way between the two coarse blocks.
Figure 53
The area used for calculating the effective absolute permeability
Kyte and Berry approximate the effective permeability using the arithmetic average in
each column, and then taking the harmonic average of the columns. The area between
the two coarse blocks is used, for reasons explained below.
z k
j 1
i ij
ki (A1)
Z
where zj and Z are the thicknesses of the fine and coarse blocks, respectively. (In
this case, all the fine-scale blocks are of equal size.)
X
kI 7
(A2)
x
i 3
i ki
where xi and X are the lengths of the fine and coarse blocks, and k I is the required
effective absolute permeability.
The pseudos are then calculated, at certain times during the simulation, as the water
saturations gradually increases.
2) Calculate the average water saturation. As you already know, this is a pore-volume
weighted average.
5 5
S
j 1 i 1
xi yz j
w,ij ij
Sw 5 5
(A3)
x yz
j 1 i 1
ij i j
3) Calculate the total flow of oil and water out of the left coarse block (Figure 54).
5
q f q f 5, j (A4)
j 1
where qf5,j is the flow of fluid “f” from fine block number (5,j).
Figure 54
Calculation of the total flow.
4) Calculate the average phase pressures in the central column of each coarse block.
In this example, we use the fine blocks in columns 3 and 8, the shaded areas in
Figure 55.
Figure 55
The cells used for averaging the phase pressures.
In the Kyte and Berry method, the pressures are weighted by the phase permeabilities
times the height of the cells (which in this case are all the same size). This is so that
more weight is given to regions where there is greater flow. However, there is no
scientific justification for using this weighting. In the first coarse block (numbered, I),
the average pressure is:
5
k
j 1
k
3 j rf 3 j z j Pf 3 j g j D3 j D
P fI 5
(A5)
k
j 1
k
3 j rf 3 j z j
where D3j is the depth of cell (3,j) and D is the average depth of coarse cell I. The
term g j D3 j D is to normalise the pressure to the grid block centre. The average
pressure for coarse block II is calculated in the same manner, but using column 8
instead of column 3. The pressure difference is then calculated as:
5) The pseudo rel perms are then calculated using Darcy’s law. Firstly, calculate the
pseudo potential difference. (Potential is defined as P gz .)
where D is the depth difference between the two coarse grid centres. Then:
q f X
k rf (A8)
Z Y k I f
Pc PoI P wI (A9)
Steps 2 to 6 are repeated, so that a table of krw Sw , kro Sw and Pc Sw is built up.
Learning Objectives
After studying this topic, you should be able to:
State the equation for the Leverett J-function and calculate Pc curves using the
Leverett J- function.
Describe the fluid properties which are required for a reservoir simulator.
o Explain the difference between black oil simulation and compositional
simulation.
1. Introduction
In Topic 6 we discussed two subjects which are required for building reservoir models
for simulation, namely geological modelling and upscaling. We did not go into great
detail in modelling, since this is usually carried out by geoscientists. However,
engineers should always be involved in the construction of a geological model – e.g. in
deciding which structures will have important effects for flow, and which scale(s) to
use for simulation.
This Topic focuses other types of data which are required to set up a simulation,
namely relative permeability, capillary pressure and fluid PVT data. See the shaded
boxes in Figure 1 below.
Figure 1
Data required for reservoir simulation.
2. Petrophysical Data
Figure 2 shows a CT scan of a rock sample of size 2mm x 2mm x 2mm. (There are 400
x 400 x 400 voxels in the model, and the voxels are approximately 5 m in length.) The
Figure 2
A close-up section of a rock (2 mm cube) and the extracted pore network. Left: CT
image, Middle: extraction of network; Right: 3D stochastic network model.
Figure 3
REV starting at the pore-scale. (From Lie, 2016, Figure 3.8, P55) Vv is the void volume
and Vr is the rock (grain) volume.
Although rocks are complex at the pore scale, many people have developed methods
for performing pore-scale modelling in order to link pore-scale structure with
macroscopic properties such as permeability and relative permeability, and to gain a
better understanding into how these properties arise. Early models considered the
pores as a bundle of parallel capillary tubes (i.e. narrow tubes). Gradually over the
3
k 2 (1)
2T 1 S S2
2
where T is tortuosity (i.e. the length of a tortuous flow path through the pore network
divided by the length of the system), and SS is the specific surface (i.e. the total surface
area of the grains divided by the volume of the sample). Unfortunately, it is difficult to
measure the parameters T and SS directly, although they can be calculated for simple
models (e.g. spherical grains).
Figure 4
Example of the log(k)- relationship.
Over the past few decades, people have developed numerical pore network models at
the pore-scale models to predict properties. The input to these models is a network of
pores as shown in Figure 2 (right) and includes data on the distribution of pore radii
and their connectivity. The numerical models are similar to reservoir simulation
models in that they assume mass balance and then use the relationship between flow
rate and pressure in the pores, in order to construct a set of pressure equations.
However, in the case of fluid flowing through a pore, the Poiseuille Equation is used:
r 4 P
Q (2)
8 L
where r is the radius of a pore. (You do not need to memorise this equation.) Pore
network models can be used for predicting permeability for single-phase flow, relative
permeabilities and capillary pressures for two-phase flow (and can also help to
understand the physics of three-phase flow).
Figure 5
a) Oil and Water in a capillary tube; b) the balloon analogy for capillary pressure.
Let us first consider a rubber balloon (Figure 5b) that has been inflated to a certain
pressure (Pi) and then tied. (We will assume that this “experiment” is taking place in
pressure Po, usually atmospheric pressure). If a force balance is considered for one half
of the balloon (Figure 5c), then we can show that, at equilibrium, the elastic force
acting around the circular perimeter of the balloon must counterbalance the difference
in pressure projected onto the shaded cross section.
This leads to a relationship between the pressure difference across the balloon surface
and the radius of the balloon:
2
Pi Po (3)
R
2 go
P gas Poil
R
(4)
where go represents the interfacial tension between gas and oil. This relationship tells
us that the pressure difference across a small spherical bubble is larger than that across
a large spherical bubble.
Return now to the case where we have two fluids at equilibrium in a capillary tube
separated by a curved interface (Figure 6). This curved interface appears at the
microscopic scale when one of the fluids preferentially wets a solid surface. The
pressure difference across the fluid-fluid interface is known as the capillary pressure.
Note the difference between tube radius (rA) and the interface radius (RA) when the
contact angle is non-zero.
A little bit of trigonometry can be used to derive an equation for two fluids at
equilibrium in a circular cylinder, known as the Young-Laplace Equation. This relates
the pressure difference across a curved interface (i.e. capillary pressure Pc) in terms of
the associated contact angle, interfacial tension and pore (tube) radius.
rA
Note that RA . (5)
cos
Figure 6
Interface between two fluids in a capillary tube. The shaded fluid is the “wetting”
fluid.
(5)
Therefore:
1 1 2 cos
Pc P gas Poil go .
RA RA rA
2 cos
Pc . (6)
rA
This is the Young-Laplace Equation. Although this example is for gas displacing oil, it
holds for any two fluids (e.g. oil and water).
In Figure 7a) there are 3 tubes of different radii, where R1 > R2 > R3. Let us assume
that the tubes are initially filled with water, which is the wetting phase, and oil is being
introduced to the system at gradually increasing pressures. In order to invade the
largest pore, the oil pressure must exceed the capillary entry pressure, i.e.
2 cos
Po Pc .
R1
Figure 7
Invasion of 3 small tubes by non-wetting phase: a) filling of the tubes at different
stages; b) Pc vs wetting saturation.
Then, as the pressure is increased further, the oil will invade the medium-sized tube,
and then the smallest one. Figure 7b) shows capillary pressure vs Sw (wetting
saturation). To start with Sw = 1 – all tubes filled with water. Then it decreases and
the oil pressure increases, and the tubes are invaded successively.
Also, the Young-Laplace Equation (Equation 6) shows us that capillary pressure is more
important at small-scales, such as in a rock with microscopic pores.
Therefore if the two phases are oil and water and the rock is “water-wet” (Section 5),
drainage means that oil is replacing water – the water saturation, Sw, decreases. An
example of drainage could be oil migration into a water-filled formation. If a water-
flood is being carried out in a water-wet reservoir, this is imbibition, and Sw will
increase. On the other hand, if the reservoir is “oil-wet”, the situation is reversed. For
example a water flood will be a drainage process. (Wettability will be discussed in
Section 5.)
It is known from lab experiments that relative permeability and capillary pressure
curves are different for the two processes. You need to study what is happening at the
pore scale to understand the processes.
Figure 8
Pore-size distribution for capillary bundle example.
This is a Primary Drainage process (i.e. there has been no oil in the system previously).
The steps in the drainage process and the corresponding drainage capillary pressures
are illustrated schematically in Figure 9. From the pore occupancies, we calculate the
water saturation Sw by summing the volume of the water-filled pores, divided by the
volume of all pores. Similarly, we may calculate the relative permeabilities (see below).
Step 1 – No oil can enter the system until the pressure is greater than the minimum
entry pressure, which is the capillary pressure corresponding to the tubes with the
largest radius. At this point:
2
Po Pw Pc1 .
Rmax
Step 2 – As the pressure is increased further, oil is able to enter smaller pores:
2
Po Pw Pc 2 ; Pc 2 Pc1 ; r2 Rmax .
r2
Figure 9b) shows that the oil saturation has increased and the water saturation
decreased.
Step 3 – The pressure is increased further so that all pores of radius r3 and greater have
been invaded.
2
Po Pw Pc 3 ; Pc3 Pc 2 ; r3 r2 Rmax .
r3
Figure 9
Steps in a primary drainage process, and the equivalent capillary pressure curve.
Step 4 (not shown) – Eventually, the pressure will be high enough to overcome the
entry pressure for the smallest pores. In this case:
2
Po Pw Pc max .
Rmin
Also, in this example, the water saturation will go to zero. However, note that this is
only the case for our simple capillary bundle model.
As oil invades the system, the effective permeability to each phase will change – i.e.
the relative permeability will change, and shown in Figure 10.
Figure 10
Steps in a primary drainage process, and the equivalent relative permeability curves.
Step 2 – The water saturation is Sw = Sw2 and krw falls quite rapidly since the water is
now flowing in smaller pores. Correspondingly, kro rises more rapidly since the oil is
flowing in the larger pores.
Step 3 – Again, the water saturation decreases, krw decreases and kro increases, as oil
invades more pores.
Step 4 (not shown) – finally, in this model the water saturation will reach zero: krw = 0
and kro = 1. However, as mentioned above, this is a simple system and this results
would not arise in a real system. (See next Section.)
Figure 11 illustrates a uniform pore size distribution (p(r) = constant). (A1 + A2)
represents the pores which have a radius greater than r. Of these pores, A2 are
accessible to the non-wetting phase, and A1 are “shielded” by smaller pores, so are
inaccessible for the non-wetting phase. The accessibility factor may be written:
A2
Ar .
A1 A2
(7)
Figure 11
Accessibility of large pores.
Figure 12 shows a 2D pore network. This example shows a mercury/air system, but
the same process can apply to oil invading a water-filled, water-wet system. The
numbers beside the pores give their relative diameters.
Figure 12
Drainage in a 2D network.
Piston-like displacement of oil by water is the reverse of drainage except that it occurs
when one of the phase pressures change such that Po - Pw < Pc = 2/r. The second
mechanism, snap-off, is associated with the flow of wetting phase (water) through
films. This film flow arises because, in a water-wet system, the water is in contact with
the grains, and may occupy irregular corners in pores. Figure 13 shows a schematic
diagram of a pore (with simple geometry for modelling purposes). The water can flow
in the corners, even though there is oil in the pore. Water films can swell around the
oil in a pore to form a “collar” which eventually - at an appropriate capillary pressure -
causes the oil to snap off thus occupying the space with water. This snap-off process is
shown schematically in Figure 14 for a single pore and in Figure 15 for a 2D
interconnected network. A given waterflood will generally consist of a mixture of the
two displacement mechanisms outlined above.
Figure 13
Schematic diagram of a pore with a triangular cross-section.
Figure 14
Illustration of snap-off. The wetting fluid is shaded and the non-wetting fluid is
white.
Figure 15
The snap-off mechanism during imbibition in a 2D pore network.
Figure 16 shows how the snap-off process relates to oil recovery. This figure shows a
“ganglion” of oil being snapped-off by water in a water-wet rock. The oil could only
escape through the connected cluster of oil filled pores (since there are no oil films in
a water-wet porous medium). We also note that the isolated blob of oil left behind in
this process in Figure 16 is “residual oil” since it is “trapped” and cannot now move
(unless viscous rather than capillary forces are invoked).
Figure 16
Schematic diagram of snap-off of a ganglion of oil.
It can be shown that the capillary pressure for snap-off is lower than that for piston-
like displacement. Indeed, in a strongly water-wet circular capillary (cos= 1), the
snap-off capillary pressure is approximately, Pc = /r i.e. half the value for piston like
displacement. Hence, if a capillary is occupied by oil and the oil pressure is lowered,
the capillary entry pressure for piston-like displacement will be reached first and – if
water is freely available, in adjacent pores for example – then piston-like displacement
will occur first. On the other hand, if the capillary entry pressure drops below the
piston-like entry pressure but no water front is available, then it will not fill with water.
However, if the oil phase pressure, Po, drops sufficiently (or Pw increases sufficiently)
that the snap-off capillary pressure is reached and there are water films to carry water
to that pore, then snap-off will occur. Hence, imbibition is a more complex process
than drainage and the balance between piston-like and snap-off events that occur
depends on a range of factors such as the range of pore sizes, pore-geometry (aspect
ratios), the connectivity of the network and the presence/absence of wetting films
(wettability).
Because the processes which take place in drainage and imbibition are different, this
means that relative permeabilities and capillary pressures are different for drainage
and imbibition. In fact, the properties depend on the saturation history. This is known
as hysteresis. We discuss this in more detail in Section 4.3
3. Laboratory Measurements
In this section, we will briefly mention a few different methods for measuring capillary
pressure and relative permeability. When setting up simulations it is important to
know how your data has been measured, so that you know if the data requires further
processing before you use it. You do not have to learn the details of this section. It is
included to make you aware of issues which you might have to address in the future
(e.g. in your project work for the BEng Program).
Porous Diaphragm – in this method oil invades a water-filled sample. This method
enables the residual water saturation to be measured. Occasionally water/air is used
to speed up the measurements, in which case the measurements have to be scaled
(Section 4.1.2).
Centrifuge Method – the sample is put into a centrifuge which spins at different speeds
providing different pressures to the oil phase.
Note that usually drainage curves are measured but, as mentioned above, imbibition
curves are different from drainage curves.
Steady-State Methods – in a steady-state method both oil and water are injected into
a sample simultaneously at a fixed ratio and at known flow rates. Steady-state
conditions are assumed to be reached once the inlet and outlet fluxes of each phase
have equilibrated and/or a constant pressure drop is seen across the sample. (This
may take a long time.) Once equilibration has been reached, Darcy’s Law can be used
for each phase in turn, resulting in a pair of relative permeability values valid for that
particular saturation. The fluid flux ratio is then changed, whilst keeping to total flow
rate constant, yielding a second set of data once a new steady-state has been achieved.
This procedure can be repeated for a number of flux ratios, thereby building up a set
of relative permeability curves which span the entire saturation range. Although the
time involved in extracting such data is clearly an important concern, steady-state
measurements performed at low rates should be considered most indicative of
reservoir behaviour. There are a number of different steady-state methods, which
we will not discuss. An example of some steady-state relative permeability
measurements is shown in Figure 17.
Figure 17
Oil-Water relative permeabilities for a Berea Sandstone sample, measured by
different steady-state techniques.
Unsteady-State Methods – In this case one phase is injected into a core and displaces
another. This method is faster than the steady-state method. However, the results
need more work to interpret. The injection rate is made high enough so that capillary
effects are negligible, and fractional flow theory can be used to calculate the relative
permeabilities. (See Topic 2 on Buckley-Leverett Theory.) The actual calculations are
a bit more complex and use a method developed by Johnson Bossler and Naumann
(1959), commonly referred to as the JBN method.
The disadvantage of this method is that the relative permeabilities are only obtained
after breakthrough of the injected phase. See Figure 18a). Sometimes the remainder
of the curves are extrapolated, so they look like complete relative permeability curves,
but they are not (Figure 18b).
Figure 18
Example of the results of an unsteady-state relative permeability measurement: a)
results from measurements; b) with the rest of the curves extrapolated.
invade the porous medium when Pc 2 cos Rmax — i.e. at the so-called
displacement pressure of the sample. As Pc continues to increase, the non-wetting
phase invades progressively smaller pores. Hence, the non-wetting phase saturation
gradually increases with Pc. The resulting plot of Pc vs Sw is the drainage capillary
pressure curve (Figure 19).
Figure 19
Example of a Pc drainage curve
We can now use this discussion to infer the type of capillary pressure curve that may
result from different samples. For example, how would the pore size distribution affect
the curve? We already know that the displacement pressure is affected by Rmax — the
largest pore in the sample — but it should also be clear that the range of pore sizes in
a sample can greatly affect the shape of the corresponding Pc curve (Figure 20). Flat
plateaux indicate samples that are fairly homogeneous at the pore scale, whilst steeper
curves indicate a large variance in the distribution. Moreover, fine textured rocks with
small cemented grains can be expected to exhibit higher capillary pressures at a given
saturation than coarse-textured media, and also higher displacement pressures. So,
from our basic understanding of capillary pressure at the microscopic scale, we have
been able to infer a great deal about how we would expect capillary pressure curves
to vary at the continuum (macroscopic) scale.
In Figure 20, the curves all have the same displacement pressure, so Rmax is the same
in each case. The curves labelled 1, 2 and 3 have progressively less well sorted grains,
so the pore sizes are more varied, and the size of the smallest pore decreases.
Figure 20
Pc curves for rocks with different amounts of fine-scale grains.
If we now consider the same medium, filled with water, undergoing oil injection, then
the requisite oil-water capillary pressure is now:
Now, eliminating Rmax from Equations (8) and (9) we arrive at the scaling relationship:
This clearly holds for any Pc-value, and so a complete oil-water capillary pressure curve
can be obtained from the mercury injection data by applying Equation (10) at each
saturation.
Experience shows that the ratio of interfacial tensions and cosines on the right hand
side of (10) (often difficult to measure accurately) should have a value of approximately
1/6. However, different ratios have sometimes been needed to reconcile experimental
mercury-air and oil-water data from different rock-types (Figure 21 — the ratio is
referred to as—“Factor” in these plots). Such differences may be due to interactions
between contact angle and pore geometry.
Figure 21
Mercury air Pc curves (axis on right side of graphs) scaled to water/gas curves (axis on
left side of graphs).
an important tool for capillary pressure interpolation and extrapolation and increases
the utility of a single capillary pressure curve. It allows us to adapt a single data set to
other areas of a reservoir where data may be unavailable.
It can be shown using capillary bundle models that a “representative pore radius” can
be estimated as follows:
k
R . (11)
1/2
Pc k
J (12)
cos
J S w cos
Pc S w (13)
k
1/2
Example J-functions are shown in Figure 22 together with a derived set of Pc-curves.
Figure 22
Left: One J-Function derived from Pc measurements of different cores. Right: Pc curves
for rocks with different permeabilities calculate from one J-function.
In Figure 23 (right), we see that the hydrostatic oil and water gradients meet at the
OWC (Po=Pw). Above this contact, Po>Pw and capillary pressure increases as we go
further up the reservoir.
Note that, actually Pc = 0 (i.e. Po = Pw) at the free water level (FWL). The oil water
contact (OWC) is slightly above this, and is at the depth where the oil saturation starts
to increase. However, sometimes this difference is overlooked.
Figure 23
Capillary Pressure and transition zones.
Capillary pressure data can also be used to infer fluid saturations as a function of depth
within a transition zone. Assuming that oil and water pressures remain continuous
throughout the entire height of the zone, we can write equations for each hydraulic
gradient (z measures height above OWC (FWL) and increases vertically upwards):
dPw
g w (14)
dz
dPo
g o (15)
dz
Pc g w o z . (17)
Hence, any capillary pressure curve can be re-plotted to give saturation with depth
information. An example is shown in Figure 24.
logs
Approximate oil-
water contact
Figure 24
Example of the variation of water saturation with depth.
bundle model. Here we simply present an outline of how to use the method. You do
not have to learn this method, or the Burdine version, described below. In the steps
below the subscript “w” is for the wetting phase and “nw” for the non-wetting phase.
(iv) For any chosen value of water saturation (Swt, say), calculate the area under the
1 Pc2 curve from 0 to Swt. This gives kwt
(v) For the same value of water saturation, calculate the area under the 1 Pc2 curve
from Swt to 1. This gives knwt
(vi) Use the values obtained from (iii) – (v) to determine relative permeabilities
Figure 46
Curves used for Purcell method of determining relative permeability.
S Swt
k S dS Pc
2
krw S wt w wt S 0
S 1
, (18a)
dS Pc
2
kabs
S 0
S 1
dS Pc
2
k S
krnw S wt nw wt
S S wt
S 1
. (18b)
dS Pc
2
kabs
S 0
There is one clear drawback using this approach: the relative permeabilities add up to
unity over the full saturation range and are therefore completely symmetrical. This
limitation led Burdine to add the following improvement.
Sw Swi 1 Sw Sor
w Sw nw Sw (18)
1 Swi Sor 1 Swi Sor
(This is assuming that the wetting phase is water and the non-wetting phase is oil. Swi
is initial water saturation, or connate water saturation, Swc.)
The curves are therefore defined over the wetting-phase saturation range Swi to (1 -
Sor). Although a number of gross assumptions have been made along the way, the
Burdine method offers a cheap alternative to laboratory measurement of relative
permeabilities. It is easily coded into a spreadsheet and is often carried out by
practicing reservoir engineers — experience appears to show that the wetting phase
prediction is often fairly good, whilst the non-wetting curve is less well reproduced.
krnw 1 Seff 1 S
2 2
eff (20)
S w S wc
Seff . (21)
1 S wc Sor
However, it was soon discovered (not surprisingly) that the exponents in Corey’s
original equations would have to be varied in order to fit different materials. They
were consequently generalised by Brooks and Corey (1964) to:
2 3
krw Seff (22)
krnw 1 Seff 1 Seff 2
2
(23)
with Pcb representing the breakthrough capillary pressure and the “pore size
distribution index”. Both of these parameters have to be determined experimentally:
Seff vs Pc is plotted on a log-log scale and a straight line fitted, the slope gives and the
intercept with Seff =1 is assumed to give Pcb.
w
krw krwm Seff (25)
nw
krnw krnwm 1 Seff (26)
Where w and nw are exponents for the wetting and non-wetting fluids, and krwm and
krnwm are the maximum values of the relative permeabilities.
Figure 25
Left: Comparison of network model relative permeabilities with experiment. Right:
Inverse capillary pressure data.
(i) Contact angle hysteresis — advancing and receding contact angles differ
(reflected in Pc through the Young-Laplace equation);
(ii) Pore structure hysteresis — sloping pore walls mean that pores fill and empty at
different capillary pressures;
There is often such a difference between imbibition and drainage curves (both capillary
pressure and relative permeability) that we must make sure that we are using the
correct set of curves in our reservoir simulation studies. (For instance, we should not
be using drainage curves as simulation input when modelling a waterflood in a water-
wet reservoir). Built-in numerical models are available in Eclipse and other commercial
reservoir simulators to account for flow reversals at intermediate saturations.
Hysteresis is not, however, included in the codes provided in MRST.
Figure 26
Example of hysteresis in capillary pressure and relative permeability.
5. Wettability
5.1 Introduction
The term wettability refers to the wetting preference of a solid substrate in the
presence of different fluid combinations (liquids and/or gases). Figure 27 shows how
the contact angle changes depending on the fluids, and the solid surface. The wetting
phase is defined as the fluid that contacts the solid surface at an angle less than 90o.
Figure 27
Examples of contact angles for different fluids and different surfaces.
This figure clearly demonstrates an important issue, namely, that the wetting
preference of a rock depends not only upon the fluids involved but also upon the
mineralogy of the rock surface. For instance, we see that, in the presence of
isoquinoline, water is non-wetting on a silica substrate but wetting on a calcite
substrate. In cases when a solid has no wetting preference, (i.e. when the angle
separating the two fluid interfaces is close to 90o) the system is said to be of “neutral”
wettability.
In most of what has been described in this chapter, the assumption has been made
that the system under consideration was water-wet. Indeed, historically, all reservoirs
were believed to be strongly water-wet and almost all clean sedimentary rocks are in
a water-wet condition. An additional argument for the validity of the water-wet
assumption was the following: the majority of reservoirs were deposited in an aqueous
environment, with oil only migrating at a later time. The rock surfaces were
consequently in constant contact with water and no wettability alterations were
possible as connate water would prevent oil contacting the rock surfaces. However,
Nutting (1934) realised that some producing reservoirs were, in fact, oil-wet (the rock
surface was preferentially wetted by oil in the presence of water) and it is now
generally accepted that water-wet reservoirs are the exception rather than the rule.
Table 1 shows wettabilities for a sample of 55 reservoirs. In this sample half of the
silicate reservoirs were oil-wet and nearly all of the carbonate reservoirs.
Contact
Silicate Carbonate Total
Angle
Reservoirs Reservoirs Reservoirs
(degrees)
Water-wet 0 to 75 13 2 15
Intermediate-wet 75 to 105 2 1 3
Oil-wet 105 to 180 15 22 37
Total 30 25 55
Table 1
Wettability of a selection of reservoirs.
We now know that wettability is a rather complicated issue and that there are a
number of different factors affecting reservoir wettability, including: surface-active
compounds in the crude oil, brine composition, mineralogy and pressure and
temperature. What’s more the wettability may vary throughout a reservoir.
Having discovered that most reservoirs are not water-wet, we now have to modify
everything that we have learned so far — pore-scale physics, capillary pressure models,
relative permeability models, and network models. However, this is not as difficult as
it may first appear; we already understand drainage and imbibition processes at the
pore scale, we know how to define capillary pressure, and we appreciate the dynamics
underlying relative permeability measurements. The following discussion should help
you apply your previous water-wet knowledge to systems that are not water-wet.
Figure 28
Comparison of a water flood in a) water-wet and b) oil-wet rocks.
The foregoing discussion has clarified some of the pore-scale physics affecting water-
wet and oil-wet media. However, given the complex nature of wettability alterations
in reality, a more realistic representation of wettability at the pore scale may be that
shown in Figure 29. Here, a combination of water-wet and oil-wet pathways exists that
allows film-flow access to the displacing phase and film-flow escape for the displaced
phase. Hence, a waterflood would now consist of a combination of imbibition and
drainage events: water initially imbibing along water-wet pathways (displacing oil from
small pores) and then requiring an overpressure to drain oil from the larger oil-wet
pores. It is clear that the underlying mineralogy and surface chemistry of the system
would determine the connectivity and topology of the “wettability pathways” but how
can we determine these pathways – in short, how can we quantify the wettability of a
porous medium?
Figure 29
Network of water-wet and oil-wet pores.
Uniform – the wettability of the entire pores pace is the same (100% water-wet, 100%
oil-wet, or 100% “intermediate-wet”) and the contact angle is essentially the same in
every pore;
Mixed-wet – a certain fraction of the largest pores are oil-wet (there are valid
depositional arguments for how this may come about).
Figure 30
Pore size distributions, indicating the difference between mixed wet and fractionally
wet.
If the wettability is heterogeneous, then the Pc curve will have both positive and
negative parts. When the pore network contains a mixture of water-wet and oil-wet
pores, a waterflood initially proceeds as an imbibition, with water spontaneously
imbibing along water-wet pathways displacing oil from the smallest pores. Eventually,
however, the water has to be forced into oil-wet pores and the displacement becomes
one of drainage.
Figure 31
Example of a capillary pressure curve for an intermediate-wet rock sample. 1)
drainage, 2) spontaneous imbibition, 3) forced imbibition (or drainage of water).
Figure 32
An examples relative permeabilities for a water-wet and an oil-wet system.
In fact, the key features of such curves were presented by Craig (1971) who indicated
the differences between the two in the form of several rules of thumb (see
Table 2). Many subsequent experimental studies have agreed with these ideas.
Water-Wet Oil-Wet
Connate water saturation Usually greater than 20 Generally less than 15%
to 25%
Saturation at which oil Greater than Sw = 50% Less than Sw = 50%
and water relative
permeabilities are equal
Relative permeability to Generally less than 30% Greater than 50%, and
water at the maximum approaching 100%
water saturation
Table 2
Craig’s Rules of Thumb
6. Fluid Data
In this Topic, we have considered petrophysical properties in great detail, because they
determine the distribution of fluids in the reservoir (at the pore-scale), and how they
flow. However, the distribution of fluid in a reservoir also depends on density, and
fluid flow depends on both density and viscosity. So, before leaving this topic, we
briefly review fluid properties.
In Topics 4 and 5 we derived the flow equations and showed how to discretise them
for numerical flow simulation. The coefficients in the pressure equations depend on
the density and viscosity, which in turn depend on pressure (so they are non-linear
equations). We therefore need to input tables of density and viscosity vs pressure, or
equations to enable these properties to be calculated.
k P
u (27)
x
If there is only one incompressible fluid flowing in the model, this is all the fluid data
which is required, because in an incompressible system, the density is constant and
therefore cancels in the mass balance equation – e.g. Equation (10) in Topic 4, which
is reproduced here as Equation (28):
u
(28)
t x
However, if there are two (or more) fluids flowing, the density is also required.
Equations (29) and (30) are the same as Equations (55) and (56) in Topic 4, and give the
general form of the mass balance equation for two-phase flow.
So kkro Po z
o g . (29)
t Bo x o Bo x x
Sw kkrw Pw z
t Bw x w Bw x w g x . (30)
and B is the formation volume factor (units of rb/stb, or rm3/sm3). Then sc cancelled
in the mass balance equation. When using the incompressible routines in MRST, it is
sufficient to input only the reservoir density of the fluids.
Table 3
Example of a typical dead oil table.
Table 4 shows a table for live oil, and includes a column for Rso solution gas-oil ratio.
As pressure increases, more gas can be dissolved in the oil, so Rso increases, and Bo
increases too. Beyond the bubble point pressure, no more gas is dissolved, so Rso stays
constant, and Bo decreases (Figure 33). The oil is under-saturated here in this pressure
range.
Table 4
Example of a typical live oil table (Schlumberger, 2015).
Figure 33
Graph of Rso and Bo vs pressure.
(e.g. CO2 EOR), the gas may mix with the lighter oil components first, then slightly
heavier components, and possibly the heaviest components may be left behind
(asphaltene deposits). If it is necessary to simulate this complex behaviour a full
equation of state (EOS) must be input into the simulator. There are several common
EOS, e.g. Redlich-Kwong and Peng Robinson. These both require several parameters,
which must be obtained from laboratory data. We discuss compositional simulation
further in Topic 9.
7. References
Anderson, W.G., 1986, 1987. Wettability literature survey–part 1 to part 6. J. Pet.
Technology,.1125-1144.
Brooks, R.H. and Corey, A.T., 1964. “Hydraulic properties of porous media and their
relation to drainage design”, Transactions of the ASAE, 7(1), 26-0028.
Corey, A.T., 1954. “The interrelation between gas and oil relative permeabilities”,
Producers Monthly, 19 (1), 38-41.
Craig, F.F., 1971. “The reservoir engineering aspects of waterflooding” (Vol. 3), Society
of Petroleum Engineers.
Jiang, Z., Couples, G., van Dijke, M.I.J., Sorbie, K.S. and Ma, J., 2012. “Stochastic Pore
Network Generation from 3D Rock Images”, Transport in Porous Media, 94, 571-593.
Johnson, E.F., Bossler, D.P. and Naumann, V.O., 1959. “Calculation of Relative
Permeability from Displacement Experiments", Trans AIME, 216, 370-372.
Lie, K-A, 2016. “An Introduction to Reservoir Simulation Using MATLAB: User Guide
for the Matlab Reservoir Simulation Toolbox (MRST)”, www.sintef.no/mrst.
Nutting, P.G., 1934. “Some physical and chemical properties of reservoir rocks bearing
on the accumulation and discharge of oil”, Problems of Petroleum Geology, 825-832.
Learning Objectives
After studying this topic, you should be able to:
Describe the types of data which are used for history matching.
Explain the types of parameters which are adjusted during a history match.
1. Introduction
The main aim of history matching is to improve the reservoir model so that we can
make better predictions. Realising how a model needs to be altered to match the
history gives a better understanding of the reservoir, and allows engineers to decide
how to manage the reservoir in the future. (See Topic 1, Section 3.2.) There are some
problems, though. History matching is an inverse process – we need to determine
what model can produce the observed restuls. Also, it is non-unique. This means that
we could alter the model in different ways, and obtain a match each time. We don’t
know which is correct until further production data is obtained. Also there are so many
uncertainties, we need to decide which should be adjusted to obtain a sensible match.
Engineers spend a lot of time on history matching. But, using the workflow presented
in this Topic should help to achieve a match within a reasonable time frame.
1.2 Example
Figure 1 shows an example of how history matching is carried out.
1. We start with an initial model, in which some of the parameters may be rough
estimates (e.g. the average permeability of each layer of a reservoir model).
2. We run a simulation (sometimes this is referred to as a “forward model”).
3. We compare the results (production rates and/or pressures) with the observed
production data.
4. We adjust the model (update parameters).
Figure 1
The history matching loop, and some examples.
The graphs on the right side of Figure 1 show examples of history matched data. Water
production rate and Gas Oil Ratio have been measured (blue dots) and are compared
with simulation results (black lines). The initial model was probably wrong, with water
breaking through too early or too late, GOR may have been too high because the
pressure draw down was too great (or vice versa) and so on. The engineer changed the
properties in the model that were considered to be linked to the errors and then
another simulation was run.
In a nice easy world this would happen in one iteration of the loop but due to the
reservoir complexities it is most likely that the first guess will be wrong and many
simulations will be required. Some models will be worse than before and the engineer
can become quite frustrated. Eventually though, with application of some sound
principles (see below) the headaches can be avoided and we can get the kind of match
seen in the data shown.
History matching is not the final aim, however. Remember that we want the model to
predict the future as well as the past so that we can explore various decisions to be
made about the reservoir.
We may collect a set of models that match the data. In the Figure 2 there is a family of
models that give a good match. Models that don’t match very well have been ignored
here. We then run the models forward in time to examine their behaviour. We note
that uncertainty remains and there is a spread in the forecast. There are several
reasons why the models are still uncertain. Firstly the history matched models are only
being affected by the properties of the reservoir that influence the regions producing
during the history period. Well pressures are only affected by regions in pressure
communication with the wells where we have data. Water production data reflects the
regions where the water has passed through and is in communication with. Secondly,
the different processes depend on different properties. For example depletion
depends on the overall connectivity of the reservoir. A waterflood depends on
variations in connectivity. A gas flood depends on vertical AND horizontal permeability.
So a good match to history does not mean that the forecast will be accurate. In the
above example, a range of outcomes exist.
Figure 2
Example comparison of results that match history, and subsequent forecasts.
data? We may identify that there are some unusual operating conditions, particularly
near the wells. We certainly get a better understanding of what is likely to be
happening and we can explore this in an objective manner. Ultimately of course we
want to be able to forecast the future behaviour with improved confidence.
Before we carry out history matching we must answer some fundamental questions.
The first question is really what do you want to use the model for once you get a
match? Do you want to simulate the continued behaviour of the field as it is or do you
want to change the nature of the field by drilling more wells, using an EOR process or
otherwise changing the facilities? These decisions alter the nature of the flow
behaviour and we need to make sure that the model we get from history matching will
be capable of also being used if the conditions change.
We need to decide what it is we want to simulate because that influences the kind of
model we will use. Early in a field life there is a lack of data so there is no point in
constructing and running very complex detailed models. While these may be precise
in their representation of the reservoir, they will take too long to run and will inevitably
require more runs as well to figure out the details. If we don’t need particular details
we leave them out.
We also need to decide what it is that we want to change in the model. This ties back
to the first questions but it also depends on the data we are working with. The
geologists, petrophysicists and geophysicists have a part to play in helping answer this.
They can also give us an idea by how much the various properties should be varied.
We should have a clear definition of how we will define a ‘good match’. We will see
that we can do this very objectively or we can eyeball it from graphs. We should also
decide which data we trust. Which data has been measured accurately and are there
effects in the data that render it less reliable?
Of course there are issues of representivity. The rock we have measured no longer
exists in the reservoir and we produce from other bits of rock. Is it the same? There
are also scales of measurement that we should concern ourselves with. A simulation
grid is probably 25 to 100 m long and 0.5 to 5m thick. The sample rock is measured in
centimetres so the effects of scale can be important.
Figure 3
Top: Example of log data. Bottom: Example of relative permeability data.
We also use soft data. Seismic data (Figure 4, top left) should be considered to be soft
data. It lacks resolution for one thing, but there can be uncertainties in its calibration
which mean it may be good at giving a relative measure but absolute values are less
reliable. Porosity and permeability relationships (Figure 4, top right) are often noisy,
which introduces uncertainties. The geostatistical model that the geologist creates also
invokes soft relationships (Figure 4, bottom). Geostatistical information such as semi-
variograms are often obtained from analogue outcrops or fields. They give a good
representation of the spatial variation in the reservoir but they are not precise.
Figure 4
Examples of soft data. Top left: seismic data. Top right: permeability-porosity cross-
plot. Bottom: conceptual geological model.
Then we have the complete unknowns. The petrophysical properties in grid cells 300m
from a well could vary considerably from the measured values at the wells. We
therefore have to treat many grid cell properties as unknowns (although there are
limits to the uncertainty). We define these as the known unknowns such that these are
properties that we know exist but we just don’t know what they are. We can also miss
certain properties such as sub-seismic faults or shale layers. We don’t know they are
there and we certainly don’t know their properties.
In summary, we need to honour the hard data, be guided by the soft data, and alter
some of the parameters which are unknowns, as described in the next section.
Once the important parameters are identified we can start to run models by changing
these in different combinations.
Figure 5
Top: Example of a spider diagram. Bottom: Example of a sensitivity plot as a bar
chart.
Figure 6
Example of a streamline simulation.
Before we answer that, we should also consider that the simulation must be set up
with a set of well controls. That is we must choose to define either rate or pressure
controls for all wells along with equivalent pressure or rate limits. The history matched
model requires this the same as any other. It obviously makes sense to use the history
data in this context. Thus, in the exception of extreme problems with the model, the
control data will always be perfectly matched. For example, we might instruct the
reservoir to produce from wells at the historic liquid oil rates with some defined
pressure minimum (in some fields this might be the bubble point if it is known that that
has been avoided). Then should the simulation reach that pressure minimum, the
result of the model is obviously very bad and that version of the model should be
avoided.
So what data should we control on and what should we match on? Logically, the most
accurate data should be used as the control. This is usually the field production volume
of oil over each simulated time interval. This is what we sell after all. Individual oil rates
may be specified for each well but these are often obtained through the process of
allocation and may not be accurate.
Traditionally history matching was carried out manually. Figure 7 shows a ‘good match’
from a North Sea reservoir as determined by the operator. The engineer controlled the
simulation using Liquid Rate or Oil Rate and then compared pressures and water cut
(or water rate).
The water cut was the better matched of the two. The breakthrough time was slightly
late but the build-up in water cut was good despite a discrepancy around 350 days and
a divergence at 600 days. The pressure match was still acceptable if not quite as good.
The early pressures were matched quite well as well as the later cluster of pressures at
around 600 days. There are clusters of points (around 300 to 350 days and 400 to 450)
where the trend was wrong.
Figure 7
Comparison of history and best-matched model for bottom-hole pressure (left) and
water cut (right).
Given Figure 7, the engineer has had to decide which of the points in the curves were
good and which should be ignored. The production engineer would have been asked
for any known problems such as sand production, changes to the well controls that
were important locally. The data uncertainty (i.e. how accurately it was measured)
should have been considered also. Could the engineer have drawn error bars on the
graph, for example? Do we have enough information to do that? These all help decide
the accuracy of the match.
Could we try to improve the match further? If we modify the model to improve some
of those discrepancies mentioned above, we may find that while we improve, say, the
water cut, the pressure actually gets worse (or vice versa). It is quite possible that this
is what the engineers observed and this is why they stopped at this point. When we
get to this point we have reached the limits to which the model can be improved. We
require additional detail to improve it. Perhaps the model is too coarse or the
geological conceptual model is incorrect. Pragmatism may force us to stop at this point.
The difference between the model results and the measured data is calculated for
every comparable time-step, variable and well that we want to include here. This
X X ijksim
obs 2
N w N var Nt
Misfit
ijk
(1)
i 1 j 1 k 1 ijk2
"X" is a variable that we both observe and predict (indicated by superscripts "obs" and
"sim"). There are Nw wells, Nvar variables and Nt time steps and these are counted by i,
j and k respectively. ijk2 is the data error. Usually this is assumed to be a constant for
each variable across the various time steps and wells but we include the "i" and "k"
indicators for generality.
In some cases we don’t have an accurate measure of data accuracy so the misfits for
individual variables are simply weighted arbitrarily, or at least estimated. This is still
useful but we have to be careful about the resulting model and should not just accept
the best one only because the measure of the best model is itself uncertain.
3. History-Matching Workflow
The main idea is that we try to reduce the complexity of the problem and work with an
organising principle. It would be a nightmare to try and change everything at once so
we try to identify parameters that control certain parameters first.
Material balance: We start by trying to ensure that we have the right average
properties to get a good material balance in the model. We use the material
balance equation in place of the simulator at this stage but derive properties to
constrain the simulation.
Match the pressures (field/reservoir): We use the simulator to try to get the
energy of the system right and match the field average pressures.
Match the GOR/water cut: With those matched we can move on to more local
properties and match the water cut/rate and/or the GOR.
Match the BHP or THP (PI): Local variations around the wells are made to match
Bottom Hole or Tubing Head Pressures.
As discussed in Topic 2, the Material Balance equation requires data. You need to have
history data telling you how much oil and other fluids have been produced as well as a
measure of the average field pressure from shut in measurements or by estimation
from flowing pressures. The correct PVT data is also needed to relate changes at
various pressures. Note that the material balance only applies to those volumes in
pressure communication with the wells. That may include part or all of the aquifer
depending on how you model it. The material balance equation is comparable to a
geological model, it just averages everything over the flowing volume. If you find there
are differences between what the geological model predicts and the equation, the
model is probably not representing internal barriers. The geologist and the engineer
have to work it out.
In Topic 2 we introduced the material balance equation for primary depletion where
we stay above the bubble point and there is no influx from an external aquifer. (There
may be a “water-leg” though and this can contribute to the expansion of water).
The symbols have the usual meanings. (Check Topic 2, if you are uncertain.) Note that
it is implicitly time dependent, oil expansion is included in the oil formation volume
factor, the average saturation refers to all water in pressure communication with the
wells and p is the increase in pressure which is negative under depletion!
Figure 8
Plot of the right side of Equation (2) over the drop in pressure, -P.
In the first tutorial for Topic 2, we used this equation in these conditions to estimate
the original oil in place. In other primary depletion scenarios, either with water influx
from an aquifer OR gas evolution, additional terms are required in the equation.
Additional compartments in the reservoir may be in weak communication also
requiring separate equations for each one and a transfer term to allow flow between
them.
Equation (2) is used to calculate STOIIP, N by evaluating the right hand side for a given
pressure drop and then solving for N.
As it stands Equation (2) can be used to solve the material balance for a reservoir in
communication with an aquifer provided that the correct average saturation is used to
include the aquifer volume. In general though, a large aquifer will not reach pressure
equilibration fast enough and so additional influx terms are required. These are also
needed for injector wells.
The mass balance equation can be written in a more general form to include water and
aquifer influx as well as oil and water expansion (extendable to include gas cap
expansion):
F Bw We Winj
N (3)
Eo E f , w Eo E f ,w
where F is the volume withdrawn in rb, N is the STOIIP, We is the water influx volume
from the aquifer (here in stb, but was in rb in Topic 2), Winj is the known water injection
volume, Eo is the oil expansion and Ef,w is the formation and water expansion term
obtained from the PVT data as in the RHS of Equation (2). (Both Eo and Ef,w are in units
of rb/stb.) (See, for example, Dake, 1994). This equation basically says:
The left side of Equation (3) is then evaluated and plotted over time. The response
depends on the strength of the influx and can be used to infer influx rates (Figure 9).
A flat line indicates zero influx and we can calculate the oil in place. We can also
estimate the influx volumes from the shape of the curve and use these to constrain the
simulator later. A weak aquifer follows the red curve while the blue curve indicates a
good aquifer.
Figure 9
Schematic graph of the right side of Equation (3) over time.
Figure 10
Example of the average pressure decline in a reservoir, comparing simulation with
history.
The average pressure depends on the material balance of the system. Pressure
declines if we produce more than we inject (e.g. Figure 10). The rate of decline is
governed by a number of variables including how much material exists that can expand
to replace produced volumes and the rate at which it expands (i.e. compressibility).
Gas, oil, water and the rock can all expand as the pore pressure reduces. We therefore
need to know how much of each is in pressure communication with the wells. The
amount of oil depends on the available pore volume, the depth of the contacts, the
end points of the relative permeability curves and also the strength of any capillary
transition zones (Topic 7, Section 4.1.3).
The volume of water includes connate/irreducible water, which can expand, water in
the transition zone and any water below the oil water contact (OWC) that is in pressure
communication with the well. The volume of gas depends critically on the depth of the
gas cap as well as the total pore volume which contains the gas. The location of faults
and their transmissibility also affects the pressure decline. If sealing, they define the
available volumes. Non-sealing faults also act to dampen expansion in poorly
connected regions.
In the schematic example in Figure 10, the observed field average pressure declines
quickly initially but then starts to flatten out. If there is no pressure support at all, the
field enters pseudo-steady state and the pressure declines at a constant rate such that
offtake is matched by expansion. The pressure decline would be a straight line. An
aquifer helps increase the volume available for expansion and so the rate of decline of
pressure slows down once it starts to flow. An infinite aquifer would result in a flat
pressure plot eventually. A moderate aquifer seems to be providing some support in
the example. The simulation does not see such a rapid decline, however, and so there
is too much energy in the modelled system or too much fluid connected to the well.
Some of the above model parameters need to be altered. We determine which by trial
and error.
There are some key steps to take to getting a reasonable field pressure match. Firstly
the offtake of the reservoir should be correct. We usually control the wells using the
liquid rate at this stage and we may even choose to set the rate in reservoir units (rb
instead of stb). If we use the surface units and the pressures are wrong at the well
then the formation volume factor may give an incorrect reservoir volume offtake.
The average pressure from the reservoir is then compared to the model. We take care
not to alter the properties obtained from the material balance calculation but we
change the pore volume and aquifer properties. The main issue here is likely to be the
spatial distribution of the pore volumes and in particular the transmissibility in the
reservoir which can control the rate of flow.
Note that this step is not the same as matching on BHP which is a flowing pressure.
The source of the invading fluid depends on the location of the well relative to fluid
contacts as well as the location of any barriers.
Other common properties to change at this stage are the permeability and relative
permeability data. Permeability variations tend to alter the sweep (i.e. where the flood
front reaches). On the other hand the relative permeability affects displacement (i.e.
how much of a grid cell gets swept out relative to the amount of fluid that invades).
(Think about Buckley-Leverett displacement, here.)
It is also good to try to break down how you change the model parameters based on
your understanding of flow behaviour. For example if you suspect coning then vertical
permeability is likely to be the first place to consider making changes. You may have
to alter or place shale layers and the well relative permeability curves may be
important here. For lateral sweep the horizontal permeability and layer thickness can
be very important (but don’t forget vertical permeability as it controls gravity slumping
and crossflow between layers). Pore volume is often important in this case as a more
porous rock takes longer to sweep. The relative permeability data have a strong
influence on both breakthrough and, through displacement efficiency, the build-up of
water production.
Figure 11
Schematic graph of water cut measurements and predictions showing two possible
miss-matches.
In Figure 11 (left), the simulation predicts early breakthrough and faster increase of
water cut. We need to consider the nature of the flow to help guide us to decide on
what we should change. In the case of horizontal flow we may have placed a thief zone
(high permeability layer) in the model where we should not have. We may also require
a shale barrier of some sort (depending on geological interpretation). In the case of
vertical flow we might need a may require a shale layer to be added to slow down the
movement of the front.
The sort of mismatch represented in Figure 11 (left) also depends on the shape of the
relative permeability curve. If the water relative permeability is too high we would see
earlier breakthrough (see Buckley-Leverett analysis) and greater production. We may
have overestimated the degree of oil wettability, but it depends on how the relative
permeability data was obtained as well.
The early breakthrough is also characteristic of too much dispersion in the model. This
can be a numerical effect if the front is spreading because the cells are too large or the
flow is aligned to the grid. Either pseudo relative permeabilities may be required or a
refined grid. The model could have too much physical dispersion, though that is
equivalent to the thief zone mentioned above.
Note that the above curves will probably cross eventually. The key here is to be able
to break down what may be affecting flow so that you don’t consider everything to be
important.
In Figure 11 (right) the breakthrough time is correct but the later water production is
wrong. Be careful here because the correct breakthrough could be the result of two
wrongs making a right. For example the wrong physical dispersion mixed with the
wrong permeability contrast in layers may have accidentally resulted in the right
breakthrough time.
On the other hand the model may be predicting the correct location of the flood front
but the displacement is wrong. This is usually because the ratio of relative permeability
is wrong. Another possibility is that we have located the aquifer correctly relative to
the wells but it supplies too much water. We would of course expect to see some effect
of that in the pressure data but we may have compensated for that with an error
elsewhere.
As you can see then there are many possibilities that affect how the fluids move
through the model of the reservoir and it is hard to get them right based on production
data alone.
We have to go through this step before we get into forecasting (predicting beyond the
history period). This is usually because well controls are set to pressure limits during
forecasting rather than production rates.
The properties that are important are usually those that affect the productivity index.
The local permeability, the completion length or the effective radius (See well
modelling in Topic 3, Section 4) all affect flow here. We may also consider relative
permeability changes equivalent to the application of pseudos, depending on
heterogeneity effects around the wells (Topic 6, Section 5.3).
Figure 12 illustrates the complexity of this stage. We see a cross section through a
model that includes some deviated wells. These wells pass through the cells. A
modelling package like Petrel can be used to estimate the true length of completions
for each of the cells that the wells pass through. This is then used to estimate the
productivity index (PI). The measured completion data and the location of the well may
be incorrect. There may be formation damage or even well collapse for example that
alters the PI. The PI also depends on the individual permeability of each cell, itself an
estimate through upscaling of core/well measurements and lateral interpolation.
Figure 12
Cross-section of a model indicating well trajectories and completions (green
symbols).
The Stratigraphic Method (Williams et al, 1998 and Ertekin et al., 2001) is one such
method (illustrated in Figure 13). The aim is to focus on global properties first (average
permeability, porosity, total volumes etc. as well as the boundaries). Focus on those
and get a match that is as good as possible. Then break the problem down to a smaller
level. We may consider “flow units” which is another way of identifying regions in the
model that are similar. Often geological information helps here. We may identify
different facies or groups of layers considered to be similar. Individual layers can then
be considered and finally sub-volumes around the wells. This process takes a lot of pain
out of a less organised and often random approach.
Figure 13
The Stratigraphic Method (Williams et al, 1998).
The first step in history matching is usually to understand what controls flow and the
history match, so sensitivity studies are required to determine the most influential
parameters.
Once we’ve eliminated some properties we can then carry out Automated History
matching where an optimization algorithm tries to find the best set of parameters for
the model so we get the best match. The key here is to remember that automatic
history matching helps us identify by how much we should change reservoir
parameters but it doesn’t tell us what to change. The sensitivity analysis helps with
that decision. We also have to query the results quite carefully.
Automatic history matching methods can then be split into several approaches.
Gradient methods are deterministic. Based on a starting model there is one outcome,
hopefully an improved model. The approach is usually fairly fast. A typical example is
the method used in Schlumberger’s SIMOPT. Application of the method does require
calculation of gradients (i.e. how much the misfit changes with a change in a
parameter).
Gradient methods use the same approach as used within a reservoir simulator to
improve the search for a numerical solution (See Newton-Raphson in Topic 5, Section
6). Starting with a model, the rate of change of misfit is calculated relative to the
change of each parameter. This step is the difficult part. Based on these gradients and
the misfit itself, a new model is estimated using a Quasi-Newton approach (the misfit
is assumed to be linearly dependent on the parameters). Once the new model has
been run and a new set of gradients and the misfit have been calculated the process is
repeated. This goes on until the process converges on a result.
The advantages of the approach are that the outcome is always the same and it is quite
fast. The disadvantage is that there is only one outcome and the choice of starting
model may influence that. There may be several optimal solutions and we might not
find the best one. Gradient methods were very popular early on with automated
history matching but have become less popular.
Multiple model stochastic approaches require many more models. They are more
costly but are more likely to find the best outcome. In fact the advantage is that they
may find many good outcomes and also enable an analysis of the behaviour.
Multiple model stochastic methods are more common. A great advantage is that they
are easier to set up for any given problem and the results are more satisfactory even if
they are more computationally intensive. Once the parameterisation has been
defined, a number of models are generated by randomly picking parameter values. All
models are simulated and misfits calculated.
The next step is to create a new set of models using the information we already have
so that the new models are more likely to have lower misfit. This step is different in
different approaches. Models such as evolutionary and genetic algorithms work by
ranking the models, picking the best ones obtained so far. These are then mixed
together in the hope that the new combination provides a better model and the
process is repeated. Gradually we get to the stage were no more models are generated
with a better misfit and we stop. A further advantage of this approach is that we get
a lot of useful information from the statistics of all the models as well.
5. Summary
To summarise: changes to the model should be kept simple. Do not invent properties
of behaviours that are unphysical or “ungeological”. Use your common sense.
Start with material balance and assess the reservoir behaviour. From that, get the
global representations of the drive and the volumes right.
Then do the field (average) pressure match. This is a repeat of the material balance
analysis, except the model is more complex. At this stage you can adjust the pore
volume distribution within the reservoir, transmissibilities and aquifer properties.
Then match watercuts and GOR. Parameters which can be varied at this stage are:
permeabilities, transmissibility barriers (e.g. due to faulting), kv/kh ratio and
relative permeabilities
Finally match the BHP or THP with local changes at the wells, adjusting factors
which influence the well PI, and near well relative permeabilities.
Throughout this procedure, the geologist and engineer should work together to ensure
that the best possible results.
6. References
Ahmad, T., 2006. “Reservoir Engineering Handbook”., Third Edition, Elsevier.
Ertekin T., Abou-Kassem J.H., King, G.R., 2001. “Basic Applied Reservoir Simulation”,
SPE Textbook Series, Volume 7.
Williams, M.A., Keating, J.F. and Barghouty, M.F., 1998. “The Stratigraphic Method: A
Structured Approach to History-Matching Complex Simulation Models”, SPE 38014,
SPE Reservoir Evaluation and Engineering, 1 (2), 169-176.
Learning Objectives
After studying this topic, you should be able to:
Explain the difference between black oil (BOS) and compositional simulation (CS)
o Calculate the mass of components in BOS
o Calculate the mass of a component in CS
o List examples of processes which can be simulated with BOS or CS
Describe the processes which arise when CO2 is injected into a reservoir or
aquifer
Explain how the use of polymer improves recovery, using Buckley-Leverett theory
1. Introduction
So far in this course, we have dealt with simple processes for oil recovery – draw down
and water flood. We could also use the methods discussed to simulate recovery in a
gas reservoir (either with just drawn down, or water flood). However, there are many
more complex processes involved in reservoir recovery. Engineers also need to be able
to simulate these techniques. In this Topic we consider a range of recovery processes
and how they are simulated. The aim of this topic is to make you aware of these
advanced processes, although you will not be required to run simulations.
In particular, enhanced oil recovery (EOR) is used in many reservoirs. The term EOR is
used when engineers inject materials not normally present in the reservoir to increase
recovery (Lake, 1989). This includes gas injection and polymer injection. EOR methods
can be very costly, and so, before deciding on a particular type of EOR, engineers need
to evaluate the cost effectiveness. Reservoir simulation is naturally an important tool
in this case. In Topic 1, we discussed how reservoir simulation can be used in a mature
field. An example of this may be a simulation study to compare the merits of
continuing with a water flood, drilling more producer wells, or using an EOR method,
such as gas injection, or WAG (water alternating gas).
In addition to discussing the injection of CO2 into reservoirs for EOR purposes, there is
also a section on injection of CO2 into deep saline aquifers for storage purposes, in
order to reduce the levels of CO2 in the atmosphere. This is becoming an important
application of reservoir simulation.
We also consider some special types of reservoirs. Firstly, many reservoirs particularly
in Canada and Venezuela, contain “heavy oil”. This oil is particularly viscous, so
recovery is poor with normal water flooding. One solution is to perform thermal EOR,
which involves injecting steam into a reservoir. Another important type of reservoir is
a fractured reservoir. It is estimated that 60% of the world’s oil reservoirs are in
fractured rocks. In such reservoirs conventional reservoir simulation breaks down
because of the huge difference in scale between the fractures (~ 10 m) and the matrix
blocks (~ m or larger). Also, the permeability of fractures is generally very high (10s of
D) compared with the permeability of the matrix. For this reason, special simulation
approaches have been developed for fractured reservoirs.
Increase in the mobility of oil by reducing the viscosity (due to heat or dissolution);
Improvement of macroscopic sweep by lowering the mobility ratio, e.g. by
increasing the viscosity of the displacing fluid. This helps to improve recovery in a
heterogeneous reservoir.
The EOR method to use depends on a number of factors, such as type of oil
(light/heavy), reservoir conditions (pressure and temperature), reservoir
heterogeneity, availability of gas/chemicals to be injected, and economics.
Figure 1 shows a useful classification of some EOR methods. Here we will focus on two
methods: gas injection and polymer injection, and also mention a few other methods
briefly. First, though, we consider compositional simulation, which is required for gas
injection when it is miscible or near-miscible.
Figure 1
Different types of EOR methods (Spooner, 2016). (WAG = water alternating gas;
MWAG = miscible WAG, SWAG = simultaneous WAG, ASP – alkali surfactant polymer;
SAG = Surfactant and Gas.)
2. Compositional Simulation
2.1 Introduction
Compositional simulation was briefly mentioned in Topic 7, Section 6.3. In
compositional simulation, we keep track of the individual fluid components, which may
be in the oil, gas or water (aqueous) phases. To appreciate the difference between
black oil simulation (BOS – which we have been using) and compositional simulation
(CS), we compare the calculation of mass of different phases or components in a grid
block.
Figure 2
A grid cell in a black oil simulator showing the amounts of oil, water and gas present.
Vp is the pore volume = block volume x ; osc, wsc and gsc are the densities at
standard conditions (60oF and 14.7 psi); Bo, Bw and Bg are the formation volume
factors; Rso and Rsw are the gas solubilities (or solution gas/oil and gas/water ratios).
V p So osc
Mass of oil = (1)
Bo
V p S w wsc
Mass of water = (2)
Bw
S g So Rso Sw Rsw
Mass of gas = V p gsc (3)
B Bo Bw
g
Reservoir processes that can be modelled using the black oil model include:
Figure 3
Phases and components taken in compositional simulation. Cij is the mass
concentration of component i in phase j (j = oil, water or gas). The dimensions of C
are mass/unit volume of the phase; Vp = pore volume = block volume x .
3
Total mass of component i in all the phases = V p S C
j 1
j ij . (4)
Gas injection with oil mobilisation by first contact or developed (multi- contact)
miscibility (e.g. in CO2 flooding).
The modelling of gas injection into near critical reservoirs. (See G19RA, Topic 4,
Section 4.3.)
Compositional simulation will obviously take longer than black-oil simulation, because
there are more unknowns, namely the concentrations of the different components in
the different phases, and the pressure in one phase (pressures in other phases can be
calculated from Pc, which will tend to zero as miscibility is achieved). There are actually
100s of components in crude oil, but compositional simulation usually focuses on a few
common components – the lighter components – and the heavier ones are lumped
together into “pseudo components”. Typically compositional simulation considers
about 7 components and pseudo components.
When the pressure is lower than the MMP, gas injection improves recovery by
lowering the viscosity of oil, reducing the surface tension and also swelling the oil
(Brock et al, 1989). However, when miscibility occurs, the interfacial tension reduces
almost to zero, so the recovery may be very high (Figure 4). Some engineers specify
that MMP occurs when the recovery factor is 95% (in a slim tube).
Figure 4
Example of a slim tube experiment, showing recovery of oil after the injection of 1.2
PV of CO2 as a function of pressure. (After Yellig and Metcalfe, 1980.)
Miscibility can be first contact miscible, when any amount of solvent (i.e. gas) forms a
single phase with the oil (Holm, 1986). One the other hand, miscibility can also be
multi-contact, or dynamic. There are two mechanisms which may take place:
vaporizing gas drive or condensing gas drive (Holm, 1986).
Of particular importance is CO2 injection. CO2 has been used for EOR in the USA, since
the 1970s. The CO2 comes from natural underground CO2 reservoirs, and is
transported to the reservoirs by a network of pipes (over 3000 miles of pipes). The
advantage of using CO2 compared with other gases is that the MMP for CO2 is lower.
Also, the density is higher, which means there is less gravity over-ride of the gas. Figure
5, from Holm and Josendal (1974) shows how different components of oil mix with CO2
gas, depending on whether the flood is near-miscible, multi-contact miscible or
miscible.
Slim-tube simulations can also demonstrate how CO2 reacts with different components
of the oil (Figure 6). (Note that the composition of the oil in this simulation was
different from that in Figure 5; we are not trying to compare “like with like”.) It is
interesting to see how the components have been split. Methane (C1), which has a
high mobility is concentrated in a “bank” at the head of the flood front. Also,
comparing the immiscible and miscible results, you can see a clear difference in the
remaining oil in the region swept by the CO2. Although Figure 6 shows a 2D distribution
of components, this is inferred from the results which contained mole fractions of the
different components in the oil and gas phases. The model was only a 1D model.
Unfortunately, this level of detail cannot be achieved when simulating CO2 injection at
the reservoir scale – a coarser-scale model is required, and numerical dispersion will
affect the results.
Figure 5
Experimental results of a CO2 flood at miscible and near-miscible conditions (based
on floods in a long slim tube at 135 oF. From Holm and Josendal (1974).
Figure 6
Example results of a fine-scale 1D simulation of CO2 flood (G. Wang, 2016,
unpublished).
These problems are often overcome by using “WAG” which is water alternating gas.
In this procedure “slugs” of water and gas are injected into the reservoir. There are
two advantages of WAG:
Since water is denser than oil it can help to recover oil at the bottom of the
reservoir, while gas being less dense can displace oil at the top of the reservoir;
The microscopic sweep efficiency is increased, i.e. the residual oil at the pore-scale
is reduced.
Reservoir simulation is often used to investigate the “slug ratio” – i.e. the amount of
gas injected compared with water (each measured in terms of pore volume of the
reservoir), and also the slug size (length of time a slug is injected).
Figure 7
Schematic diagram of WAG, showing how it can improve the sweep.
When CO2 dissolves in brine, a weak acid is formed which gives rise to chemical
changes in the rock.
Note that, since the CO2 rises, there must be an impermeable caprock above the
storage formation, just like in an oil or gas reservoir, to prevent CO2 from reaching the
surface.
All of these processes may be simulated using reservoir simulation software. Often
compositional simulation is used. However, sometimes black-oil simulators are used,
by pretending that water is oil and CO2 is hydrocarbon gas.
Reservoir simulation is important for assessing the fate of injected CO2. Companies
wishing to start a CO2 storage project must demonstrate to regulatory bodies and to
the general public that the CO2 will remain securely stored for thousands of years.
Figure 8
Example simulation of CO2 storage in a saline aquifer. CO2 was injected into a model
of a sandstone formation. The caprock is not shown, so that the distribution at the top
of the storage formation can be seen. The size of the model is approximately 40 km x
30 km x 300 m. CO2 was injected for 15 years, and then the well was shut in. The
simulation was continued for 1000 years to observe what would happen in the long
term.
Since simulations of CO2 injection are slow, especially in larger aquifers (which are
much bigger than oil reservoirs), some engineers have developed methods to speed
up simulation of CO2 injection. In particular, the movement of the CO2 plume is
dominated by buoyancy, so some engineers run simulations in vertical equilibrium
(VE). VE assumes that fluids separate out instantaneously so that the less dense fluid
(CO2) is on top of the more dense fluid (brine – i.e. saline water). This is the case for
the example shown in Figure 9 below, which is one of the examples in MRST. CO2 was
injected for 30 years, and then the simulation was continued for another 470 years.
(This example was run using a previous version of MRST. To run the same example in
the latest version requires downloading some extra routines.)
Figure 9
Example simulation of CO2 injection using the MRST co2lab module. This diagram
shows the 3D model at the top left, a view from above at the bottom left, two cross-
sections bottom right, and proportions of trapped and moveable CO2 top right (Lie
2016).
3. Chemical EOR
A variety of chemicals may be injected into a reservoir to improve recovery. As shown
in Figure 1, there are two mechanisms by which chemicals can increase oil recovery:
By improving the mobility ratio which improves the macroscopic sweep
By reducing interfacial tension (capillary pressure) to increase the microscopic
sweep.
Some EOR methods use a combination of chemicals so that both of the above
mechanisms take place.
krf
f (5)
f
If M < 1 a flood is stable, but if M > 1 it is unstable. Of course the relative permeability
varies with saturation. Usually M is evaluated using the end-point relative
permeabilities – i.e. the maximum values.
For example, if krw,max = 0.25, kro,max = 0.85, w = 1 and o = 3, then M = 0.88, which is
stable.
However, if krw,max = 0.25, kro,max = 0.85, w = 1 and o = 10, then M = 2.94, which is
unstable.
Figure 10
Relative permeability curves used for the 1D model.
From Figure 12 you can see that the case with the water flood with the heavy oil has a
lower shock front height and water breaks through earlier. On the other hand, the
case with the polymer flood has a high shock front height and breaks through later.
Note though, that in reality, fractional flow theory for the injection of polymer into a
reservoir is slightly more complex, because there will be a connate water “bank”
preceding the front of water with polymer.
Figure 10
Relative permeability curves used for the 1D model.
Figure 11
Fractional flows for different viscosities.
Figure 12
Saturation profiles for the examples above.
Table 1
Viscosities of fluids in the numerical example.
Figure 13
Waterfloods in a 2D model. Top: Oil with low viscosity. Middle: Oil with high
viscosity. Bottom: Oil with high viscosity, with polymer added to the water. See text
for more explanation.
4. Thermal EOR
As mentioned in the introduction, some reservoirs have heavy, very viscous oil. The
best way to recover this is to apply heat to reduce the viscosity. We give a very brief
overview of these methods here. Thermal EOR may be carried out in several ways (e.g.
Lake, 1989):
Inject hot water
Steam Soak
o Also known as “huff ‘n puff”. Steam is injected into a well, and then the well
is closed for a period time to allow the steam to warm the formation. Then
the well is put on production.
Steam Drive
Commercial simulators like Eclipse and CMG have modules for simulating thermal EOR.
For example the CMG modelling group have a package known as STARS –Thermal &
Advanced Processes Reservoir Simulator.
Figure 14
Schematic diagram of SAGD. After Butler, 1994. The diagram is a vertical cross
section, looking along the horizontal wells, which appear as circles.
5.1 Introduction
At least half of the world’s remaining oil reserves are in fractured reservoirs,
particularly in carbonate reservoirs. Fractured reservoirs provide a challenge for
simulation due to the fact that fractures are very narrow, but have a very high
permeability. Nelson (2001) provided a classification of reservoirs:
Figure 15
Nelson’s classification for different types of fractured reservoir. On the axes “k” =
permeability, “” = porosity, “m” = matrix and “f” = fractures. (After Nelson, 2001.)
Obviously the type of reservoir will influence the type of method which is used to
simulate flow in the reservoir. For Types 1 and 2, it is very important that the fractures
are carefully modelled in a simulation, whereas this is less important for Types 3 and
4. But, whatever type of reservoir is being studied, it is clear that it is not feasible to
make a grid and perform a simulation which has all of the fractures represented – the
model would be too complex and take too long to simulate. In addition, since the
fracture properties (length, permeability, connectivity) are uncertain, many versions of
a model should be assessed.
Figure 16
Left: fractured rock. Right: “sugar cube” model. (Warren and Root, 1963.)
Figure 17
Dual porosity grid. Fluid can flow between the fracture blocks, and also between the
matrix and fracture blocks via a transmissibility function.
The volumetric flowrate (Q) between the matrix and the fractures is given by:
Q const km V Pm Pf (7)
where km is the matrix permeability, V is the volume of a matrix block, Pm and Pf are
the pressures in the matrix and fracture grid cells, and is a “shape factor” which
represents the area of the matrix in contact with the fractures divided by the size of
the matrix blocks. A simple formula for the shape factor was given by Kazemi (1976):
1 1 1
4 2 2 (8)
l 2
l y lz
x
where lx, ly and lz are the dimensions of the matrix blocks, assuming rectangular blocks.
Many researchers have improved on this equation. The value of depends on the
shape of the matrix blocks and on the recovery mechanism – for example the
importance of gravity vs capillary forces. If a reservoir is being water flooded and the
matrix is water-wet, then water may be imbibed from the fractures into the matrix,
from all sides. On the other hand, if gravity is important, the flow between matrix and
fractures will occur in the vertical direction. Much research has been carried out on
determining appropriate formulae for the shape factor, but this is beyond the scope of
this course.
Note that the dual porosity approach is suitable for reservoir of Nelson types II and III,
where there is some permeability in the matrix, but the fracture permeability is more
important. In some cases, dual permeability simulations may be run where the matrix
blocks are also in communication with each other.
Fractures occur at all scales, ranging from tiny cracks to reservoir-scale fracture
corridors. It is common to take a staged approach to modelling fractured reservoirs.
A discrete fracture model may be generated at the small-scale and then upscaling
performed to create effective properties for a single-porosity (i.e. conventional) or a
dual-porosity model at the field scale. It is important to determine the REV
(Representative Elementary Volume – Topic 6, Section 2.1) of the small-scale fractures
so that appropriate scales are used for upscaling.
Figure 18
Discrete Fracture Model, showing two sets of fractures (green and blue). (Ahmed
Elfeel and Geiger, 2012).
d2
k . (9)
12
From Darcy’s Law, the volumetric flow rate through the fracture is:
kA P k yz P d 3z P
q . (10)
x x 12 x
In Equation (10) above, we have used A = yz (area perpendicular to flow), and y =
d in a fracture. There the flow rate is proportional to the cube of the fracture width.
This is sometimes referred to as the cubic law.
Note that Equation (9) gives a simple way to estimate fracture permeability. For
example if the aperture is 10 m, then the permeability is:
105 105
k 8.33333 1012 m2
12
8.33333 1012 9.869223 1013 D 8.44 D
Figure 19
Simple fracture model.
Therefore a very narrow fracture can have a very high permeability. If the matrix blocks
are of size 1 m cube and their permeability is 0.1 mD, this emphasizes the huge
contrasts of scale and permeability which arise in a fractured reservoir model.
Although Oda’s (1985) method is adequate for models with well-connected fractures
which are long compared with the grid block size, it is less accurate in other cases
compared to numerical flow simulation (Ahmed Elfeel and Geiger, 2012). In order to
simulate fractures explicitly, usually an unstructured grid (e.g. with triangular
elements, or tetrahedral in 3D) is used and a finite volume or finite element model is
required.
Some methods have been developed to simulate both fractures and matrix – DFM
models (e.g. Geiger et al, 2009). These are very large complex models, and they require
parallel processing to be able to complete the simulations within a reasonable time.
This means that the model is split into sections and different sections are simulated on
different processors (Figure 20). The advantage of simulating flow in both fractures
and matrix is that the simulator can handle a range of Nelson Types.
Figure 20
Complex Fracture-Matrix model. The different colours indicate how the model was
split up for simulation on different processors.
6. Closing Remarks
This Topic has covered a range of sub-topics to show more advanced uses of reservoir
simulation which you might come across in the future. The subject split into two parts:
simulation of enhanced oil recovery and simulation in fractured reservoirs.
On the subject of EOR, you should now be able to describe the following:
Gas injection (miscible/immiscible)
Compositional simulation
CO2 injection for EOR and storage
Polymer injection, and its effect on the flood front
Thermal EOR for heavy oil reservoirs.
7. References
Ahmed Elfeel, M. and Geiger, S., 2012. “Static and Dynamic Assessment of DFN
Permeability Upscaling”, SPE 154369, presented at the EAGE Annual Conference and
Exhibition, incorporating SPE Europec, Copenhagen, Denmark, 4-7 June, 2012.
Brock, W.R. and Bryan, L.A., 1989. “Summary Results of CO2 EOR Field Tests, 1972 –
1987”, SPE 18977. Presented at the SPE Joint Rocky Mountain Regional/Low
Permeability Reservoirs Symposium and Exhibition, Denver, Colorado, 6-8 March,
1989.
Geiger, S., Huangfu, Q, Reid, F., Matthai, S., Coumou, D., Belayneh, M., Fricke, C. and
Schmid, K., 2009. “Massively Parallel Sector Scale Discrete Fracture and Matrix
Simulations”, SPE 118924, presented at the Reservoir Simulation Symposium, The
Woodlands, Texas, 2-4 February, 2009.
Holm, L.W. and Josendal, V.A., 1974. “Mechanisms of oil displacement by carbon
dioxide”, Journal of Petroleum Technology, 26 (12), 1427-1438.
IPCC, 2005. “Carbon Dioxide Capture and Storage”, Special Report, Chapter 5:
“Underground Geological Storage”,
http://www.ipcc.ch/publications_and_data/publications_and_data_reports.htm#1.
Kazemi, H., Merrill Jr, L.S., Porterfield, K.L. and Zeman, P.R., 1976. “Numerical
Simulalion of Water-Oil Flow in Naturally Fractured Reservoirs”, SPE 5719, SPE
Journal, 16 (6), 317 – 326.
Lake, L.W., 1989. “Enhanced Oil Recovery”, Prentice Hall Inc, New Jersey.
Lie, K-A, 2016. “An Introduction to Reservoir Simulation Using MATLAB: User Guide
for the Matlab Reservoir Simulation Toolbox (MRST)”, www.sintef.no/mrst.
Warren, J.E. and Root, P.J., 1963. “The Behavior of Naturally Fractured Reservoirs”,
SPE 426, SPE Journal, 3(03), 245-255.
Yellig, W.F. and Metcalfe, R.S., 1980. “Determination and Prediction of CO2 Minimum
Miscibility Pressures”, Journal of Petroleum Technology, 32 (1), 160-168.