SPE8*
Dec. 2018
spe8.dat,
spe8.out 10 x 10 x
4 (0.06 cpu s)
spe8_9pt.dat
spe8_9pt.out 10 x 10 x 4 (0.06 cpu s)
spe8_r1.dat,
spe8_r1.out 50 x 50
x 13 (71.79 cpu s)
spe8_r1_9pt.dat
spe8_r1_9pt.out 50 x 50 x 13
(834.4 cpu s, increased mainly due to requirement for ILU order 1 solver)
spe8_r2.dat,
spe8_r2.out 90 x 90 x 65 (9538 cpu s)
spe8_r1z.dat
spe8_r1z.out 10 x 10 x 8 (1.9 cpu s)
spe8_r1z_upscaled.dat
spe8_r1z_upscaled.out 10 x 10 x
6 (1.5 cpu s)
Sensor
5-pt and 9-pt 10 x 10 x 4 results agree very well. Producers
remain on rate control for the entire run (to a specified maximum producing
gor of 30,000 scf/stb, end times = 2243.1 days 5 pt and 2283.2 days 9 pt) as
reported by all participants. Final bhp values for producers are
2139.9 psia for Well 1 and 2089.3 psia for Well 2 (5 pt) and 2121.2 psia for
Well 1 and 2066.3 psia for Well 2 (9 pt). Gas rates match well, cumulatives
are matched almost exactly
5pt and
9pt results for spe8, 10 x 10 x 4 :
GOR,
PROD1:

GOR, PROD2:

BHP, PROD1:

BHP, PROD2:

Gas Rate, Field:

Gas
Cumulative, Field:

Comparison of effects
of refinement, spe8 vs. spe8_r1 (50x50x13)- some numerical dispersion is evident in
coarse-grid 10 x 10 x 4 results, and cumulatives agree almost exactly.
But the high-perm top layer is not vertically refined.
The refined run takes
slightly less time to hit the field GOR economic limit, 2192.1 days vs.
2243.1 for the coarse grid 5 pt run Final bhp values for
producers are 2318.2 psia for Well 1, 2277.0 psia for Well 2 (vs. 2139.9
psia for Well 1 and 2089.3 psia for Well 2 for coarse grid)..
GOR, PROD1:

GOR, PROD2:

BHP, PROD1:

BHP, PROD2:

Cumgas,
PROD1:

Cumgas,
PROD2:

Despite
some error in gor and bhp, small errors are seen in plots of oil and gas
rates and cumulatives. Gas rates at end of run and all cumulatives match
almost exactly. final HC average pressures in the coarse and refined cases
are 3114 and 3214 psia, respectively.
But, no
vertical refinement has been added to the high-perm top layer where the
injector and producers are completed. In spe8_r2, we areally refine by
a factor of 9 (delx=dely=55.55555) and use 5 ft layers, giving grid
dimensions 90 x 90 x 65.
Comparison of effects of refinement, spe8 vs. spe8_r2 (90x90x65). Vertical
refinement of the high-perm layer has significant effect:
GOR,
PROD1, spe8 vs. spe8_r2 (these differences are reflective of the error in
case spe8 and in published spe8 results, due to neglecting numerical
dispersion resulting from use of the given 10 x 10 x 4 Cartesian grid):

GOR,
PROD2:

Cumgas, PROD1:

Cumgas,
PROD2:

The
effects of gravity on flow through the high-perm layer from injector to
producers is increased, giving earlier injected gas breakthrough and earlier
end of run (hitting max gor). Run spe8_r2, spe8_r1, and spe8 run end
times are 2070 days, 2192.1, and 2243.1 days, respectively. Cumulative gas
production at end of run is about the same as the coarse grid run.
It was
found that adding further areal or vertical refinement to spe8_r2 has no
significant effect on results, so run spe8_r2 accurately represents the
correct fine-scale solution.
Vertical
refinement of the lower perm layers is unnecessary - in run spe8_r1z we
refine spe8 only vertically in the first layer, using 5-5 ft layers in place
of the original single 25 ft. layer, resultng in a 10 x 10 x 8 Cartesian
grid. It reproduces the fine-scale solution spe8_r2 almost exactly:
GOR,
PROD1, spe8 (M1, 10 x 10 x 4) vs. spe8_r2 (M5, 90 x 90 x 65) vs. spe8_r1z
(M7, 10 x 10 x 8):

So, areal
refinement of the original 10 x 10 x 4 grid is sufficient to control
numerical dispersion but the first high-perm layer must be vertically
refined to control it. spe8_r1z (10 x 10 x 8) uses 5 layers in place
of the original top 25 ft layer. We found that using less than 5
layers gives significant error in gas production and runtime, and that
doubling the number of high-perm layers does not significantly increase
accuracy.
We
suspect that the bottom 3 lower perm layers can be combined into a single
layer, to create the coarsest Cartesian grid that sufficiently reproduces
fine-scale results. Run spe8_r1z_upscaled uses Sensor's internal
automatic flow-based upscaling program to create the minimal 10 x 10 x 6
Cartesian upscaled case:
GOR,
PROD1, spe8_r1z (10x10x8, M7) vs. spe8_r1z_upscaled (10x10x6 M10):

GOR,
PROD2, spe8_r1z (M7) vs. spe8_r1z_upscaled (M10);

So, run
spe8_r1z_upscaled has been determined to be the coarsest Cartesian model (10
x 10 x 6) that accurately reproduces fine-scale results for the spe8
problem. Any areal or vertical coarsening causes significant error.
Runtime is 1.48 s (including the internally applied flow-based upscaling
that combines the bottom 3 original layers), and is much higher than for the
original case because of the larger number of smaller gridblocks in the
original high-perm top layer, which was split into 5 layers to accurately
model the effects of gravity on multiphase flow. This cpu time and
model solution should be compared with other Cartesian and flexible grid
model results (including grid construction time). The total time
required to solve this upscaling problem using Sensor including the time
required to determine the fine scale solution is approximately given by the
sum of run times given for all the runs given at the top of this page (a few
hours, mostly in running the finest-grid case spe8_r2).
All
published flexible grid model results for spe8 are correct according to the
given instructions comparing flexible grid results to those for specified
Cartesian (10 x 10 x 4) grids having unknown error (numerical dispersion),
but are incorrect for the given spe8 model problem, because the correct
fine-scale solution was not determined and then matched by proper upscaling
so that upscaled models give correct results, as demonstrated here.
Run spe8_r1z_upscaled uses the coarsest Cartesian grid that we can find
using Sensor that gives accurate results for the spe8 problem. It is
also the fastest accurate case that we can construct, without attempting to
apply local grid refinement to reduce the number of gridblocks and cpu time
while not affecting the solution (as can be attempted in RExcel for Sensor).
In the
spe8 problem statement, an arbitrary gor of 2000 was chosen to represent the
time of injected gas breakthrough. No pre-determined value of gor can
possibly accurately indicate the time of actual injected gas breakthrough
for an oil reservoir. Addition of tracer data to spe8.dat shows that
gas breaks through at both producers (using a criteria of .01% injected gas
fraction produced) at 611.01 days (spe8_gastracer.dat,
spe8_gastracer.out). If we add
nine-point differencing, that breakthrough time becomes 806.19 days for both
wells. That indicates some grid orientation effect but it has very
little effect on production. The breakthrough time is one of the most
sensitive indicators of numerical dispersion, but it is virtually
insignificant since injection has no effect on production at all (all
produced injected gas is insignificant) until about 1300 days, as shown
below in comparison of gas injection and depletion results (with the gas
injector inactive). For depletion, gas rate quickly increases just as in the
gas injection case, but earlier and to a lower maximum, and then both gas
and oil production rates quickly decline to 0 at around 2800 days. In
both cases, oil and gas rates reach their maximum at the time the pressure
constraint becomes active.
Oil
(green) and Gas Rates (red), PROD1, gas injection vs. depletion, 10 x 10 x
4:

GOR, PROD1,
gas injection vs. depletion, 10 x 10 x 4:

*Quandalle,
Phillippe, "Eighth SPE Comparative Solution Project: Gridding Techniques in
Reservoir Simulation', SPE 25263 presented at the 12th SPE Symposium on
Reservoir Simulation held in New Orleans, LA, Feb. 28 - Mar. 3, 1993. |