You are on page 1of 56

Numerical Reservoir

Simulation

Press the button to start


Back Next

Topic Overview
Topic overview
Introduction

Differential equations
Gridding An introduction to standard numerical solution
Difference approximation
Discretization error
techniques for reservoir flow equations.
Stability Analyses
Reservoir equations

Reservoir performance

html
Developers References
Back

Introduction
Topic overview
Introduction

Differential equations
Gridding
Gridding
Difference approximation
Stability analyses
Discretization error
Stability Analyses
Reservoir equations

Reservoir performance

Differential Numerical Reservoir


equations Modell equations
for mass flow
Reservoir Performance

Difference Approximation Discretization Error

For more information click on the subject you want to learn more about.

Developers References
Discretization Techniques
Topic overview
Introduction

Differential equations
Gridding General partial differential equations for reservoir
Difference approximation
Discretization error
fluid flow must be discretized before they can be
Stability Analyses treated computationally.
Reservoir equations

Reservoir performance

The most common techniques are:

- finite differences
- finite elements

We will in in this module learn about the finite


difference technique.

html
Developers References
Finite Differences
Topic overview
Introduction

Differential equations
Gridding
Finite difference approximations are used in most
Difference approximation commercial reservoir simulation software to solve
Discretization error
Stability Analyses
fluid flow equations numerically.
Reservoir equations

Reservoir performance
Main steps in a discretization procedure:

- replace differential operators by algebraic


ciexpressions
- compute approximate solution at given points and
iiispecified times

html
Developers References
Next

Differential Equations for Mass Flow


Topic overview
Introduction
Mass conservation equations for Black Oil models:
Differential equations
Gridding
Difference approximation water :
Discretization error
[k ]krw  S
Stability Analyses  [ (pw   wd )]  Qw  ( w )
Reservoir equations
 w Bw t Bw
Reservoir performance
Where Ql are sink/source term
oil :
[k ]k ro  S
 [ (po   o d )]  Qo  ( o )
 o Bo t Bo

gas :
[k ]k rg [k ]k ro
 [ (p g   g d )]    [ R (po   o d )]  Qg
 g Bg  o Bo s
 S S R
 ( g   o s )
t Bg Bo

Discretization Techniques
Developers References
Back Next

Reservoir Equations
Topic overview
Introduction
Discrete equations for Black Oil models for
Differential equations
Gridding block i,j,k:
Difference approximation
Discretization error water :
Stability Analyses
Reservoir equations Vi , j ,k Sw
Tw w  qw,i , j ,k   t ( )
Reservoir performance
t Bw

oil :
Vi , j ,k So
To o  qo ,i , j ,k   t ( )
t Bo

gas :
Vi , j ,k S g Rs S o
Tg g  RsTo o  q g ,i , j ,k  t (  )
t Bg Bo

For more information click on the equation you want to learn more about.
html
Developers References
Next

Water Equation
Topic overview
Introduction

Differential equations
Gridding The water equation consists of three parts; a flow
Difference approximation
Discretization error
term, a well term and an accumulation term.
Stability Analyses
Reservoir equations

Reservoir performance Flow term + well term = accumulation term

water :
Vi , j ,k
Sw
Tw w  qw,i , j ,k   t ( )
t Bw

For more information click on the term of the water equation you want to learn more about.
html
Developers References
Next

Flow Term for Water


Topic overview
Introduction

Differential equations

The flow term for water consists of three terms,


Gridding
Difference approximation
Discretization error
Stability Analyses
one for each coordinate direction.
Reservoir equations

Reservoir performance

water :
Tw w   xTwx  x wx   yTwy  y wy   zTwz  z wz

For more information click on the term of the equation you want to learn more about.
html
Developers References
Next

Flow Term for Water in x- direction


Topic overview
Introduction

Differential equations
Gridding The x-part consists of two terms; one to compute
Difference approximation
Discretization error
flow to neighbour block in the positive direction
Stability Analyses and one for flow in the negative direction.
Reservoir equations

Reservoir performance

water :
k x k rw
 xTwx  x w  ( ) i  12 y j z k (w,i 1  w,i )
 w Bw x
k x k rw
( ) i  12 y j z k (w,i  w,i 1 )
 w Bw x

For information on block boundaries, click on the textbox.


html
Developers References
Back Next

Flow Term for Water in y- direction


Topic overview
Introduction

Differential equations
Gridding The y-part consists of two terms; one to compute
Difference approximation
Discretization error flow to neighbour block in the positive direction
Stability Analyses
Reservoir equations
and one for flow in the negative direction.
Reservoir performance

water :
k y k rw
 yTwy  y w  ( ) j  12 xi z k (w, j 1  w, j )
 w Bw y
k y k rw
( ) j  12 xi z k (w, j  w, j 1 )
 w Bw y

For information on block boundaries, click on the textbox.


html
Developers References
Back

Flow Term for Water in z- direction


Topic overview
Introduction

Differential equations
Gridding The z-part consists of two terms; one to compute
Difference approximation
Discretization error flow to neighbour block in the positive direction
Stability Analyses
Reservoir equations
and one for flow in the negative direction.
Reservoir performance

water :
k z k rw
 zTwz  z w  ( ) k  12 xi y j (w, z 1  w, z )
 w Bw z
k z k rw
( ) k  12 xi y j (w, z  w, z 1 )
 w Bw z

For information on block boundaries, click on the textbox.


html
Developers References
Back Next

Well Term for Water


Topic overview
Introduction

Differential equations

Specification are different for production and


Gridding
Difference approximation
Discretization error
Stability Analyses
injection wells.
Reservoir equations

Reservoir performance

water Click here to see how the production term for water is given.

Developers References
Well Equations for Black Oil Model
Topic overview
Introduction

Differential equations
Gridding
Difference approximation
Discretization error
Stability Analyses
water :
Reservoir equations
krw
Reservoir performance
q w ,i  WI i ( )i ( pi  pwell )
 w Bw

2kh
WI i 
r
ln( e )  S
rw

Pwell = pressure in the well

Developers References
Well Equations for Black Oil Model
Topic overview
Introduction

Differential equations
Gridding
Difference approximation
Discretization error
Stability Analyses
oil :
Reservoir equations
k ro
Reservoir performance
qo , i  WI i ( ) i ( pi  pwell )
 o Bo

2kh
WI i 
r
ln( e )  S
rw

Pwell = pressure in the well

Developers References
Well Equations for Black Oil Model
Topic overview
Introduction

Differential equations
Gridding
Difference approximation
Discretization error
Stability Analyses
gass :
Reservoir equations
k rg k ro Rs
Reservoir performance
q g ,i  WI i ( ) i ( pi  pwell )  WI i ( ) i ( pi  pwell )
 g Bg  o Bo

2kh
WI i 
r
ln( e )  S
rw

Pwell = pressure in the well

Developers References
Back

Accumulation Term for Water


Topic overview
Introduction

Differential equations

The change of mass of water in block i,j,k during


Gridding
Difference approximation
Discretization error
time t between step n and n+1 is given by:
Stability Analyses
Reservoir equations

Reservoir performance

water :
Vi , j ,k Sw Vi , j ,k S w n1 S w n
 t ( )  [( ) ( ) ]
t Bw t Bw Bw

html
Developers References
Back

Evaluation on Block Boundaries


Topic overview
Introduction

Differential equations
Gridding
Difference approximation
Discretization error
Stability Analyses
Reservoir equations

Reservoir performance

html
Developers References
Back Next

Oil Equation
Topic overview
Introduction

Differential equations
Gridding The oil equation consists of three parts; a flow
Difference approximation
Discretization error
term, a well term and an accumulation term.
Stability Analyses
Reservoir equations

Reservoir performance Flow term + well term = accumulation term

oil :
Vi , j , k
So
To o  qo ,i , j , k   t ( )
t Bo

For more information click on the term of the oil equation you want to learn more about.
html
Developers References
Next

Flow Term for Oil


Topic overview
Introduction

Differential equations

The flow term for oil consists of three


Gridding
Difference approximation
Discretization error
Stability Analyses
terms, one for each coordinate direction.
Reservoir equations

Reservoir performance

oil :
To o   xTox  x ox   yToy  y oy   zToz  z oz

For more information click on the term of the equation you want to learn more about.
html
Developers References
Next

Flow Term for Oil in x- direction


Topic overview
Introduction

Differential equations
Gridding The x-part consists of two terms; one to compute
Difference approximation
Discretization error
flow to neighbour block in the positive direction
Stability Analyses and one for flow in the negative direction.
Reservoir equations

Reservoir performance

oil :
k x k ro
 xTox  x o  ( )i  12 y j zk (o,i 1  o,i )
 o Bo x
k x k ro
( )i  12 y j zk (o,i  o,i 1 )
 o Bo x

For information on block boundaries, click on the textbox.


html
Developers References
Back Next

Flow Term for Oil in y- direction


Topic overview
Introduction

Differential equations
Gridding The y-part consists of two terms; one to compute
Difference approximation
Discretization error flow to neighbour block in the positive direction
Stability Analyses
Reservoir equations
and one for flow in the negative direction.
Reservoir performance

oil :
k y k ro
 yToy  y o  ( ) j  12 xi zk (o, j 1  o, j )
 o Bo y
k y k ro
( ) j  12 xi zk (o, j  o, j 1 )
 o Bo y

For information on block boundaries, click on the textbox.


html
Developers References
Back

Flow Term for Oil in z- direction


Topic overview
Introduction

Differential equations
Gridding The z-part consists of two terms; one to compute
Difference approximation
Discretization error flow to neighbour block in the positive direction
Stability Analyses
Reservoir equations
and one for flow in the negative direction.
Reservoir performance

oil :
k z k ro
 zToz  z o  ( ) k  12 xi y j (o, z 1  o, z )
 o Bo z
k z k ro
( ) k  12 xi y j (o, z  o , z 1 )
 o Bo z

For information on block boundaries, click on the textbox.


html
Developers References
Back Next

Well Term for Oil


Topic overview
Introduction

Differential equations

Specification are different for production and


Gridding
Difference approximation
Discretization error
Stability Analyses
injection wells.
Reservoir equations

Reservoir performance

oil Click here to see how the production term for oil is given.

Developers References
Back

Accumulation Term for Oil


Topic overview
Introduction

Differential equations

The change of mass of water in block i,j,k during


Gridding
Difference approximation
Discretization error
time t between step n and n+1 is given by:
Stability Analyses
Reservoir equations

Reservoir performance

oil :
Vi , j ,k So Vi , j ,k  S o n 1  S o n
 t ( )  [( ) ( ) ]
t Bo t Bo Bo

html
Developers References
Back

Gas Equation
Topic overview
Introduction

Differential equations
Gridding The gas equation consists of a flow term for gas and
Difference approximation
Discretization error
dissolved gas, a well term and an accumulation term for
Stability Analyses gas and dissolved gas.
Reservoir equations

Reservoir performance

Flow terms + well term = accumulation terms

gas :
Vi , j ,k S g
Rs So
Tg g  RsTo o  q g ,i , j ,k  t (  )
t Bg Bo

For more information click on the term of the equation you want to learn more about.
html
Developers References
Next

Flow Term for Gas


Topic overview
Introduction

Differential equations

The flow term for gas consists of three


Gridding
Difference approximation
Discretization error
Stability Analyses
terms, one for each coordinate direction.
Reservoir equations

Reservoir performance

gas :
Tg g   xTgx  x gx   yTgy  y gy   zTgz  z gz

For more information click on the term of the equation you want to learn more about.
html
Developers References
Next

Flow Term for Gas in x- direction


Topic overview
Introduction

Differential equations
Gridding The x-part consists of two terms; one to compute
Difference approximation
Discretization error
flow to neighbour block in the positive direction
Stability Analyses and one for flow in the negative direction.
Reservoir equations

Reservoir performance

gas :
k x k rg
 xTgx  x g  ( )i  12 y j z k (g ,i 1  g ,i )
 g Bg x
k x k rg
( )i  12 y j zk (g ,i  g ,i 1 )
 g Bg x

For information on block boundaries, click on the textbox.


html
Developers References
Back Next

Flow Term for Gas in y- direction


Topic overview
Introduction

Differential equations
Gridding The y-part consists of two terms; one to compute
Difference approximation
Discretization error
flow to neighbour block in the positive direction
Stability Analyses and one for flow in the negative direction.
Reservoir equations

Reservoir performance

gas :
k y k rg
 yTgy  y g  ( ) j  12 xi z k (g , j 1  g , j )
 g Bg y
k y k rg
( ) j  12 xi zk (g , j  g , j 1 )
 g Bg y

For information on block boundaries, click on the textbox. (not active yet)
html
Developers References
Back

Flow Term for Gas in z- direction


Topic overview
Introduction

Differential equations
Gridding The x-part consists of two terms; one to compute
Difference approximation
Discretization error
flow to neighbour block in the positive direction
Stability Analyses and one for flow in the negative direction.
Reservoir equations

Reservoir performance

gas :
k z k rg
 zTgz  z g  ( ) k  12 xi y j (g , z 1  g , z )
 g Bg z
k z k rg
( ) k  12 xi y j (g , z  g , z 1 )
 g Bg z

For information on block boundaries, click on the textbox.


html
Developers References
Back Next

Flow Term for Dissolved Gas


Topic overview
Introduction

Differential equations

The flow term for dissolved gas consists of three


Gridding
Difference approximation
Discretization error
Stability Analyses
terms, one for each coordinate direction.
Reservoir equations

Reservoir performance

dissolved gas :
RsTo o   x RsTox  x ox   y RsToy  y oy
  z RsToz  z oz

For more information click on the term of the equation you want to learn more about.
html
Developers References
Next

Flow Term for Dissolved Gas in x- direction


Topic overview
Introduction

Differential equations
Gridding The x-part consists of two terms; one to compute
Difference approximation
Discretization error
flow to neighbour block in the positive direction
Stability Analyses and one for flow in the negative direction.
Reservoir equations

Reservoir performance

dissolved gas :
k x k ro Rs
 x RsTox  x o  ( ) i  y j zk (o ,i 1  o ,i )
 o Bo x
1
2

k x k ro Rs
( ) i  y j zk (o ,i  o ,i 1 )
 o Bo x
1
2

For information on block boundaries, click on the textbox.


html
Developers References
Back Next

Flow Term for Dissolved Gas in y- direction


Topic overview
Introduction

Differential equations
Gridding The y-part consists of two terms; one to compute
Difference approximation
Discretization error
flow to neighbour block in the positive direction
Stability Analyses and one for flow in the negative direction.
Reservoir equations

Reservoir performance

dissolved gas :
k y k ro Rs
 y RsToy  y o  ( ) j  xi z k (o , j 1  o , j )
 o Bo y
1
2

k y k ro Rs
( ) j  xi z k (o , j  o , j 1 )
 o Bo y
1
2

For information on block boundaries, click on the textbox.


html
Developers References
Back

Flow Term for Dissolved Gas in z- direction


Topic overview
Introduction

Differential equations
Gridding The z-part consists of two terms; one to compute
Difference approximation
Discretization error
flow to neighbour block in the positive direction
Stability Analyses and one for flow in the negative direction.
Reservoir equations

Reservoir performance

dissolved gas :
k z k ro Rs
 z RsToz  z o  ( ) k  xi y j (o , z 1  o , z )
 o Bo z
1
2

k z k ro Rs
( ) k  xi y j (o , z  o , z 1 )
 o Bo z
1
2

For information on block boundaries, click on the textbox.


html
Developers References
Back Next

Well Term for Gas


Topic overview
Introduction

Differential equations

Specification are different for production and


Gridding
Difference approximation
Discretization error
Stability Analyses
injection wells.
Reservoir equations

Reservoir performance

gas Click here to see how the production term for gas is given.

Developers References
Back

Accumulation Term for Gas and Dissolved Gas


Topic overview
Introduction

Differential equations

The change of mass of water in block i,j,k during


Gridding
Difference approximation
Discretization error
time t between step n and n+1 is given by:
Stability Analyses
Reservoir equations

Reservoir performance

gas :
Vi , j ,k  Sg  Rs S o
t (  )
t Bg Bo
Vi , j ,k  S g  Rs S o n 1  S g  Rs S o n
[(  ) (  ) ]
t Bg Bo Bg Bo

html
Developers References
Back

Definition of Symbols
Topic overview
Introduction l = o,w,g sls =
s = x,y,z
Differential equations
WIp =
Gridding p = i,j,k
Difference approximation ql,i,j,k = pi =
Discretization error
Ql,i,j,k = pwell =
Stability Analyses
Reservoir equations
 =
Reservoir performance
Sl =
Bl =
[k] =
k =
l =
Vi,j,k =
t =
t =
Rs =
Rs =
sTls =

Developers References
Back Next

Difference Approximations
Topic overview
Introduction
Taylor series can be used to derive a difference
Differential equations
Gridding formula for single and double derivates.
Difference approximation
Discretization error
Stability Analyses Taylor series of f(x+x) and f(x-x) are given by:
Reservoir equations

Reservoir performance 1 1 k 
f ( x  x)  f ( x)  f ( x)x  
f ( x)x    f ( x)x k
2

2! k!

1 1 k 
f ( x  x)  f ( x)  f ( x)x  
f ( x)x    f ( x)x k
2

2! k!

With these expansion we can deduce:


- first order approximation of f ’
- second order approximation of f ’
- second order approximation of f ’’

html
Developers References
Next

First Order Approximation of f’


Topic overview
Introduction
From the expansion of f(x+Δx) we get an expression for f’(x):
Differential equations
Gridding
f ( x  x)  f ( x)
Difference approximation
f ( x)  R
Discretization error
x
Stability Analyses
Reservoir equations

Reservoir performance From the expansion of f(x-Δx) we get an expression for f’(x):

f ( x)  f ( x  x)
f ( x)  R
x

This difference formula is used


for discretizing time derivative
in the mass equations

x x
Click on the box to see how the approximation changes when the step size is halved.
html
Developers References
Difference Formula
Topic overview
Introduction

Differential equations

A first order approximation of ut at the point


Gridding
Difference approximation
Discretization error
n+1 is given by:
Stability Analyses
Reservoir equations

u n1  u n
ut 
Reservoir performance n 1

t

The time axis is divided into points at


distance Δt:
n n 1

t t  t

html
Developers References
Back

First Order Approximation of f’


Topic overview
Introduction

Differential equations
Gridding
Difference approximation
From the serie f(x+Δx):
Discretization error
Stability Analyses
f ( x  x)  f ( x)
Reservoir equations f ( x)  R
Reservoir performance
x

From the serie f(x-Δx):


f ( x)  f ( x  x)
f ( x)  R
x
x x
2 2

The step size reduction produces more accurate


approximations.
html
Developers References
Back Next

Second Order Approximation of f’


Topic overview
Introduction
Adding expansion of f(x+Δx) and f(x-Δx) results
Differential equations
Gridding in the approximations:
Difference approximation
Discretization error f ( x  x)  f ( x  x)
Stability Analyses f ( x)  R
Reservoir equations 2x
Reservoir performance

X X
Click on the box to see how the approximation changes when the time step is halved. html
Developers References
Back

Second Order Approximation of f’


Topic overview
Introduction
The sum of f’(x) of the series f(x+Δx) and f(x-Δx):
Differential equations
Gridding
Difference approximation
Discretization error
f ( x  x)  f ( x  x)
Stability Analyses f ( x)  R
Reservoir equations 2x
Reservoir performance
Step size reduction
will produce
more accurate
approximations.

x x
2 2
html
Developers References
Back

Second Order Approximation of f’’


Topic overview
Introduction

Differential equations The sum of the Taylor series f(x+Δx) and


f(x-Δx) is used to deduced a second
Gridding
Difference approximation
Discretization error
order approximation of f’’:
Stability Analyses
Reservoir equations

f ( x  x)  2 f ( x)  f ( x  x)
Reservoir performance
f ( x)    x 2

x 2

This approximation is frequently used and


the numerator is written:

2 f  f ( x  x)  2 f ( x)  f ( x  x)

html
Developers References
Back

Difference Approximation
Topic overview
Introduction
Uxx can be approximated at each point i by the
Differential equations
Gridding formula:
Difference approximation

u xx i  ui1  2ui2  ui1


Discretization error
Stability Analyses
Reservoir equations x
Reservoir performance

i 1 i i 1

x  x x x  x

html
Developers References
Back Next

Discretization Error
Topic overview
Introduction
The order of a difference approximation can by
Differential equations
Gridding analysed using Taylor expansions.
Difference approximation
Discretization error
Stability Analyses The discretization error approaches zero faster for
Reservoir equations

Reservoir performance
a high order approximation then for a low order
approximation.

html
Developers References
Back Next

Gridding
Topic overview
Introduction

Differential equations
Gridding
Difference approximation
Discretization error
Stability Analyses
Reservoir equations

Reservoir performance

A faulted reservoir Well locations An imposed grid

Click to the picture for sound (not Initial fluid distribution


active yet)

html
Developers References
Next

A Faulted Reservoir
Topic overview
Introduction

Differential equations
Gridding
Difference approximation
Discretization error
Stability Analyses
Reservoir equations

Reservoir performance

(Not active yet)

Developers References
Back Next

Well Locations
Topic overview
Introduction

Differential equations
Gridding
Difference approximation
Discretization error
Stability Analyses
Reservoir equations

Reservoir performance

(Not active yet)

Developers References
An Imposed Grid
Topic overview
Introduction
Main criteria for grid selection:
Differential equations
Gridding
Difference approximation
- The ability to identify saturations and pressures
Discretization error ii at specific locations (existing and planned well i
Stability Analyses
iiiilocations).
Reservoir equations

Reservoir performance - The ability to produce a solution with the i


iiiirequired accuracy (numerical dispersion and
iiiigrid orientation effects).
- The ability to represent geometry, geology and
iiiphysical properties of the reservoir (external
iiiboundaries, faults, permeability distribution
iiiincluding vertical layering).

- Keep the number of grid blocks small in order to


iiimeet requirements of limited money and time
iiiavailable for the study.

Developers References
Back

Initial Fluid Distribution


Topic overview
Introduction

Differential equations
Gridding
Difference approximation
Discretization error
Stability Analyses
Reservoir equations

Reservoir performance

(Not active yet)

Developers References
Back Next

Stability Analyses
Topic overview
Introduction

Differential equations
Gridding
Difference approximation
Discretization error
Stability Analyses
Reservoir equations

Reservoir performance

Stable Unstable

(Not active yet)

html
Developers References
Back Next

Stable
Topic overview
 t 
Introduction
Animation of the stable solution  2  0,4 
Differential equations  x 
Gridding
Difference approximation
Discretization error
Stability Analyses
Reservoir equations

Reservoir performance

html
Developers References
Back Next

Unstable
Topic overview
Introduction
 t 
Animation of the unstable solution  2  0,6 
Differential equations
Gridding
 x 
Difference approximation
Discretization error
Stability Analyses
Reservoir equations

Reservoir performance

html
Developers References
Back

Reservoir Performance
Topic overview
Introduction

Differential equations
Gridding
Difference approximation
Discretization error
Stability Analyses
Reservoir equations

Reservoir performance

Sound not active yet

Developers References
Developers
Topic overview
Introduction

Differential equations
Gridding
Difference approximation
Discretization error
Stability Analyses
Reservoir equations

Reservoir performance

Informasjon på min web-side


http://www.ux.his.no/~hans-k

Made by students
Siril Strømme and Rune Simonsen
Stavanger university college

Developers References

You might also like