ISMAILA NURUDEEN DELE

73
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]

Transcript of ISMAILA NURUDEEN DELE

Page 1: 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]

Page 2: ISMAILA NURUDEEN DELE

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:

Page 3: ISMAILA NURUDEEN DELE

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.

Page 4: ISMAILA NURUDEEN DELE

iv

DEDICATION

This work is dedicated to my parents, siblings, uncles and my fiancée; for their love, prayer

and support.

Page 5: ISMAILA NURUDEEN DELE

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.

Page 6: ISMAILA NURUDEEN DELE

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

Page 7: ISMAILA NURUDEEN DELE

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

Page 8: ISMAILA NURUDEEN DELE

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

Page 9: ISMAILA NURUDEEN DELE

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

Page 10: ISMAILA NURUDEEN DELE

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

Page 11: ISMAILA NURUDEEN DELE

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.

Page 12: ISMAILA NURUDEEN DELE

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

Page 13: ISMAILA NURUDEEN DELE

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

Page 14: ISMAILA NURUDEEN DELE

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.

Page 15: ISMAILA NURUDEEN DELE

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

Page 16: ISMAILA NURUDEEN DELE

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.

Page 17: ISMAILA NURUDEEN DELE

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

Page 18: ISMAILA NURUDEEN DELE

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

Page 19: ISMAILA NURUDEEN DELE

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

Page 20: ISMAILA NURUDEEN DELE

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.

Page 21: ISMAILA NURUDEEN DELE

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

Page 22: ISMAILA NURUDEEN DELE

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

Page 23: ISMAILA NURUDEEN DELE

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

Page 24: ISMAILA NURUDEEN DELE

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.

Page 25: ISMAILA NURUDEEN DELE

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;

Page 26: ISMAILA NURUDEEN DELE

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.

Page 27: ISMAILA NURUDEEN DELE

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.

Page 28: ISMAILA NURUDEEN DELE

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

Page 29: ISMAILA NURUDEEN DELE

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

𝑧

𝑦

𝑥

𝑥 + ∆𝑥

𝑦 + ∆𝑦

𝑥

𝑦

𝑧

𝑧 + ∆𝑧

∆𝑦

Page 30: ISMAILA NURUDEEN DELE

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)

Page 31: ISMAILA NURUDEEN DELE

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

Page 32: ISMAILA NURUDEEN DELE

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⁄

]

Page 33: ISMAILA NURUDEEN DELE

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

Page 34: ISMAILA NURUDEEN DELE

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 ,

Page 35: ISMAILA NURUDEEN DELE

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.

Page 36: ISMAILA NURUDEEN DELE

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, 𝑗, 𝑘

𝑧 𝑦

𝑥

Page 37: ISMAILA NURUDEEN DELE

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

Page 38: ISMAILA NURUDEEN DELE

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.

Page 39: ISMAILA NURUDEEN DELE

39

Figure 3.5: GUI for the three-dimensional oil simulator.

Page 40: ISMAILA NURUDEEN DELE

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?

Page 41: ISMAILA NURUDEEN DELE

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

Page 42: ISMAILA NURUDEEN DELE

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

Page 43: ISMAILA NURUDEEN DELE

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)

Page 44: ISMAILA NURUDEEN DELE

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

)

Page 45: ISMAILA NURUDEEN DELE

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.

Page 46: ISMAILA NURUDEEN DELE

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)

Page 47: ISMAILA NURUDEEN DELE

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).

Page 48: ISMAILA NURUDEEN DELE

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)

Page 49: ISMAILA NURUDEEN DELE

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

Page 50: ISMAILA NURUDEEN DELE

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

Page 51: ISMAILA NURUDEEN DELE

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

Page 52: ISMAILA NURUDEEN DELE

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

Page 53: ISMAILA NURUDEEN DELE

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

Page 54: ISMAILA NURUDEEN DELE

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

Page 55: ISMAILA NURUDEEN DELE

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

Page 56: ISMAILA NURUDEEN DELE

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)

Page 57: ISMAILA NURUDEEN DELE

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)

Page 58: ISMAILA NURUDEEN DELE

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)

Page 59: ISMAILA NURUDEEN DELE

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)

Page 60: ISMAILA NURUDEEN DELE

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.

Page 61: ISMAILA NURUDEEN DELE

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.

Page 62: ISMAILA NURUDEEN DELE

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.

Page 63: ISMAILA NURUDEEN DELE

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.

Page 64: ISMAILA NURUDEEN DELE

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.

Page 65: ISMAILA NURUDEEN DELE

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.

Page 66: ISMAILA NURUDEEN DELE

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)

Page 67: ISMAILA NURUDEEN DELE

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

Page 68: ISMAILA NURUDEEN DELE

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

Page 69: ISMAILA NURUDEEN DELE

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

Page 70: ISMAILA NURUDEEN DELE

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

Page 71: ISMAILA NURUDEEN DELE

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],

Page 72: ISMAILA NURUDEEN DELE

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

Page 73: ISMAILA NURUDEEN DELE

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