You are on page 1of 24

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/27343782

A numerical method to solve the Buckley-Leverett equation and some


applications from petroleum engineering

Technical Report · April 2000


Source: OAI

CITATION READS

1 1,750

2 authors:

F. Vermolen Gert-Jan J M Pieters


Hasselt University Utrecht University
189 PUBLICATIONS   2,081 CITATIONS    15 PUBLICATIONS   162 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Mathematical Modeling of (Distored) Dermal Wound Healing View project

All content following this page was uploaded by Gert-Jan J M Pieters on 22 September 2014.

The user has requested enhancement of the downloaded file.


DELFT UNIVERSITY OF TECHNOLOGY

REPORT 00-08

A N UMERICAL M ETHOD TO S OLVE THE B UCKLEY-L EVERETT E QUATION AND S OME


A PPLICATIONS F ROM P ETROLEUM E NGINEERING

F. J. V ERMOLEN AND G. J. M. P IETERS

ISSN 1389-6520

Reports of the Department of Applied Mathematical Analysis

Delft 2000
Copyright © 2000 by Department of Applied Mathematical Analysis, Delft, The Netherlands.

No part of the Journal may be reproduced, stored in a retrieval system, or transmitted, in any form or by
any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written
permission from Department of Applied Mathematical Analysis, Delft University of Technology, The
Netherlands.
A numerical method to solve the Buckley–Leverett
equation and some applications from petroleum
engineering
F. J. Vermolen, G. J. M. Pieters∗

April 26, 2000

Abstract
In this report we describe a numerical method to solve the axially symmetric hyperbolic
Buckley–Leverett equation for the saturation in combination with an elliptic equation for the
pressure. First, we give the model in terms of equations, followed by a summary on qualitative
remarks on the solution of the equations. Subsequently, we give two test-cases from different
technological backgrounds for which we obtained exact expressions. We compare the results
from the numerical method with the exact expressions for the test-cases. the numerical method.
The numerical method based on a Finite Volume approach is described. Numerical experiments
support convergence to exact solutions.

Keywords: hyperbolic equations, travelling wave, gelation, adsorption, porous media

1 Introduction
Two phase flow in porous media occurs in several technological applications. These applications can
be environmental or industrial. An example is oil recovery from reservoirs residing about three kilo-
meters under the surface of the North Sea. Since subsurface flow is not easily measurable, accurate
mathematical modelling is desired. In this report we limit ourselves to subsurface flow in oil reser-
voirs. The other applications can be treated by the presented method as well.

Oil in the subsurface is commonly recovered / produced by injection of water (with or without poly-
mers). The two phases flow and interact in the reservoir. A classical description of the simultaneous
flow of oil and water is based on the hyperbolic Buckley–Leverett equation for the saturation. Fur-
thermore, we assume that the pressure drop between the injection well and points far away from the
injection well is known. The equation for the pressure is elliptic and involves the saturation. Since the
flow rate in the Buckley–Leverett equation depends on pressure, we solve a set of two partial differ-
ential equations.

For a detailed overview of problems and physics in reservoir / petroleum engineering, we refer to the
work of Lake [8] and Rhee et al. [10]. In these works some classical models are given and described.
For a more mathematical overview, we refer to the books of Smoller [11], Rhee [10] and van Duijn
[13]. The scheme described in this work was used to verify some explicit solutions and qualitative

Faculty of Technical Mathematics and Informatics, Delft University of Technology, 2628 CD Delft, The Netherlands

1
remarks done by Vermolen et al. [15], [16]. We note here that the solutions as presented by Vermolen
et al. are obtained by means of calculus and represent semi-explicit expressions. Although these so-
lutions are represented by simple relations, the solution is determined using zero-point methods and
hence they are not exact. Nevertheless, for convenience we refer to these closed form expressions as
being exact solutions.

It is well-known that hyperbolic conservation laws (see for instance Hundsdorfer [6] and LeVeque
[9]) should be discretised using upwind schemes to avoid occurrence of unphysical oscillations. One
can show this formally using Fourier modes or the matrix method or less formally with numerical
experiments. A known drawback of upwind schemes is the introduction of numerical (unphysical)
diffusion near shockfronts. A mean to overcome this nuisance is the introduction of a higher order
discretisation. To maintain monotonicity one applies a flux-limiter. This problem has been tackled
by, among others, Sweby [12], van Leer [14], Harten [3] and Koren [7]. As far as we know, Gupta et
al. [2] were the first authors that appied flux-limiters in simulation of flow of water and oil in reser-
voirs. Some textbooks where fluxlimiters are treated are for instance Hundsdorfer [6], LeVeque [9]
and Helmig [4].

Frequently, an implicit Euler method is used for the time-integration, which quarantees numerical
stability. However, we favour the use of an explicit Trapezium rule for the time-integration for its
higher accuracy. Some authors use blends of explicit and implicit time-integrations, see for instance
Hundsdorfer [5].

In this study we consider a single layer in an axially symmetric reservoir with a constant pressure
drop over the layer. First we formulate a mathematical model which includes the Buckley–Leverett
equation. This is followed by some qualitative preliminaries. Subsequently, we consider a test-case
for which an exact solution is found. Next we treat the numerical scheme to solve the equations. This
is followed by a description of results.

2 Mathematical Model
In this section we formulate the mathematical model. First we give the transport equations in terms
of a hyperbolic conservation law. Subsequently, we give the pressure equation and finally we state the
formulas for the calculation of water and oil production.

2.1 Transport equations


We consider an axially symmetric reservoir of constant thickness, H (m), which extends to R (m).
At the central axis a production well with radius rw (m) (rw  R) is present which extends over the
full thickness of the reservoir. We investigate the production of water and oil, i.e. water and oil flow
towards the production well in the center of the reservoir.

We consider two phase flow in porous media on rw < r < R, t > 0:

∂Si 1 ∂(rqi )
φ + = 0, i ∈ {1, 2}, (2.1)
∂t r ∂r
k0 kri ∂p
qi = − , i ∈ {1, 2}. (2.2)
μi ∂r

2
Here φ (-), k0 (m2 ), μi (Pa s), Si (-) and qi (m/s) respectively denote the porosity and permeability of
the porous medium and the viscosity, saturation and volumetric flux (Darcy velocity) of phase i. The
quantities φ, k0 and μi are treated as contants for convenience. The pressure is denoted by p (Pa).
Equations (2.1) represent the transport equations and equations (2.2) represents Darcy’s Law for each
component. Water and oil are respectively denoted by i = 1 and i = 2. Further, kri denotes the
relative permeability of phase i, note that kr2 (S2 ) = kr2 (1 − S1 ) =: kr2 (S1 ). For convenience we
omit the bar. Typical relative permeability functions are given by the Corey model:
2+3β
kr1 = kr1 (S1 ) = kr1
max
S̄ β , S1 ∈ [S1c , 1 − S2r ], (2.3)

and
 2  2+β

kr2 = kr2 (S1 ) = kr2
max
1 − S̄ 1 − S̄ β , S1 ∈ [S1c , 1 − S2r ]. (2.4)

Here we defined the normalised saturation


S1 − S1c
S̄ = . (2.5)
1 − S1c − S2r
For an overview and comparison of relative permeability models we refer to the thesis of Blom [1].
The quantitities S1c and S2r represent saturations for which holds
• if S1 < S1c then phase 1 does not flow,

• if S2 < S2r then phase 2 does not flow.


We assume the pores to be fully saturated, i.e. S1 + S2 = 1. Hence from equations (2.1) follows
1 ∂
(r(q1 + q2 )) = 0 for rw < r < R, t > 0.
r ∂r
Integration of above equation with respect to r gives

r · (q1 + q2 ) = q(t) for rw < r < R, t > 0. (2.6)

Here q(t) is a function of time and we will determine its value and see later that it can be interpreted
as a velocity. Equations (2.2) imply
μ1 kr2
q2 = · q1 . (2.7)
μ2 kr1
Combination of equations (2.6) and (2.7) yields
q(t)
q1 =   . (2.8)
μ1 kr2 (S1 )
1+ r
μ2 kr1 (S1 )
We define the flux-function as
1
f (S1 ) = , (2.9)
μ1 kr2 (S1 )
1+
μ2 kr1 (S1 )
q(t)
then q1 = f (S1 ). Substitution of this expression into equations (2.1) gives
r
∂S1 q(t) ∂f (S1 )
φ + = 0, for rw < r < R, t > 0. (2.10)
∂t r ∂r

3
We solve equation (2.10) to find the saturation S1 . However, the function q(t) is not known a priori.
We find this function from the pressure equation which is given in next subsection. For the saturation
we have as initial and boundary conditions (IB):

⎨ S1 (r, 0) = S1c , rw < r < R,
(IB)

S1 (R, t) = 1 − S2r , t > 0.

2.2 Pressure equation


Equation (2.2) relates the pressure gradient to the volumetric flow (Darcy). Combining
1 ∂
(r(q1 + q2 )) = 0 with equation (2.2) gives for axial symmetry for rw < r < R and t > 0:
r ∂r
 
k0 ∂ kr1 (S1 ) kr2 (S1 ) ∂p
− r + = 0.
r ∂r μ1 μ2 ∂r

This equation is elliptic. The pressure p is obtained from this equation when the saturation S1 is
known. The pressure is prescribed at the boundaries of the domain for all t > 0:

⎨ p(R, t) = pR , away from the production well,
(PC)

p(rw , t) = pL , at the production well.

The differential equation for the pressure is integrated once with respect to r to obtain
 
kr1 kr2 ∂p
−k0 r + = q(t),
μ1 μ2 ∂r

see equation (2.6). Above equation can be arranged into

∂p q(t) 1
=−  .
∂r r k kr1 + kr2
0 μ1 μ2

Direct integration of this equation with respect to r gives an expression for the relation between the
pressure-drop and the function q(t):
 −1
R −1
kr1 (S1 ) kr2 (S1 ) 1
q(t) = −k0 Δp + dr , (2.11)
rw μ1 μ2 r

where we define Δp := pR − pL . This relation gives the function q(t) once the saturation profile S1
is known. The saturation S1 is determined from equation (2.3). If Δp < 0 we have q(t) > 0 and vice
versa if Δp > 0 then q(t) < 0.

2.3 The transformed problem


For convenience we transform the cylindrical problem into a linear geometry. In equation (2.3) we set

1 ∂ ∂ ∂x
− =: ⇐⇒ = −r, (2.12)
r ∂r ∂x ∂r

4
this implies x = − 12 r 2 + k, where k is a constant of integration. The minus-sign occurs due to the
minus-sign in equation (2.11). We require the outer boundary √ of the reservoir (inflow) to co-incide
2 2
with x = 0, x(r = R) = 0, hence x = 2 (R − r ) and r = R2 − 2x, (r > 0). For the remaining
φ

part of this report we use the symbol u to denote the saturation S1 in the transformed space (i.e. the
(x,t)-space). Using this transformation and defining Q(t) = −q(t) changes equation (2.3) into

∂u ∂f (u)
+ Q(t) = 0. (2.13)
∂t ∂x
This equation is subject to analysis in the next subsection. We consider above equation for
 
2 ) := (0, L) and t > 0. Since ∂p > 0 it follows that Q(t) > 0.
x ∈ 0, 12 (R2 − rw
∂r
1 dx
From this co-ordinate transformation follows dr = − 2 , hence the pressure equation (2.11)
r R − 2x
is written as   −1

kr1 kr2 −1 dx
Q(t) = k0 Δp + . (2.14)
Ω μ1 μ2 R2 − 2x
In the transformed space we have the following conditions for u:

⎨ u(x, 0) = S1c , 0 < x < L,

(IB)

u(0, t) = 1 − S2r , t > 0.

We consider cases where 1 − S2r > S1c . For the pressure we obtain:

⎨ p(x = 0, t) = pR , t > 0,

(PC)

p(x = L, t) = pL , t > 0.

 and (PC)
Equations (2.13) and (2.14) supplied with conditions (IB)  are solved numerically. For the
case that the relative permeability functions are linear, i.e. kr1 = u and kr2 = 1 − u we give an
explicit solution in Section 3.

3 Analytical Aspects
In this section we summarise some qualitative remarks of the equations. First we make some quali-
tative remarks about the behaviour of the solution and we give a test-case for which a semi-explicit
solution is obtained.

3.1 Determination of the shock speed


To derive an exact solution for the saturation profile and shock speed we use the method of character-
istics. For completeness we show the application of the method to a hyperbolic equation. The method
is well-known and more details can be found for instance in van Duijn [13], Smoller [11] and Rhee
et al. [10]. The description here can be regarded as a summary of results from the method of charac-
teristics. The work of van Duijn [13] is recommended for its consistent and coherent description of
methods for solving (systems of) hyperbolic equations.

5
du(x(t), t)
Let us parametrize the position x by time, i.e. let x = x(t), and let us choose = 0, then
dt
follows
du(x(t), t) ∂u dx(t) ∂u ∂u dx ∂u
= + = + .
dt ∂t dt ∂x ∂t dt ∂x
When we compare this equation with the conservation law

∂u ∂f (u)
+ Q(t) = 0,
∂t ∂x
then follows
dx(t) df (u)
= Q(t) , (3.1)
dt du
when u, f (u) are differentiable. The velocity of a stable shock at ξ(t), i.e. when u is discontinuous,
is given by
dξ(t) f (uL ) − f (uR )
= Q(t) ,
dt uL − uR
where uL and uR are respectively the left and right limit of the saturation near the shock. In this
subsection we assume that Q(t) is a given continuous function of time. We determine its value from
the Darcy law once the saturation is known. We assume that the pressure drop is constant. The
procedure to determine Q = Q(t) is given in Section 4. We consider solutions with characteristics
on an infinite domain and the characteristics originate from the x-axis. For convenience we define
u+ := S1c and u− := 1 − S2r , then the initial saturation becomes:
⎧ +
⎨ u , for x < 0,
u(x, 0) = (u+ > u−  0).
⎩ −
u , for x  0,

We distinguish three cases:

1. The flux-function f (u) is convex, f  (u) > 0. From the initial condition and equation (3.1)
we see that the characteristics originating from the x-axis have different slopes. Since f (u)
is convex we have dx(t) dx(t)
dt |x<0 > dt |x>0 . Hence characteristics intersect at locations x  0,
which gives a stable shock-wave. The saturation profile can be written in terms of a self-similar
t
variable: u = u(η) with η = x − 0 Q(s)ds, i.e.
⎧  t

⎪ +

⎪ u , x< Q(s)ds,
⎨ 0
u(x, t) =

⎪  t

⎪ −
⎩ u , x> Q(s)ds.
0

Its self-similarity can be proven by characteristics.

2. The flux-function f (u) is concave, f  (u) < 0. From the initial condition and equation (3.1)
we see that the characteristics originating from the x-axis have different slopes. Since f (u)
is concave we have dx(t) dx(t)
dt |x<0 < dt |x>0 . Hence characteristics spread and do not intersect,
which gives a rare-faction. The initial shock is unstable. Solutions are given by constant states

6
or functions of the self-similar variable η =  t x . The saturation profile can now be written
0 Q(s)ds
as:

⎪ +
⎨u , x < ηL t,
u(x, t) = g(η), ηL t < x < ηR t,

⎩ −
u , x > ηR t.

Here ηL and ηR (ηL < ηR ) respectively correspond to the points where u = u+ and u = u−
(i.e. g(ηL ) = u+ and g(ηR ) = u− ). The function g(η) is determined from substitution into the
differential equation, which gives
1
f  (g(η)) = η ⇒ g (η) = .
f  (g)

The implication follows from implicit differentiation. Since f (u) is concave, it implies that
g(η) decreases monotonously. We also see that if f (u) is convex then g (η)  0 and hence
g(η) increases monotonously. Since u+ > u− g(η) cannot satisfy the boundary conditions. So
continuous solutions can not exist for our set of boundary conditions if f (u) is convex.

3. The flux-function f (u) is convex-concave. For the analysis of this situation we consider a small
perturbation of the initial condition, i.e. define u with  > 0 such that:


⎪ u+ , for x < 0,





⎨ −
u − u+
u :=
⎪ x + u+ , for 0  x < ,

⎪ 




⎩ −
u , for x  .

The perturbed saturation u (x, 0) is continuous. Note that u (x, 0) ↓ u(x, 0) as  → 0. Using
this initial profile we sketch characteristics in the x,t-plane (see Figure 1). Let u− < u∗ < u+
be the saturation whose tangent line intersects the point (u− , f (u− )) in the u, f (u)-plane, then
u∗ satisfies ⎧
⎪ f (u∗ ) − f (u− ) ∗


⎨ (u − u− ) = f (u∗ ),
u∗ − u−

⎪ ∗ −
⎩ f (u ) − f (u ) = f  (u∗ ),

u∗ − u−
and hence we have
f  (u∗ )(u∗ − u− ) = f (u∗ ).
f (u∗ ) − f (u− )
We see that a shock-wave arises which travels with a speed s = Q(t). This
u∗ − u−
shock is followed by a rarefaction.

7
f (u) t

11
0 0
00
11
0
1
01
1 0
1
00
11
0
00
11
0
1
01
1 0
1
00
11
0
00
11
0
1
0
1 0
1
00
11
0
1
00
11
01
1 0
00
11
0
1
01
1 0
1
00
11
0
00
11
u 01
1 0
00
11 x
u− u∗ u+ x̃ 

Figure 1: A convex-concave flux-function gives both a shock wave and a rarefaction wave. We set x̃ =
u (x∗ , 0).

This can be found in textbooks on hyperbolic equations such as Smoller [11], van Duijn [13] and Rhee
et al. [10].

3.2 Analytical Testcases


In this subsection we briefly treat two different test-cases which can be solved exactly. Both test-cases
are based on linear permeabilities. The first test-case gives a simple rare-faction. The second test-case
gives a combination of a rarefaction wave and a shock. Since both cases have been derived in full
detail in other works [16], [17] we do not present a whole derivation here.

3.2.1 Single rare-faction wave


This case is applied to flow of water and oil in a reservoir. The aim is to compute the production of
water and oil, respectively denoted by Pw and Po in m3 /s, from the reservoir. The viscosities of water
and oil respectively are given by μ1 = 1 mPas and μ2 = 3 mPas. Since the production of water and
oil are respectively given by

Pw = Pw (t) = 2π · Q(t) · f (u(L, t)) · H,

Po = Po (t) = 2π · Q(t) · (1 − f (u(L, t)) · H,

where H is the thickness of the reservoir, we need to have the values of Q(t) and the saturation
u(L, t) at the production well. Hence both the transport and pressure equations have to be solved. We
consider a relatively simple testcase in which the relative permeabilities are linear, i.e. n = m = 1,
additionally we set S1c = S2r = 0

kr1 = kr1 (u) = u,

kr2 = kr2 (u) = 1 − u.

Of course the extension of these permeabilities to more general linear ones is trivial. Since this does
not increase the insight we omit this in this report. For this case the fluxfunction f (S1 ) is concave

8
6000

5000

Production (barrels/day)
4000

3000
water production
oil production
2000

1000

0
0 0.5 1 1.5
time (years)

Figure 2: Production curves for oil and water with linear permeabilities using the explicit solution.

and the saturation profile exhibits a rarefaction behaviour. In [17] we show that the saturation profile
satisfies for 0 < t < τ1 :


⎪ 1, 0 < x  E ξ(t),





⎪  


⎨ 1 E ξ(t) ξ(t)
u(x, t) = 1 − E − E , E ξ(t) < x < ,
⎪ x E









⎩0, ξ(t)
 x < L,
E

1
t ξ(t) μ1
where ξ(t) := φ 0 Q(s)ds and τ1 is the time defined such that = L. The constant E := is
E μ2
referred to as the viscosity ratio. Since E < 1 the saturation profile is a decreasing, concave function.
This saturation profile is substituted into equation (2.14) to give the following ordinary differential
equation (ODE) for ξ(t):
k0 Δp
φξ  (t) = −  , t > 0, (3.2)
I ξ(t)
this is done in [17], where the function I(ξ(t) is specified. This ODE is separable and can be solved
either numerically or exactly. The exact solution requires a lot of tedious algebra. This exact solution
then gives an equation for ξ(t) (see [17] for more details). Now ξ(t) has to be determined via a zero-
point method.

The solution of equation (3.2) is substituted into the expression for S1 (x = L, t) to give the saturation
at the production well (i.e. r = rw or x = L := 12 (R2 − rw 2 )). Subsequently we use the equations for

the production to determine the production of water and oil. An example for the production curves of
water and oil in barrels per day is given in Figure 2. From Figure 2 it can be seen that the oil production
increases slightly at early stages whereas the water production remains zero then. Subsequently water
starts being produced (increase of water production) and the oil production starts to decrease. This
respective increase and decrease looks rather linear.

9
3.2.2 Variable Inlet Condition
This application is motivated by the fact that oil is produced rapidly from high permeability layers
giving a subsequent excessive, undesired production of water. To shut-off high permeability layers
polymers and gels are injected after exploration of oil from these layers. To divert polymers and gels
as much as possible from low permeability layers, a very viscous fluid is injected prior to injection of
gels and polymers. This injection is commonly referred to as a viscour preflush treatment.

The injected preflush is commonly a fully miscible fluid with water and hence its permeability be-
haviour can be treated similar to the case in the preceeding case, hence
kr1 = u,

kr2 = 1 − u.

We consider again the same transport equation and for simplicity we assume that the function Q(t) is
constant, Q(t) = Q. The case that it has to be determined via the pressure equation is described by
Vermolen et al. [16]. For this case the initial and boundary conditions are given by:


⎪ u(x, 0) = 0, 0 < x < L

(IB)

⎪ 1, 0 < t < T
⎩ u(0, t) =
0, t  T.
It is shown in [16] that the saturation is given by:
⎧    

⎪ 1

⎪ 0, x ∈ 0, Q(t − T ) ,

⎪ E2 +





⎪ 

⎪ E2 Q(t − T )   

⎪ − E2 1  

⎨ x , x∈ Q(t − T ) , min s(t), E2 Q(t − T ) ,
u(x, t) = 1 − E2 E2 +



⎪   



⎪ 1, x ∈ E2 Q(t − T ) , s(t) , t < τ,



⎪ +






0, x  s(t),
μ1
Here E represents the viscosity ratio E = > 1. Since E > 1 the curve for u is increasing and
μ2
concave. The shock position s(t) is given by


⎪ Qt, t < τ,



s(t) =   
 2



 Q  1 1

⎩ s(τ ) + [(t − T )] 2 − [(τ − T ] 2 , t  τ.
E2

In the solution for u we see the occurence of a rarefaction and a shock. The rarefaction travels with
a velocity E · Q(t) > Q(t) until it overtakes the shock which travels with a velocity Q(t). A more
elaborate description and derivation can be found in [16].

10
4 Numerical Method
We describe the numerical method. The description is split into the discretisation of the saturation
equation. We first state some preliminary remarks. Subsequently we deal with numerical evaluation
of the integral in the pressure equation (2.11).

4.1 Numerical diffusion and stability


We consider again the transport equation

ut + Qf (u)x = 0 ⇐⇒ ut = −Qf (u)x . (4.1)

∂u ∂u
Here we use the notation ut := and ux := . For the gridnodes we introduce the following
∂t ∂x
notation:
xi := i · Δx, i = 1, 2, · · · , N + 1, Δx := xi − xi−1 ,

tj := j · Δt, j = 1, 2, · · · , M + 1, time step Δt.


So the transformed domain is discretised into equidistant gridnodes. An advantage of this is that the
Courant number, QΔt
Δx is equal over the whole transformed domain.

Ωi
 ! "

xi−1 xi xi+1

Figure 3: A gridcell used for the Finite Volume Discretisation.

We use a Finite Volume Method, hence we integrate over a gridcell (see Figure 3), which gives on
time-step tj :
  # 
    $
ut (x, tj )dx = −Q f u(x, tj ) x dx = −Q f u(xi+ 1 , tj ) − f u(xi− 1 , tj ) .
2 2
Ωi Ωi

j   j  
We define fi− 1 := f u(xi− 1 , tj ) and f 1 := f u(xi+ 1 , tj ) , as the flux on both boundaries of
2 2 i+ 2 2
the gridcell Ωi . The flux entering area Ωi+1 equals the flux leaving area Ωi . Hence we have mass
conservation for each choice of flux-function. The integral on the left hand side of above equation can
be approximated as follows:

u(xi , tj+1 ) − u(xi , tj )
ut (x, tj )dx ≈ ut (xi , tj )Δx ≈ Δx.
Ωi Δt

We define uj+1
i = u(xi , tj+1 ) and uji = u(xi , tj ). We find in this way the discretisation of (4.1):
j j
fi+ 1 − f
uj+1 − uj
i− 1
i i
+Q 2 2
= 0. (4.2)
Δt Δx

11
We analyse difference equation (4.2). First, we consider the situation f (u) = u and we approximate
the flux on the boundaries by
j
fi+ 1 := f (uji+ 1 ) = uji+ 1 ≈ uji ,
2 2 2

j
fi− 1 := f (uji− 1 ) = uji− 1 ≈ uji−1 .
2 2 2

With these approximations follows from equation (4.2) the first order upwind scheme (Q > 0):
j 
uj+1 − uji ui − uji−1
i
+Q = 0, (4.3)
Δt Δx

with uji = u(xi , tj ), uj+1


i = u(xi , tj + Δt) and uji−1 = u(xi − Δx, tj ). The Taylor Series for uj+1
i
and uji−1 are
(Δx)2
uji−1 = uji − Δx · ux + uxx + · · ·,
2

(Δt)2
uj+1 = uji + Δt · ut + utt + · · · .
i
2
Substitution of above equations into equation (4.3) gives
2 j (Δx)2

uji + Δt · ut + (Δt)
2 utt + · · · − uj
u − u j
+ Δx · ux − 2 uxx + · · ·
i
+Q i i
= 0.
Δt Δx

From (4.1) follows after neglecting higher order terms:


Δx Δt
ut + Qux = Q uxx − utt . (4.4)
2 2
We remark that ut = −Qux =⇒ utt = −Quxt = −Qutx = −Q(−Qux )x = Q2 uxx . Substitution
into (4.4) gives the following equation:
 
Δx 2 Δt
ut + Qux = Q −Q uxx = Duxx , (4.5)
2 2
Δx Δt
with D = Q − Q2 . This equation is a convection-diffusion equation. Hence when the discreti-
2 2
sation as given in equation (4.3) is applied, then actually equation (4.5) is solved instead of equation
(4.1) with f (u) = u. The dispersion term, D uxx , is called the numerical diffusion. We conjecture
that the convection-diffusion equation has a stable solution if and only if D  0. From this follows
that stability is guaranteed iff
Δx Δt Δt
0D=Q − Q2 ⇐⇒ Q  1. (4.6)
2 2 Δx
Inequality (4.6) is commonly called the CFL-condition. The values of Δt and Δx have to satisfy
the CFL-condition. As soon as this condition is violated, the numerical diffusion coefficient becomes
negative and the equation becomes instable, which gives an unstable numerical solution in turn. Note
Δt
that if D = 0 (or Q = 1), then equation (4.5) reduces to (4.1) with f (u) = u. For this case there is
Δx

12
no numerical diffusion. Since Q is a function of time which has to be evaluated numerically this can
never be achieved under practical circumstances. It can also be seen that as the time-step and cell-size
tend to zero that the numerical diffusion coefficient tends to zero as well.

Note that we use an explicit time-integration with a time-step restriction for stability. For an implicit
time integration one obtains:
uj+1 − uji uj+1
i − uj+1
i−1
i
= −Q .
Δt Δx
Using a similar procedure with Taylor-developments as for the explicit scheme, one obtains

Q
ut + Qux = (QΔt + Δx)uxx ,
2

hence D := Q2 (QΔt + Δx) > 0 for all Q, Δt, Δx > 0. Above equation always has a stable solution,
however, errors due to space discretisation and time integration do not tend to cancel each other.
Therefore, an implicit time integration method is not used.

4.2 Higher order discretisation


As numerical diffusion is inevitable, we try to minimise numerical dispersion without use of more
gridnodes and smaller time-steps. It can be shown that the order of the dispersion term in equation
(4.4) becomes O(Δx3 ) if the flux at the boundaries of the grid-cell would be determined with a 3rd
order biased scheme (see [6]):
 
j 1 j 5 j 1 j
fi+ 1 = Qf − ui−1 + ui + ui+1 . (4.7)
2 6 6 3

We write this equation as


 1 1   
j j j j j
fi+ 1 = Qf ui + + θ · ui+1 − ui , (4.8)
2 3 6 i

with

⎪ j j
⎪ ui − ui−1

⎪ , uji+1
= uji ,

⎪ j j

⎪ ui+1 − ui


θij =

⎪ 1, uji+1 = uji = uji−1 ,







⎩100, uji+1 = uji .

Note that when uji+1


= uji equations (4.7) and (4.8) are equivalent. This means that flux (4.8) can be
written as the sum of a first order flux and a correction (”anti-diffusion”).

Let us consider the more general form of equation (4.8):


  
j j j j j
fi+ 1 = Qf ui + ψ(θi ) ui+1 − ui , (4.9)
2

13
with limiter function ψ, which has to be chosen such that a larger accuracy is achieved. For physical
reasons we require that the discrete solution is monotonous between subsequent gridnodes. For com-
pleteness we state a condition in Theorem 1. This result is standard.

Theorem 1: Let u be given over x ∈ [xi , xi+1 ] (between subsequent gridnodes), then ui+1/2 ∈
[min(ui , ui+1 ], max(ui , ui+1 )] (monotonicity) if and only if 0  ψi  1.

Proof
We prove both sides of the equivalence and we restrict ourselves to the case that u decreases on the
interval x ∈ [xi−1 , xi ]. For the case of an increasing function u, the proof is similar.
⇒: we have to satisfy
ui+1  ui + ψi (ui+1 − ui )  ui .
The right inequality gives
ui + ψi (ui+1 − ui )  ui ⇔ ψi (ui+1 − ui )  0 ⇒ ψi  0 (since ui+1 − ui  0).
The left inequality gives
ui + ψi (ui+1 − ui )  ui+1 ⇔ ui + ψi (ui+1 − ui ) − ui+1  0 ⇔ (1 − ψi )(ui − ui+1 )  0

⇒ ψi  1 (since ui − ui+1  0).


Hence, both inequalities imply 0  ψi  1.
⇐: Let ui+1/2 = ui + ψi (ui+1 − ui ) and suppose 0  ψi  1, it follows that ui+1/2 = ui for
ψi = 0 and ui+1/2 = ui+1 for ψi = 1. Since ui+1/2 = ui+1/2 (ψ) is affine, it follows that ui+1/2 ∈
[min(ui , ui+1 ], max(ui , ui+1 )).
Since the proof for the case that u increases monotonously is similar, above reasoning proves the
theorem. 2

This result has been proven in a different way by Hundsdorfer [6]. From above it is clear that the
function ψ only admits values between zero and one. When we consider the test-equation
∂u ∂u
+ = 0,
∂t ∂x
we see that when uji = uji−1 and uji+1
= uji gives θij = 0. Since flow happens from left to right,
we should have uj+1i = uji then. The first order upstream discretisation then gives the exact solution
(provided that the CFL-condition is satisfied). Therefore, we require that the flux-limiter ψ satisfies
ψ(0) = 0. Combining this with the third order discretisation as described above, we modify the
function ψ such that it becomes continuous and zero in zero. A common choice in literature (see [6],
[9]) for the limiter function is:
  
ψ(θ) = max 0, min 1, 13 + 16 θ, μθ , (Koren limiter function), μ > 0.
Note that the min-max statement quarantees that this limiter evolves most closely to 13 + 16 θ. Hunds-
dorfer [6] shows that the maximal allowable Courant number depends on μ. We use the limiter
function of van Leer (see [7]):


⎪ 1, θ = −1,

%
ψ(θ) =

⎩ 1 θ + |θ| , (Van Leer limiter), θ
= −1.

2 1+θ

14
This limiter function satisfies the requirements that it is continuous and zero in zero. Furthermore, it
takes values between zero and one and monotonicity is hence guaranteed.
ψ(θ) %
ψ(θ)
1
0.8

0.8
0.6
0.6

0.4
0.4

0.2
0.2

θ θ
–1 1 2 3 4 5 6 –1 1 2 3 4 5 6
x x

Figure 4: Left the Koren limiter function (4.2) and right the Van Leer limiter function.

4.3 Predictor-Corrector scheme


To increase the accuracy of the time-integration, we use a predictor-corrector scheme. An other reason
for this is that monotonicity (with flux limiting) gives instabilities when a forward Euler method is
used. Smooth profiles become staircase profiles. Using an explicit Trapezium rule gives stability
and smooth profiles stay smooth. Further, monotonicity is satisfied as well. For more mathematical
details we refer to Hundsdorfer [6]. Again we consider discretisation (4.2), where we use Q = Q(t) =
Q(t)/φ. The discretisation of Q is denoted by qj , and we analyse this in Section 4.4. The predictor is
denoted with a tilde:
j j
fi− 1 − f
%j+1
u − uji i+ 12
i
=q ·
j 2
. (4.10)
Δt Δx
Consider the following notation:
 
uji+1/2 := uji + ψ(θij ) uji+1 − uji ,
 
uji−1/2 := uji−1 + ψ(θi−1
j
) uji − uji−1 ,

uji − uji−1
with θij = , and we define:
uji+1 − uji
j j j j
fi− 1 := f (ui−1/2 ) en fi+ 1 := f (ui+1/2 ), (4.11)
2 2

with f (u) defined in (4.9). We write (4.10) in the following form:


 &
j+1 j q j · Δt j j
%i = ui +
u fi− 1 − fi+ 1 . (4.12)
Δx 2 2

15
The result from (4.12) is processed in the corrector-step. We define
 
%j+1
u := %
uj+1
+ ψ(θ%j+1 ) u%j+1
− %
uj+1
, (4.13a)
i+1/2 i i i+1 i
 
%j+1 %j+1 %j+1 %j+1 − u %j+1
u i−1/2 := ui−1 + ψ(θi−1 ) u i i−1 , (4.13b)

%j+1
u %j+1
−u
with θ%ij+1 = i i−1
. We define:
%j+1
u %j+1
i+1 − ui

f%i−
j+1
uj+1
1 := f (%i+1/2 ) and f%i+
j+1
uj+1
1 := f (%i−1/2 ). (4.14)
2 2

The predictor-result gives us the value for q̃j+1 which is determined using a numerical integration of
the pressure equation (2.14). The predictor-corrector scheme has the following form now:
   
j+1 j Δt j+1 %j+1 %j+1 j j
ui = ui + ϑq̃ fi− 1 − fi+ 1 + (1 − ϑ)q fi− 1 − fi+ 1 ,
j
(4.15)
Δx 2 2 2 2

with 0 < ϑ < 1. In this work we used ϑ = 0.55. For ϑ = 0.5 we obtain the explicit Trapezium Rule
(Heun) for which the accuracy is O(Δt)2 .

4.4 Numerical determination of the velocity of the shock-front


In this section we describe the method which is used to determine the flow-rate q. We use a mid-point
rule for the numerical integration over the scaled variable x. We drop the time index j in the notation
for convenience. We integrate over the transformed domain, i.e. consider

 R2 −rw
2
 −1
2 kr1 (u) kr2 (u) dx
I= + .
0 μ1 μ2 R2 − 2x

The transformed domain is divided into equidistant gridnodes and over each gridnode in the interior
of the domain, i ∈ {1, ..., n − 1}, follows for the approximation of the integral:
 xi +dx/2  −1  −1  xi +xi−1
kr1 (u) kr2 (u) dx kr1 (u) kr2 (u) 2 dx
+ 2
≈ + =
xi −dx/2 μ1 μ2 R − 2x μ1 μ2 xi +xi+1 R2 − 2x
2

 −1  
1 kr1 (ui ) kr2 (ui ) R2 − (xi + xi−1 )
= + ln
2 μ1 μ2 R2 − (xi + xi+1 )

For the boundary points i = 0 and i = n we obtain similarly:


 x1  −1  −1  
2 kr1 (u) kr2 (u) dx 1 kr1 (u0 ) kr2 (u0 ) R2
+ 2
≈ + ln ,
0 μ1 μ2 R − 2x 2 μ1 μ2 R2 − x1
  −1  −1  
xn
kr1 (u) kr2 (u) dx 1 kr1 (un ) kr2 (un ) R2 − (xn + xn−1 )
+ ≈ + ln ,
xn +xn−1 μ1 μ2 R2 − 2x 2 μ1 μ2 R2 − 2xn
2

16
Hence numerical integration over the whole domain gives:
   
1 kr1 (u0 ) kr2 (u0 ) −1 R2
I= + ln +
2 μ1 μ2 R2 − x1
n−1    2 
1 ' kr1 (ui ) kr2 (ui ) −1 R − (xi + xi−1 )
+ + ln +
2 μ1 μ2 R2 − (xi + xi+1 )
i=1
   2 
1 kr1 (un ) kr2 (un ) −1 R − (xn + xn+1 )
+ + ln . (4.16)
2 μ1 μ2 R2 − 2xn

k0 Δp
This equation is substituted into q = − to obtain the flow rate.
φI

5 Numerical experiments
We consider experiments to test the numerical method. First of all we show some experiments to indi-
cate the accuracy of the method in terms of using different time-steps and mesh-sizes. Subsequently,
we compare some results obtained using the numerical method with results from the test-cases for
which we found an exact solution.

5.1 The accuracy


To estimate the accuracy of the algorithm we varied both the gridsize and the timestep. Four runs are
shown in Figure 5 in which we halved the gridsize and the time-step. The calculations have been done
on a cylindrical area with inner radius rw = 0.1m and outer radius R = 150m. The pressure drop
over the area is Δp = 106 P a. Injection of water is done at the right, away from the production well.
The curves show Buckley–Leverett profiles for the water-saturation. It can be seen that the difference
between having 25 and 50 gridnodes is rather large. However, the difference between the results with
100 and 200 grid-nodes is negligible. Hence, convergence is obtained. In the figure both the number
of gridnodes and time-step have been adjusted such that the Courant-number, QΔt Δx , is similar.

To illustrate the applicability of the method to a technological well, we compute the production of oil
and water of a similar problem as in Figure 5. The results are shown in Figure 6 where the time-step
and number of gridnodes have been varied in a similar way.

5.2 Comparison with explicit expressions


As can be seen from figures 6 and 2, the agreement between the numerical results and the explicit
solution is excellent. The numerical scheme is thus consistent with the explicit solution.

As a different example we consider a variable inlet condition. Technologically this corresponds to


the case that first a viscous fluid is injected and subsequently we inject a much less viscous fluid
(i.e. water with polymers). The transition of the boundary condition with time is sudden. Figure 7
shows saturation profiles for different times using the numerical method. The corresponding profiles
computed using the exact solution are shown in Figure 8. For both Figures we used viscosities μ1 = 2
and μ2 = 1. The injection rate is given by Q(t) = 1. The numerical settings are n = 50 and
Δt = 0.2, i.e. a Courant number of 0.5. The corresponding curves for the exact solution are shown
in Figure 8. Again a good correspondence is observed, see also Figure 9.

17
1

0.9 n = 100

0.8

0.7
n = 200

saturation
0.6
n = 25
0.5

0.4
n = 50
0.3

0.2

0.1

0
50 60 70 80 90 100 110 120 130 140 150
position (m)

Figure 5: Four runs for the same settings but for different time-stepping and number of gridnodes such that all
curves correspond to the same Courant number. The horizontal and vertical axis respectively correspond to the
position in the reservoir and the water saturation.

6000

n = 160

5000
n = 10

4000
Production

3000

water production
oil production

2000

1000

n = 10
n = 10 n = 160
n = 160
0
0 0.5 1 1.5
Time in Years

Figure 6: Production curves for oil and water with linear permeabilities using the numerical method for differ-
ent number of gridnodes. Note the good agreement of the numerical results with those from the explicit solution
in Figure 2. We show the results for n = 10, 40 and 160.

18
1

0.9
t=2 t=6
0.8

0.7
t = 10
saturation (S )
1
0.6

0.5
t = 20
0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12 14 16 18 20
position (x)

Figure 7: Saturation profiles at different times computed using the numerical method.

t=2
0.9 t=6

0.8 t = 10

0.7
saturation (S )

t = 20
1

0.6

0.5

0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12 14 16 18 20
position (x)

Figure 8: Saturation profiles at different times computed using the exact solution.

19
0.9

0.8

0.7

0.6

Saturation (S )
1
0.5

0.4

0.3

0.2

numerical
0.1

analytical
0
0 2 4 6 8 10 12 14 16 18 20
Position (x)

Figure 9: Saturation profiles for the same time (t = 10) and conditions for the numerical (solid curve) and
exact (dashed curve) solution.

6 Conclusions
We presented a numerical method to solve the Buckley–Leverett equation for the saturation in combi-
nation with an elliptic partial differential for the pressure and velocity. The two differential equations
are coupled. The numerical method is based on a higher order upwind discretisation of the saturation
equation and the time integration is done using an explicit trapezium rule. Furthermore, the velocity
and pressure are solved using a mid-point integration rule in the transformed domain. It is shown by
numerical experiment that the method converges for small time-steps and gridnodes.
Furthermore, the results of the method are compared to results obtained from explicit expressions and
the agreement is excellent. Hence, we conclude that the method is consistent and that the results are
reliable.
Acknowledgement: The authors would like to thank dr. ir. C. Vuik for critically reading the
manuscript.

References
[1] S.M.P. Blom. Relative permeability to near-miscible fluids. Thesis. Delft University Press, Delft Univer-
sity of Technology, 1999.
[2] A.D. Gupta, L.W. Lake, G.A. Pope, K. Sepehnoori, and M.J. King. High resolution monotonic schemes
for reservoir fluid flow simulation. In Situ, 15,3:289–317, 1991.
[3] A. Harten. High resolution schemes for hyperbolic conservation laws. Journal of computational physics,
49:357, 1983.
[4] R. Helmig. Multiphase flow and transport processes in the subsurface. 1. Springer, Stuttgart, July 1997.
[5] W. Hundsdorfer and R.A. Trompert. Method of lines and direct discretisation: a comparison for linear
advection. Journal of Applied Numerical Analysis, 13:469–490, 1994.
[6] W.H. Hundsdorfer. Numerical solution of advection-reaction equations. Lecture notes, CWI Amsterdam,
NM-N9603, 1996.

20
[7] B. Koren. A robust upwind discretisation for advection, diffusion and source terms. In: Numerical
methods for Advection-Diffusion problems, (Eds. C.B. Vreugdenhil and B. Koren) Notes on numerical
fluid fluid mechanics 45, 1993.
[8] L.W. Lake. Enhanced oil recovery. Prentance-Hall, Englewood Cliffs, 1989.
[9] R.J. LeVeque. Numerical methods for conservation laws. 2. Birkhäuser Verlag, Zürich, 1992.
[10] H.K. Rhee, R. Aris, and N.R. Amundson. First-order partial differential equations, Theory and applica-
tion of hyperbolic systems of quasi-linear equations. Prentance-Hall, Englewood Cliffs, 1969.
[11] J. Smoller. Shock waves and reaction-diffusion equations. 1. Springer, New York, 1983.
[12] P.K. Sweby. High resolusion schemes using flux-limiters for hyperbolic conservation laws. SIAM J.
Numer. Analysis, 21:995–1011, 1984.
[13] C.J. van Duijn. An introduction to conservation laws: theory and applications to multi-phase flow. Lecture
notes, Delft University of Technology, Faculty of Technical Mathematics and Informatics, 2000.
[14] B. van Leer. Towards the ultimate conservative difference scheme. iii. upstream-centered finite-difference
schemes for ideal compressible flow. Journal of Computational Physics, 23:276–299, 1977.
[15] F.J. Vermolen, J. Bruining, and C.J. van Duijn. Gel placement in porous media. Report at CWI,
MASR9924:1–21, 1999.
[16] F.J. Vermolen, G.J. Pieters, P.L.J. Zitha, and J. Bruining. A mathematical model for preflush in an oil
reservoir using a fully miscible fluid. Report at CWI, MAS-R9929:1–22, 1999.
[17] F.J. Vermolen, G.J.M. Pieters, and J. Bruining. The influence of relative permeability functions on the
oil- and water production. Reports of the department of applied mathematical analysis, 00-07, ISSN
1389-6520, 2000.

21

View publication stats

You might also like