ISMAILA NURUDEEN DELE

Post on 22-Mar-2022

2 views 0 download

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