Implements support for gas lift optimization.

Implements gas lift optimization for a single StandardWell. Support for
gas lift optimization for multi-segment wells, groups of wells and
networks is not implemented yet.

The keywords LIFTOPT, WLIFTOPT, and VFPPROD are used to supply parameters for
the optimization. Also adds support for summary output of liftgas
injection rate via keyword WGLIR.
This commit is contained in:
Håkon Hægland
2020-09-30 10:04:39 +02:00
parent 5f8238915b
commit d707967f58
10 changed files with 1411 additions and 60 deletions

View File

@@ -306,7 +306,7 @@ namespace Opm {
std::vector<double> depth_;
bool initial_step_;
bool report_step_starts_;
bool glift_debug = true;
std::unique_ptr<RateConverterType> rateConverter_;
std::unique_ptr<VFPProperties<VFPInjProperties,VFPProdProperties>> vfp_properties_;
@@ -327,6 +327,14 @@ namespace Opm {
const Schedule& schedule() const
{ return ebosSimulator_.vanguard().schedule(); }
void gliftDebug(
const std::string &msg,
Opm::DeferredLogger& deferred_logger) const;
void gliftDebug(
std::ostringstream &ss,
Opm::DeferredLogger& deferred_logger) const;
// compute the well fluxes and assemble them in to the reservoir equations as source terms
// and in the well equations.
void assemble(const int iterationIdx,