ρ = ρ = constant: One-Dimensional, One-Phase Reservoir Simulation
ρ = ρ = constant: One-Dimensional, One-Phase Reservoir Simulation
Lecture note 4
Fluid systems
The term single phase applies to any system with only one phase present in the reservoir. In some cases it may also
apply where two phases are present in the reservoir, if one of the phases is immobile, and no mass exchange takes
place between the fluids. This is normally the case where immobile water is present with oil or with gas in the
reservoir. By regarding the immobile water as a fixed part of the pores, it can be accounted for by reducing porosity
and modifying rock compressibility correspondingly.
Normally, in one phase reservoir simulation we would deal with one of the following fluid systems:
Before proceeding to the flow equations, we will briefly define the fluid models for these three systems.
The gas must be single phase in the reservoir, which means that crossing of the dew point line is not permitted in
order to avoid condensate fallout in the pores. Fluid behavior is governed by our Black Oil fluid model, so that
ρ gs constant
ρg = = .
Bg Bg
One phase water, which strictly speaking means that the reservoir pressure is higher than the saturation pressure of
the water in case gas is dissolved in it, has a density described by:
ρ ws constant
ρw = = .
Bw Bw
In order for the oil to be single phase in the reservoir, it must be undersaturated, which means that the reservoir
pressure is higher than the bubble point pressure. In the Black Oil fluid model, oil density is described by:
ρ oS + ρ gS Rso
ρo = .
Bo
For undersaturated oil, is constant, and the oil density may be written:
constant
ρo = .
Bo
General form
Thus, for all three fluid systems, the one phase density may be expressed as:
constant
ρ= ,
B
which is the model we are going to use for the fluid description in the following single phase flow equations.
We have previously derived the continuity equation for a one phase, one-dimensional system of constant cross-
sectional area to be:
∂ ∂
− ( ρu) = (φρ ) .
∂x ∂t
The conservation of momentum for low velocity flow in porous materials is assumed to be described by the semi-
empirical Darcy's equation, which for one dimensional, horizontal flow is:
k ∂P
u=− .
µ ∂x
constant
ρ= ,
B
and substituting the Darcy's equation and the fluid equation into the continuity equation, and including a
source/sink term, we obtain the partial differential equation that describes single phase flow in a one dimensional
porous medium:
∂ ⎛ k ∂P ⎞ ∂ ⎛φ⎞
⎜ ⎟ − q′ = ⎜ ⎟
∂ x ⎝ µ B ∂x ⎠ ∂t ⎝ B⎠
The left hand side of the equation describes fluid flow in the reservoir, and injection/production, while the right
hand side represent storage (compressibilities of rock and fluid). In order to bring the right hand side of the
equation on a form with pressure as a primary variable, we will rearrange the term before proceeding to the
numerical solution.
∂ ⎛ φ ⎞ 1 ∂φ ∂(1 / B)
⎜⎝ ⎟⎠ = +φ
∂t B B ∂t ∂t
We will now make use of the compressibility definition for porosity's dependency of pressure at constant
temperature:
1 dφ
cr = ,
φ dP
or
dφ
= φ cr ,
dP
and the fluid model above:
constant
ρ= ,
B
which implies that:
B = f (P) .
∂ ⎛ k ∂P ⎞ ⎡ c d(1 / B) ⎤ ∂P
⎜ ⎟ − q′ = φ ⎢ r +
∂ x ⎝ µ B ∂x ⎠ ⎣B dP ⎥⎦ ∂t
Recall that the fluid compressibility may be defined in terms of the formation volume factor as:
d(1 / B)
cf = B .
dP
Then, an alternative form of the flow equation is:
∂ ⎛ k ∂P ⎞ φ ∂P φ cT ∂P
⎜ ⎟ − q ′ = ⎡⎣ cr + c f ⎤⎦ =
∂ x ⎝ µ B ∂x ⎠ B ∂t B ∂t
However, normally it is more convenient to use the first form, since fluid compressibility not necessarily is
constant, and since formation volume factor vs. pressure data is standard input to reservoir simulators.
We will now use the discretization formulas derived previously to transform our partial differential equation to
difference form. For convenience, we will now drop the time index for unknown pressures, so that if no time index
is specified, t + Δt is implied.
∂ ⎛ k ∂P ⎞
∂ x ⎜⎝ µ B ∂x ⎟⎠
is of the form:
∂ ⎡ ∂P⎤
f (x) ,
∂ x ⎢⎣ ∂ x ⎥⎦
We shall now define transmissibility as being the coefficient in front of the pressure difference appearing in the
approximation above:
2 ⎛ k ⎞
Txi+1/2 =
Δxi (Δxi+1 + Δxi ) ⎜⎝ µ B ⎟⎠ i+1/2
2 ⎛ k ⎞
Txi−1/2 = .
Δxi (Δxi−1 + Δxi ) ⎜⎝ µ B ⎟⎠ i−1/2
Then, the difference form of the flow term in the partial differential equation becomes:
∂ ⎛ k ∂P⎞
≈ Txi+1/2 (Pi+1 − Pi ) + Txi−1/2 (Pi−1 − Pi ) .
∂ x ⎜⎝ µ B ∂ x ⎟⎠ i
2
= constant ,
Δxi (Δxi+1 + Δxi )
ki+1/2 = k = f (x),
⎛ 1 ⎞ ⎛ 1 ⎞
⎜⎝ µ B ⎟⎠ =⎜ = f (P).
i+1/2
⎝ µ B ⎟⎠
We therefore need to determine the forms of the two latter groups before proceeding to the numerical solution.
Starting with Darcy's equation:
kA ∂P
q=− .
µ B ∂x
1
i i+ 2 i +1
q
1
2 Δxi 1
2 Δxi +1
We will assume that the flow is steady state, i.e. q=constant, and that k is dependent on position. The equation may
be rewritten as:
dx dP
q = −A .
k µB
Permeability
i+1 i+1
dx dP
q∫ = −A ∫
i
k i
µB
The left side may be integrated in parts over the two blocks in our discrete system, each having constant
permeability:
dx q ⎛ Δxi Δxi+1 ⎞
i+1
q∫ = +
i
k 2 ⎜⎝ ki ki+1 ⎟⎠
We may write, defining an average permeability, :
yielding
Δxi + Δxi+1
k=
⎛ Δxi Δxi+1 ⎞
⎜⎝ k + k ⎟⎠
i i+1
which is the harmonic average of the two permeabilities. In terms of our grid block system, we then have the
following expressions for the harmonic averages:
Δxi+1 + Δxi
k = ki+1/2 =
Δxi+1 Δxi
+
ki+1 ki
and
Δxi−1 + Δxi
k = ki−1/2 = .
Δxi−1 Δxi
+
ki−1 ki
i+1
dP
−A ∫
i
µB
1
Replacing the fluid parameters by mobility λ= , and letting be a weak function of pressure, and assuming
µB
the pressure gradient between the block centers to be constant, we find that the weighted average of the blocks'
mobility terms is representative of the average. First, we will define the fluid mobility term as. Then, the average
mobility terms are:
λi+1/2 =
( Δxi+1λi+1 + Δxi λi )
( Δxi+1 + Δxi )
and
λi−1/2 =
( Δxi−1λi−1 + Δxi λi ) .
( Δxi−1 + Δxi )
⎡ c d(1 / B) ⎤ ∂P
φ⎢ r +
⎣B dP ⎥⎦ ∂t
∂P P − Pt
( )i ≈ i i .
∂t Δt
We will now define a storage coefficient as:
φi ⎡ cr d(1 / B) ⎤
Cpi = +
Δt ⎢⎣ B dP ⎥⎦i
⎡ c d(1 / B) ⎤ ∂P
φ⎢ r + ⎥ ≈ Cpi (Pi − Pi t )
⎣ B dP ⎦ ∂t
Thus, the difference form of the single phase flow equation is (for convenience, the approximation sign is hereafter
replaced by an equal sign):
We have previously discussed the two types of boundary conditions we can assign, the pressure specification
(Dirichlet condition) and the rate condition (Neumann condition). For the simple one phase equation that we
considered initially, we assumed these to be specified at either the end of the system and derived corresponding
approximations of the flow term for these grid blocks. However, in reservoir simulation the boundary conditions
normally are no flow boundaries at the end faces of the reservoir, and production/injection wells where either rate
or pressure are specified, located in any of the grid blocks.
No flow boundaries
No flow at the boundaries are assigned by giving the respective transmissibility a zero value at that point. This is
the default condition. For our one-dimensional system, this type of condition would for example be applied to the
two end blocks so that:
Tx1/2 = 0
Tx N +1/2 = 0 .
Production/injection wells
We will now introduce a well term in our difference equation, so that it becomes:
The well rate term will be zero for all blocks that do not have a well in it, and nonzero where there is a well. Since
our equation is formulated on a per volume basis, the flow rate must also be on a per volume basis. It is defined
as positive for production wells and negative for injection wells.
For a constant well rate of at surface conditions, which is the most common well rate specification, the per
volume rate becomes:
Qi
qi′ = .
AΔxi
If the well is specified to have a constant well rate of at reservoir conditions, the per volume rate becomes:
Qi
qi′ = .
Bi AΔxi
For a well producing or injecting at a constant bottom hole pressure, Pbhi , the well rate is computed the following
equation:
where WCi is the the well constant, or the productivity or injectivity index of the well, and the same on a per
volume basis. The well constant may be specified externally, based on productivity or injectivity tests of the well,
or it may be computed from Darcy's equation. If the well is in the middle of the grid block, one may assume radial
flow into the well, with block volume as the drainage volume:
2π ki h
WCi = ,
r
ln( e )
rw
where rw is the wellbore radius, and the drainage radius may theoretically be defined as:
ΔyΔxi
re = .
π
However, in reservoir simulation this formula is normally written as:
re = c ΔyΔxi
Where the value c may vary depending on well location inside the grid block. A commonly used formula is the one
derived by Peaceman:
re = 0.20 ΔyΔxi
For the simple linear case, with a well is at the end of the system, at the left or right faces, the well constant would
be computed from the linear Darcy's equation:
ki A
WCi = .
Δxi / 2
Now we have a set of N equations with N unknowns, which must be solved simultaneously. In deriving the
difference equation we have implicitly assumed that all terms of the equation are evaluated at time . This
assumption applies to the coefficients as well as the pressures on the left side of the equation. However, one may
question the numerical correctness of this since the approximation of the time derivative on the right hand side then
becomes a first order backward difference. If instead the terms were to be evaluated at , the time derivative
would become a second order approximation, central in time, and thus a more accurate approximation. Such a
formulation is known as a Crank-Nicholson formulation. Since the pressure solution of such a formulation often
exhibits oscillatory behavior, it is normally not used in reservoir simulation, and we will therefore not pursue it
further here.
Since the left and right hand side terms of the equation are at time , the coefficients are functions of the
unknown pressure. In the transmissibility terms, both viscosity and formation volume factor are pressure
dependent, and in the storage terms the derivative of the inverse formation volume factor depends on pressure.
Therefore, an obvious procedure would be to iterate on the pressure solution, letting the coefficients lag one
iteration behind and updating them after each iteration until convergence is obtained.
However, in single phase flow the pressure dependency of the coefficients is small, and such iteration is normally
not necessary. For now we will therefore make the approximation that the transmissibilities and the storage
coefficients with sufficient accuracy can be evaluated at the block pressures at the previous time step.
The set of equations may be rewritten on the form:
a1 = 0
ai = T xi −1/ 2 , i = 2,...,N
b1 = −T xi +1/ 2 − Cpi
bN = −T xi −1/ 2 − Cpi
c i = T xi +1 / 2 , i = 1, ...,N − 1
cN = 0
d1 = − 34 αP1 − 2PL
t
In order to account for production and injection, the following modifications would have to be done for grid blocks
having production or injection wells:
In this case, no actual modification has to be made, since is already included in the term. However, after
computing the pressures, the actual bottom hole pressure may be computed from the well equation:
Frequently, we want to specify a wellhead pressure, , instead of a bottomhole pressure in a well, reflecting
conditions of surface equipment. In order to include such a condition in our equation, we need to convert it to a
bottom hole pressure condition. A well bore model is therefore needed to compute pressure drop in the well bore as
function f rate, friction, etc.
Finally, the linear set of equations, including boundary conditions and well rates an pressures, may be solved for
average block pressures using for instance the Gaussian elimination method for the time step in question. We then
update the coefficients and proceed to the next time step.