Sensor Reservoir Simulator Background
Dr. Keith H. Coats developed Sensor
beginning in 1992 with partial funding from Phillips Petroleum
Company/ConocoPhillips. Dr. Coats continued working on Sensor
until his death in September, 2016.
From the 1970's to early 1990's at
Intercomp/SSI, Dr. Coats developed the widely used Beta 1, Beta 2, IFM,
Therm, PVT, Comp, Comp1, Comp2, Comp3, and Comp4 reservoir models for
black oil, thermal, and single- and dual-porosity compositional
simulation (John R. Wallis developed the ASAP linear solver of Therm).
Sensor is easier to use, faster, and more robust than those earlier
simulators.
Dr. Coats authored numerous papers
related to reservoir simulation. He was an SPE distinguished
lecturer in 1969-1970, and was Program Chairman of the First SPE
Symposium on Reservoir Simulation in 1970. He contributed to the
SPE Distinguished Author Series, JPT, 1982, and to the Reservoir
Simulation Chapter of both Petroleum Engineering Handbooks (H.B. Bradley,
SPE, 1987, and Volume V: Reservoir Engineering and Petrophysics, SPE,
2007). He received the 1984 SPE Lester C. Uren Award for
distinguished achievement in petroleum engineering before age 45.
He was elected to the National Academy of Engineering in 1988, and
received the 1989 SPE Anthony F. Lucas Gold Medal Award "in recognition
of his pioneer work in numerical simulation models for conventional
black oil, gas storage, compositional, thermal, and fractured reservoir
engineering applications; and for his sharing of knowledge through his
publications and teaching." Dr. Coats was selected by Hart's E&P
as one of the "100 Most Influential People of the Petroleum Century" in
March, 2000.
Brian K. Coats has been working in
reservoir simulator development since 1987. He co-authored
VIP-Therm and developed the Nexus well and facility network model while
working for J.S. Nolen & Associates, Western Atlas Software, and
Landmark Graphics Corporation. Brian holds B.S. and M.S. degrees
in chemical engineering from the University of Texas at Austin.
Sensor includes
Impes and Implicit formulations.
Its three linear solvers are reduced bandwidth direct (D4), Orthomin
preconditioned by Nested Factorization, and Orthomin preconditioned by
ILU with red-black and residual constraint options.
[Back]
Any grid type or
combination of grid types may be used with Sensor.
First is the conventional, seven point orthogonal Cartesian xyz grid.
Second is the r-theta-z cylindrical coordinate system.
Third is any grid -e.g. corner-point, refined, unstructured, or
hybrid - for which input values of pore volume, transmissibilities, and
depth are available from a grid package.
Since the matrix is represented in unstructured form in Sensor's linear
solvers, Sensor handles unstructured and other cases with large numbers
of non-standard connections much better than some other models with
structured matrix representations. The nine-point option
can be used in xy planes with the Cartesian grid to reduce grid
orientation effects. The
model handles faults with non-neighbor connections and provides angular
closure in the case of cylindrical coordinates when the angular
increments sum to 360 degrees. See our Q&A p. 2 for more
discussion of refined, unstructured, and hybrid grids.
[Back]
The black oil pvt includes oil in the gas
phase (the rs stb/scf term), and therefore applies to gas
condensate and volatile black oil problems. A foamy oil option of black
oil treats the first portion of released or injected gas saturation as
entrained or emulsified gas which flows with the oleic phase. The black
oil pvt table can be re-entered in Recurrent Data at various times to
reflect changes in surface processing at the time of the re-entry.
Black oil tables can be internally generated from input compositional
descriptions.
[Back]
Sensor uses the
Peng-Robinson and Soave-Redlich-Kwong equations of state (eos), with
optional shift factors and any number of components. Eos
parameters may differ for reservoir and surface separation conditions.
A number of options are provided for automatic simplification of
compositional eos descriptions that can significantly improve run
performance and user productivity. These options make it easy for
the user to determine the required degree of complexity in the fluid
characterization.
In cases where only
depletion is present, with or without water injection, K-values
internally generated from the eos can be used to reduce run cpu times.
In other cases, when using the IMPES formulation, the tracer option can
be used in combination with the K-value option in order to revert to the
more rigorous eos when injected gas tracer fractions are detected.
Surface separation may be performed using a multi-stage flash or using
separator liquid recovery factor tables to simulate both the separator
train and a liquids plant.
Compositional descriptions
can be automatically converted to black oil tables for improved
efficiency in cases in which compositional effects prove not to be
significant. The saturation curve can be extended beyond the
saturation pressure of the original fluid for improved agreement between
compositional and black oil runs.
First contact miscibility
options are available for solvent injection into compositional oil
reservoirs. An option is provided to automatically pseudoize the oil,
along with dispersion control, for maximum accuracy and efficiency.
[Back]
Sensor handles
the case of multiple reservoirs, e.g. stacked reservoirs, where no
transmissibility connects any pair of reservoirs and no well is
completed in more than one reservoir.
This capability can reduce CPU time by a factor of two or more because
different reservoirs do not require the same numbers of Newton or linear
solver iterations.
Any number of pvt
tables, black oil and/or compositional, may be entered. Each grid block
is assigned to one of these tables. All grid blocks in a given
Reservoir must be assigned to compositional pvt tables or to black oil
pvt tables. That is, multiple pvt tables can be used within a Reservoir
but each Reservoir must be uniformly black oil or compositional. There
can be any number of Reservoirs in a simulation. All compositional pvt
types must use the same number and names of components.
[Back]
Two-phase water-oil and gas-oil
relative permeability and capillary pressure tables may be entered for
multiple rock types. These tables are then normalized for use in
the model. Relative permeability endpoints are optionally entered
by gridblock for use in denormalization. Three-phase oil relative permeability is calculated
using Stone's first method as extended by Fayers to treat minimum oil
saturation as a function of Sg. Optionally, Stone's second
method or Baker's Linear Interpolation may be used. Trapped gas
saturation with associated krg hysteresis is included.
Analytical forms of the relative permeabilities and capillary pressures
are also available.
In default mode, Sensor uses Pcwo
and Pcgo
from the normalized saturation tables, with appropriate denormalization
based on gridblock residual saturations. In addition, capillary
pressures can be scaled using the Leverett J-function. A vertical
equilibrium option can also be applied to the capillary pressure curves.
[Back]
Compaction with hysteresis is
represented using input tables giving rock compressibility as a function
of stress and porosity. Optionally, the effects of water weakening
are accounted for by including water saturation parameters in the
compaction tables.
[Back]
Initial reservoir pressure,
saturation, and composition distributions are calculated by
capillary-gravitational equilibrium. Any number of grid
initialization regions may be specified with different pressure, fluid
contacts, and composition vs depth.
[Back]
Sensor can model dual porosity and
dual permeability systems, and also handles mixed unfractured/dual
porosity/dual permeability systems. The number of reservoir layers
is doubled, with the first half representing the matrix and the second
half representing the fractures. Matrix-fracture diffusion can be
modeled for compositional systems. Sensor easily handles fractured
systems in unstructured grids, through specification of approximately
equivalent rectilinear gridblock dimensions and fracture spacings.
[Back]
Sensor can model coal degasification
due to depletion in black oil mode. A trace oil phase represents
the coal, and the defined porosity represents the cleats and fractures.
Black oil pvt data represents the gas properties and adsorption
isotherm. Multiple pvt tables and regions allow simulation of
depletion in reservoirs with mixed coal and sand layers. Sensor
does not have an enhanced coal bed methane model for processes such as
carbon dioxide or nitrogen injection.
[Back]
The implicit well treatment includes
wellbore crossflow, turbulent (non-Darcy) gas flow effects, and tubing
head pressure tables with gaslift for multi-phase flow in the tubing.
Special logic is used in compositional cases to achieve specified target
rates. This increases efficiency by avoiding additional Newton
iterations to converge on specified rate. Options are also
available for SWAG (simultaneous water and gas) injection, WAG
(alternating water and gas) injection cycle control, regional pressure
control, drawdown control, planar sources, and management of new well
drilling through drilling schedule logic.
[Back]
Platform or gathering center logic
allows assignment of target rates and constraints to groups of wells.
Gas can be reinjected, taking into account available produced gas, gas
sales, and fuel loss. Produced gas from one platform can be
transferred for injection on another platform. Allocation of production
targets to the wells can be optimized to maximize instantaneous oil
recovery based on simple well penalty factors. On-times can be
entered for production, water injection, and gas injection.
[Back]
Sensor can calculate tracer fractions
for any number of traced components in Impes mode. This feature is
useful in equity situations as well as in tracking injected water and
gas streams. Traced components can be any of the fluid components,
including water. Tracer calculations increase run cpu times very
little.
A similar feature is the Salinity
option, allowing prediction of produced water salinity variation
resulting from differing salinities of original and injected water.

[Back]
Initialization regions may be
specified for equilibration purposes, and pvt regions may be specified
for variation in fluid characterization. Sensor also provides for
specification of output regions for analysis of results and/or for
pressure control. Sensor provides a variety of output for
analysis, including recurrent printout, end-of-run summaries, and plot
file writes, showing rates and cumulatives of production and injection
for different (output) regions of the grid. Superregions may be
used to group given sets of regions for output or for pressure control.
[Back]
In default mode, Sensor
determines time steps automatically using change-type criteria. In
the Impes case, a stable step option determines time steps using
stability theory. This option ensures smooth results (e.g. gor and
watercut) and eliminates the occasional burden of experimenting with
change criteria to reduce oscillatory or unstable results.

The CFL limit for Impes stability varies
from 1 to 2. See SPE 84924 "Impes Stability: Selection of Stable
Timesteps", by K.H. Coats, SPE Journal, v. 8 no. 2, June 2003.
[Back]
Sensor requires no user
input data related to dimensioning, either for restart runs or for runs
from zero time. The executable scans the data file to determine
all dimensions required. In the restart case, it detects dimension
changes required and, if necessary, redimensions itself differently from
the run which created the restart record.
[Back]
The entire model,
including the linear solvers, is coded using mapping to require storage
and arithmetic only for active blocks. There is no overhead in
storage or cpu for blocks missing due to reservoir geometry.
[Back]