about sensor
why sensor?
who's fastest?
p10 p50 p90
bayes and markov
drainage radius
frac conductivity
tight & fractured
capillary pressure
artificial intelligence
fd vs fe
third party tools
q & a
contact us
Dr. K. H. Coats



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.

2000 - 2022 Coats Engineering, Inc.