Quick Links


Production Optimization Of Thermodynamically Rigorous Isothermal And Compositional ModelsNormal access

Authors: T.K.S. Ritschel and J.B. Jørgensen
Event name: ECMOR XVI - 16th European Conference on the Mathematics of Oil Recovery
Session: Physical Modelling I
Publication date: 03 September 2018
DOI: 10.3997/2214-4609.201802112
Organisations: EAGE
Language: English
Info: Extended abstract, PDF ( 436.01Kb )
Price: € 20

In this work, we consider algorithms for solving production optimization problems that involve isothermal (constant temperature) and compositional oil production processes. The purpose of production optimization is to compute a long-term production strategy that is economically optimal. We present a thermodynamically rigorous model of isothermal oil production processes. We derive the model from first principles by applying a number of assumptions including the assumption of constant temperature. The model is based on two key principles, namely phase equilibrium and conservation of mass and energy. The conservation equations are expressed as partial differential equations, and we model the phase equilibrium as a VT flash process. It is common to formulate the phase equilibrium conditions in oil reservoir flow models as the fugacities being equal. We describe how to derive that condition from the phase equilibrium conditions from the VT flash problem. The VT flash is an adaption of the second law of thermodynamics, i.e. the entropy of a closed system in equilibrium is maximal, to isothermal systems. The VT flash can therefore be formulated as an inner optimization problem that needs to be solved for each grid cell in the discretized reservoir in the forward simulation of the oil production process. We demonstrate that it is natural to model such isothermal production processes with differential-algebraic equations in a semi-explicit index-1 form. We describe a single-shooting algorithm for solving the production optimization problem efficiently. It is key to the efficiency of such algorithms to compute gradients. For that purpose, we use an adjoint algorithm. We implement the single-shooting algorithm in C/C++ using the open-source software DUNE, the open-source thermodynamic software ThermoLib, and the numerical optimization software KNITRO. Finally, we present a numerical example that involves optimal waterflooding.

Back to the article list