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


About Sensor

The World's Fastest And Most Robust Full-Physics Reservoir Simulator

Sensor 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

Revolutionize 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 other model.


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 pre-processor.

  • Generate unlimited 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 unknowns.

  • 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 choices.

  • These tools are now included in automatic predictive optimization workflows within Pipe-it workflow 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 licenses.

  See the simple examples given on our SensorPx page.

*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.

SENSOR 64 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 more reliability.



Animation courtesy of JOA Oil & Gas BV, from Jewel SuiteTM


System for Efficient Numerical Simulation of Oil Recovery


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 Reservoir Simulator Model Description


Formulations and Solvers

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.



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.


Black Oil PVT

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.


Compositional PVT

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.


Multiple Reservoirs and Multiple PVT

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.


Relative Permeability and Capillary Pressure Treatment

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.



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.


Initialization (Equilibration)

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.


Dual Porosity Systems for Fractured Reservoirs

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.


Coal Bed Methane

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.


Implicit Well Treatment

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.


Platforms (Gathering Centers)

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 little.

A similar feature is the Salinity option, allowing prediction of produced water salinity variation resulting from differing salinities of original and injected water.

 Plot: Tracer fractions of traced component C01



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.


Stable Step Logic

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.

Plot of watercut: effect of stable step control

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.


Dynamic Dimensioning

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.


Active-Block Storage and CPU

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.



2000 - 2022 Coats Engineering, Inc.