The World's Fastest And Most
Robust Full-Physics Reservoir Simulator
is a generalized 3D numerical model used by engineers to optimize oil and
gas recovery processes through simulation of compositional and black oil
fluid flow in single porosity, dual porosity, and dual permeability
petroleum reservoirs. Sensor reservoir modeling software provides
unparalleled results in terms of speed, accuracy, stability,
reliability, and ease of use. It runs in a fraction of the cpu
time required by other reservoir simulators, for both black oil
and compositional fluid pvt descriptions, enabling unprecedented levels
of detail and accuracy in your studies, and allowing you to make much
better and faster decisions. The Sensor reservoir simulator has
been used in numerous field studies by consultants and by independent,
national, and major integrated oil companies. Sensor is compiled
for use on hardware running Windows 32- and 64-bit operating systems. Integrated interfaces and tools
for static modeling, data preparation, job submission, pre/post
processing and visualization, assisted history matching and
optimization, and complete seismic-to-simulation workflows are offered
by third parties.
History Match Pressure Mismatch Map
From Lynx, courtesy of Nitec LLC
Sensor Run Sets
and optimize the productivity of your hardware by easily setting up
batch files, either manually or automatically within your workflows,
to run an unlimited number of simultaneous sets of sequential serial
SENSOR runs on a single node (computer), using a single node-locked license!
Sensor is two orders of magnitude more cost-effective than any
OR use our new tools for probabilistic
forecasting and optimization- SensorPx, Makespx,
and Makeoptdat, now included with all client installations of
Sensor (sorry, not included with Sensor6k!).
Revolutionize your modeling workflows by
vastly reducing the numbers of unknowns and vastly increasing
reliability by properly accounting for uncertainty in the most
efficient possible manner:
Specify the probability
distributions of all uncertain reservoir/fluid description input
variables (uniform, normal, or lognormal), either directly to
Sensor using its Uncertain Inputs features or to a compatible
numbers of equally probable realizations of the uncertain inputs
from their distributions. In each execution of Sensor
using Uncertain Inputs, a random number generator is used to
populate the unknown variable distributions, resulting in a
different (but reproducible) equally probable realization of the
Use Makespx to generate
scripts to run the realizations in any specified number of
simultaneous sets of serial runs, by far the most
efficient way possible, because it makes full use of the
capabilities of your hardware, and it eliminates the huge
inefficiencies caused by domain decomposition in parallel models
(see our Parallel? page).
For forecasting, use Makespx and SensorPx, to determine and make
the number of runs needed to quantify uncertainty in the results
and make robust probabilistic estimates.
For optimizations, use
Makeoptdat and Makespx to create and run any number of the same
realizations of the unknowns for each of any number of
operational options (such as well locations, completions, and
constraints) in order to probabilistically determine the optimal
These tools are now
included in automatic predictive optimization workflows within
integration and optimization software (Petrostreamz/Tieto):
SensorMatch, SensorCast, SensorPcast, and SensorPOpt, for
automated history matching and upscaling (benefit function is a
mismatch function) and for automatic predictive optimization and
forecasting under uncertainty (benefit function is probabilistic NPV).
The workflows are available at no charge to our clients having
Pipe-it® and Sensor
See the simple
examples given on our SensorPx
*SensorPx and our
automated predictive optimization workflows are
applicable to one- or few-well, prototype, pattern element, and
highly upscaled field cases. Model size and the number of
optimization variables must be minimized, as
large numbers of runs are usually required.
for Windows 64 bit operating systems practically eliminates problem
size limitations in Sensor due to single process addressable memory
restrictions. Now, the capacity, in addition to the computing
speed, of a parallel reservoir model running on
a cluster can be had on your (or a shared) desktop, at a fraction of the cost.
Or, for true parallel efficiency, you can install Sensor on each of
those cluster nodes and run large numbers of simulations up to 30
times faster (miscible up to 200x), with far less complexity and far
Animation courtesy of JOA
Oil & Gas BV, from Jewel SuiteTM
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
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
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.
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.
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.
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
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
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.
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.
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
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.
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
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.
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
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.
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.
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.
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.
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.
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
A similar feature is the Salinity
option, allowing prediction of produced water salinity variation
resulting from differing salinities of original and injected water.
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.
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.
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.
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.