You are on page 1of 90

Matrix Solvers

Matrix solvers are used to solve a system of simultaneous linear equations. Although reservoir
simulation equations are non-linear, we still need to use the matrix solver to solve the system
of equations, and apply Newton’s iterations to handle the non-linearity of equations.

This section reviews the matrix notation, matrix algebra, and introduces some matrix solvers.

Matrix Notation

When we deal with such equations like material balance equations we develop for reservoir
simulation, it is difficult to discuss and virtually impossible to manipulate unless the equations
are expressed as matrices. Matrix notation is illustrated with a typical small set of linear
equations such as:

  +   +   = 

  +   +   = 

  +   +   = 

In the above equations, there are three unknowns ( ,  ,   ), while all other quantities
are known. In matrix format, the equations become:
    

      =  
    

The subscripts of the matrix elements generally refer to the row and column locations of the
elements. In some of the literature on reservoir simulation, subscripts attached to elements in a
matrix will identify simulator grid block location rather than matrix element location.

The above matrix can be also written in a more concise form as follows:

  =

 is the matrix of known coefficients and it is a 3x3 matrix. It is a square matrix because it has
the same number of rows and columns.  and are 3x1 matrices and they are column matrices.
 is unknown and is known. Individual equations can be generated by multiplying elements of
a given row, in turn from left to right, by the elements of the column vector of unknowns, in
turn from top to bottom, and equating the sum of the products to the element of the column of
known values in that row. For example:

1 A. El-Banbi

      =   +   +   = 


Matrix Algebra

Addition of Matrices

Addition of matrices is performed by simply adding corresponding elements:

     +   + 



   +  
 =  
 +   + 


Multiplication of Matrices

In multiplication of matrices, the rule is that elements of rows are multiplied by elements of

in a row of matrix  must equal the number of elements in a column of . Expressed


columns and summed. Obviously, for this operation to be meaningful, the number of elements

differently, to multiply  times , in that order, the number of columns in  must equal the
number of rows in . This means that the matrices must be conformable. The product matrix
will have the same number of rows as  and the same number of columns as .

In the product ,  is said to be post-multiplied by  or  is pre-multiplied by . In general,


 ≠ . However, it is always true that   =  .

Examples on matrix multiplication follow:



      =   +  

     +  
     =   +   


      +     +  
      =   +     +   


Identity, Inverse, and Transpose Matrices

The principal diagonal of a matrix is the sequence of terms on the diagonal from upper left to
lower right. A lower triangular matrix has all zeros above the principal diagonal; an upper
triangular matrix has all zeros below the principal diagonal. A matrix having ones on the

2 A. El-Banbi
principal diagonal and zeros for all other elements is the identity matrix. It is usually designated
by I; it is always a square matrix and serves the same purpose in matrix algebra that unity does
in ordinary arithmetic.

Also,  , the inverse of a square matrix , is a matrix such that   =   = .

Any reordering of the rows of the identity matrix such that the ones are not all on the principal
diagonal is a permutation matrix. A permutation matrix is useful for changing the order of rows
and/or columns in other matrices. For example,
   0 1 0   

    0 0 
1 =    
   1 0 0   

The transpose of a matrix,  , is a new matrix whose rows are identical to the columns of the
original matrix, .

   !
  =  
! 

A matrix is symmetric if  = .

The transpose of a column matrix is a row matrix, and vice versa. For example, if

$  )
# (
 = # ⋮ (
#& (
" & '

Then,

 =   ⋯ & 

By definition, the inner product of Column Matrices  and is:

 =  = ∑&,- , ,

Note that the inner product is a one-by-one matrix – i.e., a scalar.

The solution of the matrix equation   = is

 =   =    = 

The computational task is to find  and to multiply it by , or to use some other method to
form  . In practice, it is usually prohibitively expensive to calculate  , and it is preferable

3 A. El-Banbi
to use a method that does not require calculation of the inverse of the complete coefficient
matrix.

Solution Methods

There are many different matrix solvers used in practice to solve the simultaneous system of
simulation equation. In some sense, it should not matter what method is used to solve the
linear simultaneous equations. The same answer should be obtained whether one uses a direct
solution method or carries out any convergent iterative procedure sufficiently long to reduce
the error to a negligible value. The choice of solution method affects the computation time,
however. The following table lists some of the common matrix solvers.

Matrix Solution Methods


Direct Iterative
Gaussian elimination Relaxation
Band Point
A3 SOR (Successive Over Relaxation)
D4 Jacobi
Nested dissection Line and Block
Matrix decomposition LSOR
Block SOR
Additive correction
Alternating direction
Factorization and minimization
SIP
Conjugate gradient
Orthomin
Nested factorization

A general comparison between direct and iterative methods is given in the following table.

Direct Methods Iterative Methods


“Exact” solution Converging solution
Predictable computer time Variable computer time
Large storage requirement Small storage requirement
Usually better for 2D problems Usually better for more than
with less than 1,000 grid blocks 3,000 grid blocks in 2D problems
Usually not practical for 3D Usually required for 3D problems
problems

4 A. El-Banbi
Direct Methods

Direct methods involve the inversion of the matrix to reach the solution. They require large
storage and usually run in predictable computer time. Most methods are variations of Gaussian
elimination technique.

Gaussian Elimination

We will use the following matrix problem to illustrate the Gaussian elimination method.
    
      =  
    

The idea in Gaussian elimination is to eliminate the first unknown,  , from all equations but

repeated with the new system to eliminate  . A continuation of the process results in a
the first, leaving a new system with one less equation and one less unknown. This process is

sequence of smaller and smaller matrix equations until eventually the system is reduced to a


system of equation, we eliminate  by multiplying Row 1 (the first equation) by . and
scalar equation that can be solved by a division. For example, working forward in the above

subtracting the result from Row 2 (the second equation). Eliminate  in a similar manner. The
result is:
   

0  − 23 32  − 24 32 −  32
1 1 1 1 1
/ 122 122 5   = /  122 5
0  −
123 142
 − 1
124 142   −  142
1
122 22 22

Or,
    
0   
   =  
6 6 6

0 
6

6  6

Where the primed letters are shorthand symbols for the corresponding elements in the matrix
equation above.


6
Eliminating 
6
76 and subtracting the result from Row 3.

by multiplying Row 2 by

    


0      =  
6 6 6

0 0 
66  66

5 A. El-Banbi
66
The above equation can be solved explicitly for  = 766 and, subsequently, for  and  .


Note that the result of working forward converts the coefficient matrix to a triangular matrix
with only one element in the last row. All terms to the left of the diagonal are zero, so this is an
upper triangular matrix. Note also that even with this small set of equations, large amounts of
arithmetic and storage are required for direct solution. Also, the successive subtraction leads to
round off error in very large matrices. There are many variants of Gaussian elimination; all
require essentially the same amount of work and retain some other characteristics in common.

1. The coefficient matrix is converted into one or more triangular matrices that are then
“easy” to solve.
2. A large fraction of the arithmetic is involved in the conversion to triangular form.

Iterative Methods

In large areal models and in 3D models, it is usually more economical to solve a problem with
iterative rather than direct methods. In an iterative method, a systematic repeated
approximation procedure is used until the “answers” generated by the procedure approach the
“true answers” to within specified tolerances (convergence criteria).

Work and storage requirements depend on the number of grid blocks in each coordinate
direction. The work required for a direct method can be (and usually is) many times that
required for a single iteration of an iterative method. But the work required for an iterative
method also depends on the number of iterations needed for the solution to meet convergence
criteria.

Point Successive Over Relaxation (PSOR) Method

The point relaxation and (over relaxation) are iterative methods. Although the PSOR method is
simple and easy to program, it is not generally advantageous to real reservoir simulation
problems.

First, we will discuss the iterative process without over-relaxation, and then discuss the
application of the iteration parameter, ω , to extend the method to over-relaxation.

The general equation for a point is given as follows:

−8 , + 9 , − : ,; = ,

6 A. El-Banbi
The equation above (for 1D problems) shows that we have three unknowns, the values of  at
three different points, and only one algebraic equation. Of course, we will formulate a similar
equation for each grid point and have as many equations as we have unknowns. The PSOR
method simply solves the equation above for one unknown, with the assumption that the latest
estimates for the other unknowns are always used. The equation is in effect rewritten as:

, = <1 >  , + 8 , + : ,; 



=

The solution for , is repeated for each grid point, in order, and then repeated iteratively over

use latest information for each value of  on the right-hand side so we always take advantage
and over until the solution for the entire system is sufficiently accurate. Note that we always

rewritten to show indices to indicate the values of  used in going from k to k+1 iterations.
of estimates that have been made for points behind us. Thus, the above equation can be

,?; = < > @ , + 8 , + : ,; A


 ?; ?
1=

The iterative procedure is repeated until the solution is sufficiently accurate or has converged.

Now, the important thing in such an iterative process is the speed with which the convergent
solution can be reached. This depends, not only on the ease of making the computation for
each iteration, but also the number of iterations required. It is important to try to accelerate
the iteration process in any practical manner.

The concept of over-relaxation is a method of accelerating the convergence of the above

each iteration by simply multiplying this pressure change by a relaxation parameter, B. We


iterative process. During over-relaxation, we amplify the magnitude of pressure change during

could rewrite the equation for the determination of a new pressure as the following two-step
procedure:

C, = < > @ , + 8 , + : ,; A


 ?
1=

Then,

?; = ,? + B@C, − ,? A

extrapolated value ?; is used in the subsequent equations.


Note that both steps are completed before proceeding to the next point. In other words, the

7 A. El-Banbi
References

Mattax, C. C. and Dalton, R. L.: Reservoir Simulation, Monograph Series, SPE, Richardson, TX
(1990) 13.

8 A. El-Banbi
IMPES Formulation Expansion and Example Calculations
The following equation represents the IMPES equation which we obtained through the IMPES derivation for a
three-component system:
𝑉𝑃𝑛
𝐵𝑜𝑛+1 ∆𝑎𝑜 ∆𝑝𝑛+1 + 𝐵𝑤𝑛+1 ∆𝑎𝑤 ∆𝑝𝑛+1 + 𝐵𝑔𝑛+1 ∆𝑎𝑔 ∆𝑝𝑛+1 = 𝑐𝑡 (𝑃𝑖𝑛+1 − 𝑃𝑖𝑛 ) ………..(Eq.1)
∆𝑡

Notice that the above equation is the IMPES general equation under the assumptions given in the IMPES
chapter. In a 3D grid system, a grid block will have 6 neighbor grids as shown in the figure below. Remember
that only grids with a shared interface are considered neighbor gird blocks. In such case, the term ∆𝑎 ∆𝑝𝑛+1 will
have 6 terms for each component in a 3D system. The components are stock-tank oil (or hydrocarbon liquid
component), surface water (aqueous component), and surface gas (hydrocarbon vapor component).

Notice that ∆𝑎 ∆𝑝𝑛+1 =


𝑎𝑁 (𝑃𝑁 − 𝑃𝑖 )𝑛+1 + 𝑎𝑆 (𝑃𝑆 − 𝑃𝑖 )𝑛+1 + 𝑎𝑊 (𝑃𝑊 − 𝑃𝑖 )𝑛+1 + 𝑎𝐸 (𝑃𝐸 − 𝑃𝑖 )𝑛+1 + 𝑎 𝑇 (𝑃𝑇 − 𝑃𝑖 )𝑛+1 + 𝑎𝐵 (𝑃𝐵 − 𝑃𝑖 )𝑛+1
Therefore, the expanded IMPES equation would be:

𝐵𝑜𝑛+1 [𝑎𝑁,𝑜 (𝑃𝑁 − 𝑃𝑖 )𝑛+1 + 𝑎𝑆,𝑜 (𝑃𝑆 − 𝑃𝑖 )𝑛+1 + 𝑎𝑊,𝑜 (𝑃𝑊 − 𝑃𝑖 )𝑛+1 + 𝑎𝐸,𝑜 (𝑃𝐸 − 𝑃𝑖 )𝑛+1 + 𝑎 𝑇,𝑜 (𝑃𝑇 − 𝑃𝑖 )𝑛+1
+ 𝑎𝐵,𝑜 (𝑃𝐵 − 𝑃𝑖 )𝑛+1 ]

+𝐵𝑤𝑛+1 [𝑎𝑁,𝑤 (𝑃𝑁 − 𝑃𝑖 )𝑛+1 + 𝑎𝑆,𝑤 (𝑃𝑆 − 𝑃𝑖 )𝑛+1 + 𝑎𝑊,𝑤 (𝑃𝑊 − 𝑃𝑖 )𝑛+1 + 𝑎𝐸,𝑤 (𝑃𝐸 − 𝑃𝑖 )𝑛+1 + 𝑎 𝑇,𝑤 (𝑃𝑇 − 𝑃𝑖 )𝑛+1
+ 𝑎𝐵,𝑤 (𝑃𝐵 − 𝑃𝑖 )𝑛+1 ]

+ 𝐵𝑔𝑛+1 [𝑎𝑁,𝑔 (𝑃𝑁 − 𝑃𝑖 )𝑛+1 + 𝑎𝑆,𝑔 (𝑃𝑆 − 𝑃𝑖 )𝑛+1 + 𝑎𝑊,𝑔 (𝑃𝑊 − 𝑃𝑖 )𝑛+1 + 𝑎𝐸,𝑔 (𝑃𝐸 − 𝑃𝑖 )𝑛+1 + 𝑎 𝑇,𝑔 (𝑃𝑇 − 𝑃𝑖 )𝑛+1
+ 𝑎𝐵,𝑔 (𝑃𝐵 − 𝑃𝑖 )𝑛+1 ]
𝑉𝑃𝑛
= 𝑐𝑡 (𝑃𝑖𝑛+1 − 𝑃𝑖𝑛 )
∆𝑡

Taking the neighbor grid block pressures as common factor and rearranging the terms, we obtain:

(𝐵𝑜𝑛+1 𝑎𝑁,𝑜 + 𝐵𝑤𝑛+1 𝑎𝑁,𝑤 + 𝐵𝑔𝑛+1 𝑎𝑁,𝑔 ) 𝑃𝑁𝑛+1 + (𝐵𝑜𝑛+1 𝑎𝑆,𝑜 + 𝐵𝑤𝑛+1 𝑎𝑆,𝑤 + 𝐵𝑔𝑛+1 𝑎𝑆,𝑔 ) 𝑃𝑆𝑛+1
𝑛+1
+(𝐵𝑜𝑛+1 𝑎𝑊,𝑜 + 𝐵𝑤𝑛+1 𝑎𝑊,𝑤 + 𝐵𝑔𝑛+1 𝑎𝑊,𝑔 ) 𝑃𝑊 + (𝐵𝑜𝑛+1 𝑎𝐸,𝑜 + 𝐵𝑤𝑛+1 𝑎𝐸,𝑤 + 𝐵𝑔𝑛+1 𝑎𝐸,𝑔 ) 𝑃𝐸𝑛+1

+(𝐵𝑜𝑛+1 𝑎 𝑇,𝑜 + 𝐵𝑤𝑛+1 𝑎 𝑇,𝑤 + 𝐵𝑔𝑛+1 𝑎 𝑇,𝑔 ) 𝑃𝑇𝑛+1 + (𝐵𝑜𝑛+1 𝑎𝐵,𝑜 + 𝐵𝑤𝑛+1 𝑎𝐵,𝑤 + 𝐵𝑔𝑛+1 𝑎𝐵,𝑔 ) 𝑃𝐵𝑛+1

1
− [𝐵𝑜𝑛+1 (𝑎𝑁,𝑜 + 𝑎𝑆,𝑜 + 𝑎𝑊,𝑜 + 𝑎𝐸,𝑜 + 𝑎 𝑇,𝑜 + 𝑎𝐵,𝑜 ) + 𝐵𝑤𝑛+1 (𝑎𝑁,𝑤 + 𝑎𝑆,𝑤 + 𝑎𝑊,𝑤 + 𝑎𝐸,𝑤 + 𝑎 𝑇,𝑤 + 𝑎𝐵,𝑤 ) +
𝑉𝑃𝑛 −𝑉𝑃𝑛
𝐵𝑔𝑛+1 (𝑎𝑁,𝑔 + 𝑎𝑆,𝑔 + 𝑎𝑊,𝑔 + 𝑎𝐸,𝑔 + 𝑎 𝑇,𝑔 + 𝑎𝐵,𝑔 ) + 𝑐 ] 𝑃𝑖𝑛+1 = 𝑐𝑡 𝑃𝑖𝑛 ……….…(Eq.2)
∆𝑡 𝑡 ∆𝑡

Let’s use ( 𝑥𝑑,𝑖 ) to denote the pressure coefficients for the neighbor grid blocks, where “d” represents the
relative position of the neighbor grid with respect to grid block “𝑖". Hence, we can write the six pressure
coefficients as follows:

𝑥𝑁,𝑖 = 𝐵𝑜𝑛+1 𝑎𝑁,𝑜 + 𝐵𝑤𝑛+1 𝑎𝑁,𝑤 + 𝐵𝑔𝑛+1 𝑎𝑁,𝑔

𝑥𝑆,𝑖 = 𝐵𝑜𝑛+1 𝑎𝑆,𝑜 + 𝐵𝑤𝑛+1 𝑎𝑆,𝑤 + 𝐵𝑔𝑛+1 𝑎𝑆,𝑔

𝑥𝐸,𝑖 = 𝐵𝑜𝑛+1 𝑎𝐸,𝑜 + 𝐵𝑤𝑛+1 𝑎𝐸,𝑤 + 𝐵𝑔𝑛+1 𝑎𝐸,𝑔

𝑥𝑊,𝑖 = 𝐵𝑜𝑛+1 𝑎𝑊,𝑜 + 𝐵𝑤𝑛+1 𝑎𝑊,𝑤 + 𝐵𝑔𝑛+1 𝑎𝑊,𝑔

𝑥𝑇,𝑖 = 𝐵𝑜𝑛+1 𝑎 𝑇,𝑜 + 𝐵𝑤𝑛+1 𝑎 𝑇,𝑤 + 𝐵𝑔𝑛+1 𝑎 𝑇,𝑔

𝑥𝐵,𝑖 = 𝐵𝑜𝑛+1 𝑎𝐵,𝑜 + 𝐵𝑤𝑛+1 𝑎𝐵,𝑤 + 𝐵𝑔𝑛+1 𝑎𝐵,𝑔

Use “𝐷𝑖 ” for the pressure coefficient for the grid block of interest (grid 𝑖). Therefore, “𝐷𝑖 ” is given by:

𝐷𝑖 = − [𝐵𝑜𝑛+1 (𝑎𝑁,𝑜 + 𝑎𝑆,𝑜 + 𝑎𝑊,𝑜 + 𝑎𝐸,𝑜 + 𝑎 𝑇,𝑜 + 𝑎𝐵,𝑜 ) + 𝐵𝑤𝑛+1 (𝑎𝑁,𝑤 + 𝑎𝑆,𝑤 + 𝑎𝑊,𝑤 + 𝑎𝐸,𝑤 + 𝑎 𝑇,𝑤 + 𝑎𝐵,𝑤 )

𝑉𝑃𝑛
+ 𝐵𝑔𝑛+1 (𝑎𝑁,𝑔 + 𝑎𝑆,𝑔 + 𝑎𝑊,𝑔 + 𝑎𝐸,𝑔 + 𝑎 𝑇,𝑔 + 𝑎𝐵,𝑔 ) + 𝑐]
∆𝑡 𝑡

Then, it follows that:


−𝑉𝑃𝑛
𝑥𝑁,𝑖 𝑃𝑁𝑛+1 + 𝑥𝑆,𝑖 𝑃𝑆𝑛+1 + 𝑥𝑊,𝑖 𝑃𝑊
𝑛+1
+ 𝑥𝐸,𝑖 𝑃𝐸𝑛+1 + 𝑥𝑇,𝑖 𝑃𝑇𝑛+1 + 𝑥𝐵,𝑖 𝑃𝐵𝑛+1 + 𝐷𝑖 𝑃𝑖𝑛+1 = 𝑐 𝑃𝑛
∆𝑡 𝑡 𝑖
For three-component, 2D simple 2x2 grid system, the finite difference equation for grid number 2 would be
expanded as:
−𝑉𝑃𝑛
𝑥𝑊,2 𝑃1𝑛+1 + 𝐷2 𝑃2𝑛+1 + 𝟎 x 𝑷𝒏+𝟏 + 𝑥𝑆,2 𝑃4𝑛+1 = 𝑐 𝑃𝑛 (1) (2)
𝟑
∆𝑡 𝑡 2

(3) (4)
Notice that 𝑥𝑁,2 , 𝑥𝐸,2, 𝑥𝑇,2 , 𝑥𝐵,2 are all equal to zero in this case. We also notice that the
pressure coefficient is zero for grid blocks with non-neighbor connection (grid 3 in this
example). We can generate the equations for all grid blocks in the example in a similar way. We will end up with
four equations describing the system:

2
−𝑉𝑃𝑛
Grid 1: 𝐷1 𝑃1𝑛+1 + 𝑥𝐸,1 𝑃2𝑛+1 + 𝑥𝑆,1 𝑃3𝑛+1 + 𝟎 x 𝑷𝒏+𝟏
𝟒 = 𝑐𝑡 𝑃1𝑛
∆𝑡

−𝑉𝑃𝑛
Grid 2: 𝑥𝑊,2 𝑃1𝑛+1 + 𝐷2 𝑃2𝑛+1 + 𝟎 x 𝑷𝒏+𝟏
𝟑 + 𝑥𝑆,2 𝑃4𝑛+1 = 𝑐𝑡 𝑃2𝑛
∆𝑡

−𝑉𝑃𝑛
Grid 3: 𝑥𝑁,3 𝑃1𝑛+1 + 𝟎 x 𝑷𝒏+𝟏
𝟐 + 𝐷3 𝑃3𝑛+1 + 𝑥𝐸,3 𝑃4𝑛+1 = 𝑐𝑡 𝑃3𝑛
∆𝑡

−𝑉𝑃𝑛
Grid 4: 𝟎 x 𝑷𝒏+𝟏
𝟏 + 𝑥𝑁,4 𝑃2𝑛+1 + 𝑥𝑊,4 𝑃3𝑛+1 + 𝐷4 𝑃4𝑛+1 = 𝑐𝑡 𝑃4𝑛
∆𝑡

We can rewrite the equations in a matrix form as follows:


𝑫1 𝒙E,1 𝒙S,1 0 𝑷1 𝒒1
𝒙W,2 𝑫2 0 𝒙S,2 𝑷2 𝒒2
[ ] = [𝒒 ]
𝒙N,3 0 𝑫3 𝒙E,3 𝑷3 3
[ 0 𝒙N,4 𝒙W,4 𝑫4 ] 4𝑷 𝒒4

−𝑉𝑃𝑛
In the above, 𝑐𝑡 𝑃𝑖𝑛 is replaced with 𝑞𝑖 as it represents a known quantity. Remember that pressures at the
∆𝑡
“n” time level will be known from the previous time step.

After calculating all grid block pressures at the new time level (𝑝𝑖𝑛+1 ) by solving the matrix, the saturations at
the new time level will be calculated from the saturations’ equations given in the IMPES derivation. These
equations are as follows:
𝐵𝑜𝑛+1 𝑉𝑝 𝑆𝑜
𝑆𝑜𝑛+1 = 𝑛+1 [( ) + ∆𝑡 ∆𝑎𝑜𝑛 ∆𝑝𝑛+1 ]
𝑉𝑝 𝐵𝑜

𝐵𝑤𝑛+1 𝑉𝑝 𝑆𝑤
𝑆𝑤𝑛+1 = [( 𝑛
) + ∆𝑡 ∆𝑎𝑤 ∆𝑝𝑛+1 ]
𝑉𝑝𝑛+1 𝐵𝑤

𝐵𝑔𝑛+1 𝑉𝑝 𝑆𝑔
𝑆𝑔𝑛+1 = 𝑛+1 [( ) + ∆𝑡 ∆𝑎𝑔𝑛 ∆𝑝𝑛+1 ]
𝑉𝑝 𝐵𝑔

A new time level (time step) will be taken and all the above is repeated until the simulation reaches the end of
the total time duration the user wants to simulate.

3
For grid blocks that contain wells, we need to take the production term into consideration. The IMPES equation
describing a 3 components system will be updated from Eq.1 to include the production term as follows:
𝑉𝑃𝑛
𝐵𝑜𝑛+1 ∆𝑎𝑜 ∆𝑝𝑛+1 + 𝐵𝑤𝑛+1 ∆𝑎𝑤 ∆𝑝𝑛+1 + 𝐵𝑔𝑛+1 ∆𝑎𝑔 ∆𝑝𝑛+1 = 𝑐𝑡 (𝑃2𝑛+1 − 𝑃2𝑛 ) + 𝑞𝑡 ……… (Eq. 3)
∆𝑡

Where 𝑞𝑡 = 𝑞𝑜 + 𝑞𝑤 + 𝑞𝑔

The above total rate equation assumes that all rate units are consistent (e.g. scf/D) for all production and
injection of all three components (oil, water, and gas).
The saturation equations for the grid block with a production or injection well would be:

𝐵𝑜𝑛+1 𝑉𝑝 𝑆𝑜
𝑆𝑜𝑛+1 = [( ) + ∆𝑡 ∆𝑎𝑜𝑛 ∆𝑝𝑛+1 − 𝑞𝑜 ∆𝑡]
𝑉𝑝𝑛+1 𝐵𝑜

𝐵𝑤𝑛+1 𝑉𝑝 𝑆𝑤
𝑆𝑤𝑛+1 = 𝑛+1 [( 𝑛
) + ∆𝑡 ∆𝑎𝑤 ∆𝑝𝑛+1 − 𝑞𝑤 ∆𝑡]
𝑉𝑝 𝐵𝑤

𝐵𝑔𝑛+1 𝑉𝑝 𝑆𝑔
𝑆𝑔𝑛+1 = [( ) + ∆𝑡 ∆𝑎𝑔𝑛 ∆𝑝𝑛+1 − 𝑞𝑔 ∆𝑡]
𝑉𝑝𝑛+1 𝐵𝑔

For grid blocks with wells, the IMPES formulation would be modified from Eq.2 to become:

(𝐵𝑜𝑛+1 𝑎𝑁,𝑜 + 𝐵𝑤𝑛+1 𝑎𝑁,𝑤 + 𝐵𝑔𝑛+1 𝑎𝑁,𝑔 ) 𝑃𝑁𝑛+1 + (𝐵𝑜𝑛+1 𝑎𝑆,𝑜 + 𝐵𝑤𝑛+1 𝑎𝑆,𝑤 + 𝐵𝑔𝑛+1 𝑎𝑆,𝑔 ) 𝑃𝑆𝑛+1
𝑛+1
+(𝐵𝑜𝑛+1 𝑎𝑊,𝑜 + 𝐵𝑤𝑛+1 𝑎𝑊,𝑤 + 𝐵𝑔𝑛+1 𝑎𝑊,𝑔 ) 𝑃𝑊 + (𝐵𝑜𝑛+1 𝑎𝐸,𝑜 + 𝐵𝑤𝑛+1 𝑎𝐸,𝑤 + 𝐵𝑔𝑛+1 𝑎𝐸,𝑔 ) 𝑃𝐸𝑛+1

+(𝐵𝑜𝑛+1 𝑎 𝑇,𝑜 + 𝐵𝑤𝑛+1 𝑎 𝑇,𝑤 + 𝐵𝑔𝑛+1 𝑎 𝑇,𝑔 ) 𝑃𝑇𝑛+1 + (𝐵𝑜𝑛+1 𝑎𝐵,𝑜 + 𝐵𝑤𝑛+1 𝑎𝐵,𝑤 + 𝐵𝑔𝑛+1 𝑎𝐵,𝑔 ) 𝑃𝐵𝑛+1

− [𝐵𝑜𝑛+1 (𝑎𝑁,𝑜 + 𝑎𝑆,𝑜 + 𝑎𝑊,𝑜 + 𝑎𝐸,𝑜 + 𝑎 𝑇,𝑜 + 𝑎𝐵,𝑜 ) + 𝐵𝑤𝑛+1 (𝑎𝑁,𝑤 + 𝑎𝑆,𝑤 + 𝑎𝑊,𝑤 + 𝑎𝐸,𝑤 + 𝑎 𝑇,𝑤 + 𝑎𝐵,𝑤 ) +
𝑉𝑃𝑛 𝑉𝑃𝑛
𝐵𝑔𝑛+1 (𝑎𝑁,𝑔 + 𝑎𝑆,𝑔 + 𝑎𝑊,𝑔 + 𝑎𝐸,𝑔 + 𝑎 𝑇,𝑔 + 𝑎𝐵,𝑔 ) + 𝑐 ] 𝑃𝑖𝑛+1 = 𝑞𝑡 − 𝑐𝑡 𝑃𝑖𝑛 …………… (Eq. 4)
∆𝑡 𝑡 ∆𝑡

Where production is positive and injection is negative.


If we assume a well is located in grid block 1 in a three-component, 2D simple 2x2 grid system, the finite
difference equations for each grid become:
𝑉𝑃𝑛
Grid 1: 𝐷1 𝑃1𝑛+1 + 𝑥𝐸,1 𝑃2𝑛+1 + 𝑥𝑆,1 𝑃3𝑛+1 + 𝟎 x 𝑷𝒏+𝟏
𝟒 = 𝑞𝑡 − 𝑐𝑡 𝑃1𝑛
∆𝑡

−𝑉𝑃𝑛
Grid 2: 𝑥𝑊,2 𝑃1𝑛+1 + 𝐷2 𝑃2𝑛+1 + 𝟎 x 𝑷𝒏+𝟏
𝟑 + 𝑥𝑆,2 𝑃4𝑛+1 = 𝑐𝑡 𝑃2𝑛
∆𝑡

−𝑉𝑃𝑛
Grid 3: 𝑥𝑁,3 𝑃1𝑛+1 + 𝟎 x 𝑷𝒏+𝟏
𝟐 + 𝐷3 𝑃3𝑛+1 + 𝑥𝐸,3 𝑃4𝑛+1 = 𝑐𝑡 𝑃3𝑛
∆𝑡

−𝑉𝑃𝑛
Grid 4: 𝟎 x 𝑷𝒏+𝟏
𝟏 + 𝑥𝑁,4 𝑃2𝑛+1 + 𝑥𝑊,4 𝑃3𝑛+1 + 𝐷4 𝑃4𝑛+1 = 𝑐𝑡 𝑃4𝑛
∆𝑡

4
𝑉𝑃𝑛
𝑞𝑡 − 𝑐𝑡 𝑃1𝑛
∆𝑡
𝑫1 𝒙E,1 𝒙S,1 0 𝑷1 −𝑉𝑃𝑛
𝒙W,2 𝑫2 0 𝒙S,2 𝑷2 𝑐 𝑃𝑛
∆𝑡 𝑡 2
The equations in matrix form would be: [ ]= −𝑉𝑃𝑛
𝒙N,3 0 𝑫3 𝒙E,3 𝑷3
𝑐 𝑃𝑛
𝑫4 ] 𝑷4 ∆𝑡 𝑡 3
[ 0 𝒙N,4 𝒙W,4
−𝑉𝑃𝑛
[ 𝑐 𝑃𝑛 ]
∆𝑡 𝑡 4

The matrix for 3x3 grid system would be:


𝑫𝟏 𝒙𝑬,𝟏 𝟎 𝒙𝑺,𝟏 𝟎 𝟎 𝟎 𝟎 𝟎 𝑷1 𝒒1
𝒙𝑾,𝟐 𝑫𝟐 𝒙𝑬,𝟐 𝟎 𝒙𝑺,𝟐 𝟎 𝟎 𝟎 𝟎 𝑷2 (1) (2) (3)
𝒒2
𝟎 𝒙𝑾,𝟑 𝑫𝟑 𝟎 𝟎 𝒙𝑺,𝟑 𝟎 𝟎 𝟎 𝑷3 𝒒3
𝒙𝑵,𝟒 𝟎 𝟎 𝑫𝟒 𝒙𝑬,𝟒 𝟎 𝒙𝑺,𝟒 𝟎 𝟎 𝑷4 𝒒4
𝟎 𝒙𝑵,𝟓 𝟎 𝒙𝑾,𝟓 𝑫𝟓 𝒙𝑬,𝟓 𝟎 𝒙𝑺,𝟓 𝟎 𝑷5 = 𝒒5 (4) (5) (6)
𝟎 𝟎 𝒙𝑵,𝟔 𝟎 𝒙𝑾,𝟔 𝑫𝟔 𝟎 𝟎 𝒙𝑺,𝟔 𝑷6 𝒒6
𝒙𝑵,𝟕 𝟎 𝟎 𝑫𝟕 𝒙𝑬,𝟕 𝟎 𝑷7 𝒒7
𝟎 𝟎 𝟎 𝒒8 (8) (9)
𝟎 𝒙𝑵,𝟖 𝟎 𝒙𝑾,𝟖 𝑫𝟖 𝒙𝑬,𝟖 𝑷8 (7)
𝟎 𝟎 𝟎 [𝒒9 ]
[ 𝟎 𝟎 𝟎 𝟎 𝟎 𝒙𝑵,𝟗 𝟎 𝒙𝑾,𝟗 𝑫𝟗 ] [𝑷9 ]

In the above systems, notice that 2D problems give 5-diagonal matrices. Similarly, 3D problems will give 7-
diagonal matrices and 1D problems will give a typical tridiagonal matrix. The resultant matrix is, therefore, a
banded matrix. In case of having non-neighbor connections, the matrix will be sparse (i.e. non-zero elements
will be spread out through the matrix away from the main diagonals). Non-neighbor connections appear in case
of faults (among other cases).

5
Example: Prepare and solve the following matrix to calculate pressure of each grid block in the next time step
(n+1) for the following 2D homogeneous and uniform two-component (oil and water) 2x2 system.
Δx= Δy= 600 ft, Thickness= 40 ft, Δt= 30 days

Kx= Ky= 42 md, Φ= 0.11, µo= 3.4 cp, µw= 0.4 cp

co= 4x10-6 psi-1, cw= 0, cf= 5x10-6 psi-1

Bo= 1.32 bbl/STB, Bw= 1 bbl/STB (1) (2)

Consider B, µ, and c to be constants for both oil and water.

Values from the previous time step are:

Sw1n= 0.69, Sw2n= 0.751, Sw3n= 0.733, Sw4n= 0.69 (3) (4)

Kro1n=0.022, Kro2n= 0.001, Kro3n= 0.004, Kro4n= 0.022

Krw1n=0.004, Krw2n= 0.009, Krw3n= 0.007, Krw4n= 0.004

P1n= 3400, P2n= 3450, P3n= 3500, P4n= 3350 psi

Solution
First step is to calculate the constant terms during the time step as transmissibility and pore volume. These
terms are typically calculated in the beginning of the simulation run, and kept in the computer memory for
following time step calculations.
0.00633 𝑘ℎ ∆𝑦 0.00633 ∗ 42 ∗ 40 ∗ 600
𝑇𝑟𝑎𝑛𝑠𝑚𝑖𝑠𝑠𝑖𝑏𝑖𝑙𝑖𝑡𝑦 = = = 10.634
∆𝑥 600
𝑣𝑝 = 𝜑 ∆𝑥 ∆𝑦 ∆𝑧 = 1584000 ft3

Then, the total compressibility is calculated for each grid using the saturations at current time step (S n) and
equation 𝑐𝑡 = 𝑐𝑓 + 𝑐𝑜 𝑠𝑜 + 𝑐𝑤 𝑠𝑤 + 𝑐𝑔 𝑠𝑔 to obtain:

Grid (1) (2) (3) (4)


-1
ct (psi ) 6.24E-06 6E-06 6.07E-06 6.24E-06

Now, we are ready to calculate oil symmetrical flow coefficients “a coefficients” for each grid. Four “a
coefficients” (two for oil and two for water) need to be calculated for each grid. Also, each grid block has two
neighbor grids. To calculate the “a coefficients”, the formation volume factor and viscosity are calculated as
average between the two neighbor grid blocks. However, the relative permeability is calculated as upstream
relative permeability. For selecting the upstream relative permeability, we assume flow is from the grid block
with higher potential (or pressure) to the grid block with lower potential
𝑘
𝑎 = 𝑇𝑟𝑎𝑛𝑠𝑚𝑖𝑠𝑠𝑖𝑏𝑖𝑙𝑖𝑡𝑦 (𝐵𝜇𝑟 )

6
Grid (1) (2) (3) (4)
aWo 0.052 0.009
aEo 0.002 0.052
aNo 0.052 0.002
aSo 0.009 0.052
aWw 0.106 0.186
aEw 0.239 0.106
aNw 0.106 0.239
aSw 0.186 0.106

Using the equations for 𝑥𝑑,𝑖 and 𝐷𝑖 , we can generate the matrix for this grid system:
−0.77 0.24 0.2 0 𝑷1 −1,120.2
0.18 −0.67 0 0.18 𝑷2 −1,092.2
[ ][ ] = [ ]
0.18 0 −0.67 0.18 𝑷3 −1,121.4
0 0.24 0.2 −0.77 𝑷4 −1,103.7

Solving the matrix, we can estimate the pressures of each grid at next time step (n+1) to be:
𝑷1 3,423.7
𝑷 3,430.6
[ 2] = [ ]
𝑷3 3,454.5
𝑷4 3,402.3

7
History Matching

History Matching in
Reservoir Simulation

Instructional Objectives
• Define history matching
• Give examples on responses to be matched
• Explain how these reservoir responses are
measured in the field
• List possible reservoir parameters that can be
changed during a typical history match
• Explain why we should follow a systematic
process in history matching
• Explain how we conduct history matching
• Define automatic history matching

1
History Matching

History Matching

The process of adjusting the reservoir


description (parameters) until the production
and pressures predicted by the dynamic model
match the historical production and pressures.

• In a typical history matching problem, we try to find the


input parameters (reservoir description) that give us the
output results (observed production rates and pressures
versus time). The answer (reservoir description) to the
history matching problem is almost never unique.

History Matching
Direct Problem

System
INPUT Equations ?OUTPUT?
Parameters Model
Simulator

Inverse Problem
History
Matching
System
?INPUT? Equations OUTPUT
?Parameters? Model
Simulator

2
History Matching

Importance of History Matching


Why do we history match, or calibrate reservoir
models?
• A model must be able to reproduce past
production and pressure performance before
we can use it to predict future performance with
accuracy.
• Limitations: Calibrated models may not reliably
predict future performance under operating
conditions that are substantially different from
those used in the calibration.

Quality of History Match Needed

• For low pressure reservoirs, match may


need to be within 1-5 psi
• For high pressure reservoirs, match within
50 psi may be adequate
• In general, the tolerances for the match
should be at least as tight as the accuracy
desired for projections.

3
History Matching

History Match
• General guidelines
– Wherever possible, use conventional
reservoir engineering methods to get initial
estimates for parameters
– Look for parameters which have effects
that are independent of any other unknown
parameters, and use those first in history
match
– Proceed with the match from gross overall
behavior to detailed behavior of individual
wells

Select Response to be Matched


• Fieldwide average reservoir pressure
• Fieldwide production rates
• Fieldwide GOR, WOR
• Well pressures
• Well rates
• Well GOR, WOR
• Arrival times
• PLT response
• Layer pressures (RFT)

4
History Matching

Exercise
• Explain how we can obtain each of the
reservoir responses we use for history
matching.

Select Parameters to Vary to


Obtain Match
• History matching can only provide estimates of
reservoir parameters which have an effect on
the reservoir response.
• Identify important parameters - those which are
uncertain and which affect the reservoir
response to be matched.
• Review results of parameter sensitivity study
to determine which of the uncertain data items
have the most influence on the behavior being
matched.

5
History Matching

Five-Step Approach to History


Matching
• Understand the reservoir
• Equilibrate (initialize) the simulation model
• Match pressure
• Match fluid fractions (WOR and GOR)

• Match flowing pressures

Examples on History Matching


Adjustments
Simulation field pressure too high

Possible Changes

Pore Volume?
Aquifer?
Oil Initially in Place
(Contacts, So)
Energy?
Gas cap size

6
History Matching

Examples on History Matching


Adjustments
Break Through: OK, After BT WC too high

Possible Changes

Krw / Kro ratio decrease?


Aquifer size?

Automatic History Matching


• Automatic history matching is the process of
automating the matching process.
• The engineer specifies the parameters to vary
to obtain a match, and the response to be
matched.
• A computer program is then given the task of
finding the values of the match parameters
which give the best history match.

7
History Matching

When to Use Automatic History


Matching
• To refine match obtained by manual history
matching
• After identifying the most important unknown
parameters
• Automatic history matching methods work
better (and run faster) when given a smaller
number of parameters to match
• Do not include parameters which have little or
no effect on the desired response. Some
methods may fail entirely for underdetermined
problems

8
Static Models

Static Model Construction

A. El-Banbi 1
Static Models

Instructional Objectives
• Define the static model
• Discuss the applications of static models
• List the steps used to build a typical static model
• Explain the methodology to build a static model
• List the sources of data used to generate all the
models that constitute the static model
• Define geostatistics
• Explain what is meant by static model uncertainty

A. El-Banbi 2
Static Models

Why Do We Need to Build a Static


Model?
• To calculate Hydrocarbons In Place
– Original Oil In Place (OOIP)
– Original Gas In Place (OGIP)
• To provide a model reflecting the geological
and petrophysical conditions of the
reservoir/reservoirs which can be used to
simulate fluid flow (Dynamic Simulation)
• To assist with the planning of new wells in the
reservoir/reservoirs.

The static model provides the basis for dynamic simulation models.
They are also used to perform volumetric calculations that yield the
original hydrocarbon in place. Static models can also assist in planning
new wells.

A. El-Banbi 3
Static Models

Reservoir Characterization

Petrophysical Results (Interpreted


Logs and Marker Picks)

Regional Pore
Structural Depositional
Geological Systems
Model Model
Model Model

Interpreted
Geophysical
Engineering
Model
Interpretation
(PTA, PDA, PVT,
MB, RFT)

The detailed stepwise workflow of the reservoir characterization


process is shown above. Early characterization stage involves mainly
geologists and geophycists and is directed towards understanding the
geological and depositional environment and also the reservoir
structure. We will discuss each of these steps in more detail later.
Structural model consists of defining major reservoir geometry and
architecture such as horizons, fractures and faults. Proper definition of
the structural model is very important because it can have an
overriding effect in the dynamic model and reservoir performance
predictions.

A. El-Banbi 4
Static Models

Steps in Static Model Construction


Geological, Structural Modeling Facies Petrophysical Volumetrics
Geophysical and (Surfaces and Faults Modeling Modeling & Uncertinty
Petrophysical Porosity Model
Description in Wells Depositional

Lithofacies

1. Input data :
Wells, markers, Permeability Model
surface,
Interpreted logs, Water Saturation
Model
EW-104S1
fault
EW104S1 GOC 6791’

Amount to be shifted: + 8’

FIELD GOC 6799’

The typical process to construct static models usually involves several steps.
All available geological and engineering data need to be integrated to
provide a consistent geologic understanding of the reservoir.
The structural model is then constructed. The structural model defines
reservoir layers and compartments. It is important to model faults and
pinch outs to resolve the issues arising from flow across reservoir
compartments.
Facies models are constructed to reflect the understanding of depositional
environment. They help in guiding the reservoir property (porosity and
permeability) distribution.
The property model is then constructed. Techniques to distribute reservoir
properties are usually used to construct one or more realizations of
reservoir properties (porosity, permeability, and saturation).
Once each cell in the static model is populated with the reservoir
properties, volumetric calculations can be made to provide the original
fluids in place for every reservoir compartment and/or layer. Uncertainty
can be also evaluated by running the volumetric calculations with different
realizations of porosity and saturation.

A. El-Banbi 5
Static Models

Data Sources for Defining the


Structure
• Seismic Data
- 2D Surveys
- 3D Surveys
• Well Logs
- GR-Resistivity
- Imaging Logs (FMI, etc.)
- Dip Meter Logs
• Other Data
- Gravity and Magnetic Surveys
- Cores
- Outcrop Analogs
- Surface Mapping (Satellite Imagery)
- Well-Test Data

The major data sources for structural modeling are listed here. These
different data are usually integrated to provide a consistent model
interpretation. The integration process involves combining well,
seismic, outcrop and mapping data into surfaces and horizons using
state of the art geologic modeling software. Input from engineering
data (e.g. RFT and well test interpretation) can be also utilized. The
engineering data may help in defining isolation and
compartmentalization.

A. El-Banbi 6
Static Models

Utilization of Seismic Data


Before Reprocessing After Reprocessing

In this example, reprocessing improved fault definition and


event continuity at the targets

Seismic data are subject to noise and artifacts and must be interpreted
properly. The seismic data are the primary guidance for fault location
and horizon interpolation away from the wells.
In many cases, reprocessing of old seismic data (using new algorithms
that reduce noise in data) may provide better quality seismic for
horizon interpretation and mapping, and fault identification.

A. El-Banbi 7
Static Models

Seismic Section with Log Ties

• Checkshots

• Vertical Seismic
Profiles (VSP)

Geophysical
Well Log
• Synthetic
Seismograms

8
Modified from Weimer and Davis,1996

Typically the well data are considered as “hard” data and seismic data
are considered “soft” data. Well logs are tied to seismic data to map
stratigraphic horizons.
The log ties also provide the basis for calculating sound velocities
through different layers so seismic section can converted from time to
depth domain.

A. El-Banbi 8
Static Models

Picking Markers

Well markers are considered hard data for structural modeling and
must be picked carefully. SP and other logs can help detect bed
boundaries and can be used in conjunction with the geologic
knowledge to identify the well (horizon) markers. Other logs are also
used (e.g GR, resistivity and porosity logs). A well log correlation panel
is commonly used to link similar zones/rock types and to identify the
spatial continuity of the rock types. This can reveal pinch outs and
erosion surfaces (unconformity surfaces).

A. El-Banbi 9
Static Models

Well Log Correlation

Stratigraphic Cross Section

After picking horizon markers (also called well markers or well tops),
they are usually matched with the seismic data to define the horizons.
Stratigraphic cross-sections are created and evaluated. The cross-
sections can be sometimes used to identify missing section. These are
usually a result of faults and pinch-outs. Carful examination of missing
sections may reveal faults that are below seismic resolution.

A. El-Banbi 10
Static Models

Significance of Faults

• Compartmentalization

• Barriers to fluid flow

• Conduits for fluid flow

• Juxtaposed layers

Major faults in the reservoir need to be identified because their


presence affects the fluid flow in the reservoir. Faults may result in
hydraulic isolation of layers and may also result in establishing hydraulic
communication among different reservoir layers. Careful investigation
of pressure data will help the geologist make decisions on whether
certain reservoir compartments are communicating or isolated.

A. El-Banbi 11
Static Models

Structural Cross-Section

From 3D seismic data, we can interpret horizons and faults. From well
data, we can establish geologic markers. The seismic and well data are
then tied together to define the reservoir structure as shown here.
These structural cross-sections provide understanding of how geologic
horizons are located within the reservoir. Juxtaposition of different
reservoir layers (which may be important to understand
communication of reservoir layers) can be revealed when these cross-
sections are taken in different directions.

A. El-Banbi 12
Static Models

Structure Contour Map

The structure contour maps for important horizons can be drawn.


Depth converted from seismic two-way time is usually used (after
markers picking from wells) to map the structure for particular
horizons.

A. El-Banbi 13
Static Models

What Can We Obtain from Structural


Models
• 2D:
– Structure contour maps
– Structural cross-sections
– Fault plane maps
• 3D:
– Structural models of surfaces (horizons
and fault planes)
– Volume models

Structural surfaces are conditioned to well and seismic data. Fault


surfaces are interpolated from seismic, well and geologic information.
The volumes of reservoir compartments and fault blocks can be
provided if porosity and saturation are assumed.
In some cases, structural information (e.g. curvature and faults) can
also provide qualitative information on large-scale fracture patterns
and orientation.

A. El-Banbi 14
Static Models

3D Structural Models

The left hand side 3D view shows the fault planes for the faults
detected from seismic data and geological interpretation. The right
hand side 3D view shows the reservoir horizons (surfaces) with the
fault planes.
Structural horizons can be built one fault block at a time based on
horizon points. Alternatively, the horizon can be created by cutting an
‘initial’ horizon (surface) by the fault network. The latter is usually used.

A. El-Banbi 15
Static Models

Reservoir Layers and Fault-Bound


Compartments

Fault
Compartment

Delineation of the fault blocks is critical to understanding the reservoir


compartmentalization. The reservoir compartmentalization plays an
important role in reservoir development, infill drilling and overall
reservoir management.

A. El-Banbi 16
Static Models

Facies Models
Fluvial

Barrier Island
Lagoon

Back Barrier
DEPOSITIONAL STRIKE
Barrier Core

10 to 100 darcys
10 to .1 darcys
Lower
.1 to .01 darcys
Shoreface
.01 to .0001 darcys
Shelf
(modified from Galloway and Hobday, 1983; after Galloway et al 1979, and Davis, 1969)

Facies is defined as a body of rock characterized by a particular


combination of lithology, physical and biological structures that bestow
an aspect that is different from the rock bodies above, below, and
immediately adjacent to it (Walker and James,1992). A sedimentary
facies is stratigraphic body distinguishable from surrounding strata by
its characteristics and appearance that, in turn, result from the
depositional environment.
Knowledge of depositional environment for a particular reservoir would
help identify the expected facies and derive the population of reservoir
properties (porosity and permeability) within each facies.
In a fluvial depositional system, channel-fill sandstones facies are better
petroleum reservoirs than are crevasse splay or floodplain facies.
In the Barrier island depositional system, reservoir properties of barrier
core and tidal pass (channel) facies exceed those of the back barrier
and lagoonal facies, which often are mud-rich.
Note that the fluvial channel is oriented in the depositional dip
direction, whereas the barrier core is oriented in the depositional strike
direction, with exception of the tidal pass and associated facies.

A. El-Banbi 17
Static Models

Property Modeling
• Facies modeling
• Porosity modeling
• Permeability modeling
• Saturation modeling
• Volumetric calculations

The above sequence is typically what is done in the property modeling


step of static model construction. Firstly, the properties are identified
at well locations. Secondly, geostatistics is usually used to populate the
properties between wells.

A. El-Banbi 18
Static Models

Permeability Modeling

Rock Type (Facies) A Rock Type (Facies) B


100 1000

100
10
10
Permeability (md)

1
1

0.1 0.1

0.01 0.01
2 6 10 14 2 6 10 14 18
Porosity (%)

Quantitative measurements of permeability from wireline logs are not


commonly available. We usually rely on empirical log correlations. It is
customary to correlate permeability from core data with porosity.
Sometimes, permeability is also correlated with other log responses
when available. Core permeability correlation with core porosity can be
extended to calculate permeability from log porosity (hence providing
permeability at every point where porosity estimation is available from
log data).
It is best to construct these permeability-porosity relations based on
lithology or rock types. In modern workflows, it is now customary to
compare calculated permeability to any available permeability (or kh)
information from pressure transient analysis (PTA) or production log
modeling (PLT).

A. El-Banbi 19
Static Models

Core-Log Integration

Core Permeability Data

Plot on
Computed Permeability Track
Verify core-log match

20

The above shows an example on core-log integration. In this example,


core porosity and permeability are drawn with the log estimated
porosity and permeability. Note that the log estimated permeability is
calculated from an empirical correlation with porosity.
Since core is taken while drilling, and log data are taken while logging,
they often have different depth reference. Core and log data depth
need to be matched before these integration plots are made.

A. El-Banbi 20
Static Models

Exercise
• Write one page on geostatistics. In this
page, do the following:
– Write one (or more) definition(s) of
geostatistics
– Tell us what geostatistics is used for
– List the main methods we use under
geostatistics

A. El-Banbi 21
Static Models

References

1. Cosentino, L.: Integrated Reservoir Studies, Editions Technip,


Paris, 2001.
2. Mattax, C. C. and Dalton, R. L.: Reservoir Simulation,
Monograph Series, SPE, Richardson, TX (1990) 13.
3. Aziz, K. and Settari, A.: Petroleum Reservoir Simulation,
Applied Science Publishers Ltd., Essex, England, 1979.
4. Helaly, R.E., El-Banbi, Ahmed H., and Abdelwaly, A.A.: “A
Modified Kriging Approach to Incorporate Well-Test
Permeability in the 3D Static Models,” paper presented at the
Mediterranean Offshore Conference (MOC), Alexandria, Egypt,
March 19-21, 2016.
5. Tiab, D., and Donaldson, E.: Petrophysics, Theory and Practice
of Measuring Reservoir Rock and Fluid Transport Properties,
3rd Edition, Gulf Professional Publishing, 2011.

A. El-Banbi 22
Grid Models

A. El-Banbi 1
Grid Models

A. El-Banbi 2
Grid Models

A. El-Banbi 3
Grid Models

Cartesian grid is applied in both single well and full field


simulation grid. It is usually easy to construct.
Cartesian grids are inflexible in the description of faults,
pinch-outs, and discontinuities.

A. El-Banbi 4
Grid Models

Cylindrical grids are often used in single well studies. The are
particularly used for characterizing flow in the vicinity of
wellbores. They are most applied in pressure transient
analysis and coning studies.

A. El-Banbi 5
Grid Models

The boundaries of the curvilinear grids are defined by the


stream lines of the flow. They have very limited applications
in certain stream-tube and streamline models.

A. El-Banbi 6
Grid Models

Corner point grid is probably the most widely used type of


grid in full field simulations. Corner point grid is flexible and
can take the shape of faults and boundaries. However, the
simulation model may produce inaccurate results if the grid
lines are too skewed. The simulation engineer needs to
check all the angles (in 3D) of the grid lines and makes sure
they are deviated no more than 15 degrees from
orthogonality.

A. El-Banbi 7
Grid Models

A. El-Banbi 8
Grid Models

The slide above shows the difference between block-centered


and corner point grid models. Block centered grid is termed
Cartesian by some. However, the two types of grid can
sometimes be also called Cartesian.
Eclipse uses keywords TOPS, DX, DY, and DZ to generate block-
centered grids and uses COORD and ZCORN to depict corner
point grid model. There will be difference in how faults and
dipping structures will be modeled by each type of grid. Also,
transmissibility term calculated between two adjacent grids will be
slightly different.

A. El-Banbi 9
Grid Models

Slide above explains graphically how the keywords are used in


Eclipse to model the two situations (Block-Centered and Corner
Point Geometry).

A. El-Banbi 10
Grid Models

Local grid refinement is often used when we need more


definition around wells. It has the advantage of obtaining high
resolution in certain parts of the reservoir without the need to
refine the entire model.

A. El-Banbi 11
Grid Models

Since we usually need to refine grid models around wells, there


are several alternatives we can use to refine the grid in (a). The
above 4 areal grid models show the difference between refining
all the grid model (b) and refining the entire grid around the wells
only (c) and the use of local grid refinement (d).

A. El-Banbi 12
Grid Models

The slide above shows an example model with Cartesian LGR


(top left) and another model with Cylindrical LGR (bottom right).
Most modern gridding software programs will allow the use of
these two types.

A. El-Banbi 13
Grid Models

Most modern 3D gridding software packages allow the use of


hybrid LGR. In this scheme, we can use a combination of
cylindrical and Cartesian LGR regions in the same simulation
model. Each LGR region will have it own numbering scheme for
the grid blocks it contains. The use of LGR (hence the grid block
numbers that are not sequential for the entire model) results in
non-neighbor connections.
The LGR grid is usually solved using additional iterations and a
method called “Domain Decomposition”.

A. El-Banbi 14
Grid Models

A. El-Banbi 15
Grid Models

Voronoi or PEBI (PErpendicular BIsection) grid is one of the


newest grid types we use in reservoir simulation. It combines
several advantages:
- The grid is very flexible in modeling wells and boundaries
(faults and pinch-outs)
- High resolution around wells can be achieved
- The grid is orthogonal
Despite of all these advantages, Voronoi grids are not easy to
construct in 3D. They also pose problems in history matching
because of their complex numbering system. In addition,
Voronoi grids result in a very spare matrix problem which is
difficult to solve with our traditional matrix solvers.

A. El-Banbi 16
Grid Models

The usual PEBI grid we use in reservoir simulation is PEBI in the


areal dimensions and Cartesian (or corner point geometry) in the
vertical dimension.

A. El-Banbi 17
Grid Models

A. El-Banbi 18
Grid Models

When faults result in juxtaposing different layers, this leads to


non-neighbor connections. This means that grid blocks (cells)
from layer 3 for example on one side of the fault are connected
(allowing flow and fluid transfer) to grid blocks from layer 1 on the
other side of the fault. This creates inefficiencies for the matrix
solver and may lead to increased solution time when there is
large number of non-neighbor connections.

Other situations where non-neighbor connections are present


include:
-Pinch-out of a layer,
-Artificially introduced for dual porosity models to connect fracture
cells with matrix cells,
-Local grid refinement situations where cells from different
domains meet and flow is exchanged between them, and
-Non-neighbor connections arise in unstructured grids (PEBI) due
to the way the grid is constructed.

A. El-Banbi 19
Grid Models

layers 1 and 3 are connected in the two far left grid blocks.

A. El-Banbi 20
Grid Models

Slide above show comparison between gas saturation after 5


years of gas injection project in (a) pillar grid (or corner point
geometry grid) and (b) Stair-step grid (or Cartesian grid).
(c) is the difference in producing GOR with time for the two grid
models.
Stair-step grid allows grid block boundaries to follow sloping
faults. This is usually recommended in displacement processes.
(After Gringarten et al., SPE 116649).

A. El-Banbi 21
Grid Models

The above section shows the geological grid and the bottom
section shows the associated stair-step simulation grid. Although
the above geological grid can be modeled in 3D static models,
they can create problems in flow simulation. This situation arises
in complex geometry situations with sloping faults.
(After Gringarten et al., SPE 119188).

A. El-Banbi 22
Grid Models

1. Cosentino, L.: Integrated Reservoir Studies, Editions Technip,


Paris, 2001.
2. Mattax, C. C. and Dalton, R. L.: Reservoir Simulation,
Monograph Series, SPE, Richardson, TX (1990) 13.
3. Aziz, K. and Settari, A.: Petroleum Reservoir Simulation,
Applied Science Publishers Ltd., Essex, England, 1979.
4. Gringarten, E. et al.: “New Grids for Robust Reservoir
Modeling,” paper SPE 116649 presented at the 2008 SPE
Annual Technical Conference and Exhibition, Denver, CO.,
USA, 21-24 Sept. 2008.
5. Gringarten, E. et al.: “Advantages of Using Vertical Stair Step
Faults in Reservoir Grids for Flow Simulation,” paper SPE
119188 presented at the 2009 SPE Reservoir Simulation
Symposium, The Woodlands, TX., USA, 2-4 Feb. 2009.
6. Eclipse technical manual, Schlumberger SIS, 2015.
7. El-Banbi, Ahmed H., Wattenbarger, R.A., and Maggard, J.B.:
“Proper Use of Numerical Simulation for Pressure Transient
Analysis and Pattern Displacements,” paper presented at the
13th EGPC Conference and Exhibition, Cairo, Egypt, Oct. 21-
24, 1996.
8. Zhao, L.: "Horizontal Well Simulation with Local Grid
Refinement," Ph.D Dissertation, Texas A&M University, College
Station, TX. (August 1994).

A. El-Banbi 23

You might also like