Professional Documents
Culture Documents
Ama 00 08 2000
Ama 00 08 2000
net/publication/27343782
CITATION READS
1 1,750
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Gert-Jan J M Pieters on 22 September 2014.
REPORT 00-08
ISSN 1389-6520
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∗
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.
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.
∂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 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.
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
∂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.
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.
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,
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
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].
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
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).
∂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 ,
Ωi
! "
xi−1 xi xi+1
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
(Δ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
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.
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 .
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
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.
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
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 .
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 )
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.
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.
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