Opm::GasLiftSingleWellGeneric< Scalar > Class Template Referenceabstract

#include <GasLiftSingleWellGeneric.hpp>

Inheritance diagram for Opm::GasLiftSingleWellGeneric< Scalar >:
Inheritance graph

Classes

struct  BasicRates
 
struct  GradInfo
 
struct  LimitedRates
 
struct  OptimizeState
 

Public Types

using GLiftSyncGroups = std::set< int >
 
using Rate = typename GasLiftGroupInfo< Scalar >::Rate
 
using MessageType = typename GasLiftCommon< Scalar >::MessageType
 

Public Member Functions

virtual ~GasLiftSingleWellGeneric ()=default
 
const std::string & name () const
 
std::optional< GradInfocalcIncOrDecGradient (Scalar oil_rate, Scalar gas_rate, Scalar water_rate, Scalar alq, const std::string &gr_name_dont_limit, bool increase, bool debug_output=true) const
 
std::unique_ptr< GasLiftWellState< Scalar > > runOptimize (const int iteration_idx)
 
virtual const WellInterfaceGeneric< Scalar > & getWell () const =0
 

Protected Member Functions

 GasLiftSingleWellGeneric (DeferredLogger &deferred_logger, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, const Well &ecl_well, const SummaryState &summary_state, GasLiftGroupInfo< Scalar > &group_info, const PhaseUsage &phase_usage, const Schedule &schedule, const int report_step_idx, GLiftSyncGroups &sync_groups, const Parallel::Communication &comm, bool glift_debug)
 
bool checkGroupALQrateExceeded (Scalar delta_alq, const std::string &gr_name_dont_limit="") const
 
bool checkGroupTotalRateExceeded (Scalar delta_alq, Scalar delta_gas_rate) const
 
std::pair< std::optional< Scalar >, bool > addOrSubtractAlqIncrement_ (Scalar alq, bool increase) const
 
Scalar calcEcoGradient_ (Scalar oil_rate, Scalar new_oil_rate, Scalar gas_rate, Scalar new_gas_rate, bool increase) const
 
bool checkALQequal_ (Scalar alq1, Scalar alq2) const
 
bool checkGroupTargetsViolated (const BasicRates &rates, const BasicRates &new_rates) const
 
bool checkInitialALQmodified_ (Scalar alq, Scalar initial_alq) const
 
virtual bool checkThpControl_ () const =0
 
virtual std::optional< Scalar > computeBhpAtThpLimit_ (Scalar alq, bool debug_output=true) const =0
 
std::pair< std::optional< Scalar >, Scalar > computeConvergedBhpAtThpLimitByMaybeIncreasingALQ_ () const
 
std::pair< std::optional< BasicRates >, Scalar > computeInitialWellRates_ () const
 
std::optional< LimitedRatescomputeLimitedWellRatesWithALQ_ (Scalar alq) const
 
virtual BasicRates computeWellRates_ (Scalar bhp, bool bhp_is_limited, bool debug_output=true) const =0
 
std::optional< BasicRatescomputeWellRatesWithALQ_ (Scalar alq) const
 
void debugCheckNegativeGradient_ (Scalar grad, Scalar alq, Scalar new_alq, Scalar oil_rate, Scalar new_oil_rate, Scalar gas_rate, Scalar new_gas_rate, bool increase) const
 
void debugPrintWellStateRates () const
 
void debugShowAlqIncreaseDecreaseCounts_ ()
 
void debugShowBhpAlqTable_ ()
 
void debugShowLimitingTargets_ (const LimitedRates &rates) const
 
void debugShowProducerControlMode () const
 
void debugShowStartIteration_ (Scalar alq, bool increase, Scalar oil_rate)
 
void debugShowTargets_ ()
 
void displayDebugMessage_ (const std::string &msg) const override
 
void displayWarning_ (const std::string &warning)
 
std::pair< Scalar, bool > getBhpWithLimit_ (Scalar bhp) const
 
std::pair< Scalar, bool > getGasRateWithLimit_ (const BasicRates &rates) const
 
std::pair< Scalar, bool > getGasRateWithGroupLimit_ (Scalar new_gas_rate, Scalar gas_rate, const std::string &gr_name_dont_limit) const
 
std::pair< std::optional< LimitedRates >, Scalar > getInitialRatesWithLimit_ () const
 
LimitedRates getLimitedRatesFromRates_ (const BasicRates &rates) const
 
std::tuple< Scalar, Scalar, bool, bool > getLiquidRateWithGroupLimit_ (const Scalar new_oil_rate, const Scalar oil_rate, const Scalar new_water_rate, const Scalar water_rate, const std::string &gr_name_dont_limit) const
 
std::pair< Scalar, bool > getOilRateWithGroupLimit_ (Scalar new_oil_rate, Scalar oil_rate, const std::string &gr_name_dont_limit) const
 
std::pair< Scalar, bool > getOilRateWithLimit_ (const BasicRates &rates) const
 
std::pair< Scalar, std::optional< Rate > > getOilRateWithLimit2_ (const BasicRates &rates) const
 
Scalar getProductionTarget_ (Rate rate) const
 
Scalar getRate_ (Rate rate_type, const BasicRates &rates) const
 
std::pair< Scalar, std::optional< Rate > > getRateWithLimit_ (Rate rate_type, const BasicRates &rates) const
 
std::tuple< Scalar, const std::string *, Scalar > getRateWithGroupLimit_ (Rate rate_type, const Scalar new_rate, const Scalar old_rate, const std::string &gr_name_dont_limit) const
 
std::pair< Scalar, bool > getWaterRateWithGroupLimit_ (Scalar new_water_rate, Scalar water_rate, const std::string &gr_name_dont_limit) const
 
std::pair< Scalar, bool > getWaterRateWithLimit_ (const BasicRates &rates) const
 
std::pair< Scalar, std::optional< Rate > > getWaterRateWithLimit2_ (const BasicRates &rates) const
 
BasicRates getWellStateRates_ () const
 
bool hasProductionControl_ (Rate rate) const
 
std::pair< LimitedRates, Scalar > increaseALQtoPositiveOilRate_ (Scalar alq, const LimitedRates &orig_rates) const
 
std::pair< LimitedRates, Scalar > increaseALQtoMinALQ_ (Scalar alq, const LimitedRates &orig_rates) const
 
void logSuccess_ (Scalar alq, const int iteration_idx)
 
std::pair< LimitedRates, Scalar > maybeAdjustALQbeforeOptimizeLoop_ (const LimitedRates &rates, Scalar alq, bool increase) const
 
std::pair< LimitedRates, Scalar > reduceALQtoGroupAlqLimits_ (Scalar alq, const LimitedRates &rates) const
 
std::pair< LimitedRates, Scalar > reduceALQtoGroupTarget (Scalar alq, const LimitedRates &rates) const
 
std::pair< LimitedRates, Scalar > reduceALQtoWellTarget_ (Scalar alq, const LimitedRates &rates) const
 
std::unique_ptr< GasLiftWellState< Scalar > > runOptimize1_ ()
 
std::unique_ptr< GasLiftWellState< Scalar > > runOptimize2_ ()
 
std::unique_ptr< GasLiftWellState< Scalar > > runOptimizeLoop_ (bool increase)
 
void setAlqMinRate_ (const GasLiftWell &well)
 
std::unique_ptr< GasLiftWellState< Scalar > > tryIncreaseLiftGas_ ()
 
std::unique_ptr< GasLiftWellState< Scalar > > tryDecreaseLiftGas_ ()
 
void updateGroupRates_ (const LimitedRates &rates, const LimitedRates &new_rates, Scalar delta_alq) const
 
LimitedRates updateRatesToGroupLimits_ (const BasicRates &rates, const LimitedRates &new_rates, const std::string &gr_name="") const
 
void updateWellStateAlqFixedValue_ (const GasLiftWell &well)
 
bool useFixedAlq_ (const GasLiftWell &well)
 
void debugInfoGroupRatesExceedTarget (Rate rate_type, const std::string &gr_name, Scalar rate, Scalar target) const
 
void warnMaxIterationsExceeded_ ()
 
int debugUpdateGlobalCounter_ () const
 
void displayDebugMessageOnRank0_ (const std::string &msg) const
 
void logMessage_ (const std::string &prefix, const std::string &msg, MessageType msg_type=MessageType::INFO) const
 

Protected Attributes

const Well & ecl_well_
 
const SummaryState & summary_state_
 
GasLiftGroupInfo< Scalar > & group_info_
 
const PhaseUsagephase_usage_
 
GLiftSyncGroupssync_groups_
 
const WellProductionControls controls_
 
Scalar increment_
 
Scalar max_alq_
 
Scalar min_alq_
 
Scalar orig_alq_
 
Scalar alpha_w_
 
Scalar alpha_g_
 
Scalar eco_grad_
 
int gas_pos_
 
int oil_pos_
 
int water_pos_
 
int max_iterations_
 
std::string well_name_
 
const GasLiftWell * gl_well_
 
bool optimize_
 
bool debug_limit_increase_decrease_
 
bool debug_abort_if_decrease_and_oil_is_limited_ = false
 
bool debug_abort_if_increase_and_gas_is_limited_ = false
 
WellState< Scalar > & well_state_
 
const GroupState< Scalar > & group_state_
 
DeferredLoggerdeferred_logger_
 
const Parallel::Communicationcomm_
 
bool debug
 
bool debug_output_only_on_rank0 = false
 

Static Protected Attributes

static constexpr int Water = BlackoilPhases::Aqua
 
static constexpr int Oil = BlackoilPhases::Liquid
 
static constexpr int Gas = BlackoilPhases::Vapour
 
static constexpr int NUM_PHASES = 3
 
static constexpr Scalar ALQ_EPSILON = 1e-8
 

Member Typedef Documentation

◆ GLiftSyncGroups

template<class Scalar >
using Opm::GasLiftSingleWellGeneric< Scalar >::GLiftSyncGroups = std::set<int>

◆ MessageType

template<class Scalar >
using Opm::GasLiftSingleWellGeneric< Scalar >::MessageType = typename GasLiftCommon<Scalar>::MessageType

◆ Rate

template<class Scalar >
using Opm::GasLiftSingleWellGeneric< Scalar >::Rate = typename GasLiftGroupInfo<Scalar>::Rate

Constructor & Destructor Documentation

◆ ~GasLiftSingleWellGeneric()

template<class Scalar >
virtual Opm::GasLiftSingleWellGeneric< Scalar >::~GasLiftSingleWellGeneric ( )
virtualdefault

◆ GasLiftSingleWellGeneric()

template<class Scalar >
Opm::GasLiftSingleWellGeneric< Scalar >::GasLiftSingleWellGeneric ( DeferredLogger deferred_logger,
WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
const Well &  ecl_well,
const SummaryState &  summary_state,
GasLiftGroupInfo< Scalar > &  group_info,
const PhaseUsage phase_usage,
const Schedule &  schedule,
const int  report_step_idx,
GLiftSyncGroups sync_groups,
const Parallel::Communication comm,
bool  glift_debug 
)
protected

Member Function Documentation

◆ addOrSubtractAlqIncrement_()

template<class Scalar >
std::pair< std::optional< Scalar >, bool > Opm::GasLiftSingleWellGeneric< Scalar >::addOrSubtractAlqIncrement_ ( Scalar  alq,
bool  increase 
) const
protected

◆ calcEcoGradient_()

template<class Scalar >
Scalar Opm::GasLiftSingleWellGeneric< Scalar >::calcEcoGradient_ ( Scalar  oil_rate,
Scalar  new_oil_rate,
Scalar  gas_rate,
Scalar  new_gas_rate,
bool  increase 
) const
protected

◆ calcIncOrDecGradient()

template<class Scalar >
std::optional< GradInfo > Opm::GasLiftSingleWellGeneric< Scalar >::calcIncOrDecGradient ( Scalar  oil_rate,
Scalar  gas_rate,
Scalar  water_rate,
Scalar  alq,
const std::string &  gr_name_dont_limit,
bool  increase,
bool  debug_output = true 
) const

◆ checkALQequal_()

template<class Scalar >
bool Opm::GasLiftSingleWellGeneric< Scalar >::checkALQequal_ ( Scalar  alq1,
Scalar  alq2 
) const
protected

◆ checkGroupALQrateExceeded()

template<class Scalar >
bool Opm::GasLiftSingleWellGeneric< Scalar >::checkGroupALQrateExceeded ( Scalar  delta_alq,
const std::string &  gr_name_dont_limit = "" 
) const
protected

◆ checkGroupTargetsViolated()

template<class Scalar >
bool Opm::GasLiftSingleWellGeneric< Scalar >::checkGroupTargetsViolated ( const BasicRates rates,
const BasicRates new_rates 
) const
protected

◆ checkGroupTotalRateExceeded()

template<class Scalar >
bool Opm::GasLiftSingleWellGeneric< Scalar >::checkGroupTotalRateExceeded ( Scalar  delta_alq,
Scalar  delta_gas_rate 
) const
protected

◆ checkInitialALQmodified_()

template<class Scalar >
bool Opm::GasLiftSingleWellGeneric< Scalar >::checkInitialALQmodified_ ( Scalar  alq,
Scalar  initial_alq 
) const
protected

◆ checkThpControl_()

template<class Scalar >
virtual bool Opm::GasLiftSingleWellGeneric< Scalar >::checkThpControl_ ( ) const
protectedpure virtual

◆ computeBhpAtThpLimit_()

template<class Scalar >
virtual std::optional< Scalar > Opm::GasLiftSingleWellGeneric< Scalar >::computeBhpAtThpLimit_ ( Scalar  alq,
bool  debug_output = true 
) const
protectedpure virtual

◆ computeConvergedBhpAtThpLimitByMaybeIncreasingALQ_()

template<class Scalar >
std::pair< std::optional< Scalar >, Scalar > Opm::GasLiftSingleWellGeneric< Scalar >::computeConvergedBhpAtThpLimitByMaybeIncreasingALQ_ ( ) const
protected

◆ computeInitialWellRates_()

template<class Scalar >
std::pair< std::optional< BasicRates >, Scalar > Opm::GasLiftSingleWellGeneric< Scalar >::computeInitialWellRates_ ( ) const
protected

◆ computeLimitedWellRatesWithALQ_()

template<class Scalar >
std::optional< LimitedRates > Opm::GasLiftSingleWellGeneric< Scalar >::computeLimitedWellRatesWithALQ_ ( Scalar  alq) const
protected

◆ computeWellRates_()

template<class Scalar >
virtual BasicRates Opm::GasLiftSingleWellGeneric< Scalar >::computeWellRates_ ( Scalar  bhp,
bool  bhp_is_limited,
bool  debug_output = true 
) const
protectedpure virtual

◆ computeWellRatesWithALQ_()

template<class Scalar >
std::optional< BasicRates > Opm::GasLiftSingleWellGeneric< Scalar >::computeWellRatesWithALQ_ ( Scalar  alq) const
protected

◆ debugCheckNegativeGradient_()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::debugCheckNegativeGradient_ ( Scalar  grad,
Scalar  alq,
Scalar  new_alq,
Scalar  oil_rate,
Scalar  new_oil_rate,
Scalar  gas_rate,
Scalar  new_gas_rate,
bool  increase 
) const
protected

◆ debugInfoGroupRatesExceedTarget()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::debugInfoGroupRatesExceedTarget ( Rate  rate_type,
const std::string &  gr_name,
Scalar  rate,
Scalar  target 
) const
protected

◆ debugPrintWellStateRates()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::debugPrintWellStateRates ( ) const
protected

◆ debugShowAlqIncreaseDecreaseCounts_()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::debugShowAlqIncreaseDecreaseCounts_ ( )
protected

◆ debugShowBhpAlqTable_()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::debugShowBhpAlqTable_ ( )
protected

◆ debugShowLimitingTargets_()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::debugShowLimitingTargets_ ( const LimitedRates rates) const
protected

◆ debugShowProducerControlMode()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::debugShowProducerControlMode ( ) const
protected

◆ debugShowStartIteration_()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::debugShowStartIteration_ ( Scalar  alq,
bool  increase,
Scalar  oil_rate 
)
protected

◆ debugShowTargets_()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::debugShowTargets_ ( )
protected

◆ debugUpdateGlobalCounter_()

template<class Scalar >
int Opm::GasLiftCommon< Scalar >::debugUpdateGlobalCounter_ ( ) const
protectedinherited

◆ displayDebugMessage_()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::displayDebugMessage_ ( const std::string &  msg) const
overrideprotectedvirtual

◆ displayDebugMessageOnRank0_()

template<class Scalar >
void Opm::GasLiftCommon< Scalar >::displayDebugMessageOnRank0_ ( const std::string &  msg) const
protectedinherited

◆ displayWarning_()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::displayWarning_ ( const std::string &  warning)
protected

◆ getBhpWithLimit_()

template<class Scalar >
std::pair< Scalar, bool > Opm::GasLiftSingleWellGeneric< Scalar >::getBhpWithLimit_ ( Scalar  bhp) const
protected

◆ getGasRateWithGroupLimit_()

template<class Scalar >
std::pair< Scalar, bool > Opm::GasLiftSingleWellGeneric< Scalar >::getGasRateWithGroupLimit_ ( Scalar  new_gas_rate,
Scalar  gas_rate,
const std::string &  gr_name_dont_limit 
) const
protected

◆ getGasRateWithLimit_()

template<class Scalar >
std::pair< Scalar, bool > Opm::GasLiftSingleWellGeneric< Scalar >::getGasRateWithLimit_ ( const BasicRates rates) const
protected

◆ getInitialRatesWithLimit_()

template<class Scalar >
std::pair< std::optional< LimitedRates >, Scalar > Opm::GasLiftSingleWellGeneric< Scalar >::getInitialRatesWithLimit_ ( ) const
protected

◆ getLimitedRatesFromRates_()

template<class Scalar >
LimitedRates Opm::GasLiftSingleWellGeneric< Scalar >::getLimitedRatesFromRates_ ( const BasicRates rates) const
protected

◆ getLiquidRateWithGroupLimit_()

template<class Scalar >
std::tuple< Scalar, Scalar, bool, bool > Opm::GasLiftSingleWellGeneric< Scalar >::getLiquidRateWithGroupLimit_ ( const Scalar  new_oil_rate,
const Scalar  oil_rate,
const Scalar  new_water_rate,
const Scalar  water_rate,
const std::string &  gr_name_dont_limit 
) const
protected

◆ getOilRateWithGroupLimit_()

template<class Scalar >
std::pair< Scalar, bool > Opm::GasLiftSingleWellGeneric< Scalar >::getOilRateWithGroupLimit_ ( Scalar  new_oil_rate,
Scalar  oil_rate,
const std::string &  gr_name_dont_limit 
) const
protected

◆ getOilRateWithLimit2_()

template<class Scalar >
std::pair< Scalar, std::optional< Rate > > Opm::GasLiftSingleWellGeneric< Scalar >::getOilRateWithLimit2_ ( const BasicRates rates) const
protected

◆ getOilRateWithLimit_()

template<class Scalar >
std::pair< Scalar, bool > Opm::GasLiftSingleWellGeneric< Scalar >::getOilRateWithLimit_ ( const BasicRates rates) const
protected

◆ getProductionTarget_()

template<class Scalar >
Scalar Opm::GasLiftSingleWellGeneric< Scalar >::getProductionTarget_ ( Rate  rate) const
protected

◆ getRate_()

template<class Scalar >
Scalar Opm::GasLiftSingleWellGeneric< Scalar >::getRate_ ( Rate  rate_type,
const BasicRates rates 
) const
protected

◆ getRateWithGroupLimit_()

template<class Scalar >
std::tuple< Scalar, const std::string *, Scalar > Opm::GasLiftSingleWellGeneric< Scalar >::getRateWithGroupLimit_ ( Rate  rate_type,
const Scalar  new_rate,
const Scalar  old_rate,
const std::string &  gr_name_dont_limit 
) const
protected

◆ getRateWithLimit_()

template<class Scalar >
std::pair< Scalar, std::optional< Rate > > Opm::GasLiftSingleWellGeneric< Scalar >::getRateWithLimit_ ( Rate  rate_type,
const BasicRates rates 
) const
protected

◆ getWaterRateWithGroupLimit_()

template<class Scalar >
std::pair< Scalar, bool > Opm::GasLiftSingleWellGeneric< Scalar >::getWaterRateWithGroupLimit_ ( Scalar  new_water_rate,
Scalar  water_rate,
const std::string &  gr_name_dont_limit 
) const
protected

◆ getWaterRateWithLimit2_()

template<class Scalar >
std::pair< Scalar, std::optional< Rate > > Opm::GasLiftSingleWellGeneric< Scalar >::getWaterRateWithLimit2_ ( const BasicRates rates) const
protected

◆ getWaterRateWithLimit_()

template<class Scalar >
std::pair< Scalar, bool > Opm::GasLiftSingleWellGeneric< Scalar >::getWaterRateWithLimit_ ( const BasicRates rates) const
protected

◆ getWell()

template<class Scalar >
virtual const WellInterfaceGeneric< Scalar > & Opm::GasLiftSingleWellGeneric< Scalar >::getWell ( ) const
pure virtual

◆ getWellStateRates_()

template<class Scalar >
BasicRates Opm::GasLiftSingleWellGeneric< Scalar >::getWellStateRates_ ( ) const
protected

◆ hasProductionControl_()

template<class Scalar >
bool Opm::GasLiftSingleWellGeneric< Scalar >::hasProductionControl_ ( Rate  rate) const
protected

◆ increaseALQtoMinALQ_()

template<class Scalar >
std::pair< LimitedRates, Scalar > Opm::GasLiftSingleWellGeneric< Scalar >::increaseALQtoMinALQ_ ( Scalar  alq,
const LimitedRates orig_rates 
) const
protected

◆ increaseALQtoPositiveOilRate_()

template<class Scalar >
std::pair< LimitedRates, Scalar > Opm::GasLiftSingleWellGeneric< Scalar >::increaseALQtoPositiveOilRate_ ( Scalar  alq,
const LimitedRates orig_rates 
) const
protected

◆ logMessage_()

template<class Scalar >
void Opm::GasLiftCommon< Scalar >::logMessage_ ( const std::string &  prefix,
const std::string &  msg,
MessageType  msg_type = MessageType::INFO 
) const
protectedinherited

◆ logSuccess_()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::logSuccess_ ( Scalar  alq,
const int  iteration_idx 
)
protected

◆ maybeAdjustALQbeforeOptimizeLoop_()

template<class Scalar >
std::pair< LimitedRates, Scalar > Opm::GasLiftSingleWellGeneric< Scalar >::maybeAdjustALQbeforeOptimizeLoop_ ( const LimitedRates rates,
Scalar  alq,
bool  increase 
) const
protected

◆ name()

template<class Scalar >
const std::string & Opm::GasLiftSingleWellGeneric< Scalar >::name ( ) const
inline

◆ reduceALQtoGroupAlqLimits_()

template<class Scalar >
std::pair< LimitedRates, Scalar > Opm::GasLiftSingleWellGeneric< Scalar >::reduceALQtoGroupAlqLimits_ ( Scalar  alq,
const LimitedRates rates 
) const
protected

◆ reduceALQtoGroupTarget()

template<class Scalar >
std::pair< LimitedRates, Scalar > Opm::GasLiftSingleWellGeneric< Scalar >::reduceALQtoGroupTarget ( Scalar  alq,
const LimitedRates rates 
) const
protected

◆ reduceALQtoWellTarget_()

template<class Scalar >
std::pair< LimitedRates, Scalar > Opm::GasLiftSingleWellGeneric< Scalar >::reduceALQtoWellTarget_ ( Scalar  alq,
const LimitedRates rates 
) const
protected

◆ runOptimize()

template<class Scalar >
std::unique_ptr< GasLiftWellState< Scalar > > Opm::GasLiftSingleWellGeneric< Scalar >::runOptimize ( const int  iteration_idx)

◆ runOptimize1_()

template<class Scalar >
std::unique_ptr< GasLiftWellState< Scalar > > Opm::GasLiftSingleWellGeneric< Scalar >::runOptimize1_ ( )
protected

◆ runOptimize2_()

template<class Scalar >
std::unique_ptr< GasLiftWellState< Scalar > > Opm::GasLiftSingleWellGeneric< Scalar >::runOptimize2_ ( )
protected

◆ runOptimizeLoop_()

template<class Scalar >
std::unique_ptr< GasLiftWellState< Scalar > > Opm::GasLiftSingleWellGeneric< Scalar >::runOptimizeLoop_ ( bool  increase)
protected

◆ setAlqMinRate_()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::setAlqMinRate_ ( const GasLiftWell &  well)
protected

◆ tryDecreaseLiftGas_()

template<class Scalar >
std::unique_ptr< GasLiftWellState< Scalar > > Opm::GasLiftSingleWellGeneric< Scalar >::tryDecreaseLiftGas_ ( )
protected

◆ tryIncreaseLiftGas_()

template<class Scalar >
std::unique_ptr< GasLiftWellState< Scalar > > Opm::GasLiftSingleWellGeneric< Scalar >::tryIncreaseLiftGas_ ( )
protected

◆ updateGroupRates_()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::updateGroupRates_ ( const LimitedRates rates,
const LimitedRates new_rates,
Scalar  delta_alq 
) const
protected

◆ updateRatesToGroupLimits_()

template<class Scalar >
LimitedRates Opm::GasLiftSingleWellGeneric< Scalar >::updateRatesToGroupLimits_ ( const BasicRates rates,
const LimitedRates new_rates,
const std::string &  gr_name = "" 
) const
protected

◆ updateWellStateAlqFixedValue_()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::updateWellStateAlqFixedValue_ ( const GasLiftWell &  well)
protected

◆ useFixedAlq_()

template<class Scalar >
bool Opm::GasLiftSingleWellGeneric< Scalar >::useFixedAlq_ ( const GasLiftWell &  well)
protected

◆ warnMaxIterationsExceeded_()

template<class Scalar >
void Opm::GasLiftSingleWellGeneric< Scalar >::warnMaxIterationsExceeded_ ( )
protected

Member Data Documentation

◆ alpha_g_

template<class Scalar >
Scalar Opm::GasLiftSingleWellGeneric< Scalar >::alpha_g_
protected

◆ alpha_w_

template<class Scalar >
Scalar Opm::GasLiftSingleWellGeneric< Scalar >::alpha_w_
protected

◆ ALQ_EPSILON

template<class Scalar >
constexpr Scalar Opm::GasLiftSingleWellGeneric< Scalar >::ALQ_EPSILON = 1e-8
staticconstexprprotected

◆ comm_

template<class Scalar >
const Parallel::Communication& Opm::GasLiftCommon< Scalar >::comm_
protectedinherited

◆ controls_

template<class Scalar >
const WellProductionControls Opm::GasLiftSingleWellGeneric< Scalar >::controls_
protected

◆ debug

template<class Scalar >
bool Opm::GasLiftCommon< Scalar >::debug
protectedinherited

◆ debug_abort_if_decrease_and_oil_is_limited_

template<class Scalar >
bool Opm::GasLiftSingleWellGeneric< Scalar >::debug_abort_if_decrease_and_oil_is_limited_ = false
protected

◆ debug_abort_if_increase_and_gas_is_limited_

template<class Scalar >
bool Opm::GasLiftSingleWellGeneric< Scalar >::debug_abort_if_increase_and_gas_is_limited_ = false
protected

◆ debug_limit_increase_decrease_

template<class Scalar >
bool Opm::GasLiftSingleWellGeneric< Scalar >::debug_limit_increase_decrease_
protected

◆ debug_output_only_on_rank0

template<class Scalar >
bool Opm::GasLiftCommon< Scalar >::debug_output_only_on_rank0 = false
protectedinherited

◆ deferred_logger_

template<class Scalar >
DeferredLogger& Opm::GasLiftCommon< Scalar >::deferred_logger_
protectedinherited

◆ ecl_well_

template<class Scalar >
const Well& Opm::GasLiftSingleWellGeneric< Scalar >::ecl_well_
protected

◆ eco_grad_

template<class Scalar >
Scalar Opm::GasLiftSingleWellGeneric< Scalar >::eco_grad_
protected

◆ Gas

template<class Scalar >
constexpr int Opm::GasLiftSingleWellGeneric< Scalar >::Gas = BlackoilPhases::Vapour
staticconstexprprotected

◆ gas_pos_

template<class Scalar >
int Opm::GasLiftSingleWellGeneric< Scalar >::gas_pos_
protected

◆ gl_well_

template<class Scalar >
const GasLiftWell* Opm::GasLiftSingleWellGeneric< Scalar >::gl_well_
protected

◆ group_info_

template<class Scalar >
GasLiftGroupInfo<Scalar>& Opm::GasLiftSingleWellGeneric< Scalar >::group_info_
protected

◆ group_state_

template<class Scalar >
const GroupState<Scalar>& Opm::GasLiftCommon< Scalar >::group_state_
protectedinherited

◆ increment_

template<class Scalar >
Scalar Opm::GasLiftSingleWellGeneric< Scalar >::increment_
protected

◆ max_alq_

template<class Scalar >
Scalar Opm::GasLiftSingleWellGeneric< Scalar >::max_alq_
protected

◆ max_iterations_

template<class Scalar >
int Opm::GasLiftSingleWellGeneric< Scalar >::max_iterations_
protected

◆ min_alq_

template<class Scalar >
Scalar Opm::GasLiftSingleWellGeneric< Scalar >::min_alq_
protected

◆ NUM_PHASES

template<class Scalar >
constexpr int Opm::GasLiftSingleWellGeneric< Scalar >::NUM_PHASES = 3
staticconstexprprotected

◆ Oil

template<class Scalar >
constexpr int Opm::GasLiftSingleWellGeneric< Scalar >::Oil = BlackoilPhases::Liquid
staticconstexprprotected

◆ oil_pos_

template<class Scalar >
int Opm::GasLiftSingleWellGeneric< Scalar >::oil_pos_
protected

◆ optimize_

template<class Scalar >
bool Opm::GasLiftSingleWellGeneric< Scalar >::optimize_
protected

◆ orig_alq_

template<class Scalar >
Scalar Opm::GasLiftSingleWellGeneric< Scalar >::orig_alq_
protected

◆ phase_usage_

template<class Scalar >
const PhaseUsage& Opm::GasLiftSingleWellGeneric< Scalar >::phase_usage_
protected

◆ summary_state_

template<class Scalar >
const SummaryState& Opm::GasLiftSingleWellGeneric< Scalar >::summary_state_
protected

◆ sync_groups_

template<class Scalar >
GLiftSyncGroups& Opm::GasLiftSingleWellGeneric< Scalar >::sync_groups_
protected

◆ Water

template<class Scalar >
constexpr int Opm::GasLiftSingleWellGeneric< Scalar >::Water = BlackoilPhases::Aqua
staticconstexprprotected

◆ water_pos_

template<class Scalar >
int Opm::GasLiftSingleWellGeneric< Scalar >::water_pos_
protected

◆ well_name_

template<class Scalar >
std::string Opm::GasLiftSingleWellGeneric< Scalar >::well_name_
protected

◆ well_state_

template<class Scalar >
WellState<Scalar>& Opm::GasLiftCommon< Scalar >::well_state_
protectedinherited

The documentation for this class was generated from the following files: