A reservoir simulator may be considered a collection of objects: reservoir nodes, producers, injectors, tubing, surface facilities, and drilling rigs. Each of these objects has attributes (variables that describe their state) and can perform actions (manipulation of attributes) on themselves or upon other objects. Engineers assemble these objects together to form a model of reservoir and surface facilities. Equations that describe the physical processes occurring in the reservoir model define some of the interactions between the objects. Engineers can further refine the interactions between the objects by imposing constraints and objectives on the facilities by well management. The interactions between the objects, goals, constraints, policies, physics and numerics can become quite complex. This paper will describe two approaches to controlling the facilities in a reservoir simulation model.

The first approach allows the engineer to define a set of instructions that tests for conditions and modifies the facilities based on those results. These instructions are translated into computer code, compiled and linked at run-time thereby giving engineers almost complete control over the facility network model. But with this flexibility comes the burden of writing and maintaining the instructions. Three different user interfaces for the well management instructions are described and compared.

The second approach allows the engineer to make use of the facility network objects to specify goals, constraints and strategies for production, injection, and well scheduling without having to develop solution algorithms. This paper will discuss the flexibility of these two object-oriented approaches to well management in reservoir simulation.

You can access this article if you purchase or spend a download.