#include <GasLiftSingleWell.hpp>
|
| GasLiftSingleWell (const WellInterface< TypeTag > &well, const Simulator &simulator, const SummaryState &summary_state, DeferredLogger &deferred_logger, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, GasLiftGroupInfo< Scalar > &group_info, GLiftSyncGroups &sync_groups, const Parallel::Communication &comm, bool glift_debug) |
|
const WellInterfaceGeneric< Scalar > & | getWell () const override |
|
const std::string & | name () const |
|
std::optional< GradInfo > | calcIncOrDecGradient (GetPropType< TypeTag, Properties::Scalar > oil_rate, GetPropType< TypeTag, Properties::Scalar > gas_rate, GetPropType< TypeTag, Properties::Scalar > water_rate, GetPropType< TypeTag, Properties::Scalar > alq, 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) |
|
|
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::pair< std::optional< GetPropType< TypeTag, Properties::Scalar > >, bool > | addOrSubtractAlqIncrement_ (GetPropType< TypeTag, Properties::Scalar > alq, bool increase) const |
|
GetPropType< TypeTag, Properties::Scalar > | calcEcoGradient_ (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 BasicRates &rates, const BasicRates &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, bool debug_output=true) const=0 |
|
std::pair< std::optional< GetPropType< TypeTag, Properties::Scalar > >, GetPropType< TypeTag, Properties::Scalar > > | computeConvergedBhpAtThpLimitByMaybeIncreasingALQ_ () const |
|
std::pair< std::optional< BasicRates >, GetPropType< TypeTag, Properties::Scalar > > | computeInitialWellRates_ () const |
|
std::optional< LimitedRates > | computeLimitedWellRatesWithALQ_ (GetPropType< TypeTag, Properties::Scalar > alq) const |
|
virtual BasicRates | computeWellRates_ (GetPropType< TypeTag, Properties::Scalar > bhp, bool bhp_is_limited, bool debug_output=true) const=0 |
|
std::optional< BasicRates > | computeWellRatesWithALQ_ (GetPropType< TypeTag, Properties::Scalar > alq) 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 LimitedRates &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 > | getGasRateWithLimit_ (const BasicRates &rates) 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< LimitedRates >, GetPropType< TypeTag, Properties::Scalar > > | getInitialRatesWithLimit_ () const |
|
LimitedRates | getLimitedRatesFromRates_ (const BasicRates &rates) const |
|
std::tuple< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::Scalar >, bool, bool > | getLiquidRateWithGroupLimit_ (const GetPropType< TypeTag, Properties::Scalar > new_oil_rate, const GetPropType< TypeTag, Properties::Scalar > oil_rate, const GetPropType< TypeTag, Properties::Scalar > new_water_rate, const GetPropType< TypeTag, Properties::Scalar > water_rate, const std::string &gr_name_dont_limit) const |
|
std::pair< GetPropType< TypeTag, Properties::Scalar >, bool > | getOilRateWithGroupLimit_ (GetPropType< TypeTag, Properties::Scalar > new_oil_rate, GetPropType< TypeTag, Properties::Scalar > oil_rate, const std::string &gr_name_dont_limit) const |
|
std::pair< GetPropType< TypeTag, Properties::Scalar >, bool > | getOilRateWithLimit_ (const BasicRates &rates) const |
|
std::pair< GetPropType< TypeTag, Properties::Scalar >, std::optional< Rate > > | getOilRateWithLimit2_ (const BasicRates &rates) const |
|
GetPropType< TypeTag, Properties::Scalar > | getProductionTarget_ (Rate rate) const |
|
GetPropType< TypeTag, Properties::Scalar > | getRate_ (Rate rate_type, const BasicRates &rates) const |
|
std::pair< GetPropType< TypeTag, Properties::Scalar >, std::optional< Rate > > | getRateWithLimit_ (Rate rate_type, const BasicRates &rates) const |
|
std::tuple< GetPropType< TypeTag, Properties::Scalar >, const std::string *, GetPropType< TypeTag, Properties::Scalar > > | 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 |
|
std::pair< GetPropType< TypeTag, Properties::Scalar >, bool > | getWaterRateWithGroupLimit_ (GetPropType< TypeTag, Properties::Scalar > new_water_rate, GetPropType< TypeTag, Properties::Scalar > water_rate, const std::string &gr_name_dont_limit) const |
|
std::pair< GetPropType< TypeTag, Properties::Scalar >, bool > | getWaterRateWithLimit_ (const BasicRates &rates) const |
|
std::pair< GetPropType< TypeTag, Properties::Scalar >, std::optional< Rate > > | getWaterRateWithLimit2_ (const BasicRates &rates) const |
|
BasicRates | getWellStateRates_ () const |
|
bool | hasProductionControl_ (Rate rate) const |
|
std::pair< LimitedRates, GetPropType< TypeTag, Properties::Scalar > > | increaseALQtoPositiveOilRate_ (GetPropType< TypeTag, Properties::Scalar > alq, const LimitedRates &orig_rates) const |
|
std::pair< LimitedRates, GetPropType< TypeTag, Properties::Scalar > > | increaseALQtoMinALQ_ (GetPropType< TypeTag, Properties::Scalar > alq, const LimitedRates &orig_rates) const |
|
void | logSuccess_ (GetPropType< TypeTag, Properties::Scalar > alq, const int iteration_idx) |
|
std::pair< LimitedRates, GetPropType< TypeTag, Properties::Scalar > > | maybeAdjustALQbeforeOptimizeLoop_ (const LimitedRates &rates, GetPropType< TypeTag, Properties::Scalar > alq, bool increase) const |
|
std::pair< LimitedRates, GetPropType< TypeTag, Properties::Scalar > > | reduceALQtoGroupAlqLimits_ (GetPropType< TypeTag, Properties::Scalar > alq, const LimitedRates &rates) const |
|
std::pair< LimitedRates, GetPropType< TypeTag, Properties::Scalar > > | reduceALQtoGroupTarget (GetPropType< TypeTag, Properties::Scalar > alq, const LimitedRates &rates) const |
|
std::pair< LimitedRates, GetPropType< TypeTag, Properties::Scalar > > | reduceALQtoWellTarget_ (GetPropType< TypeTag, Properties::Scalar > alq, const LimitedRates &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 LimitedRates &rates, const LimitedRates &new_rates, GetPropType< TypeTag, Properties::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, GetPropType< TypeTag, Properties::Scalar > rate, GetPropType< TypeTag, Properties::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 |
|
|
const Well & | ecl_well_ |
|
const SummaryState & | summary_state_ |
|
GasLiftGroupInfo< GetPropType< TypeTag, Properties::Scalar > > & | group_info_ |
|
const PhaseUsage & | phase_usage_ |
|
GLiftSyncGroups & | sync_groups_ |
|
const WellProductionControls | controls_ |
|
GetPropType< TypeTag, Properties::Scalar > | increment_ |
|
GetPropType< TypeTag, Properties::Scalar > | max_alq_ |
|
GetPropType< TypeTag, Properties::Scalar > | min_alq_ |
|
GetPropType< TypeTag, Properties::Scalar > | orig_alq_ |
|
GetPropType< TypeTag, Properties::Scalar > | alpha_w_ |
|
GetPropType< TypeTag, Properties::Scalar > | alpha_g_ |
|
GetPropType< TypeTag, Properties::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_ |
|
WellState< GetPropType< TypeTag, Properties::Scalar > > & | well_state_ |
|
const GroupState< GetPropType< TypeTag, Properties::Scalar > > & | group_state_ |
|
DeferredLogger & | deferred_logger_ |
|
const Parallel::Communication & | comm_ |
|
bool | debug |
|
bool | debug_output_only_on_rank0 |
|
◆ MessageType
◆ Rate
◆ GasLiftSingleWell()
template<typename TypeTag >
References Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::alpha_g_, Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::alpha_w_, Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::displayWarning_(), Opm::WellState< Scalar >::getALQ(), Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::gl_well_, Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::max_iterations_, Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::optimize_, Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::orig_alq_, Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::setAlqMinRate_(), Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::updateWellStateAlqFixedValue_(), Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::useFixedAlq_(), Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::well_name_, and Opm::GasLiftCommon< GetPropType< TypeTag, Properties::Scalar > >::well_state_.
◆ addOrSubtractAlqIncrement_()
◆ calcEcoGradient_()
GetPropType< TypeTag, Properties::Scalar > Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::calcEcoGradient_ |
( |
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 |
|
protectedinherited |
◆ calcIncOrDecGradient()
std::optional< GradInfo > Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::calcIncOrDecGradient |
( |
GetPropType< TypeTag, Properties::Scalar > |
oil_rate, |
|
|
GetPropType< TypeTag, Properties::Scalar > |
gas_rate, |
|
|
GetPropType< TypeTag, Properties::Scalar > |
water_rate, |
|
|
GetPropType< TypeTag, Properties::Scalar > |
alq, |
|
|
const std::string & |
gr_name_dont_limit, |
|
|
bool |
increase, |
|
|
bool |
debug_output = true |
|
) |
| const |
|
inherited |
◆ checkALQequal_()
◆ checkGroupALQrateExceeded()
◆ checkGroupTargetsViolated()
◆ checkGroupTotalRateExceeded()
◆ checkInitialALQmodified_()
◆ computeBhpAtThpLimit_()
|
protectedpure virtualinherited |
◆ computeConvergedBhpAtThpLimitByMaybeIncreasingALQ_()
◆ computeInitialWellRates_()
◆ computeLimitedWellRatesWithALQ_()
◆ computeWellRates_()
|
protectedpure virtualinherited |
◆ computeWellRatesWithALQ_()
◆ debugCheckNegativeGradient_()
void Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::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 |
|
protectedinherited |
◆ debugInfoGroupRatesExceedTarget()
◆ debugPrintWellStateRates()
◆ debugShowAlqIncreaseDecreaseCounts_()
◆ debugShowBhpAlqTable_()
◆ debugShowLimitingTargets_()
◆ debugShowProducerControlMode()
◆ debugShowStartIteration_()
◆ debugShowTargets_()
◆ debugUpdateGlobalCounter_()
◆ displayDebugMessage_()
|
overrideprotectedvirtualinherited |
◆ displayDebugMessageOnRank0_()
◆ displayWarning_()
◆ getBhpWithLimit_()
◆ getGasRateWithGroupLimit_()
◆ getGasRateWithLimit_()
◆ getInitialRatesWithLimit_()
◆ getLimitedRatesFromRates_()
◆ getLiquidRateWithGroupLimit_()
std::tuple< GetPropType< TypeTag, Properties::Scalar > , GetPropType< TypeTag, Properties::Scalar > , bool, bool > Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::getLiquidRateWithGroupLimit_ |
( |
const GetPropType< TypeTag, Properties::Scalar > |
new_oil_rate, |
|
|
const GetPropType< TypeTag, Properties::Scalar > |
oil_rate, |
|
|
const GetPropType< TypeTag, Properties::Scalar > |
new_water_rate, |
|
|
const GetPropType< TypeTag, Properties::Scalar > |
water_rate, |
|
|
const std::string & |
gr_name_dont_limit |
|
) |
| const |
|
protectedinherited |
◆ getOilRateWithGroupLimit_()
◆ getOilRateWithLimit2_()
◆ getOilRateWithLimit_()
◆ getProductionTarget_()
◆ getRate_()
◆ getRateWithGroupLimit_()
std::tuple< GetPropType< TypeTag, Properties::Scalar > , const std::string *, GetPropType< TypeTag, Properties::Scalar > > Opm::GasLiftSingleWellGeneric< GetPropType< TypeTag, Properties::Scalar > >::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 |
|
protectedinherited |
◆ getRateWithLimit_()
◆ getWaterRateWithGroupLimit_()
◆ getWaterRateWithLimit2_()
◆ getWaterRateWithLimit_()
◆ getWell()
◆ getWellStateRates_()
◆ hasProductionControl_()
◆ increaseALQtoMinALQ_()
◆ increaseALQtoPositiveOilRate_()
◆ logMessage_()
◆ logSuccess_()
◆ maybeAdjustALQbeforeOptimizeLoop_()
◆ name()
◆ reduceALQtoGroupAlqLimits_()
◆ reduceALQtoGroupTarget()
◆ reduceALQtoWellTarget_()
◆ runOptimize()
◆ runOptimize1_()
◆ runOptimize2_()
◆ runOptimizeLoop_()
◆ setAlqMinRate_()
◆ tryDecreaseLiftGas_()
◆ tryIncreaseLiftGas_()
◆ updateGroupRates_()
◆ updateRatesToGroupLimits_()
◆ updateWellStateAlqFixedValue_()
◆ useFixedAlq_()
◆ warnMaxIterationsExceeded_()
◆ alpha_g_
◆ alpha_w_
◆ ALQ_EPSILON
|
staticconstexprprotectedinherited |
◆ comm_
◆ controls_
◆ debug
◆ debug_abort_if_decrease_and_oil_is_limited_
◆ debug_abort_if_increase_and_gas_is_limited_
◆ debug_limit_increase_decrease_
◆ debug_output_only_on_rank0
◆ deferred_logger_
◆ ecl_well_
◆ eco_grad_
◆ Gas
|
staticconstexprprotectedinherited |
◆ gas_pos_
◆ gl_well_
◆ group_info_
◆ group_state_
◆ increment_
◆ max_alq_
◆ max_iterations_
◆ min_alq_
◆ NUM_PHASES
|
staticconstexprprotectedinherited |
◆ Oil
|
staticconstexprprotectedinherited |
◆ oil_pos_
◆ optimize_
◆ orig_alq_
◆ phase_usage_
◆ summary_state_
◆ sync_groups_
◆ Water
|
staticconstexprprotectedinherited |
◆ water_pos_
◆ well_name_
◆ well_state_
The documentation for this class was generated from the following files:
|