SPE3
Nov. 2018
Runs
to determine the correct fine-grid spe3 solution*:
spe3.dat,
spe3.out 9 x 9 x
4
spe3_r1.dat,
spe3_r1.out 27 X 27
X 12
spe3_r2.dat,
spe3_r2.out 81 x 81 x 36
spe3_r3.dat,
spe3_r3.out (incomplete) 27x areal refinement,
9x vertical 243 x 243 x 36
spe3_krift.dat,
spe3_krift.out (see ift values
printed with pressures and saturations every 365 days. search for
'tens ') Interfacial tension has no effect on relperms or Pcgo here.
Note:
refinements are easily made using odd divisions of grid cells in a Cartesian
grid, so that the geometric position of wells remains exactly the same in
all cases, passing through the exact middle of each completed cell.
This is required in order to effectively determine the correct fine-scale
model solution, and it is difficult to impossible when using a corner point
grid.
Depletion runs, with initial pressure set to initial dewpoint pressure:
spe3_dep.dat
spe3_dep.out
10 year depletion, 9 x 9 x 4
spe3_dep_bo.dat
spe3_dep_bo.out
Blackoil conversion, reproduces compositional results almost exactly. The
black oil assumption usually applies to depletions of condensate and
volatile oil reservoirs having uniform initial gas condensate or oil
composition. Converted blackoil tables are printed in the .out file.
spe3_dep3z.dat
spe3_dep3z.out
3x vertical refinement, 9 x 9 x 12, demonstrates more
accurate calculation of fluids in place due to initial gas/water transition
zone.
spe3_deph.dat
spe3_deph.out
homogeneous and isotropic perm = 85 md (volumetric
average of areal perm), approximates heterogeneous case very well.
spe3_deph1.dat
spe3_deph1.out
K=85 md, single cell, good approximation of heterogeneous case
spe3_dep_lowerperm.dat
spe3_dep_lowerperm.out
all perms multiplied by .01, 9 x 9 x 4
spe3_dep_lowerpermh.dat
spe3_dep_lowerpermh.out
homogeneous and isotropic perm K= .85 md, oil recovery
is 5% less and gas recovery 10% less than heterogeneous case.
spe3_dep_lowerpermh1.dat
spe3_dep_lowerpermh1.out
K=.85 md, single cell. large error compared to heterogeneous case.
As we
increase the time of depletion, the reservoir depletes more and the
homogeneous and single cell runs get closer to the heterogeneous case but
still have large error:
spe3_dep_lowerperm_20.dat
spe3_dep_lowerperm20.out
TEND=20 yrs, 9 x 9 x 4
spe3_dep_lowerpermh_20.dat
spe3_dep_lowerpermh_20.out
K=.85
md, TEND=20 yrs
spe3_dep_lowerpermh1_20.dat
spe3_dep_lowerpermh1.out K=.85 md, TEND=20 yrs, single cell
spe3_dep_lowerperm_40.dat
spe3_dep_lowerperm40.out
TEND=40 yrs, 9 x 9 x 4
spe3_dep_lowerpermh_40.dat
spe3_dep_lowerpermh.out
K=.85 md, TEND=40 yrs
spe3_dep_lowerpermh1_40.dat
spe3_dep_lowerpermh1.out K=.85 md, TEND=40 yrs, single cell
Comparisons of spe3_dep (heterogeneous) (M1) and spe3_deph1 (homogeneous) (M2)
single cell depletion results (both wells GINJ and PROD are gas producers
with a rate limit of 6200 mscf/d and a bottomhole pressure limit of 500 psia).
Only GINJ well results are shown:




Because
of high permeability allowing complete depletion of the reservoir in the
time simulated, the single cell model does a good job of predicting oil and
gas rates and recoveries (despite some obvious numerical dispersion compared
to the 9x9x4 case), while water rates have significant error due to
incorrect initial water in place resulting from an initial gas/water
transition zone (compare INITIAL FLUIDS IN PLACE and initial saturation maps
given in the .out files for spe3_dep and spe3_deph1). Note that BHP is
predicted almost exactly, including the time at which both wells transition
from maximum gas rate constraint to minimum BHP constraint. This
(and the match of oil and gas rates) is a testament to the accuracy of
Peaceman's equations for well PI, giving virtually the same bottomhole
pressures as a function of time as the heterogenous model (having very
different wellblock sizes) on the original 9x9x4 grid, which has not
been upscaled and has some significant numerical dispersion in the results.
Comparisons of spe3_dep_lowerperm heterogeneous (M1) and
spe3_dep_lowerpermh1 homogeneous (M2) single cell depletion results (both
wells GINJ and PROD are gas producers with a rate limit of 6200 mscf/d and a
bottomhole pressure limit of 500 psia). Only GINJ well results are shown:




At lower
permeabiity (a factor of 100 less), both the heterogeneous (M1) and single
cell (M2) cases are constrained to minimum bottomhole pressure during the
entire run, but the single-cell model predicts rates and cumulatives that
have severe error compared to the heterogeneous case. As perm
decreases, it becomes impossible to completely deplete the reservoir to some
final constant pressure, which is required for accuracy in single cell
reservoir simulator and material balance models.
* From an SPE Reservoir
Group Discussion, 10/23/2018, "Condensate Banking Near Wellbore Zone":
The solution to any model problem
should converge to the correct fine-grid solution as gridblock size is
decreased, regardless of fluid type, because our assumptions become correct
(like instantaneous local equilibrium) and our numerical approximations
become exact.
Spe3 is a good example of gas
injection into a condensate reservoir. Sensor model results for spe3 using
the specified 9x9x4 grid (areal block dimensions 293x293 ft, 4 layers
30,30,50,50 ft) are 63.4% oil recovery, 70.1% gas recovery, final Pavg 1052,
final oil and gas rates are 96.2 stb/d and 6200 mscf/d. Cpu time is .2 s.
Refining each block by a factor
of 3 in each direction (spe3_r1.dat, 27x27x12, areal blocks 97.8x97.8 ft, 6
layers 10 ft over 6 layers 16.667 ft), results are 61.8% oil recovery, 70.4%
gas recovery, final Pavg 1041, oil and gas rates are 89.1 stb/d and 6200
mscf/d. Cpu time is 46 s.
Further refining by a factor of 3
(spe3_r2.dat , 81x81x36, areal blocks 32.58x32.58 ft, 18 layers 3.333 ft
over 18 layers at 5.5555 ft, results are 60.5% oil recovery, 70.4% gas
recovery, final Pavg 1040 and final oil and gas rates are 84.7 stb/d and
6200 mscf/d. Cpu time is 4 hrs.
One more run (spe3_r3.dat) was
made refining areally by a factor of 3, for areal block dimensions of
10.86x10.86 ft. It is still running now after 2 days, simulating only to
1018.5 days. But comparing output with the previous run shows that oil and
gas cums and rates and average pressure are virtually the same at that time:
TIME(STEP): 1018.5 (
17041) ITNS(CUM): 1( 17048) % REC. OIL (GAS): 23.60 ( 6.40) PAVG
(HC): 3191.2 ( 3190.9)
DXMAX(131,132, 1) 0.000
DSMAX( 59,135, 6) 0.001 DPMAX( 63, 74, 27) -0.0 TSCUTS 0 VOLERR
0.000000 SSAT 0.00001
GRIDBLOCKS:
TOTAL,WATER,HC,3PHASE2125764 021257641895722 HCPV GINJ = 0.200
HCPV WINJ = 0.000 DT = 0.5796E-01
# OF FLOWING WELLS = 2
( 1 PR 0 WI 1 GI) # OF WORKOVERS = 0 FIELD API = 88.10
CPUs= 0.220E+06
SOLVER ITERATIONS (TOTAL /
MAX / # MAX): 408069 / 60 / 1 AVG ITNS/SOLVE = 23.93
QWI
QGI QW QO QG GOR WCUT QGASLIFT
-----------------------------------------------------------------------------------------------
RATES 0.0
4700.0 15.5 621.0 6200.0 9983.9 0.024 0
(STB/D,MSCF/D)
CUMS 0.0
4786.9 16.2 748.7
6314.7 0 (MSTB,MMSCF)
From spe3_r2 at 1018.7 days:
TIME(STEP): 1018.7 (
1944) ITNS(CUM): 1( 1946) % REC. OIL (GAS): 23.63 ( 6.40) PAVG
(HC): 3190.7 ( 3190.3)
DXMAX( 41, 40, 2) 0.000
DSMAX( 58, 58, 30) 0.001 DPMAX( 33, 34, 36) -0.1 TSCUTS 0 VOLERR
0.000000 SSAT 0.00006
GRIDBLOCKS:
TOTAL,WATER,HC,3PHASE 236196 0 236196 211182 HCPV GINJ = 0.200
HCPV WINJ = 0.000 DT = 0.5099
# OF FLOWING WELLS = 2
( 1 PR 0 WI 1 GI) # OF WORKOVERS = 0 FIELD API = 88.08
CPUs= 0.235E+04
SOLVER ITERATIONS (TOTAL /
MAX / # MAX): 44166 / 55 / 0 AVG ITNS/SOLVE = 22.61
QWI
QGI QW QO QG GOR WCUT QGASLIFT
-----------------------------------------------------------------------------------------------
RATES 0.0
4700.0 15.5 630.0 6200.0 9841.1 0.024 0
(STB/D,MSCF/D)
CUMS 0.0
4787.8 15.9 749.8
6315.8 0 (MSTB,MMSCF)
The conclusion is that
spe3_r2.dat gives results very close to the correct fine-scale solution
(except for about a 2% difference in cum water production). I would
demonstrate upscaling of this case to the original 9x9x3 grid (by automatic
pseuodoization in Pipe-it® from
Tieto using our SensorMatch workflow) but the use of
analytical relperm and Pc curves is required for robust upscaling (in
addition to the Cartesian grid). I would then also demonstrate the
sufficiency of the upscaled case for optimizations (that are automated in
Pipe-it®).
Sensor data and output files for
these cases are given at the top of this page.
Most engineers
today fail to determine the fine-grid solution and skip upscaling because of
the use of non-orthogonal grids that aren't upscalable, which has highly
adverse effects on the reliability and usefulness of their models. Correct
results (for any given realization) otherwise require the use of the
fine-grid model. Since runtime is very approximately proportional to the
number of blocks squared, upscaling is critical for effective use of
reservoir modeling and efficient optimizations and predictions, especially
when uncertainties in the input data are considered and probabilistic
treatment is required to determine the optimal values of variables that
maximize probabilistic NPV (for optimizations and predictions) or a
probabilistic mismatch function (for upscaling and history matching) -
probabilistic optimizations require iterative execution of large numbers of
runs representing the uncertainties.
We can change the
problem to use analytical Kr and Pc (or use yours) in order to demonstrate
automatic robust upscaling and the sufficiency of the upscaled case for
predictive optimization to determine the optimal operating conditions that
maximize NPV (automatically using Pipe-it®). Any compositional simulator
(with an integrated or coupled economic model) can be used as the function
evaluator that is executed on each iteration of the optimization, for
deterministic workflows. Automated probabilistic workflows (like those
that we've built in Pipe-it®)
require tools for probabilistic analysis and batch scripting programs like
those that we provide with Sensor. |