Revised Understanding of Transferring a Black Oil Model to Compositional
STARS has a preference for polynomial approximations, e.g. the user is encouraged to define K-values by
the coefficients Kv1, Kv5 as described in an earlier blog. This attempt was only partly successful, and I
felt this could be improved. After some consideration I concluded that it would be easier to simply define
the K-values by a table and forget everything about the polynomial coefficients.
The oil phase in the black oil model was defined as dead oil in the sense that pressure would remain above
initial bubble point throughout. The constant Rs (gas resolution factor) was 130 Sm3/Sm3, with bubble
point 200 bars, and Bo at bubble point was 1.4.
Still, when converting the black oil PVT to a compositional description I found it was a great advantage to
first extend the black oil PVT to a complete live oil model with the dead oil part as a subdomain. So the
first task is to make curves of Rs vs. bubble point vs. Bo.
Bo should obviously be unity at SC (1 bar, std. temperature), and pass through the required point
Bo(200 bars) = 1.4. From experience the curve should be slightly convex, but the actual shape is probably
not critical. So ended up with a curve as shown in Figure 1.
2
1.9
1.8
Bo, vol/vol
1.7
1.6
1.5
1.4
1.3
1.2
1.1
1
0
50
100
150
200
250
300
350
Pressure, bars
Figure 1. Live oil primary Bo vs. bubble point pressure
The secondary branches (Bo vs. pressure at dead oil conditions for a given bubble point) were almost
constant, with only a small negative slope.
The Rs vs. bubble point curve was constructed in the same fashion
300
250
Rs, Sm3/Sm3
200
150
100
50
0
0
50
100
150
200
250
300
350
Pressure, bars
Figure 2. Rs vs. bubble point pressure
With these curves as basis could now construct the oil mole fractions x3 according to the formula in the
STARS manual:
(
=
)
(
In this formula the densities o and g, and the Molecular weights Mo and Mg are relatively uncertain,
which means they are parameters which can and will be adjusted later.
For now we used our initial choices:
o = 850 kg/m3, g = 0.8 kg/m3
Mo = 0.06, Mg = 0.035
Using these values, and the Rs(p)-curve above in the formula gave an x3 relationship as shown in Figure 3:
0.3
Oil mole fraction, x3
0.25
0.2
0.15
0.1
0.05
0
0
50
100
150
200
250
300
350
Pressure, bars
Figure 3. Oil mole fraction (x3) vs. pressure
The phase equilibrium data is now easily constructed, as the water and dead oil components dont
vaporize, so y1 = y2 = 0. Then, as y1 + y2 + y3 = 1, y3 = K3x3 = 1, so that K3(pbp) = 1/x3.
70
60
Initial curve
50
K3
40
30
20
10
Adjusted by
matching
0
0
50
100
150
200
Pressure, bars
250
Figure 4. Solution gas K-value (K3) vs. bubble point pressure
300
350
Figure 4 shows the K3-curve obtained from Figure 3 in blue.
This curve was now defined to STARS by the KVTABLE keyword, which has a syntax tuned for
equidistant tables. The input K3-values were as defined in the table:
Pbp (bars)
1
25
50
75
100
125
150
175
200
225
250
275
300
325
350
K3
69.53
32.85
21.07
15.30
11.91
9.70
8.15
7.00
6.13
5.45
4.90
4.46
4.08
3.77
STARS requires you define a table max and min (p_lo, p_hi), and then uses the number of values found to
determine sub-interval lengths. The same goes for temperature variation, but as this model is isothermal,
we just define two identical lines. So the STARS table is input as:
GASLIQKV
** Table limits, p_lo p_hi T_lo T_hi
KVTABLIM 2500 35000 90 91
KVTABLE 'SolGas'
69.53 32.85 21.07 15.3 11.91 9.7 8.14 7.0 6.13 5.45 4.9 4.46 4.41 3.77
69.53 32.85 21.07 15.3 11.91 9.7 8.14 7.0 6.13 5.45 4.9 4.46 4.41 3.77
Running this model gave a GOR (surface gas-oil-ratio) of 60, which is about half of the required 130.
In the formula for x3 the densities are component densities, not phase densities as in a black oil model.
Still, after some experimenting found that using the STARS MASSDEN keyword, the phase densities
worked OK, so stuck with those values throughout. Hence, the primary uncertainties in the formula are the
molecular weights Mo and Mg. Both oil and gas are probably a mixture of pure components, which
means that actual molecular weights are pretty arbitrary, or stated differently, candidates for matching.
(As the K3-curves are based on a formula, I wanted to update the K3-values by adjusting the independent
variables, not directly. Hence, after updating the K3-curve, the molecular weights must also be updated in
the CMM keyword).
(Strange) observation: Did a run where molecular weights were at the original values, but Kvalues were defined as the updated (red) curve. This run produced no oil at all; oil rate was zero
throughout (???)
After some trial and failure, found that molecular weights Mo = 0.04 and Mg = 0.01935, resulting in the red
curve in Figure 4, gave perfect match to GOR, 130 Sm3/Sm3.
Observation: Whatever I later did to other parameters didnt change this GOR-value, which
means that the K-values determine the surface GOR uniquely in a dead-oil setting.
Also did a sensitivity test: As the dead oil GOR is unchanged for all pressures above initial bubble point,
tried to define K3 = constant above bubble point (green extension to red curve in Figure 4). This didnt
have any effect.
5 000
IMEX RC
STARS RC
Oil Rate SC (m3/day)
4 000
STARS SC
3 000
IMEX SC
2 000
1 000
0
2002
2004
2006
2008
Time (Date)
2010
2012
2014
2016
Figure 5. Oil rates (SC and RC) for IMEX and STARS simulations after GOR has been matched
by adjusting K-values. (GOR = 130 for both IMEX and STARS)
Observation: Even though the black oil fluid description was transferred to a compositional description
as faithfully as possible, and we acquired a perfect match on GOR, the production curves for oil rate were
not equal. The standard condition (ST) rate was matched, but not the WBT (water breakthrough time), and
the reservoir condition (RC) rates were quite different which means the RC rate is determined by more
than the K-values. And the most logical candidates are the liquid oil and gas compressibilities (keyword
CP). (Recall from a previous blog that phase compressibility is significantly different from component
compressibility.) As the components are really pseudo-components (mixture of several pure components),
the uncertainty in component compressibility is pretty large. And hence this value is also a free parameter
for matching.
Simulation experiments results:
Reducing CP (oil or gas) results in earlier WBT and increases RC rate.
The gas CP is more sensitive to changes than the oil CP
o Reducing gas CP too much (e.g. one order of magnitude) resulted in very strange
production curves unexpected or unphysical (?), hence the realistic variation of this
parameter is relatively restricted.
5 000
STARS RC
IMEX RC
Oil Rate SC (m3/day)
4 000
3 000
STARS SC
IMEX SC
2 000
1 000
0
2002
2004
2006
2008
Time (Date)
2010
2012
2014
2016
Figure 6. Oil rates (SC and RC) for IMEX and STARS simulations after RC oil rate has been
matched by adjusting oil and gas component compressibility.
As changing CP for oil or gas has the same effect, it proved impossible to find a combination of oil and
gas CP that resulted in both correct WBT and level of RC rate. Hence was content with a combination that
gave an RC rate which matched the IMEX RC rate.
Lastly, component viscosity differs from phase viscosity, giving us a final parameter to play with.
Simulation experiments results:
Increasing oil component viscosity results in slower oil rate descent and somewhat earlier WBT.
So the last exercise in this matching process was to tune the oil viscosity table (rescaled the original table
by a constant factor), and ended up with an almost perfect match IMEX to STARS.
4
3.5
Adjusted by
matching
Oil viscosity
3
2.5
2
1.5
1
Initial curve
(phase viscosity)
0.5
0
0
50
100
150
200
250
300
350
Pressure, bars
Figure 7. Oil component viscosity (cP); initial curve, and after matching
6 000
5 000
Oil Rate SC (m3/day)
RC
4 000
SC
3 000
2 000
1 000
0
2002
2004
2006
2008
Time (Date)
2010
2012
2014
Figure 8. . Oil rates (SC and RC) for IMEX and STARS simulations after WBT and oil rate
decline part has been matched by adjusting oil and gas component viscosity.
2016
6 000
STARS Water
inj. rate
Water Rate SC (m3/day)
5 000
4 000
IMEX Water
inj. rate
IMEX Water
prod rate
3 000
STARS Water
prod rate
2 000
1 000
0
2002
2004
2006
2008
Time (Date)
2010
2012
2014
2016
Figure 9. Water production and injection rates (SC) for IMEX and STARS simulations after
final matching.
Pressure: PRES Average Reservoir Pressure. (kPa)
30 000
STARS
29 500
29 000
IMEX
28 500
28 000
2002
2004
2006
2008
Time (Date)
2010
2012
2014
2016
Figure 10. Average reservoir pressure for IMEX and STARS simulations after final matching.
Summary
Match surface GOR by adjusting molecular weights, implying updating of K-values
Match RC rates by adjusting oil and gas component compressibility
Match shape of oil production during decline by scaling oil viscosity table.