ABSTRACT
An integral part of any reservoir simulator is the well management program. In prediction mode, this program employs some of the simulator's most complex logic in an attempt to emulate the decision-making process in the field. During predictive well management, constraints are applied at various levels (well, platform, reservoir, trunkline, etc.) and corrective actions (remedies) are taken when a constraint is violated.
The types of constraints applied and the remedial actions taken when a constraint is violated can differ greatly from field to field. The traditional practice has been to customize the predictive well management code for the particular reservoir study at hand. This ultimately results in duplication of code and effort, since no customized well management program is general enough to be applicable to all new reservoir studies undertaken. In addition, later changes in well management strategies for a given field can require coding modifications which are often cumbersome and time-consuming, since they were not part of the original program design.
Our goal was to develop an engineering tool that would give users, for the first time, essentially unlimited flexibility in performing predictive simulation. The code we have developed accomplishes this goal by allowing users essentially to write their own well management strategies by way of input data. The input data can be viewed as a high level programming language with its own special syntax and structure.
An added benefit from our approach is that it allows users to have a better understanding of exactly what the well management program is doing during the simulation, leading to fewer wasted runs and improved interpretation of results.