ISMAILA NURUDEEN DELE
Transcript of ISMAILA NURUDEEN DELE
i
Abuja-Nigeria
DEPARTMENT OF PETROLEUM ENGINEERING
A-THREE DIMENSIONAL NUMERICAL SIMULATOR FOR
EXPANSION-DRIVE RESERVOIRS
A
THESIS
Presented to the Graduate Faculty
Of the African University of Science and Technology
In Partial Fulfillment of the Requirements
For the Degree of
MASTER OF SCIENCE IN PETROLEUM ENGINEERING
By
ISMAILA NURUDEEN DELE
[MAY, 2013]
ii
A-THREE DIMENSIONAL NUMERICAL SIMULATOR FOR
EXPANSION-DRIVE RESERVOIRS
A THESIS APPROVED BY THE PETROLEUM ENGINEERING
DEPARTMENT
RECOMMENDED BY:
Thesis Supervisor:
Dr. Alpheus Igbokoyi
Committee Member:
Professor David Ogbe
Committee Member:
Dr. kola Babalola
APPROVED BY:
Head Petroleum Engineering Department:
Professor Godwin Chukwu
Chief Academic Officer:
Professor Wole Soboyejo
Date:
iii
ABSTRACT
Every simulation study is a unique process, starting from the geological model and reservoir
description to the final analysis of recovery factor optimizations. In petroleum engineering
area, numerical reservoir simulators are often employed to obtained meaningful and reliable
solutions for most actual cases due to extreme complexity of reservoir systems.
In this work, a three-dimensional numerical reservoir simulator is developed for expansion-
drive reservoirs. The governing equation is discretized using finite difference approach;
conjugate gradient method with the aid of MATLAB 9.0.0R code is used to solve the system
of linear equations to obtain reservoir pressure for each cell, until bubble point pressure is
reached; cumulative production at bubble point is computed as sum of expansion from each
cell and oil production rate is determined at each time step. The average reservoir pressure is
determined as a weighted average based on the stock tank oil that is left in the reservoir, and
finally the recovery factor at the bubble point pressure is computed.
Contour plots (with colour map to ease the user’s assimilation and interpretation of the
simulator results), of reservoir pressure depletion with time were generated for different
number of finite-difference grid blocks. The results indicate that the more the number of grid
blocks used, the more accurate the numerical solution and the more detailed the description
of the reservoir fluid distribution. The plot of average reservoir pressure against time shows a
rapid decline in the average reservoir pressure due to the negligible compressibility
associated with rock and liquid expansion-drive reservoirs. The estimated oil cumulative
production of 236MSTB was recovered in 1180days up to the bubble point using the
developed simulator. Furthermore, sensitivity analysis was performed to investigate the
impact of key reservoir parameters the average reservoir pressure.
iv
DEDICATION
This work is dedicated to my parents, siblings, uncles and my fiancée; for their love, prayer
and support.
v
ACKNOWLEDGMENT
All praises are due to Almighty Allah - the Lord of the Universe, who in His infinite mercies
has guided me throughout the course of my study at the African University of Science and
Technology, Abuja.
I would like to thank all those who have contributed to the success of this work.
Foremost is my supervisor, Dr. Alpheus Igbokoyi for his professional supervision,
constructive criticism, patience and understanding, and passion for quality research.
To my committee members; Professor David Ogbe whose Applied Reservoir
Simulation class gave me the fundamentals of Reservoir Simulation and lecture note
was of great help in the course of this study, and Dr. Kola Babalola for ensuring that I
got the best of visualization from the simulator.
To Idris, Dahiru, Yusuf, Eustace, Edwin, Senya, Eric, and Podo for their supports.
To all members of my family – South, West, and North, for their prayers and
encouragement.
To my uncle, Abu Ni’mah for his support, advice and encouragement when I feel like
giving up.
To all members of staff of AUST, NMI, my fellow students and the generality of
AUST community for making my stay at AUST a success.
vi
TABLE OF CONTENTS
ABSTRACT .............................................................................................................................. iii
DEDICATION .......................................................................................................................... iv
ACKNOWLEDGMENT ........................................................................................................... v
TABLE OF CONTENTS .......................................................................................................... vi
LIST OF FIGURES ................................................................................................................ viii
LIST OF TABLES ..................................................................................................................... x
CHAPTER ONE ....................................................................................................................... 11
INTRODUCTION ............................................................................................................................ 11
1.1 General Introduction ................................................................................................................... 11
1.2 Problem Statement ...................................................................................................................... 14
1.3 Objectives ................................................................................................................................... 14
1.4 Scope and limitation of this work ............................................................................................... 14
1.5 Organization of thesis ................................................................................................................. 15
CHAPTER TWO ..................................................................................................................... 16
LITERATURE REVIEW ........................................................................................................ 16
2.1 Numerical reservoir simulation ................................................................................................... 16
2.2.1 Finite Difference Method (FDM) ........................................................................................ 19
2.3 Linear Solvers in Reservoir Simulators ...................................................................................... 20
2.3.1 Conjugate Gradients ............................................................................................................. 23
2.4 Material balance for undersaturated oil reservoirs ...................................................................... 25
2.5 Programming with MATLAB ..................................................................................................... 27
CHAPTER THREE .................................................................................................................. 28
METHODOLOGY .................................................................................................................. 28
3.1. Development of the Simulator ................................................................................................... 28
3.2. Mathematical Model .................................................................................................................. 28
3.2.1. Basic Assumptions .............................................................................................................. 29
3.3. Numerical Model ....................................................................................................................... 32
3.3.1 Spatial discretization ............................................................................................................ 32
3.3.2 Time discretization ............................................................................................................... 34
3.4 Computer (MATLAB programming) Model .............................................................................. 37
CHAPTER FOUR .................................................................................................................... 42
VALIDATION, RESULTS AND DISCUSSIONS ................................................................. 42
4.1 Validation of results ........................................................................................................... 42
vii
4.2 Surface and Contour plots of reservoir pressure distribution at bubble point for different grid
sizes ................................................................................................................................................... 49
4.3 Surface and Contour plots of reservoir pressure distribution at specified time before the bubble
point .................................................................................................................................................. 52
4.4 Sensitivity analysis ...................................................................................................................... 55
CHAPTER FIVE ...................................................................................................................... 60
CONCLUSION AND RECOMMENDATION ....................................................................... 60
5.1 Conclusions ................................................................................................................................. 60
5.2 Recommendations ....................................................................................................................... 61
REFERENCES ........................................................................................................................ 62
NOMENCLATURE ................................................................................................................ 66
APPENDIX A .......................................................................................................................... 68
Table of values of Pav, t, FVF, q and Np obtained from the developed simulator ........................... 68
APPENDIX B .......................................................................................................................... 71
Matlab codes for the computation of reservoir pressure distribution................................................ 71
viii
LIST OF FIGURES
Figure 2.1: Schematic diagram of the numerical reservoir simulation process 17
Figure 2.2: Schematics of reservoir models 18
Figure 2.3: Schematic representation of the direct solution method 21
Figure 2.4: Schematic representation of the iterative solution method 22
Figure 2.6: Oil production above bubble point pressure 25
Figure 3.1 Flow through control volume of a reservoir model 29
Figure 3.2: Heptadiagonal matrix structure formed from a discretized 3-D reservoir 36
Figure 3.3: A numerical stencil for a three-dimensional oil reservoir block 36
Figure 3.4: Mesh for the discretized three-dimensional oil reservoir 37
Figure 3.5: GUI for the three-dimensional oil simulator. 39
Figure 3.6: MATLAB program sequential algorithm 40
Figure 4.1: Average reservoir pressure versus time 43
Figure 4.2: Cumulative oil production versus time 44
Figure 4.3: Oil production rate versus time 46
Figure 4.4: Oil formation volume factor versus average reservoir pressure 48
Figure 4.5: Contour plot of reservoir pressure distribution (11x11x11 grid cells) 49
Figure 4.6: Contour plot of reservoir pressure distribution (13x13x13 grid cells) 50
Figure 4.7: Contour plot of reservoir pressure distribution (15x15x15 grid cells) 50
Figure 4.8: Contour plot of reservoir pressure distribution (19x19x19 grid cells) 51
Figure 4.9: Surface and Contour plot of reservoir pressure distribution after 10days 52
Figure 4.10: Surface and Contour plot of reservoir pressure distribution after 20days 52
Figure 4.11: Surface and Contour plot of reservoir pressure distribution after 100days 53
Figure 4.12: Surface and Contour plot of reservoir pressure distribution after 200days 53
Figure 4.13: Surface and Contour plot of reservoir pressure distribution after 300days 54
ix
Figure 4.14: Surface and Contour plot of reservoir pressure distribution after 400days 54
Figure 4.15: Surface and Contour plot of reservoir pressure distribution after 500days 55
Figure 4.16: Effect of water saturation on average reservoir pressure 56
Figure 4.17: Effect of porosity on average reservoir pressure 57
Figure 4.18: Effect of effective compressibility on average reservoir pressure 58
Figure 4.19: Effect of reservoir thickness on average reservoir pressure 59
x
LIST OF TABLES
Table 4.1: Data set used to validate the model 42
Table 4.2: Reservoir pressure results at specified time before the bubble point 55
11
CHAPTER ONE
INTRODUCTION
1.1 General Introduction
Reservoir simulation is the science of combining physics, mathematics, reservoir
engineering, and computer programming to develop a tool for predicting hydrocarbon
reservoir performance under various operating strategies (Aziz, K. and Settari, A. 1979).
The practice of reservoir simulation has been in existence since the beginning of petroleum
engineering in the 1930's. But the term "numerical simulation" only became common in the
early 1960's as predictive methods evolved into relatively sophisticated computer programs.
These computer programs represented a major advancement because they allowed solution of
large sets of finite-difference equations describing two- and three-dimensional, transient,
multiphase flow in heterogeneous porous media. This advancement was made possible by the
rapid evolution of large-scale, high-speed digital computers and development of numerical
mathematical methods for solving large systems of finite-difference equations.
Fluid flow in petroleum reservoirs (porous media) is very complex phenomena, and as such
analytical solutions to mathematical models are only obtainable after making simplifying
assumptions regarding reservoir geometry, properties and boundary conditions. However,
simplifications of this nature are often invalid for most fluid flow problems and in many
cases, it is impossible to develop analytical solutions for practical issues due to the complex
behaviors of multiphase flow, nonlinearity of the governing equations, and the heterogeneity
and irregular shape of a reservoir system. Due to these limitations in the use of analytical
method, these models must be solved with numerical methods such as finite difference.
12
Reservoir simulation is one of the most effective tools for reservoir engineers that involves
developing mathematical equations or computable procedure that are employed to understand
the behaviour of the real reservoir (Darman, 1999).
Today, numerical reservoir simulation is regularly used as a valuable tool to help make
investment decisions on major exploitation and development projects. These decisions
include determining commerciality, optimizing field development plans and initiating
secondary and enhanced oil recovery methods on major oil and gas projects. Proper planning
is made possible by use of reservoir simulation; it can be used effectively in the early stages
of development before the pool is placed on production so that unnecessary expenditures can
be avoided.
When crude oil is discovered, in order to have proper understanding of reservoir behaviour
and predict future performance, it is necessary to have knowledge of the driving mechanisms
that control the behaviour of fluids within reservoirs. The overall performance of oil
reservoirs is largely determined by the nature of the energy available for moving the oil to the
wellbore. The recovery of hydrocarbons from an oil reservoir is commonly recognized to
occur in several recovery stages. They are: Primary recovery, Secondary recovery, Tertiary
recovery (Enhanced Oil Recovery, EOR), and Infill recovery.
Primary recovery is the recovery of hydrocarbons from the reservoir using the natural energy
of the reservoir as a drive. The term refers to the production of hydrocarbons from a reservoir
without the use of any process (such as fluid injection) to supplement the natural energy of
the reservoir (Ahmed, 2006).
During primary recovery the natural energy of the reservoir is used to transport hydrocarbons
towards and out of the production wells. There are several different energy sources, and each
gives rise to a drive mechanism. Early in the history of a reservoir the drive mechanism will
13
not be known. It is determined by analysis of production data (reservoir pressure and fluid
production ratios). The earliest possible determination of the drive mechanism is a primary
goal in the early life of the reservoir, as its knowledge can greatly improve the management
and recovery of reserves from the reservoir in its middle and later life. There are six
important drive mechanisms. These are: Rock and liquid expansion drive, Solution
gas/depletion drive, Gas cap drive, Water drive, Gravity drainage drive, and Combination
drive.
In rock and liquid expansion drive, the energy source is provided by the liquid and the rock
materials only. When an oil reservoir initially exists at a pressure higher than its bubble-point
pressure, the reservoir is called an undersaturated oil reservoir. At pressures above the
bubble-point pressure, the only materials present are crude oil, connate water, and the rock.
As the reservoir pressure declines, the rock and liquids expand due to their individual
compressibility. The reservoir rock compressibility is the result of two factors: expansion of
the individual rock grains and the formation compaction. Both of these two factors are the
results of a decrease of fluid pressure within the pore spaces, and both tend to reduce the pore
volume through the reduction of the porosity. As the expansion of the fluids and reduction in
the pore volume occur with decreasing reservoir pressure, the crude oil and water will be
forced out of the pore space to the wellbore. Because liquids and rocks are only slightly
compressible, the reservoir will experience a rapid pressure decline. The oil reservoir under
this driving mechanism is characterized by a constant gas-oil ratio that is equal to the gas
solubility at the bubble point pressure. This driving mechanism is considered the least
efficient driving force and usually results in the recovery of only a small percentage of the
total oil in place.
A three dimensional model is often thought of as the ultimate tool to evaluate past
performance and to predict future performance of a reservoir, because such a model combines
14
areal and vertical conformance and the effects of gravity in one model. To correctly make
decisions regarding recovery of hydrocarbons, an accurate numerical model of the reservoir
must be established to predict outcomes and performance under various operating conditions.
Therefore, this work is directed to developing a three-dimensional numerical simulator for
expansion-drive reservoirs.
1.2 Problem Statement
Since all 2-D problems are simplification of the real situation and all real reservoirs are three-
dimensional, there arises the need for a three-dimensional approach to the development of the
numerical simulator for expansion drive reservoirs instead of the two-dimensional approach
currently in existence. This will account for the 3-D character of real reservoirs.
Also, the two- dimensional approach does not account for flow in the Z-direction, hence the
need for a single model that combines both areal and vertical conformance in one model.
1.3 Objectives
The following are the objectives of this work:
To formulate and solve the diffusivity equation for expansion-drive reservoirs using
conjugate gradient method.
To develop a three-dimensional numerical simulator for expansion-drive reservoirs
using MATLAB.
To use the developed simulator to predict pressure decline, cumulative oil production
and oil recovery factor, at bubble-point pressure, for expansion- drive reservoirs.
To validate the developed simulator using the material balance method.
1.4 Scope and limitation of this work
This work is limited to (the development of a numerical simulator for) liquid and rock
expansion-drive reservoirs producing above bubble point-pressure.
15
1.5 Organization of thesis
The thesis is organized as follows:
Chapter two gives a brief review of numerical reservoir simulation and numerical
methods for discretization of the equations governing the flow in subsurface
reservoirs, including advantages and limitations of finite difference method. Also
reviewed are method of conjugate gradient, reservoir drive mechanisms, and use of
MATLAB programming in reservoir simulation.
Chapter three presents the methodology employed in this study; mathematical,
numerical and computer models formulations.
In Chapter four, the results of the developed simulator are validated followed by brief
discussions
Chapter five draws salient conclusions based on the simulator results, and makes
useful recommendations for further studies
16
CHAPTER TWO
LITERATURE REVIEW
2.1 Numerical reservoir simulation
Bruce, et al (1953) presented the first numerical method for calculating pressure distributions
for unsteady-state gas flow in homogeneous reservoirs. Since then, the improvement and
application of reservoir simulation have proceeded parallel to the development of computer
technology. Cheng .Y. (2002) gave a schematic diagram of the numerical reservoir
simulation process as shown in Figure 2.1. Today, numerical reservoir simulation is regularly
used as a valuable tool to help make investment decisions on major exploitation and
development projects. These decisions include determining commerciality, optimizing field
development plans and initiating secondary and enhanced oil recovery methods on major oil
and gas projects based on reservoir simulation results. However, the usefulness of the
computer generated results depends on the software and the input data used. Archer (1983)
summarized two particular conditions upon which the success of a reservoir modeling
process depends. These are:
I. The ability of the equations to represent the physics of the fluid flow and the
equilibrium in the reservoir and well system; and
II. The ability of the grid properties to represent the three dimensional reservoir
descriptions.
17
Figure 2.1: Schematic diagram of the numerical reservoir simulation process
Aziz, K. et al (1979) gave three basic blocks oil models commonly used to aid the reservoir
engineer in describing reservoir behaviour. These are:
A two-dimensional model that can be used to describe the areal performance (2-D
areal) or to simulate the vertical conformance (2-D cross sectional) in a reservoir.
The 2-D areal model as shown in Figure 2.2(a) is employed if there is very little
vertical movement of fluids as in thin sand; however, it could also be employed for
thick sands when no great differences in permeability exist i.e. when there is no
permeability layering. Whereas the 2-D cross sectional model (Figure 2.2(b)) is often
used to simulate a slice of a field. Its greatest usage is in determining completion
intervals and stratification effects.
A radial two-dimensional model designed to evaluate the behaviour of individual
wells. They are sometimes referred to as “coning models” based on their early
applications for studying the effects of coning phenomena; and
A three-dimensional model (Figure 2.3(c)) that can account for areal and vertical
conformance simultaneously. It can handle any type of simulation studies. However,
the computer time and interpretive engineering time are greatly increased over that
required for 2-D models.
Mathematical
model
Physical
system
Numerical
model
MATLAB
codes
18
Figure 2.2: Schematics of reservoir models
Each of these models can be a very effective tool for the reservoir engineer; however, they
can also provide misleading results if not used effectively, hence the need for the selection of
an appropriate model. A three dimensional model is often thought of as the ultimate tool to
evaluate past performance and to predict future performance of a reservoir, because such a
model combines areal and vertical conformance and the effects of gravity in one model. To
correctly make decisions regarding recovery of hydrocarbons, an accurate numerical model
of the reservoir must be established to predict outcomes and performance under various
operating conditions. Therefore, this work is directed to developing a three-dimensional
numerical simulator for expansion-drive reservoirs.
(a) Two-dimensional Areal
Model (b) Two-dimensional Cross-Sectional
Model
(c) Three-dimensional Model
19
2.2 Numerical methods
Numerical methods are technique used to obtain approximate solution to nonlinear
differential equations that cannot be solved analytically. There are three methods available
for the discretization of any partial differential equations; the Taylor series method, the
integral method, and the variational method. The first two methods result in the finite-
difference method, whereas the third results in the variation method (Abou-Kassem et al,
2006).
2.2.1 Finite Difference Method (FDM)
Finite difference approach is the most commonly used numerical method in reservoir
simulation. It was first developed by A. Thom in the 1920s under the title “the method of
square” to solve nonlinear hydrodynamic equations. It is a numerical technique used to
approximate continuous (ordinary and partial) differential equations to discrete form. In this
approach, the Taylor-series expansion is used to define the derivative functions in the
governing equation, pressure is then calculated at a fixed point such as the grid-cell centre or
as an average cell pressure. Some of the advantages of the finite difference method as stated
by Abbas Firoozabadi et al (2000) include; simplicity, ease of extension from 1D to 2D and
3D, and also its compatibility with certain aspect of physics of two-and three-phase flow.
They however, pointed out that numerical dispersion and grid dependency are two major
disadvantages of this method.
In the field of petroleum engineering, the finite difference method is used to solve the
diffusivity equation - partial differential equation that describes the flow of fluid in porous
media. The finite-difference method is implemented by superimposing a finite-difference grid
over the reservoir to be modeled. The chosen grid system is then used to approximate the
spatial derivatives in the continuous equations. These approximations result in algebraic
20
equations called finite-difference equations which are obtained by truncating the Taylor
series expansion of the unknown variable (Ertekin et al, 2001).
The finite difference formulations to the fluid flow equations require spatial discretization of
reservoir model into a pattern of grid blocks and division of the total simulation time into
smaller time steps. There are basically two types of finite-difference grids in used in reservoir
simulation: block-centered grid and point-distributed grid.
In block-centered grid, for a rectangular coordinate system, the grid block dimensions are
selected first, followed by the placement of points in the central locations of the blocks. The
distance between the block boundaries is the defining variable in space. In contrast, the grid
points (or nodes) are selected first in the point-distributed grid (Abou-Kassem et al, 2006).
2.3 Linear Solvers in Reservoir Simulators
The single facet of a reservoir simulator that has the greatest combined influence in all three
categories is the technique used to solve the large systems of equations arising from the
numerical approximation of the nonlinear fluid flow equations. There are two general
methods for solving the matrix equation resulting from the finite difference approximation:
Direct methods and Iterative methods.
I. Direct Solution Methods
These methods transform the original equations into equivalent equations that can be solved
more easily. Popular direct solution methods include Gaussian elimination, Gauss-Jordan,
and LU (Lower-Upper) decomposition. Figure 2.3 from Ogbe (2012) - Applied Reservoir
Simulation lecture notes, shows the schematic representation of the direct solution method.
21
Figure 2.3: Schematic representation of the direct solution method
Ertekin et al (2001) stated that a direct solver has the capability to produce an exact solution
after a fixed number of computations if the computer was able to carry an infinite number of
digits, but because all real computers have a finite word length, the solution obtained through
a direct solver will have round-off errors. The direct solver is also limited by its excess
computer storage requirements, since it is necessary that both the coefficient matrix and the
right vector throughout the solution process be stored.
II. Iterative Solution Methods
Figure 2.4 from Ogbe (2012) - Applied Reservoir Simulation lecture notes, shows the
schematic representation of the iterative solution method. The iterative process starts with an
initial guess of the solution vector, and repeatedly refines the solution until a certain
convergence criterion is reached. Popular iterative methods include the Jacobi iteration,
Gauss-Siedel, Successive Over-Relaxation (SOR), Strongly Implicit Procedure (SIP), and
Conjugate-Gradient Method (CGM).
The iterative methods are generally slower than their direct counterparts due to the
large number of iterations required. However, they do have significant computational
advantages especially for large and sparsely populated coefficient matrix.
OUTPUT: Solution Vector
INTPUT:
System of Linear
Algebraic Equations
DIRECT SOLVER
22
Figure 2.4: Schematic representation of the iterative solution method
Jaan (2005) summarized the advantages that make the iterative methods attractive for certain
problems as follows:
It is feasible to store only the nonzero elements of the coefficient matrix, which
makes it possible to deal with very large matrices that are sparse.
The iterative procedures are self-correcting, meaning that round off errors (or even
arithmetic mistakes) in one iterative cycle are corrected in subsequent cycles, and
In many problems, there is no need to store the coefficient matrix at all.
Jaan (2005) however, noted that the iterative methods do not always converge to the solution.
Input:
System of Linear
Algebraic Equations
Output:
Solution Vectors
Initial Guess
Iterative Procedure
Intermediate Solution
Updating
Converged?
Yes No
23
2.3.1 Conjugate Gradients
M.R. Hestenes and E. Stiefel (1952) initiated the method of conjugate gradients for solving
systems of linear equations. This method is one of the best known and most powerful
iterative linear system solvers used in many simulation problems. Recently, Leila Ismail
(2012) presented a three-dimensional oil phase homogeneous isotropic simulator. The study
employed a parallel conjugate gradient algorithm to solve the associated system of linear
equations. He implemented the simulator using a ring-based approach; although his work did
not consider permeability anisotropy, the result indicated that there was significant
improvement in speedup as the problem size increases.
Conjugate gradient is a Krylov subspace method, that is, it searches for a solution of the
linear system;
Ax = b........................................................................................ (2.1)
in the k-dimensional Krylov subspace Kk(A,b), defined as;
Kk (A, b) = span {b, Ab,...,Ak-1b}............................................. (2.2)
Conjugate gradient is characterized by the fact that the solution at step k, say xk minimizes the
A-norm of the error over all vectors in Kk, that is
𝑥𝑘 = 𝑎𝑟𝑔 min𝑦∈𝐾𝑘
‖𝑥∗ − 𝑦‖𝐴 ...................................... (2.3)
Where 𝑥∗A-1b is the exact solution to the linear system, and ‖∙‖𝐴 is the norm defined by;
‖𝑥‖𝐴2 = 𝑥𝑇𝐴𝑥 ........................................................................... (2.4)
The algorithm of the conjugate gradient according to Ertekin et al, (2001) is presented in
figure 2.5. The initial guess ��(0) is chosen as zero vector for simplicity, the conjugate
gradient searches for a solution along an A-orthogonal basis {po,...,pk} for Kk. At each
iteration step k, it computes the next update ��(𝑘+1) such that the next residual is orthogonal to
24
Kk. This makes the error A-orthogonal to Kk (and hence minimal), and it also ensures that
𝑟(𝑘+1) is A-orthogonal to all the pi’s except ��(𝑘), which in turn means that only pk needs to be
stored to compute ��(𝑘+1).
Conjugate gradient Algorithm
1. Select initial estimates of ��(0) (arbitrary).
2. Then set 𝑟(0) = 𝑑 − [𝐴]��(0) and 𝑝(0) = 𝑟(0)
3. for k = 0,1,2,…,until convergence do
4. ��(𝑘) = [𝐴]𝑝(𝑘)
5. 𝑎(𝑘) =𝑟(𝑘).𝑟(𝑘)
𝑝 (𝑘) .𝑔 (𝑘)
6. ��(𝑘+1) = ��(𝑘) + 𝑎(𝑘)𝑝(𝑘)
7. 𝑟(𝑘+1) = 𝑟(𝑘) − 𝑎(𝑘)��(𝑘)
8. 𝑏(𝑘+1) =𝑟(𝑘+1).𝑟(𝑘+1)
𝑟(𝑘).𝑟(𝑘)
9. 𝑝(𝑘+1) = 𝑟(𝑘+1) + 𝑏(𝑘+1)𝑝(𝑘)
10. 𝑒𝑛𝑑 𝑓𝑜𝑟
Where 𝑎(𝑘) 𝑎𝑛𝑑 𝑏(𝑘) are scalar quantities, ��(𝑘), 𝑟(𝑘), ��(𝑘), 𝑎𝑛𝑑 ��(𝑘) are vector quantities; and
[A] is the original coefficient matrix.
Convergence check on the conjugate gradient algorithm is performed using;
max │��(𝑘+1) − ��(𝑘)│ = max │𝑎(𝑘)��(𝑘)│ ≤ 𝜀𝑥 .............................................. (2.5)
Where max is the maximum element in the vector and |∙| is the absolute value, and 𝜀𝑥 is the
tolerance.
25
2.4 Material balance for undersaturated oil reservoirs
A reservoir is considered to be undersaturated if the initial reservoir pressure is greater than
the bubble point pressure of the oil. Figure 2.5 shows a schematic of an oil reservoir
producing above the bubble point pressure. For an undersaturated reservoir no free gas exists
until the reservoir pressure falls below the bubble point. In this regime, the reservoir drive
energy is provided only by the bulk expansion of the reservoir rock and liquids (water and
oil).
Figure 2.6: Oil production above bubble point pressure
(Adapted from Rupam Bora 1998)
Schilthuis (1936) presented the material balance equation which has long been regarded as
one of the basic tools of reservoir engineers for interpreting and predicting reservoir
performance. L.P. Dake (1998) presented the material balance equation for undersaturated
reservoirs. In his work, he assumed that the reservoir has no initial gas cap, aquifer is
relatively small in volume, water influx is negligible and all the gas produced at the surface
must have been dissolved in the oil in the reservoir. He obtained the following material
balance equation;
26
𝑁𝑝𝐵𝑜 = 𝑁𝐵𝑜𝑖 [(𝐵𝑜− 𝐵𝑜𝑖)
𝐵𝑜𝑖+
(𝐶𝑤𝑆𝑤𝑐+ 𝐶𝑓)
1− 𝑆𝑤𝑐∆𝑃] ............................................................... (2.6)
Where 𝑁 is the initial oil in place in stock tank barrels = 𝑉𝑏∅(1−𝑆𝑤)
𝐵𝑜𝑖
𝑁𝑝 is the cumulative oil production in stock tank barrels,
𝐵𝑜𝑖 and 𝐵𝑜 are the oil formation volume factors at initial and bubble point pressure
respectively,
∆𝑃 is the pressure drop from initial pressure to the bubble point pressure, in psi
𝐶𝑜 , 𝐶𝑤 𝑎𝑛𝑑 𝐶𝑓 are the respective compressibilities for oil, water and rock, in /psi.
Since there are only two fluids present in the reservoir, we have;
𝑆𝑜 = 1 − 𝑆𝑤𝑐 , and ∆𝑃𝐶𝑜 = (𝐵𝑜− 𝐵𝑜𝑖)
𝐵𝑜𝑖
Substituting into equation (2.6) and simplifying to obtain;
𝑁𝑝𝐵𝑜 = 𝑁𝐵𝑜𝑖 [ (𝐶𝑜𝑆𝑜+ 𝐶𝑤𝑆𝑤𝑐+ 𝐶𝑓)
1− 𝑆𝑤𝑐] ∆𝑃 ............................................................... (2.7)
𝑁𝑝𝐵𝑜 = 𝑁𝐵𝑜𝑖 𝐶𝑒∆𝑃 .......................................................................................... (2.8)
By setting the effective compressibility 𝐶𝑒 as;
𝐶𝑒 = [ (𝐶𝑜𝑆𝑜+ 𝐶𝑤𝑆𝑤𝑐+ 𝐶𝑓)
1− 𝑆𝑤𝑐] ................................................................................... (2.9)
Omosebi, A.O and Igbokoyi A.O (2012) developed a two-dimensional numerical simulator
for expansion-drive reservoirs. The studies performed using the simulator showed a rapid
pressure decline for the expansion drive reservoir due to the insignificant compressibility that
typifies rocks and liquids. Omosebi, A.O and Igbokoyi A.O validated their work using the
material balance method. Their study showed that the results obtained using their developed
simulator agrees with those of the conventional material balance method. However, the work
of Omosebi, A.O and Igbokoyi A.O did not account for the 3-D character of real reservoirs.
27
2.5 Programming with MATLAB
MATLAB is a high-level computer language for scientific computing and data visualization
built around an interactive programming environment (Kiusalaas, J., 2005). It was created in
the late 1970s by Cleve Moler and is currently developed and sold by The MathWorks which
was founded in 1984. In academia, MATLAB has gradually taken over most of the scientific
programming work with its interactive easy to use features.
Hunt B., et al (2001) summarized the distinctive features of MATLAB as follows;
MATLAB, being an interactive tool, allows users to debug the codes faster and lets
the user concentrate on the principles being coded rather than the code programming.
It allows users to call predefined functions to carry out a number of tasks for
numerical computation.
There is no need to declare data types and carry out type conversions, since all
numerical objects are treated as double-precision arrays.
It also provides users with a number of graphical output options.
According to the user stories in the MATLAB official product site, MATLAB is being
gradually accepted in and used in various industries as well. It is being widely recognized for
its easy interface and time saving features, and also Reservoir Modeling is now being carried
out using MATLAB.
28
CHAPTER THREE
METHODOLOGY
3.1. Development of the Simulator
The development of the three-dimensional numerical oil reservoir simulator includes the
under listed steps:
Formulate the partial differential equations of the model based on the oil reservoir
characteristics, using the three basic laws governing fluid flow in porous media.
Divide the reservoir into grids and then discretize the formulated partial differential
equations in both space and time so as to obtain a linear system of equations.
Select an appropriate ordering scheme to obtain an order of coefficients of the linear
system of equations and then compute the pressure per grid of the reservoir; and
subsequently compute the formation volume factor, average reservoir pressure, and
the cumulative production as well as production rate for each time step.
Write codes for the system of equations using MATLAB programming
Finally validate the simulator using material balance method
Three major kinds of model were employed in the development of the reservoir simulator;
Mathematical model, Numerical model, and Computer model (MATLAB Code).
3.2. Mathematical Model
Here, the oil reservoir characteristics are expressed in terms of the set of partial differential
equations (PDEs) together with the appropriate initial and boundary conditions that
approximate the behaviour of the reservoir. There are basically three main laws which govern
the isothermal reservoir simulation:
1. The law of mass conservation
2. Darcy’s law (transport equation), and
29
3. Equation of state (Phase properties such as density, compressibility and formation
volume factor).
3.2.1. Basic Assumptions
The following basic assumptions were made in the formulation of the problem;
Homogeneous and Anisotropic reservoir
Isothermal, single-phase and slightly compressible fluid
Negligible gravity effect
Steady state effective viscosity
Uniform grid size
Constant compressibility above bubble point pressure
Linear fluid flow into the wellbore
No-flow reservoir boundary condition
Figure 3.1 Flow through control volume of a reservoir model
𝑧
𝑦
𝑥
𝑥 + ∆𝑥
𝑦 + ∆𝑦
𝑥
𝑦
𝑧
𝑧 + ∆𝑧
∆𝑦
30
The centre of the control volume (CV) is located at ( x +∆x
2, y +
∆y
2, z +
∆z
2 ). Considering
mass balance for the control volume, for mass conservation;
(Total mass entering
the CV during ∆t) − (
Total mass leaving the CV during ∆t
) = (Net change in mass
within the CV during ∆t) …… (3.0)
i.e. Min − Mout = ∆Mv … … … … … … … … … … … … … … … … … … … … … … … … … … (3.1)
Where Min = (m|x + m|y +
m|z)∆t … … … … … … … … … … … … … … … … … … … … … … … (3.1a)
Mout = (m|x+∆x + m|y+∆y + m|z+∆z + qs)∆t … … … … … … … … … … … … … … … … (3.1b)
∆Mv = (Mvϕ |t+∆t − Mvϕ |t) … … … … … … … … … … … … … … … … … … … … … … … (3.1c)
Substituting equations (3.1a), (3.1b) and (3.1c) into equation (3.1) and rearranging to get
[−(m|x+∆x − m|x) − (m|y+∆y − m|y) − (m|z+∆z − m|z) − qs]∆t =
(Mvϕ|t+∆t − Mvϕ|t) … … … … … … …. (3.2)
Where, m = mass flow rate, ρ = density, φ = porosity,
u = velocity, A is the cross-sectional area,
qs= mass flow rate (sink term) of production,
m = ρuA … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … . (3.2a)
Mv = ρVb … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … . (3.2b)
Substituting equations (3.2a) and (3.2b) into (3.2) and dividing through by Vb∆t to obtain;
− [ρux|x+∆x − ρux|x
∆x] − [
ρuy|y+∆y − ρuy|y
∆y] − [
ρuz|z+∆z − ρuz|z
∆z] −
qs
Vb
= [ρϕ|t+∆t − ρϕ|t
∆t] … … … … … … … … … … … … … … … … … … … … . . (3.3)
Taking limit as ∆x → 0, ∆y → 0, ∆z → 0, and ∆t = 0 to give:
−∂(ρux)
∂x−
∂(ρuy)
∂y−
∂(ρuz)
∂z−
qs
Vb=
∂(ρϕ)
∂t … … … … … … … … . . … … … … … … … . (3.4)
31
From Darcy’s law,
u = −βc
K
μ(∇P − γ∇Z) … … … … … … … … … … … … … … … … … … … … … … … … … . . (3.4a)
From the equation of state,
Bo = Vb
Vsc =
ρsc
ρ… … … … … … … … … … … … … … … … … … … … … … … … … … (3.4b)
qs = αcρq … … … … … … … … … … … … … … … … … … … … … … … … … … … … . . (3.4c)
Where
Where αc = volume conversion factor (to field unit) = 5.615,
βC
is a unit conversion factor for the permeability coefficient = 1.127,
K is the rock permeability (darcy),
ρsc
is the density at surface condition, ρ is the density at reservoir condition
Vsc is the volume at surface condition (stb), Vb is the volume at reservoir condition (rb)
µ dynamic viscosity of the fluid (cp), P is pressure (psia),
Z is elevation (ft), γ is fluid gravity (psi ft⁄ )
Bo is oil formation volume factor (rb stb⁄ )
q is volumetric flow rate of production (Stb D⁄ )
On the application of equations (3.4a) and (3.4c) to equation (3.4) and dividing by αcρsc
,
assuming negligible gravity effect, we have:
∂
∂x(β
c
Kx
μB0
∂P
∂x) +
∂
∂y(β
c
Ky
μB0 ∂y ∂P
∂y) +
∂
∂z(β
c
Kz
μB0
∂P
∂z) +
q
Vb
=1
αc
∂
∂t(
ϕ
B0) … … … … … … … … … … … … … … … … … … … … . . … … … . (3.5)
Multiplying equation (3.5) by Vb, we have
32
∂
∂x(β
c
KxAx
μB0
∂P
∂x) ∆x +
∂
∂y(β
c
KyAy
μB0
∂P
∂y) ∆y +
∂
∂z(β
c
KzAz
μB0
∂P
∂z) ∆z + q
=Vb
αc
∂
∂t(
ϕ
B0) … … … … … … … … … … … … … … … … … … … … . . … … . . (3.6)
3.3. Numerical Model
Since the equation constituting the mathematical model of the reservoir is too complex to be
solved by analytical method; the finite difference approximation is used to put the equation in
a form that is amenable to solution by digital computer. The process involves spatial and time
derivative discretization.
The general PDE for a single phase three dimensional flow through a porous medium may be
written in Cartesian coordinates as:
∂
∂x[β
cAxKx
μBo
∂P
∂x] ∆x +
∂
∂y[β
cAyKy
μBo
∂P
∂y] ∆y +
∂
∂z[β
cAzKz
μBo
∂P
∂z] ∆z + qlsc
=VbϕCt
αcBo
∂P
∂t… … … … … … … … … … … … … … … … . . … (3.7)
Where Ct = total compressibility
3.3.1 Spatial discretization
The central difference scheme is used to spatially discretize the left hand side of equation
(3.7) along the three orthogonal directions. This is as shown below;
Along the X-direction
∂
∂x(
βcAxKx
μBo
∂P
∂x)
i ,j,k
≈ 1
∆xi,j,k[(
βcAxKx
μBo
∂P
∂x)
i+12,⁄ j,k
− (β
cAxKx
μBo
∂P
∂x)
i−12,⁄ j,k
] … … … … … (3.8)
≈1
∆xi,j,k[(
βcAxKx
μBo)
i+12⁄
(∂P
∂x)
i+12⁄
− (β
cAxKx
μBo)
i−12⁄
− (β
cAyKy
μBo)
i−12⁄
(∂P
∂x)
i−12⁄
]
33
Where (∂P
∂x)
i+12,j,k⁄
= Pi+1,j ,k−Pi,j,k
Xi+1,j,k−Xi,j,k =
Pi+1,j,k−Pi,j ,k
∆Xi+
12
,j,k
,
and (∂P
∂X)
i−12,j,k⁄
= Pi,j,k−Pi−1,j,k
Xi,j ,k−Xi−1,j,k =
Pi,j,k−Pi−1,j ,k
∆Xi−1/2,j,k
∂
∂x(
βcAxKx
μBo
∂P
∂x)
i ,j,k
=
1
∆xi,j,k[(
βcAxKx
μBo∆x)
i+12,⁄ j,k
(Pi+1,j ,k − Pi,j,k) − (β
cAxKx
μBo∆x)
i−12,⁄ j,k
(Pi,j,k − Pi−1,j,k)] … … … . (3a)
Similarly, for y-direction
∂
∂y(
βcAyKy
μBo
∂P
∂y)
i ,j,k
=
1
∆yi,j,k[(
βcAyKy
μBo∆y)
i, j+12,⁄ k
(Pi,j+1,k − Pi,j,k) − (β
cAyKy
μBo∆y)
i, j−12,⁄ k
(Pi,j,k − Pi,j−1,k)] … . … (3b)
For z-direction
∂
∂z(
βcAzKz
μBo
∂P
∂z)
i ,j,k
=
1
∆zi,j,k[(
βcAzKz
μBo∆z)
i,j,k+12⁄
(Pi,j,k+1 − Pi,j,k) − (β
cAzKz
μBo∆z)
i,j,k−12⁄
(Pi,j,k − Pi,j,k−1)] … … . . . (3c)
Substituting equations (3a), (3b) and (3c) into equation (3.7) to obtain
34
(β
cAxKx
μBo∆x)
i+12,⁄ j,k
(Pi+1,j ,k − Pi,j,k) − (β
cAxKx
μBo∆x)
i−12,⁄ j,k
(Pi,j,k − Pi−1,j,k)
+ (β
cAyKy
μBo∆y)
i, j+12,⁄ k
(Pi,j+1,k − Pi,j,k) − (β
cAyKy
μBo∆y)
i, j−12,⁄ k
(Pi,j,k − Pi,j−1,k)
+ (β
cAzKz
μBo∆z)
i,j,k+12⁄
(Pi,j,k+1 − Pi,j,k) − (β
cAzKz
μBo∆z)
i,j,k−12⁄
(Pi,j,k − Pi,j,k−1)
+ qlsci,j,k = (VbϕCt
αcBo)
i,j,k
(∂P
∂t)
i,j,k… … … … … … … … … … … … . . … … … . . (3.9)
3.3.2 Time discretization
In order to obtain an unconditionally stable scheme (i.e. an implicit formulation), the
backward difference is used to discretized the time derivative. Using backward difference
approximation with base time level at n+1;
(VbϕCt
αcBo)
i,j,k(
∂P
∂t)
i,j,k= (
VbϕCt
αcBo∆t)
i,j,k(Pi,j,k
n+1 − Pi,j,kn ) ……………………....……………… (3.10)
Substituting equation (3.10) into equation (3.9) at the base time level (n+1), we have:
(β
cAxKx
μBo∆x)
i+12
,jk
(Pi+i,jkn+1 − Pijk
n+1) − (β
cAxKx
μBo∆x)
i−12
,jk
(Pijkn+1 − Pi−1,j,k
n+1 )
+ (β
cAyKy
μBo∆y)
i,j+12
,k
(Pi,j+1,kn+1 − Pijk
n+1) − (β
cAyKy
μBo∆y)
i,j−12
,k
(Pijkn+1 − Pi,j−1,k
n+1 )
+ (β
cAzKz
μBo∆z)
i,j,k+12
(Pij,k+1n+1 − Pijk
n+1) − (β
cAzKz
μBo∆z)
i,j,k−12
(Pij,kn+1 − Pijk−1
n+1 ) + qscijk
= (Vb∅Ct
αcBo∆t)
ijk
(Pijkn+1 − P1j,k−1
n+1 ) … … … … … … … … … … … … (3.11)
Setting
Ti±
1
2,j,k
= (βcAxKx
μBo∆x)
i±1
2,j,k
, Gijk = (Vb∅Ct
αcBo∆t)
i,j,k ,
35
Ti,j±
1
2,k
= (βcAyKy
μBo∆y)
i,j±1
2,k
, and Ti,j,k±
1
2
= (βcAzKz
μBo∆z)
i,j,k±1
2
,
and rearranging equation (3.11) to perform the implicit equation as shown below:
Ti+
12
,j,k(Pi+1,j,k
n+1 − Pijkn+1) − T
i−12
,j,k(Pijk
n+1 − Pi−1,j,kn+1 ) + T
i,j+12
,k(Pi,j+1,k
n+1 − Pijkn+1)
−Ti,j−
12
,k(Pijk
n+1 − Pi,j−1,kn+1 ) + T
i,j,k+12
(pi,j,k+1n+1 − Pijk
n+1) − Ti,j,k−
12(Pijk
n+1 − Pi,j,k−1n+1 ) + qscijk
= Gijk(Pijkn+1 − Pijk
n ) ………………………….……. (3.12)
Writing equation (3.12) in a compact form by expanding and collecting like terms to obtain;
Ti,j,k−
12
Pi,jk−1n+1 + T
i,j−12
,kPi,j−1,k
n+1 + Ti−
12
,j,kPi−1,j,k
n+1
− (Ti,j,k−
12
+ Ti,j−
12
,k+ T
i−12
,j,k+ T
i+12
,j,k+ T
i,j+12
,k+ T
i,j,k+12
+ Gijk) Pijkn+1
+Ti+
12
,j,kPi+1,j,k
n+1 + Ti,j+
12
,kPi,j+1
n+1 + Ti,j,k+
12
Pi,j,K+1n+1 = −(qscijk + GijkPijk
n ) … … … … … … . (3.13)
Writing equation (3.13) for n-number of grid blocks result in n-number of linear system of
equations which can be written in matrix form as
[𝑄][𝑃𝑖𝑗𝑘𝑛+1] = [𝑅]
Where [Q] is an heptadiagonal sparsely populated matrix
[𝑃𝑖𝑗𝑘𝑛+1] is a column vector of the unknown pressures at the new time step.
[𝑅] is a column vector which is computed based on the known pressures at the old time step.
The heptadiagonal structure of the sparsely populated matrix Q resulting from the
discretization process is shown in Figure 3.2 and the numerical stencil used to obtain the
matrix structure for a three-dimensional block is represented in Figure 3.3.
36
Figure 3.2: Heptadiagonal matrix structure formed from a discretized 3-D oil reservoir
Figure 3.3: A numerical stencil for a three-dimensional oil reservoir block
(𝑖 + 1, 𝑗, 𝑘)
(𝑛𝑥 − 1)
(𝑖, 𝑗 + 1, 𝑘)
(𝑖, 𝑗, 𝑘)
(𝑖, 𝑗, 𝑘 − 1)
(𝑖, 𝑗 − 1, 𝑘)
(𝑖, 𝑗 + 1, 𝑘)
(𝑖 − 1, 𝑗, 𝑘)
(𝑛𝑥𝑛𝑦 − 1)
𝑖, 𝑗, 𝑘 − 1
𝑖, 𝑗 + 1, 𝑘
𝑖, 𝑗, 𝑘 + 1
𝑖, 𝑗, 𝑘 𝑖 + 1, 𝑗, 𝑘
𝑖, 𝑗 − 1, 𝑘
𝑖 − 1, 𝑗, 𝑘
𝑧 𝑦
𝑥
37
The size of the generated coefficient matrix Q for the discretized three-dimensional oil
reservoir of size n (where n = nxnynz) is schematically represented by the mesh of figure 3.4.
Figure 3.4: Mesh for the discretized three-dimensional oil reservoir
3.4 Computer (MATLAB programming) Model
The numerical model obtained for the three-dimensional oil reservoir (equation (3.12))
requires high-speed digital computer because of the large amount of arithmetic associated
with the solution. This large amount of arithmetic stems from the large number of gridblocks
representing the reservoir and from the number of equations describing the oil-recovery
process. In this work, the computer program required to solve the linear system of equations
of the numerical model (equation (3.12)) obtained for the three-dimensional oil reservoir was
coded in MATLAB programming Language. The code was run on MATLAB 2009a.
The development of the MATLAB code follows the under listed steps:
𝑧 𝑦
𝑥
𝑛𝑥, 𝑛𝑦 , 𝑛𝑧 − 1
𝑛𝑥, 𝑛𝑦 , 𝑛𝑧
𝑛𝑥, 𝑛𝑦
𝑛𝑦 , 𝐶𝑒𝑙𝑙𝑠
𝑛𝑥, 𝐶𝑒𝑙𝑙𝑠 𝑛𝑥
𝑛𝑥 − 1
𝑛𝑧, 𝐶𝑒𝑙𝑙𝑠
𝑛𝑥𝑛𝑦(𝑛𝑧 −) + 1
38
Creation of a graphical user interface (GUI) that accepts input data from the user. The
input data required from the user include; (i) Reservoir description data such as
overall geometry, grid size specification, permeability and porosity for each
gridblock. (ii) Fluid PVT properties, such as oil formation volume factor and
viscosity, and (iii) Specification of well location and production rate. Figure 3.5
shows the GUI that was created for this simulator.
The program implementation stage starts with the declaration of parameters and
definition of constants, followed by the definition of diagonals leading to the
formation of the coefficient matrix, Q. The column vector, R is defined with well
location centrally specified. This is followed by cell pressure computation and
subsequent computations of other key parameters. Figure 3.6 shows the MATLAB
program sequential algorithm that performs the operation.
The visual output display of the program which include spatial distribution of oil
pressure in the reservoir at the end of each timestep of the computations, contour plot
of the reservoir pressures (with colour map to ease the user’s assimilation and
interpretation of the simulator results), plots of the average reservoir pressure,
cumulative production, and production rates of oil versus time, and plot of oil
formation volume factor versus average reservoir pressure.
39
Figure 3.5: GUI for the three-dimensional oil simulator.
40
Figure 3.6: MATLAB program sequential algorithm
MATLAB PROGRAM
Creation of GUI
Declaration of parameters and
definition of constants
Definition of diagonals, formation of Matrix Q
Specification of well location and definition of column vector R
Computation of cell pressure
Updating
Plots; Pav vs. Time, Nps vs. Time, q vs. Time, Bo vs. Pav
and Contour plots of reservoir pressures
Compute oil FVF
Compute q
Do loop
Compute Np
Compute Nps
Compute Pav
Converged?
Is Pav=Pob?
41
The oil formation volume factor, Bo for each cell is computed using the relation;
𝐵𝑜(𝑖, 𝑗, 𝑘) = 𝐵𝑜𝑏[1 − 𝐶𝑜(𝑃(𝑖, 𝑗, 𝑘) − 𝑃𝑜𝑏)]
The cumulative production, 𝑁𝑝 from each cell is computed using the formula;
𝑁𝑝(𝑖, 𝑗, 𝑘) =∆𝑉 ∗ ∅ ∗ (1 − 𝑆𝑤) ∗ 𝐶𝑒
∗∆𝑃(𝑖, 𝑗, 𝑘)
𝐵0(𝑖, 𝑗, 𝑘)
Where ∆𝑃(𝑖, 𝑗, 𝑘) = 𝑃𝑖,𝑗,𝑘𝑛 − 𝑃𝑖,𝑗,𝑘
𝑛+1
The Cumulative production from the entire reservoir 𝑁𝑝𝑠 is computed using;
𝑁𝑝𝑠 = ∑ 𝑁𝑝(𝑖, 𝑗, 𝑘)
𝑛
𝑖=1,𝑗=1,𝑘=1
Production rate 𝑞 from the reservoir at each time step is computed using;
𝑞 =∑ 𝑁𝑝(𝑖, 𝑗, 𝑘)𝑛
𝑖,=1𝑗=1,𝑘=1
∆𝑡
Average reservoir pressure 𝑃𝑎𝑣 is computed using;
𝑃𝑎𝑣 =∑ 𝑃(𝑖, 𝑗, 𝑘) ∗ 𝑁𝑝(𝑖, 𝑗, 𝑘)𝑛
𝑖=1,=𝑗=1,𝑘=1
∑ 𝑁𝑝(𝑖, 𝑗, 𝑘)𝑛𝑖=1,𝑗=1,𝑘=1
42
CHAPTER FOUR
VALIDATION, RESULTS AND DISCUSSIONS
This chapter focuses on the validation of the methodology used in this study. Parameters such
as cumulative production, production rate and recovery factor at bubble point pressure were
validated using the material balance equation. Also presented in this chapter are plot of
average reservoir pressure against time, formation volume factor against average reservoir
pressure, surface and contour plots of reservoir pressure depletion for different grid sizes, and
sensitivity analysis of reservoir key parameters on reservoir pressure behavior.
4.1 Validation of results
Table 4.1 Data set used to validate the model.
Reservoir Length, Lx (ft) 3000
Reservoir Width, Ly (ft) 3000
Reservoir Thickness, H (ft) 50
Porosity, (fraction) 0.3
Viscosity, mui (cp) 0.5
Total Compressibility, Ce (/psi) 2.28E-05
Oil Compressibility, Co (/psi) 1.13E-05
Horizontal Well Length, Lh (ft) 1000ft
Oil Rate, q (stb/day) 200
Permeability in the x-direction, Kx (md) 200
Permeability in the y-direction, Ky (md) 400
Permeability in the z-direction, Kz (md) 100
PVT PARAMETERS
PRESSURE (PSIA) FVF (RB/STB)
4000 (Pi) 1.2417
3500 1.2480
3330 (Pb) 1.2511
43
Figure 4.1: Average reservoir pressure versus time.
The plot in figure 4.1 shows that the field pressure declines rapidly with time. This rapid
decline in pressure is expected for an expansion-drive reservoir since the compressibility of
the driving energy (rock and liquid) is insignificant; with little or no pressure support. The
plot also reveals that the pressure depletion from the initial reservoir pressure of 4000psi to
the bubble-point pressure of 3330psi was reached at approximately 1180days
3300
3400
3500
3600
3700
3800
3900
4000
4100
0 100 200 300 400 500 600 700 800 900 1000 1100 1200
TIME (DAYS)
AV
ER
AG
E R
ES
ER
VO
IR P
RE
SS
UR
E (
PS
I)
44
Figure 4.2: Cumulative oil production versus time.
From the plot of Figure 4.2, the result of the simulator indicates that a total of 236MSTB of
the oil was recovered in 1180days of production.
Mathematical computation using analytical material balance formula for undersaturated oil
reservoir as given by equation (2.7), gives; Cumulative production, Np due to pressure drop
∆𝑃 is given by:
𝑁𝑝 =𝑉𝑏∅𝐶𝑒(1 − 𝑆𝑤)∆𝑃
5.615𝐵𝑜… … … … … … … … … … … … … … … … … … … … … … … … … … . (4.1)
0.0E+00
5.0E+04
1.0E+05
1.5E+05
2.0E+05
2.5E+05
0 100 200 300 400 500 600 700 800 900 1000 1100 1200
TIME (DAYS)
CU
MU
LA
TIV
EO
IL P
RO
DU
CT
ION
(S
TB
)
45
𝑁𝑝 =𝑁𝐵𝑜𝑖𝐶𝑒∆𝑃
𝐵𝑜… … … … … … … … … … … … … … … … … … … … … … … … … … … … … … (4.2)
Where
𝑁 = 𝑉𝑏∅(1−𝑆𝑤)
𝐵𝑜𝑖=
𝐿𝑥∗ 𝐿𝑦
∗ 𝐿ℎ∗ ∅(1−𝑆𝑤)
5.615𝐵𝑜𝑖
Using the values in table 4.1,
𝑁 = 3000 ∗ 3000 ∗ 50 ∗ 0.3 ∗ (1 − 0.2)
5.615 ∗ 1.2417𝑆𝑇𝐵
𝑁 = 1.549 ∗ 107𝑆𝑇𝐵
𝑁 = 15.5𝑀𝑀𝑆𝑇𝐵
Equation (4.1) becomes:
𝑁𝑝 =15.5 ∗ 106 ∗ 1.2417 ∗ 2.28 ∗ 10−5 ∗ (4000 − 3330)
1.2511
𝑁𝑝 = 2.35 ∗ 105𝑆𝑇𝐵
𝑁𝑝 = 235𝑀𝑆𝑇𝐵
This result is in agreement with the cumulative oil production of 236𝑀𝑆𝑇𝐵 obtained using
the developed simulator.
46
Figure 4.3: Oil production rate versus time
Figure 4.3 shows the plot of oil production rate from the three wells drilled in the reservoir with
a constant total production rate of 200stb/day; with each well producing about 66.67stb/day. This
constant rate is maintained throughout the production period of 1180days.
Mathematical computation using material balance gives;
𝑞 =𝑁𝑝
𝑡 ,
Where t = 1180days and 𝑁𝑝 = 2.35 ∗ 105𝑆𝑇𝐵
0
50
100
150
200
250
0 100 200 300 400 500 600 700 800 900 1000 1100 1200
TIME (DAYS)
OIL
PR
OD
UC
TIO
NR
AT
E(S
TB
/DA
Y)
47
𝑞 =2.35 ∗ 105 𝑆𝑇𝐵
1180 𝐷𝐴𝑌
𝑞 = 199.15 𝑆𝑇𝐵/𝐷𝐴𝑌
This result also agrees with the constant production rate of 200STB/DAY that was used in the
simulator.
Furthermore, the recovery factor at the bubble point pressure is computed using:
Recovery, 𝑅 =𝑁𝑝
𝑁|
𝑃𝑏
=𝐵𝑜𝑖
𝐵𝑜𝑏𝐶𝑒∆𝑃
𝑅 =1.2417
1.2511∗ 2.28 ∗ 10−5 ∗ (4000 − 3330)
𝑅 = 1.52%.
The estimated recovery factor at the bubble point pressure is only 1.52% of the original oil in
place. This is very low considering that about 670psi pressure drop resulted to this estimated
recovery which is in agreement with published values in literatures. This low recovery factor
is a characteristic of the expansion-drive reservoirs as the least efficient recovery mechanism
(L.P. Dake, 1998; P. Glover, 2005; A. Tarek, 2006).
48
Figure 4.4: Oil formation volume factor versus average reservoir pressure
The plot of figure 4.4 shows that the formation volume factor increases slightly from
1.2417rb/stb to 1.2511r/stb as the reservoir pressure declines from its initial value of 4000psia to
the bubble-point pressure of 3330psia. This slight increase in the oil formation volume factor is
due to the fact that in an undersaturated condition/region, a decrease in pressure releases no
solution gas. The oil formation volume factor in this (undersaturated) region is governed by the
equation;
𝐵𝑜 = 𝐵𝑜𝑏𝑝𝑒−𝑐𝑜(𝑃−𝑃𝑏𝑝)
Using a power series expansion, we have;
𝐵𝑜 = 𝐵𝑜𝑏𝑝[1 − 𝐶𝑜(𝑃 − 𝑃𝑏𝑝)] ,
1.240
1.242
1.244
1.246
1.248
1.250
1.252
1.254
3300 3400 3500 3600 3700 3800 3900 4000
AVERAGE RESERVOIR PRESSURE
OIL
FO
RM
AT
ION
VO
LU
ME
FA
CT
OR
(RB
/ST
B)
49
Where
Bo = oil formation volume factor, rv/stb (above bubble point),
Bob = oil formation volume factor, rv/stb (at bubble point),
Co = undersaturated oil compressibility, /psi,
P = reservoir pressure, psia
Pbp = bubble point pressure, psia.
4.2 Surface and Contour plots of reservoir pressure distribution at bubble point for
different grid sizes
Figure 4.5: Surface and Contour plot of reservoir pressure distribution (11x11x11 grid cells)
12
34
56
78
910
11
12
34
56
78
910
11
3327
3327.5
3328
3328.5
3329
3329.5
3330
3327.5
3328
3328.5
3329
3329.5
50
Figure 4.6: Surface and Contour plot of reservoir pressure distribution (13x13x13 grid cells)
Figure 4.7: Surface and Contour plot of reservoir pressure distribution (15x15x15 grid cells)
02
46
810
1214
0
2
4
6
8
10
12
14
3327
3327.5
3328
3328.5
3329
3329.5
3330
3327.5
3328
3328.5
3329
3329.5
02
46
810
1214
16
02
46
810
1214
16
3326
3326.5
3327
3327.5
3328
3328.5
3329
3329.5
3330
3327
3327.5
3328
3328.5
3329
3329.5
51
Figure 4.8: Surface and Contour plot of reservoir pressure distribution (19x19x19 grid cells)
Figures 4.5, 4.6, 4.7, and 4.8 shows the surface and contour plots of the spatial distribution of
reservoir pressures at bubble point for 1331grid cells, 2197grid cells, 3375grid cells, and 6859
grid cells respectively. Due to limited computational power, the maximum number of grid cell
that could be investigated is 6859grid cells (i.e. 19x19x19 grid cells). The plots reveal that the
more the number of grid cells, the finer and the more detailed the description of the reservoir
fluid distribution. In addition, the colourbars show that the pressure distribution is least at the
well locations and maximum at the reservoir boundary.
02
46
810
1214
1618
20
02
46
810
1214
1618
20
3326
3326.5
3327
3327.5
3328
3328.5
3329
3329.5
3330
3327
3327.5
3328
3328.5
3329
3329.5
52
4.3 Surface and Contour plots of reservoir pressure distribution at specified time before
the bubble point
Figure 4.9: Surface and Contour plot of reservoir pressure distribution after 10days
Figure 4.10: Surface and Contour plot of reservoir pressure distribution after 20days
02
46
810
1214
1618
20
02
46
810
1214
1618
20
3991
3991.5
3992
3992.5
3993
3993.5
3994
3994.5
3995
3992
3992.5
3993
3993.5
3994
3994.5
02
46
810
1214
1618
20
02
46
810
1214
1618
20
3986
3986.5
3987
3987.5
3988
3988.5
3989
3989.5
3986.5
3987
3987.5
3988
3988.5
3989
53
Figure 4.11: Surface and Contour plot of reservoir pressure distribution after 100days
Figure 4.12: Surface and Contour plot of reservoir pressure distribution after 200days
02
46
810
1214
1618
20
02
46
810
1214
1618
20
3940
3940.5
3941
3941.5
3942
3942.5
3943
3943.5
3944
3941
3941.5
3942
3942.5
3943
3943.5
02
46
810
1214
1618
20
02
46
810
1214
1618
20
3884
3884.5
3885
3885.5
3886
3886.5
3887
3887.5
3884.5
3885
3885.5
3886
3886.5
3887
54
Figure 4.13: Surface and Contour plot of reservoir pressure distribution after 300days
Figure 4.14: Surface and Contour plot of reservoir pressure distribution after 400days
02
46
810
1214
1618
20
02
46
810
1214
1618
20
3827
3827.5
3828
3828.5
3829
3829.5
3830
3830.5
3827.5
3828
3828.5
3829
3829.5
3830
02
46
810
1214
1618
20
02
46
810
1214
1618
20
3770
3770.5
3771
3771.5
3772
3772.5
3773
3773.5
3774
3771
3771.5
3772
3772.5
3773
3773.5
55
Figure 4.15: Surface and Contour plot of reservoir pressure distribution after 500days
Figures 4.9 - 4.15 show the surface and contour plots of the spatial distribution of reservoir
pressures after 10days, 20days 100days, 200days, 300days, 400days, and 500days respectively,
before the attainment of bubble point. From the plots, it is evident that the pressure depletion is
rapid and constant, as about 6psi drop in pressure is observed in every 10days interval, and about
57psi in every 100days interval as shown in Table 4.2 below.
Table 4.2: Reservoir pressure results at specified time before the bubble point
TIME
(DAYS)
AVE RES.
PRESSURE
(PSI)
PRESSURE
DROP
(PSI)
MAX. RES.
PRESSURE
(PSI)
MIN. RES.
PRESSURE
(PSI)
0 4000.0 4000.0 4000.0
10 3994.3 5.7 3994.5 3992.0
20 3988.7 5.6 3989.0 3986.5
100 3943.4 56.6 3943.5 3941.0
200 3886.7 56.7 3887.0 3884.5
300 3830.0 56.7 3830.0 3827.5
400 3773.2 56.8 3773.5 3771.0
500 3716.4 56.8 3716.5 3714.0
02
46
810
1214
1618
20
02
46
810
1214
1618
20
3713
3713.5
3714
3714.5
3715
3715.5
3716
3716.5
3717
3714
3714.5
3715
3715.5
3716
3716.5
56
4.4 Sensitivity analysis
Sensitivity studies to investigate the impact of certain reservoir key parameters such as water
saturation, porosity, effective compressibility and reservoir thickness, on overall performance
of the reservoir was performed using the developed simulator.
Figure 4.16: Effect of water saturation on average reservoir pressure
Since the reservoir pore space is occupied by both connate water and undersaturated oil for
the reservoir system being considered for this study, it is important to investigate the effect of
water saturation on simulation results. Figure 4.9 shows that the average reservoir pressure
declines rapidly as water saturation increases from 20% to 30%.
3300
3400
3500
3600
3700
3800
3900
4000
4100
0 100 200 300 400 500 600 700 800 900 1000 1100 1200
Sw = 20%
Sw = 25%
Sw = 30%
Sw = 35%
TIME, (DAYS)
EFFECT OF WATER SATURATION ON
RESERVOIR PRESSURE
AV
ER
AG
E R
ES
ER
VO
IR P
RE
SS
UR
E (
PS
I)
57
Figure 4.17: Effect of porosity on average reservoir pressure
The sensitivity analysis performed to investigate the effect of porosity on average reservoir
pressure (figure 4.10) shows that the rate of average reservoir pressure decline increases as
the porosity decreases (from 30% to 15%). This indicates that the time taken to reach the
bubble point pressure decreases as the porosity decreases.
3300
3400
3500
3600
3700
3800
3900
4000
4100
0 100 200 300 400 500 600 700 800 900 1000 1100 1200
Porosity = 15%
Porosity = 20%
Porosity = 25%
Porosity = 30%
TIME (DAYS)
EFFECT OF POROSITY ON RESERVOIR PRESSURE
AV
ER
AG
E R
ES
ER
VO
IR P
RE
SS
UR
E (
PS
I)
58
Figure 4.18: Effect of effective compressibility on average reservoir pressure
Since this work is concerned primarily with the development of a simulator for expansion-
drive reservoirs, it is imperative to investigate the impact of varying the effective
compressibility on average reservoir pressure as shown in Figure 4.11 above. The plots
indicate that the effect of expansion on pressure decline is more pronounced. As the effective
compressibility increases the rate of average pressure declines decreases and as such the time
to reach bubble point pressure is prolonged.
3300
3400
3500
3600
3700
3800
3900
4000
4100
0 200 400 600 800 1000 1200 1400 1600 1800 2000 2200 2400
Ce = 1.14E-5
Ce = 2.28E-5
Ce = 3.42E-5
Ce = 4.56E-5
TIME (DAYS)
EFFECT OF EFFECTIVE COMPRESSIBILITY ON
RESERVOIR PRESSURE
AV
ER
AG
E R
ES
ER
VO
IR P
RE
SS
UR
E (
PS
I)
59
Figure 4.19: Effect of reservoir thickness on average reservoir pressure
The reservoir pay thickness is a key parameter in formation evaluation as it contributes to the
estimation of a meaningful hydrocarbon volume in-place against which recovery efficiency
can be usefully assessed (Worthington, 2009). As shown in figure 4.12, increase in reservoir
thickness decreases the rate of pressure decline; resulting in prolonged time for the attainment
of bubble point pressure.
3300
3400
3500
3600
3700
3800
3900
4000
4100
0 400 800 1200 1600 2000 2400 2800 3200 3600 4000 4400 4800
Thickness, H=200ft
Thickness, H=150ft
Thickness, H=100ft
Thickness, H=50ft
TIME (DAYS)
EFFECT OF RESERVOIR THICKNESS ON AVERAGE
PRESSURE
AV
ER
AG
E R
ES
ER
VO
IR P
RE
SS
UR
E (
PS
I)
60
CHAPTER FIVE
CONCLUSION AND RECOMMENDATION
5.1 Conclusions
A three-dimensional numerical model is often thought of as the ultimate tool to evaluate past
performance and to predict future performance of a reservoir, because such a model combines
areal and vertical conformance and the effects of gravity in one model. In this study, a three-
dimensional numerical simulator for expansion-drive reservoirs is developed; key reservoir
parameters such as reservoir block pressures, average reservoir pressure, cumulative
production, and production rate as well as the recovery factor for expansion-drive reservoir
were determined using the developed simulator. The average reservoir pressure is determined
as a weighted average. The oil cumulative production at bubble point pressure is computed as
sum of expansion from each cell and the production rate is then determined at each time step.
Contour plots (with colour map to ease the user’s assimilation and interpretation of the
simulator results), of reservoir pressure depletion with time were generated for different
number of finite-difference grid blocks. The results indicate that the more the number of grid
blocks used, the more accurate the numerical solution and the more detailed the description
of the reservoir fluid distribution.
The average reservoir pressure was plotted against time. The plot show a rapid decline in the
average reservoir pressure due to the negligible compressibility associated with rock and
liquid expansion-drive reservoirs. Oil formation volume factor plotted against average
reservoir pressure indicate that the oil formation volume factor increases slightly from the
initial reservoir pressure until bubble point pressure due to the fact that a decrease in pressure
releases no solution gas in an undersaturated region.
61
Also generated were plots of oil cumulative production against time, and production rate
versus time. The estimated oil cumulative production up to the bubble point using the
developed simulator agrees with the material balance estimate.
5.2 Recommendations
In order to meet the rapidly increasing need of reservoir simulators, the following
recommendations were made;
Since this study involved the development of numerical simulator for undersaturated
reservoirs, further studies should be extended to saturated reservoirs.
Numerical methods such as finite element method, finite volume method, integral
volume and variation method could be employed instead of the finite difference
method used in this study for the discretization of the partial differential equation
governing the fluid flow process. This will accommodate both regular and irregular
reservoir geometry.
In the course of this study, it was observed that the number of iterations (to reach)
required for convergence was large; this may be significantly reduced by introducing
preconditioners (used to reduce the matrix condition number and speed up the
convergence of iterative solvers) in order to increase the convergence rate.
62
REFERENCES
Abbas, F., Thermodynamics of Hydrocarbon Reservoirs, McGraw-Hill, 2000.
Abou-Kassem, J.H., Farouq Ali, S.M., and Islam, M.R., Petroleum Reservoir Simulation: A
Basic Approach, Gulf Publishing Company, Houston, TX, USA, 2006.
Ahmed T., Reservoir Engineering Handbook, Third Edition, Gulf Professional Publishing,
2006.
Archer, J.S., Reservoir Definition and Characterization for Analysis and Simulation, Preprint
of the 11th World Petroleum Congress, London, England, 1983.
Aziz, K. and Settari, A., Petroleum Reservoir Simulation, Applied Science Publishers, 1979.
Bruce, G.H., Peaceman, D.W., and Rachford, H.H., Jr., Calculation of Unsteady-State Gas
Flow Through Porous Media, AIME Petroleum Transactions, v.198, 1953.
Cheng, Y., Reservoir Simulation, Department of Petroleum and Natural Gas Engineering,
West Virginia University, USA, ccc Encyclopaedia of Life Support systems (EOLSS).
Coats, K.H., Reservoir Simulation: Petroleum Engineering Handbook, ed. Howard Bradley,
Chap. 48, Richardson, Texas: Society of Petroleum Engineers, 1987.
Dake, L.P., Fundamentals of Reservoir Engineering, Elsevier, Amsterdam, Netherlands,
1998.
Darman N.H., Sorbie K.S., and Pickup G.E., The Development of Pseudo Functions for
Gravity-Dominated Immiscible Gas Displacements, SPE paper 51941 presented at the 1999
SPE Reservoir Simulation Symposium, Houston, Texas, 14-17 February, 1999.
Dianne, P. O., the Block Conjugate Gradient Algorithm and Related Methods, Elsevier Inc.
Ertekin, T., Abou-Kassem, J.H., and King, G.R., Basic Applied Reservoir Simulation, SPE
Textbook Volume 10, 2001.
Fanchi, J.R., Principles of Applied Reservoir Simulation, Houston, Tex, Gulf Pub, 1997.
63
Finite Difference Methods,
http://ltl.iams.sinica.edu.tw/document/training_lectures/2006/SH_Chen/Finite_Difference_M
ethods.pdf
Fisher, W.G., Reservoir Simulation, D&S Petroleum Consultants Ltd., Calgary, Alberta,
Canada, 1974.
Granville, S., The numerical solution of ordinary and partial Differential equations Second
edition, Texas A6M University Mathematics Department College Station, Texas and
University of Texas-El Paso El Paso, Texas, 2005.
Hestenes, M.R. and Stiefel, E., Methods of conjugate gradients for solving linear systems,
Journal Research of the National Bureau of Standards, 1952.
Jaan Kiusalaas, Numerical methods in engineering with Matlab®. The Pennsylvania State
University, Cambridge University press, New York, 2005.
James, W.D., Applied Numerical Linear Algebra, Society for Industrial and Applied
Mathematics (SIAM), Philadelphia, PA, 1st edition, 1997.
John, R.F., Principles of Applied Reservoir Simulation, ISBN 13: 978-0-7506-7933-6,
Elsevier, 2006.
Jonathan S., An introduction to the conjugate gradient method without the agonizing pain.
http://www.cs.berkeley.edu/ jrs/jrspapers.html, August 1994.
Keith, H.C., Reservoir Simulation: State of the Art, Distinguished Author Series SPE 10020.
Journal of Petroleum Technology.
Knut-Andreas, L., and Bradley, T.M., Mathematical Models for Oil Reservoir Simulation
Koederitz, L.F., Lecture Notes on Applied Reservoir Simulation, University of Missouri-
Rolla, USA, 2004.
Leila, I., A Ring-Based Parallel Oil Reservoir Simulator, Scalable Computing: Practice and
Experience, Volume 13, Number 1, 2012.
64
Mattax, C.C., and Dalton R.L., Reservoir Simulation. SPE Monograph Volume 13,
Richardson, TX, 1990.
Muskat M., Physical Properties of Oil Production, McGraw-Hill Book Co. Inc., New York
City 1949.
Muskat M., the Flow of Homogeneous Fluids through Porous Media, J.W. Edwards, Inc.,
Ann Arbor, MI 1946.
Ogbe, D., Applied Reservoir Simulation lecture notes, African University of Science and
Technology, Abuja, 2012.
Omosebi, A.O and Igbokoyi A.O., A Two-Dimensional Numerical Simulator for Expansion-
Drive Reservoirs, SPE (162983), Lagos Nigeria, August 2012.
Øystein, P., Basics of Reservoir Simulation with the Eclipse Reservoir Simulator, Lecture
Notes, University of Bergen, 2006.
Peaceman, D.W., Fundamenta1s of Numerical Reservoir Simulation, Elsevier Scientific Pub.
Co., New York City 1977.
Press, W.H. et al., Numerical Recipes: The Art of Scientific Computing, Cambridge U. Press,
Cambridge, U.K. 1986.
Rosalind, A., Applied Mathematics in Reservoir Engineering, Stanford University, spring
2000.
Rose, D.J. and Willoughby, R.A., Sparse Matrices and Their Applications, Plenum Press,
New York City, 1972.
Stone, H.L., Iterative Solution of Implicit Approximations of Multidimensional Partial
Differential Equations, SIAM J. Numerical Analysis, 1968.
The MathWorks, Inc., MATLAB: The Language of Technical Computing, Getting Started
with MATLAB Version 6, ccc COPYRIGHT 1984 – 2001.
65
Thom and Apelt, C.J., Field Computations in Engineering and Physics. London: D. Van
Nostrand, 1961.
Weinstein, H.G., Stone, H.L., and Kwan, T.V., Iterative Procedure for Solution of Parabolic
and Elliptic equations in Three Dimensions, Ind. Eng. Chem. Fund. 1969.
Yousef S., Iterative methods for sparse linear systems, Society for Industrial and Applied
Mathematics, Philadelphia, PA, second edition, 2003.
66
NOMENCLATURE
A = Cross-sectional area normal in the direction of flow, (ft2)
Bo = Oil formation volume factor (rb stb⁄ )
Vsc = Volume at surface condition (stb),
βC
= Unit conversion factor for the permeability coefficient = 1.127,
ρsc
= Density at surface condition
∆t = Time step (day)
∆x = 𝐿𝑒𝑛𝑔𝑡ℎ 𝑜𝑓 𝑎 𝑔𝑟𝑖𝑑 𝑏𝑙𝑜𝑐𝑘 (𝑓𝑡)
∆y = 𝑊𝑖𝑑𝑡ℎ 𝑜𝑓 𝑎 𝑔𝑟𝑖𝑑 𝑏𝑙𝑜𝑐𝑘 (𝑓𝑡)
∆z = 𝐻𝑒𝑖𝑔ℎ𝑡 𝑜𝑓 𝑎 𝑔𝑟𝑖𝑑 𝑏𝑙𝑜𝑐𝑘 (𝑓𝑡)
µ = Oil viscosity (cp)
µ = Dynamic viscosity of the fluid (cp)
Gi,j,k = Constant part of the transmissibility, (stb/day-psi)
H = Formation thickness (ft)
K = Rock permeability (d)
Kx = Formation permeability in x-direction (d or md)
Ky = Formation permeability in y-direction (d or md)
Kz = Formation permeability in z-direction (d or md)
Lx = Formation length in x-direction (ft)
Ly = Formation length in y-direction (ft)
ɸ = formation porosity (fraction)
P = Reservoir pressure (psia)
q = Volumetric flow rate of production (stb D⁄ )
qi,j,k = Oil flow rate from well in cell i,j,k (stb/day)
t = Time step (day)
67
T = Transmissibility, (stb/day-psi)
Ti,j,k+1/2 = Transmissibility along z-direction between cell (i,j,k) and cell (i,j,k+1/2), (stb/d-psi)
Ti,j+1/2,k = Transmissibility along y-direction between cell (i,j,k) and cell (i,j+1/2,k), (stb/d-psi)
Ti+1/2,j,k = Transmissibility along x-direction between cell (i,j,k) and cell (i+1/2,j,k), (stb/d-psi)
Vb = Volume at reservoir condition (rb)
x = x-direction
y = y-direction
z = z-direction
nx = total number of grid cells in the x-direction
ny = total number of grid cells in the y-direction
nz = total number of grid cells in the z-direction
Z = Elevation (ft)
αc = Volume conversion factor (to field unit) = 5.615,
γ = Fluid gravity (psi ft⁄ )
δ = Partial differential operator
ρ = Density at reservoir condition
o = Oil
n = Previous time step
n+1 = Next time step
68
APPENDIX A
Table of values of Pav, t, FVF, q and Np obtained from the developed simulator
TIME
(DAYS)
AVE RES.
PRESSURE (PSI)
OIL FVF
(RB/STB)
PROD RATE
(STB/DAY)
CUMM. PROD
(STB)
0 4000.00 1.2417 0 0
10 3994.30 1.2417 199.97 2000
20 3988.70 1.2418 199.97 4000
30 3983.00 1.2419 199.97 6000
40 3977.30 1.2419 199.97 8000
50 3971.70 1.2420 199.97 10000
60 3966.00 1.2421 199.97 12000
70 3960.40 1.2422 199.97 14000
80 3954.70 1.2423 199.97 16000
90 3949.00 1.2423 199.97 18000
100 3943.40 1.2424 199.97 20000
110 3937.70 1.2425 199.97 22000
120 3932.00 1.2426 199.97 24000
130 3926.40 1.2427 199.97 26000
140 3920.70 1.2427 199.97 28000
150 3915.00 1.2428 199.97 30000
160 3909.40 1.2429 199.97 32000
170 3903.70 1.2430 199.97 34000
180 3898.00 1.2431 199.97 36000
190 3892.30 1.2431 199.97 38000
200 3886.70 1.2432 199.97 40000
210 3881.00 1.2433 199.97 42000
220 3875.30 1.2434 199.97 44000
230 3869.70 1.2435 199.97 46000
240 3864.00 1.2436 199.97 48000
250 3858.30 1.2436 199.97 50000
260 3852.70 1.2437 199.97 52000
270 3847.00 1.2438 199.97 54000
280 3841.30 1.2439 199.97 56000
290 3835.60 1.2440 199.97 58000
300 3830.00 1.2440 199.97 60000
310 3824.30 1.2441 199.97 62000
320 3818.60 1.2442 199.97 64000
330 3812.90 1.2443 199.97 66000
340 3807.30 1.2444 199.97 68000
350 3801.60 1.2444 199.97 70000
360 3795.90 1.2445 199.97 72000
69
370 3790.20 1.2446 199.97 74000
380 3784.60 1.2447 199.97 76000
390 3778.90 1.2448 199.97 78000
400 3773.20 1.2448 199.97 80000
410 3767.50 1.2449 199.97 82000
420 3761.90 1.2450 199.97 84000
430 3756.20 1.2451 199.97 86000
440 3750.50 1.2452 199.97 88000
450 3744.80 1.2452 199.97 90000
460 3739.10 1.2453 199.97 92000
470 3733.50 1.2454 199.97 94000
480 3727.80 1.2455 199.97 96000
490 3722.10 1.2456 199.97 98000
500 3716.40 1.2456 199.97 100000
510 3710.70 1.2457 199.97 102000
520 3705.10 1.2458 199.97 104000
530 3699.40 1.2459 199.97 106000
540 3693.70 1.2460 199.97 108000
550 3688.00 1.2460 199.97 110000
560 3682.30 1.2461 199.97 112000
570 3676.60 1.2462 199.97 114000
580 3671.00 1.2463 199.97 116000
590 3665.30 1.2464 199.97 118000
600 3659.60 1.2464 199.97 120000
610 3653.90 1.2465 199.97 122000
620 3648.20 1.2466 199.97 124000
630 3642.50 1.2467 199.97 126000
640 3636.90 1.2468 199.97 128000
650 3631.20 1.2468 199.97 130000
660 3625.50 1.2469 199.97 132000
670 3619.80 1.2470 199.97 134000
680 3614.10 1.2471 199.97 136000
690 3608.40 1.2472 199.97 138000
700 3602.70 1.2472 199.97 139990
710 3597.00 1.2473 199.97 141990
720 3591.40 1.2474 199.97 143990
730 3585.70 1.2475 199.97 145990
740 3580.00 1.2476 199.97 147990
70
750 3574.30 1.2476 199.97 149990
760 3568.60 1.2477 199.97 151990
770 3562.90 1.2478 199.97 153990
780 3557.20 1.2479 199.97 155990
790 3551.50 1.2480 199.97 157990
800 3545.80 1.2480 199.97 159990
810 3540.10 1.2481 199.97 161990
820 3534.40 1.2482 199.97 163990
830 3528.80 1.2483 199.97 165990
840 3523.10 1.2484 199.97 167990
850 3517.40 1.2485 199.97 169990
860 3511.70 1.2485 199.97 171990
870 3506.00 1.2486 199.97 173990
880 3500.30 1.2487 199.97 175990
890 3494.60 1.2488 199.97 177990
900 3488.90 1.2489 199.97 179990
910 3483.20 1.2489 199.97 181990
920 3477.50 1.2490 199.97 183990
930 3471.80 1.2491 199.97 185990
940 3466.10 1.2492 199.97 187990
950 3460.40 1.2493 199.97 189990
960 3454.70 1.2493 199.97 191990
970 3449.00 1.2494 199.97 193990
980 3443.30 1.2495 199.97 195990
990 3437.60 1.2496 199.97 197990
1000 3431.90 1.2497 199.97 199990
1010 3426.20 1.2497 199.97 201990
1020 3420.50 1.2498 199.97 203990
1030 3414.80 1.2499 199.97 205990
1040 3409.10 1.2500 199.97 207990
1050 3403.40 1.2501 199.97 209990
1060 3397.70 1.2501 199.97 211990
1070 3392.00 1.2502 199.97 213990
1080 3386.30 1.2503 199.97 215990
1090 3380.60 1.2504 199.97 217990
1100 3374.90 1.2505 199.97 219990
1110 3369.20 1.2505 199.97 221990
1120 3363.50 1.2506 199.97 223990
1130 3357.80 1.2507 199.97 225990
1140 3352.10 1.2508 199.97 227990
1150 3346.40 1.2509 199.97 229990
1160 3340.70 1.2509 199.97 231990
1170 3335.00 1.2510 199.97 233990
1180 3329.30 1.2511 199.97 235990
71
APPENDIX B
Matlab codes for the computation of reservoir pressure distribution
% DEFINITION OF DIAGONALS
Alpha= ((beta*DZ*DY*Kx)/(mu*DX));
Beta= ((beta*DX*DZ*Ky)/(mu*DY));
Gamma= ((beta*DX*DY*Kz)/(mu*DZ));
A_small= ((DX*DY*DZ*(1-Sw)*phi*Ct)/(alpha*Dt));
A=(Alpha)+(Beta)+(Gamma)+A_small;
E_small=(2*Alpha)+(Beta)+(Gamma)+A_small;
F_small=(Alpha)+(2*Beta)+(Gamma)+A_small;
G_small=(2*Alpha)+(2*Beta)+(Gamma)+A_small;
H_small=(Alpha)+(Beta)+(2*Gamma)+A_small;
I_small=(2*Alpha)+(Beta)+(2*Gamma)+A_small;
J_small=(Alpha)+(2*Beta)+(2*Gamma)+A_small;
K_small=(2*Alpha)+(2*Beta)+(2*Gamma)+A_small;
B_small=(Alpha);
C_small=(Beta);
D_small=(Gamma);
MainD=[[A,repmat(E_small,[1 nx-2 1]),A],
[repmat([F_small,repmat(G_small,[1 nx-2 1]),F_small],
[1 ny-2 1])],[A,repmat(E_small,
[1 nx-2 1]),A],repmat([[H_small,repmat(I_small,[1 nx-2 1]),
H_small],[repmat([J_small,repmat(K_small,[1 nx-2 1]),
J_small],[1 nz-2 1])],[H_small,repmat(I_small,[1 nx-2 1]),
H_small]],[1 nx-2 1]),[A,repmat(E_small,[1 nx-2 1]),A],
[repmat([F_small,repmat(G_small,[1 nx-2 1]),F_small],
72
[1 ny-2 1])],[A,repmat(E_small,[1 nx-2 1]),A]]';
MainD=MainD./Bo; % USE FULL Bo
MainD=MainD';
B=[repmat([repmat(B_small,[1 nx-1 1]),0],[1 (n-(nx-1))/nx1]),
repmat(B_small,[1 nx-1 1])]';
blast = Bo(1:end-1);
B=B./blast; %EXCLUDE THE LAST ROW OF Bo
B=B';
J=[repmat([repmat(B_small,[1 nx-1 1]),0],[1 (n-(nx-1))/nx1]),
repmat(B_small,[1 nx-1 1])]';
bfirst = Bo(2:end);
J=J./bfirst; %EXCLUDE THE FIRST ROW OF Bo
J=J';
C=[repmat([repmat(C_small,[1 nx*ny-nx 1]),repmat(0,[1 nx1])],
[1 n/(nx*ny))-1 1]),repmat(C_small,[1 nx*ny-nx 1])]';
bnx = Bo(1:end-nx);
C=C./bnx; %EXCLUDE THE LAST nx-ROWS OF Bo
C=C';
K=[repmat([repmat(C_small,[1 nx*ny-nx 1]),repmat(0,[1 nx1])],
[1(n/(nx*ny))-1 1]),repmat(C_small,[1 nx*ny-nx 1])]';
bfnx = Bo(nx+1:end);
K=K./bfnx; %EXCLUDE THE FIRST nx-ROWS OF Bo
K=K';
D=[repmat(D_small,[1 n-nx*ny 1])]';
bnxny = Bo(1:end-(nx*ny));
D=D./bnxny; %EXCLUDE LAST nxny-ROWS OF Bo
73
D=D';
L=[repmat(D_small,[1 n-nx*ny 1])]';
bfnxny = Bo((nx*ny)+1:end);
L=L./bfnxny; %EXCLUDE THE FIRST nxny-ROWS OF Bo
L=L';
CoeffMatrix=(diag(-MainD,0)+diag(B,1)+diag(J,-1)+
diag(C,nx)+diag(K,-nx)+diag(D,nx*ny)+diag(L,-nx*ny));
%DEFINITION OF RIGHT HAND COLUMN VECTOR
epi=q/3;
e = zeros(n,1);
e =fill_in_wells_vector(e,epi,nx,ny,nz);%CALLS f_i_w FUNCTION
R = -(((A_small*Pprev)./Bo) - e);
Pcur = conjgrad(CoeffMatrix,R,x);%CALLS THE conjgrad function