Loading...
Searching...
No Matches
Opm::GasLiftSingleWell< TypeTag > Class Template Reference
Inheritance diagram for Opm::GasLiftSingleWell< TypeTag >:

## Public Member Functions

| GasLiftSingleWell (const 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 (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)
std::pair< Scalar, bool > | wellTestALQ ()

## Additional Inherited Members

Public Types inherited from Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >
using | GLiftSyncGroups
using | Rate
using | MessageType
Protected Types inherited from Opm::GasLiftCommon< 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< Scalar, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType > &well_state, const GroupState< Scalar > &group_state, const Well &ecl_well, const SummaryState &summary_state, GasLiftGroupInfo< 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 (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 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< LimitedRates > | computeLimitedWellRatesWithALQ_ (Scalar alq) const
virtual BasicRates | computeWellRates_ (Scalar bhp, bool bhp_is_limited, bool debug_output=true) const=0
std::optional< BasicRates > | computeWellRatesWithALQ_ (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 &old_rates, const LimitedRates &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_ ()
Protected Member Functions inherited from Opm::GasLiftCommon< Scalar, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >
| GasLiftCommon (WellState< Scalar, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType > &well_state, const GroupState< 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< Scalar, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType > & | group_info_
GLiftSyncGroups & | sync_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_
bool | debug_abort_if_increase_and_gas_is_limited_
Protected Attributes inherited from Opm::GasLiftCommon< Scalar, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >
WellState< Scalar, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType > & | well_state_
const GroupState< Scalar > & | group_state_
DeferredLogger & | deferred_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 Scalar | ALQ_EPSILON

## Member Function Documentation

## getWell()

template<class TypeTag>

const WellInterfaceGeneric< Scalar, IndexTraits > & Opm::GasLiftSingleWell< TypeTag >::getWell | ( |  | ) | const

inline override virtual

Implements Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::FluidSystem >::IndexTraitsType >.

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

- opm/simulators/wells/GasLiftSingleWell.hpp
- opm/simulators/wells/GasLiftSingleWell_impl.hpp