opm-simulators
Opm::GasLiftSingleWell< TypeTag > Class Template Reference
Inheritance diagram for Opm::GasLiftSingleWell< TypeTag >:
Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType > Opm::GasLiftCommon< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >

Public Member Functions

 GasLiftSingleWell (WellInterface< TypeTag > &well, const Simulator &simulator, const SummaryState &summary_state, DeferredLogger &deferred_logger, WellState< Scalar, IndexTraits > &well_state, const GroupState< Scalar > &group_state, GasLiftGroupInfo< Scalar, IndexTraits > &group_info, GLiftSyncGroups &sync_groups, const Parallel::Communication &comm, bool glift_debug)
 
const WellInterfaceGeneric< Scalar, IndexTraits > & getWell () const override
 
- Public Member Functions inherited from Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >
const std::string & name () const
 
std::optional< GradInfo > calcIncOrDecGradient (const GasLiftWellState< GetPropType< TypeTag, Properties::Scalar > > &state, const std::string &gr_name_dont_limit, bool increase, bool debug_output=true) const
 
std::unique_ptr< GasLiftWellState< GetPropType< TypeTag, Properties::Scalar > > > runOptimize (const int iteration_idx)
 
std::pair< GetPropType< TypeTag, Properties::Scalar >, bool > wellTestALQ ()
 

Additional Inherited Members

- Public Types inherited from Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >
using GLiftSyncGroups = std::set< int >
 
using Rate = typename GasLiftGroupInfo< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::Rate
 
using MessageType = typename GasLiftCommon< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >::MessageType
 
- Protected Types inherited from Opm::GasLiftCommon< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >
enum  MessageType
 
- Protected Member Functions inherited from Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >
 GasLiftSingleWellGeneric (DeferredLogger &deferred_logger, WellState< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType > &well_state, const GroupState< GetPropType< TypeTag, Properties::Scalar > > &group_state, const Well &ecl_well, const SummaryState &summary_state, GasLiftGroupInfo< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType > &group_info, const Schedule &schedule, const int report_step_idx, GLiftSyncGroups &sync_groups, const Parallel::Communication &comm, bool glift_debug)
 
bool checkGroupALQrateExceeded (GetPropType< TypeTag, Properties::Scalar > delta_alq, const std::string &gr_name_dont_limit="") const
 
bool checkGroupTotalRateExceeded (GetPropType< TypeTag, Properties::Scalar > delta_alq, GetPropType< TypeTag, Properties::Scalar > delta_gas_rate, const std::string &gr_name_dont_limit="") const
 
std::pair< std::optional< GetPropType< TypeTag, Properties::Scalar > >, bool > addOrSubtractAlqIncrement_ (GetPropType< TypeTag, Properties::Scalar > alq, bool increase) const
 
GetPropType< TypeTag, Properties::ScalarcalcEcoGradient_ (GetPropType< TypeTag, Properties::Scalar > oil_rate, GetPropType< TypeTag, Properties::Scalar > new_oil_rate, GetPropType< TypeTag, Properties::Scalar > gas_rate, GetPropType< TypeTag, Properties::Scalar > new_gas_rate, bool increase) const
 
bool checkALQequal_ (GetPropType< TypeTag, Properties::Scalar > alq1, GetPropType< TypeTag, Properties::Scalar > alq2) const
 
bool checkGroupTargetsViolated (const RatesAndBhp &rates, const RatesAndBhp &new_rates) const
 
bool checkInitialALQmodified_ (GetPropType< TypeTag, Properties::Scalar > alq, GetPropType< TypeTag, Properties::Scalar > initial_alq) const
 
virtual std::optional< GetPropType< TypeTag, Properties::Scalar > > computeBhpAtThpLimit_ (GetPropType< TypeTag, Properties::Scalar > alq, GetPropType< TypeTag, Properties::Scalar > current_bhp, bool debug_output=true) const=0
 
std::pair< std::optional< GetPropType< TypeTag, Properties::Scalar > >, GetPropType< TypeTag, Properties::Scalar > > computeConvergedBhpAtThpLimitByMaybeIncreasingALQ_ () const
 
std::pair< std::optional< RatesAndBhp >, GetPropType< TypeTag, Properties::Scalar > > computeInitialWellRates_ () const
 
std::optional< LimitedRatesAndBhp > computeLimitedWellRatesWithALQ_ (GetPropType< TypeTag, Properties::Scalar > alq, GetPropType< TypeTag, Properties::Scalar > bhp) const
 
virtual RatesAndBhp computeWellRates_ (GetPropType< TypeTag, Properties::Scalar > bhp, bool bhp_is_limited, bool debug_output=true) const=0
 
std::optional< RatesAndBhp > computeWellRatesWithALQ_ (GetPropType< TypeTag, Properties::Scalar > alq, GetPropType< TypeTag, Properties::Scalar > bhp) const
 
void debugCheckNegativeGradient_ (GetPropType< TypeTag, Properties::Scalar > grad, GetPropType< TypeTag, Properties::Scalar > alq, GetPropType< TypeTag, Properties::Scalar > new_alq, GetPropType< TypeTag, Properties::Scalar > oil_rate, GetPropType< TypeTag, Properties::Scalar > new_oil_rate, GetPropType< TypeTag, Properties::Scalar > gas_rate, GetPropType< TypeTag, Properties::Scalar > new_gas_rate, bool increase) const
 
void debugPrintWellStateRates () const
 
void debugShowAlqIncreaseDecreaseCounts_ ()
 
void debugShowBhpAlqTable_ ()
 
void debugShowLimitingTargets_ (const LimitedRatesAndBhp &rates) const
 
void debugShowProducerControlMode () const
 
void debugShowStartIteration_ (GetPropType< TypeTag, Properties::Scalar > alq, bool increase, GetPropType< TypeTag, Properties::Scalar > oil_rate)
 
void debugShowTargets_ ()
 
void displayDebugMessage_ (const std::string &msg) const override
 
void displayWarning_ (const std::string &warning)
 
std::pair< GetPropType< TypeTag, Properties::Scalar >, bool > getBhpWithLimit_ (GetPropType< TypeTag, Properties::Scalar > bhp) const
 
std::pair< GetPropType< TypeTag, Properties::Scalar >, bool > getGasRateWithGroupLimit_ (GetPropType< TypeTag, Properties::Scalar > new_gas_rate, GetPropType< TypeTag, Properties::Scalar > gas_rate, const std::string &gr_name_dont_limit) const
 
std::pair< std::optional< LimitedRatesAndBhp >, GetPropType< TypeTag, Properties::Scalar > > getInitialRatesWithLimit_ () const
 
LimitedRatesAndBhp getLimitedRatesAndBhp_ (const RatesAndBhp &rates) const
 
GetPropType< TypeTag, Properties::ScalargetProductionTarget_ (Rate rate) const
 
GetPropType< TypeTag, Properties::ScalargetRate_ (Rate rate_type, const RatesAndBhp &rates) const
 
std::pair< GetPropType< TypeTag, Properties::Scalar >, std::optional< Rate > > getRateWithLimit_ (Rate rate_type, const RatesAndBhp &rates) const
 
std::tuple< GetPropType< TypeTag, Properties::Scalar >, const std::string *> getRateWithGroupLimit_ (Rate rate_type, const GetPropType< TypeTag, Properties::Scalar > new_rate, const GetPropType< TypeTag, Properties::Scalar > old_rate, const std::string &gr_name_dont_limit) const
 
RatesAndBhp getWellStateRates_ () const
 
bool hasProductionControl_ (Rate rate) const
 
std::pair< LimitedRatesAndBhp, GetPropType< TypeTag, Properties::Scalar > > increaseALQtoPositiveOilRate_ (GetPropType< TypeTag, Properties::Scalar > alq, const LimitedRatesAndBhp &orig_rates) const
 
std::pair< LimitedRatesAndBhp, GetPropType< TypeTag, Properties::Scalar > > increaseALQtoMinALQ_ (GetPropType< TypeTag, Properties::Scalar > alq, const LimitedRatesAndBhp &orig_rates) const
 
void logSuccess_ (GetPropType< TypeTag, Properties::Scalar > alq, const int iteration_idx)
 
std::pair< LimitedRatesAndBhp, GetPropType< TypeTag, Properties::Scalar > > maybeAdjustALQbeforeOptimizeLoop_ (const LimitedRatesAndBhp &rates, GetPropType< TypeTag, Properties::Scalar > alq, bool increase) const
 
std::pair< LimitedRatesAndBhp, GetPropType< TypeTag, Properties::Scalar > > reduceALQtoGroupAlqLimits_ (GetPropType< TypeTag, Properties::Scalar > alq, const LimitedRatesAndBhp &rates) const
 
std::pair< LimitedRatesAndBhp, GetPropType< TypeTag, Properties::Scalar > > reduceALQtoGroupTarget (GetPropType< TypeTag, Properties::Scalar > alq, const LimitedRatesAndBhp &rates) const
 
std::pair< LimitedRatesAndBhp, GetPropType< TypeTag, Properties::Scalar > > reduceALQtoWellTarget_ (GetPropType< TypeTag, Properties::Scalar > alq, const LimitedRatesAndBhp &rates) const
 
std::unique_ptr< GasLiftWellState< GetPropType< TypeTag, Properties::Scalar > > > runOptimize1_ ()
 
std::unique_ptr< GasLiftWellState< GetPropType< TypeTag, Properties::Scalar > > > runOptimize2_ ()
 
std::unique_ptr< GasLiftWellState< GetPropType< TypeTag, Properties::Scalar > > > runOptimizeLoop_ (bool increase)
 
void setAlqMinRate_ (const GasLiftWell &well)
 
std::unique_ptr< GasLiftWellState< GetPropType< TypeTag, Properties::Scalar > > > tryIncreaseLiftGas_ ()
 
std::unique_ptr< GasLiftWellState< GetPropType< TypeTag, Properties::Scalar > > > tryDecreaseLiftGas_ ()
 
void updateGroupRates_ (const LimitedRatesAndBhp &rates, const LimitedRatesAndBhp &new_rates, GetPropType< TypeTag, Properties::Scalar > delta_alq) const
 
LimitedRatesAndBhp updateRatesToGroupLimits_ (const RatesAndBhp &old_rates, const LimitedRatesAndBhp &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, GetPropType< TypeTag, Properties::Scalar > rate, GetPropType< TypeTag, Properties::Scalar > target) const
 
void warnMaxIterationsExceeded_ ()
 
- Protected Member Functions inherited from Opm::GasLiftCommon< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >
 GasLiftCommon (WellState< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType > &well_state, const GroupState< GetPropType< TypeTag, Properties::Scalar > > &group_state, DeferredLogger &deferred_logger, const Parallel::Communication &comm, bool glift_debug)
 
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 inherited from Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >
const Well & ecl_well_
 
const SummaryState & summary_state_
 
GasLiftGroupInfo< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType > & group_info_
 
GLiftSyncGroups & sync_groups_
 
const WellProductionControls controls_
 
GetPropType< TypeTag, Properties::Scalarincrement_
 
GetPropType< TypeTag, Properties::Scalarmax_alq_
 
GetPropType< TypeTag, Properties::Scalarmin_alq_
 
GetPropType< TypeTag, Properties::Scalarorig_alq_
 
GetPropType< TypeTag, Properties::Scalaralpha_w_
 
GetPropType< TypeTag, Properties::Scalaralpha_g_
 
GetPropType< TypeTag, Properties::Scalareco_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_
 
bool debug_abort_if_increase_and_gas_is_limited_
 
- Protected Attributes inherited from Opm::GasLiftCommon< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >
WellState< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType > & well_state_
 
const GroupState< GetPropType< TypeTag, Properties::Scalar > > & group_state_
 
DeferredLoggerdeferred_logger_
 
const Parallel::Communication & comm_
 
bool debug
 
bool debug_output_only_on_rank0
 
- Static Protected Attributes inherited from Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >
static constexpr int Water
 
static constexpr int Oil
 
static constexpr int Gas
 
static constexpr int NUM_PHASES
 
static constexpr GetPropType< TypeTag, Properties::ScalarALQ_EPSILON
 

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