Saturated Oil-Gas Simulation - Impes Solution: o Os GS So o
Saturated Oil-Gas Simulation - Impes Solution: o Os GS So o
Hand-out note 7
The major difference between two-phase oil-water flow and two-phase, saturated oil-gas flow is that the solution
gas terms have to be included in the flow equations. Recall from the previous review of Black Oil PVT behavior
that the oil density at reservoir conditions is defined as:
ρ o S + ρ g SRs o
ρo =
Bo
First of all, for a saturated oil-gas system, the oil pressure is per definition equal to the bubble point pressure, or
saturation pressure:
Po = Pb p
and, in addition,
So ≥ 0.
The implication of these definitions, is that the formation volume factor and the solution gas-oil ratio are
functions of oil pressure only,
Bo = f (Po )
Rs o = f (Po )
Thus, for saturated oil, the solution gas term is no longer constant and will not be canceled out of the oil
equation, as it did in single phase flow and in oil-water flow. We will, for mass balance purposes, separate the oil
density into two parts, one that remains liquid at the surface and one that becomes gas:
ρ o S + ρ g SRs o ρ o S ρ g SRs o
ρo = = + = ρoL + ρ oG
Bo Bo Bo
We will write the oil mass balance so that its continuity equation includes the liquid part only, while the gas mass
balance includes both free gas and solution gas in the reservoir, and thus all free gas at the surface:
∂
− ( ρ u ) = ∂ (φρ oLSo )
∂ x oL o ∂t
−
∂
(
ρ u + ρ oGuo =
∂x g g
∂
∂t
) [(
φ ρ g Sg + ρ oG So . )]
In the gas equation, the solution gas will of course flow with the rest of the oil in the reservoir, at oil relative
permeability, viscosity and pressure.
k kr o ∂Po
uo = −
µo ∂ x
k kr g ∂Pg
ug = − .
µg ∂ x
Substituting Darcy's equations and the liquid oil density and the solution gas density definitions, together with
the standard free gas density definition,
ρg S
ρg =
Bg
into the continuity equations, and including production/injection terms in the equations, results in the following
flow equations for the two phases:
∂ ⎛ k kr o ∂Po ⎞ ∂ ⎛ φS ⎞
⎜ ⎟ − q′o = ⎜ o ⎟
∂ x ⎝ µo Bo ∂ x ⎠ ∂t ⎝ Bo ⎠
and
∂ ⎛ k kr g ∂Pg k k ∂P ⎞ ∂ ⎛ φ Sg φS ⎞
⎜ + Rs o r o o ⎟ − qg′ − Rs oq o′ = ⎜ + Rs o o ⎟ ,
∂ x ⎝ µ g Bg ∂ x µo Bo ∂ x ⎠ ∂t ⎝ Bg Bo ⎠
where
Pcog = Pg − Po
So + Sg = 1 .
Relative permeabilities and capillary pressure are functions of gas saturation, while formation volume factors,
viscosities and porosity are functions of pressures.
Fluid properties are defined by the standard Black Oil model for saturated oil, as we have reviewed previously.
Before proceeding, we shall also review the relative permeabilities and capillary pressure relationships for oil-gas
systems.
Normally, only drainage curves are required in gas-oil systems, since gas displaces oil. However, sometimes
reimbibition of oil into areas previously drained by gas displacement may happen. Reimbibition phenomena may
be particularly important in gravity drainage processes in fractured reservoirs.
Starting with the porous rock completely filled with oil, and displacing by gas, the drainage relative permeability
and capillary pressure curves will be defined:
Pcog
Kr
Drainage
process
gas
So =1 oil
Pdog
So So
Sorg 1-Sgc Sorg 1.0
If the process is reversed when all mobile oil has been displaced, by injecting oil to displace the gas, imbibition
curves are defined as:
Pcog
Kr
Imbibition
process
gas
oil
So =Sor gas
oil
oil
So So
Sorg 1-Sgro Sorg 1-Sgro
The shape of the gas-oil curves will of course depend on the surface tension properties of the system, as well as
on the rock characteristics.
The discretization procedure for oil-gas equations is very much similar to the one for oil-water equations. In fact,
for the oil equation, it is identical, with a small exception for the saturation, which now is for gas and not water.
Thus, the discretized oil equation may be written:
( ) (
= C pooi Poi − Poit + C sgoi Sg i − Sgit , ) i = 1, N
2 λ oi+1 2
Txoi+1 2 =
⎛ Δx Δx ⎞
Δxi ⎜ i+1 + i ⎟
⎝ ki+1 ki ⎠
2 λ oi−1 2
Txoi−1 2 =
⎛ Δx Δx ⎞
Δxi ⎜ i−1 + i ⎟
⎝ ki−1 ki ⎠
where
kro
λo =
µo Bo
φi
Csgoi = −
Boi Δti
For the gas equation, we will partly use similar approximations as for the oil equation, and also introduce new
approximations for the solution gas terms. First,
∂ ⎛ kkrg ∂ Pg kk ∂ Po ⎞ ∂ ⎛ kkrg ∂ Pg ⎞ ∂ ⎛ kk ∂ Po ⎞
⎜ + Rso ro ⎟ = ⎜ ⎟ + ⎜ Rso ro
∂ x ⎝ µ g Bg ∂ x µo Bo ∂ x ⎠ ∂ x ⎝ µ g Bg ∂ x ⎠ ∂ x ⎝ µo Bo ∂ x ⎟⎠
Then, we use similar approximations for the free gas term as we did for oil and for water:
∂ ⎛ kkrg ∂ Pg ⎞
≈ Txgi+1/2 (Pgi+1 − Pgi ) + Txgi−1/2 (Pgi−1 − Pgi )
∂ x ⎜⎝ µ g Bg ∂ x ⎟⎠ i
2 λ gi+1 2
Txgi+1 2 =
⎛ Δx Δx ⎞
Δxi ⎜ i+1 + i ⎟
⎝ ki+1 ki ⎠
2 λ gi−1 2
Txgi−1 2 =
⎛ Δx Δx ⎞
Δxi ⎜ i−1 + i ⎟
⎝ ki−1 ki ⎠
where
krg
λg =
µ g Bg
∂ ⎛ kk ∂ Po ⎞
⎜ Rso ro ≈ ( RsoTxo )i+1/2 (Poi+1 − Poi ) + ( RsoTxo )i−1/2 (Poi−1 − Poi )
∂x⎝ µo Bo ∂ x ⎟⎠ i
For the solution gas-oil ratios, we will again use the upstream principle, just as for the mobilities:
The right hand side of the gas equation consists of a free gas term and a solution gas term:
∂ ⎛ φ Sg φ Rso So ⎞ ∂ ⎛ φ Sg ⎞ ∂ ⎛ φ Rso So ⎞
+ = +
∂ t ⎜⎝ Bg Bo ⎟⎠ ∂ t ⎜⎝ Bg ⎟⎠ ∂ t ⎜⎝ Bo ⎟⎠
Using similar approximations as for water for the free gas term, we may write:
∂ ⎛ φ Rso So ⎞ ∂ ⎛ φ S ⎞ φ S ∂ Rso
⎜ ⎟ = Rso ⎜ o ⎟ + o
∂ t ⎝ Bo ⎠ ∂ t ⎝ Bo ⎠ Bo ∂ t
The first term is identical to the right hand side of the oil equation, multiplied by Rso . Thus,
⎡ ∂ ⎛ φ So ⎞ ⎤
⎢ Rso ⎜ ⎟ ⎥ ≈ Rsoi Cpooi + Rsoi Csgoi
⎣ ∂ t ⎝ Bo ⎠ ⎦i
For the second term, the following approximation may be used:
o i o o i o o i
Then, combining the terms, the approximation of the gas equation becomes:
Txgi+1 2 ⎡⎣( Poi+1 − Poi ) + ( Pcogi+1 − Pcogi ) ⎤⎦ + Txgi−1 2 ⎡⎣( Poi−1 − Poi ) + ( Pcogi−1 − Pcogi ) ⎤⎦ − qgi′
+ ( RsoTxo )i+1 2 ( Poi+1 − Poi ) + ( RsoTxo )i−1 2 ( Poi−1 − Poi ) − ( Rso qo′ )i
where
and
are all computed numerically for each time step based on the input table to the model.
Boundary conditions
The boundary conditions for oil-gas systems are similar to those of oil-water systems. Normally, we inject gas in
a grid block at constant surface rate or at constant bottom hole pressure, and produce oil and gas from a grid
block at constant bottom hole pressure, or at constant surface oil rate. As for oil-water flow, we may sometimes
want to specify constant reservoir voidage rate, where either the rate of injection of gas is to match a specified
rate of oil and gas production at reservoir conditions, so that average reservoir pressure remains constant, or the
reservoir production rate is to match a specified gas injection rate.
Again, as for water injection, a gas rate term is already included in the gas equation. Thus, for a constant surface
gas injection rate of Qgi (negative) in a well in grid block i :
Then, at the end of a time step, after having solved the equations, the bottom hole injection pressure for the well
may be calculated using the well equation:
The well constant in the equation above is defined just as for oil-water flow:
2π ki h
WCi =
r ,
ln( e )
rw
where rw is the well radius and the drainage radius is theoretically defined as:
ΔyΔxi
re = .
π
As for water injection, we will use the sum of the mobilities of the fluids present in the injection block in the well
equation. Thus, the following well equation is used for the injection of gas in an oil-gas system:
⎛ k r o kr g ⎞
Qgi Bgi = WCi ⎜ i + i ⎟ (P gi − P bhi ) ,
⎝ µoi µ gi ⎠
or
⎛B ⎞
Qgi = WCi ⎜ oi λ oi + λ gi ⎟ (Pgi − P bhi )
⎝ Bgi ⎠
If the injection wells are constrained by a maximum bottom hole pressure, to avoid fracturing of the formation, this
should be checked at the end of each time step, and, if necessary, be followed by a reduction of the injection rate, or
by conversion of the well to a constant bottom hole pressure injection well.
Just as for the water injection case, capillary pressure is normally neglected in the well equation, particularly in
the case of field scale simulation, so that the well equation becomes:
⎛B ⎞
Qgi = WCi ⎜ oi λ oi + λ gi ⎟ (Poi − P bhi ) .
⎝ Bgi ⎠
For gas-oil flow, the capillary pressure is normally small, so that even in simulation of cores used in laboratory
experiments, the errors resulting from neglecting capillary pressure in the well equation will be small.
The well equation for injection at constant bottom hole pressure is the same as the one above:
⎛B ⎞
Qgi = WCi ⎜ oi λoi + λ gi ⎟ (Pgi − Pbhi )
⎝ Bgi ⎠
⎛B ⎞
Qgi = WCi ⎜ oi λoi + λ gi ⎟ (Poi − Pbhi ) .
⎝ Bgi ⎠
Again, the terms of the equation must be included in the appropriate coefficients in the pressure solution. At the
end of the time step, the above equation may be used to compute the actual gas injection rate for the step.
For the oil equation, this condition is handled as for the constant water injection rate. Thus, for a constant surface
oil production rate of Qoi (positive) in a well in grid block i :
However, oil production will always be accompanied by solution gas production, and in addition, the well may
produce free gas. The gas equation will thus have gas production terms given by:
′ = qoi′ Rsoi
qgsi (solution gas)
and
λ gi
′ = qoi′
qgfi + λ gi Pcogi (free gas)
λoi
In case the gas-oil capillary pressure is neglected around the production well, the total gas production becomes:
⎛ λ gi ⎞
′ = qgsi
qgti ′ + qgfi
′ = qoi′ ⎜ + Rsoi ⎟ .
⎝ λoi ⎠
At the end of a time step, after having solved the equations, the bottom hole production pressure for the well may
be calculated using the well equation for oil:
As for oil-water systems, production wells in oil-gas systems are normally constrained by a minimum bottom
hole pressure. If this is reached, the well should be converted to a constant bottom hole pressure well.
′
qgti
GOR i = ,
qoi′
which for negligible capillary pressure in the producing grid block reduces to the familiar expression:
λ gi
GOR i = + Rsoi .
λoi
Frequently, well rates are constrained by maximum GOR levels, due to limitations in process equipment. If a
maximum gas-oil ratio level is exceeded for a well, the highest GOR grid block may be shut in, in case more than
one gridblocks are perforated, or the production rate may have to be reduced.
As for the oil-water system, the total production of fluids from a well in block , at reservoir conditions, is to
match the reservoir injection volume so that the reservoir pressure remains approximately constant. Thus,
λoi
qoi′ = (−Qgi Bginj ) / (AΔxi )
λoi Boi + λ gi Bgi
and
λ gi
qgi′ = (−Qgi Bginj ) / (AΔxi ) .
λoi Boi + λ gi Bgi
Rsoi λoi
Rsoi qoi′ = (−Qgi Bginj ) / (AΔxi )
λoi Boi + λ gi Bgi
Using a production well in grid block i with constant bottom hole pressure, Pbhi , as an example, we have an oil
rate of:
Substituting into the flow terms in the flow equations, the oil rate becomes:
WCi
qoi′ = λoi (Poi − Pbhi ) ,
AΔxi
WCi
qgi′ = λ gi (Pgi − Pbhi )
AΔxi
WCi
Rsoi qoi′ = Rsoi λoi (Poi − Pbhi )
AΔxi
Again, the flow rate terms have to be included in the appropriate matrix coefficients when solving for pressures.
At the end of each time step, actual rates are computed by the equations above, and GOR is computed as in the
previous cases.
The procedure for IMPES solution is similar to the oil-water case. Thus, we make the same assumptions in
regard to the coefficients:
Txot ,Txg t
Cpoot ,Cpog t
.
Csgot ,Csgg t
Pcog t
t
Txoi+1/2 ( Poi+1 − Poi ) + Txoi−1/2
t
( Poi−1 − Poi ) − qoi′
= Cpooit ( Poi − Poit ) + Csgoit ( Sgi − Sgit ) , i = 1, N
t
Txgi+1/2 ⎡( Poi+1 − Poi ) + ( Pcogi+1 − Pcogi )t ⎤
⎣ ⎦
+Txgi−1/2
t ⎡( Poi−1 − Poi ) + ( Pcogi−1 − Pcogi )t ⎤ − qgi′
⎣ ⎦
+ ( RsoTxo )i+1/2 ( Poi+1 − Poi ) + ( RsoTxo )i−1/2 ( Poi−1 − Poi ) − ( Rso qo′ )i
t t
{T t
xoi+1/2 + α i ⎡Txgi+1/2
⎣
t
⎦ }
+ ( RsoTxo )i+1/2 ⎤ ( Poi+1 − Poi ) +
t
{T t
xoi−1/2 + α i ⎡Txgi−1/2
⎣
t
+ ( RsoTxo )i−1/2
t
⎤} ( P
⎦
oi−1 − Poi )
+α iTxgi+1/2
t
( Pcogi+1 − Pcogi ) + α iTxgi−1/2
tt
( Pcogi−1 − Pcogi ) t
(
− qoi′ − α i qg′ + Rsot qoi′ = )i
(C t
pooi + α iC t
pogi )( P
oi − Poit ) , i = 1, N
where
α i = −Csgoit / Csggit .
−α T t
i xgi+1/2 (Pcogi+1 − Pcogi ) − α T t t
i xgi−1/2 (Pcogi−1 − Pcogi )t
′ ,
Again, all rate specified well conditions are included in the rate terms qoi qgi′ and Rsoi qoi′ . With the coefficients
involved at old time level, coefficients, these rate terms are already appropriately included in the di term above.
For injection of gas at bottom hole pressure specified well conditions, the following expression applies (again
using the case of neglected capillary pressure as example; however, capillary pressure can easily be included):
t
⎛B ⎞
Qgi = WCi ⎜ oi λoi + λ gi ⎟ (Poi − Pbhi ) .
⎝ Bgi ⎠
In a block with a well of this type, the following matrix coefficients are modified (assuming that there is not a
production well in the injection block):
bi = −Txoi−1/2
t
− Txoi+1/2
t
− Cpooit
⎡ WC ⎛ B ⎞
t
⎤
⎢ λoi + λ gi ⎟ + (Txg + RsoTxo )i−1/2 + (Txg + RsoTxo )i+1/2 + Cpogi ⎥
t t
− αi i
⎜
oi t
⎢ AΔxi ⎝ Bgi ⎠ ⎥
⎣ ⎦
t
WCi ⎛ Boi ⎞
di = −(C t
+ α iC t
)P − α i
t
λ + λ gi ⎟ Pbhi
Δxi ⎜⎝ Bgi
pooi pogi oi oi
⎠
− α iTxgi+1/2
t
(Pcogi+1 − Pcogi )t − α iTxgi−1/2
t
(Pcogi−1 − Pcogi )t
For production at bottom hole pressure specified well conditions, we have the following expressions:
WCi
qoi′ = λoi (Poi − Pbhi ) ,
AΔxi
WCi
qgi′ = λ gi (Pgi − Pbhi )
AΔxi
and
WCi
Rsoi qoi′ = Rsoi λoi (Poi − Pbhi ) .
AΔxi
In a block with a well of this type, the following matrix coefficients are modified:
WCi t
bi = −Txoi−1/2
t
− Txoi+1/2
t
− Cpooit − λoi
AΔxi
⎡ WCi ⎤
( )
Rsoi λoi + λ gi + (Txg + RsoTxo )i−1/2 + (Txg + RsoTxo )i+1/2 + Cpogit ⎥
t t t
− αi ⎢
⎣ AΔxi ⎦
WCi t WCi
( )
t
di = −(Cpooit + α i Cpogit )Poit − λoi Pbhi − α i λ gi + Rso qo′ i Pbhi
Δxi Δxi
− α iTxgi+1/2
t
(Pcogi+1 − Pcogi )t + α iTxgi−1/2
t
(Pcogi−1 − Pcogi )t
As for oil-water, the pressure equation may now be solved for oil pressures by using Gaussian elimination.
Having obtained the oil pressures above, we need to solve for gas saturations using either the oil equation or the
gas equation. In the following we will use the oil equation for this purpose:
t
Txoi+1/2 ( Poi+1 − Poi ) + Txoi−1/2
t
( Poi−1 − Poi ) − qoi′
= Cpooit ( Poi − Poit ) + Csgoit ( Sgi − Sgit ) , i = 1, N
Again, since gas saturation only appears as an unknown in the last term on the right side of the oil equation, we
may solve for it explicitly:
For grid blocks having pressure specified production wells, we make appropriate modifications, as discussed
previously:
1 ⎡ t ⎤
Sg i = Sg ti + t ⎢Txoi +1/ 2 ( P oi+1 − P oi ) + T xoi −1/ 2 ( P oi −1 − P oi ) −
C sgoi ⎣
t WCi
AΔxi
( ) ( )
λtoi Poi − P bhit − Cp o oti Poi − Poit ⎥
⎦
i = 1, N
Having obtained oil pressures and water saturations for a given time step, well rates or bottom hole pressures
may be computed, if needed, from, from the following expression for an injection well:
WCi ⎛ Boi ⎞
′ =
q gi ⎜ λ oi + λ gi ⎟(Poi − P bhi ) ,
AΔxi ⎝ Bgi ⎠
WCi
qoi′ = λ (Po − P bhi ) ,
AΔxi oi i
WCi
′ =
q gi λ (P g − P bhi )
AΔxi gi i
and
WCi
Rs oi q′oi = Rs oi λ oi(Poi − P bhi ) .
AΔxi
′ + Rs oi qoi
qgi ′
GORi = .
′
qoi
Required adjustments in well rates and well pressures, if constrained by upper or lower limits are made at the end
of each time step, before all coefficients are updated and we can proceed to the next time step.
Applicability of the IMPES method for oil-gas systems is fairly much as for oil-water systems. However, since
saturation changes in gas-oil systems generally are more rapid than for oil-water systems, due to the fact that the
gas viscosity is much smaller than for liquids, smaller time step sizes may be required.