|
using | GLiftSyncGroups = std::set< int > |
|
using | Rate = GasLiftGroupInfo::Rate |
|
enum class | MessageType { INFO
, WARNING
} |
|
| GasLiftSingleWellGeneric (DeferredLogger &deferred_logger, WellState &well_state, const GroupState &group_state, const Well &ecl_well, const SummaryState &summary_state, GasLiftGroupInfo &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 (double delta_alq, const std::string &gr_name_dont_limit="") const |
|
bool | checkGroupTotalRateExceeded (double delta_alq, double delta_gas_rate) const |
|
std::pair< std::optional< double >, bool > | addOrSubtractAlqIncrement_ (double alq, bool increase) const |
|
double | calcEcoGradient_ (double oil_rate, double new_oil_rate, double gas_rate, double new_gas_rate, bool increase) const |
|
bool | checkALQequal_ (double alq1, double alq2) const |
|
bool | checkGroupTargetsViolated (const BasicRates &rates, const BasicRates &new_rates) const |
|
bool | checkInitialALQmodified_ (double alq, double initial_alq) const |
|
std::pair< std::optional< double >, double > | computeConvergedBhpAtThpLimitByMaybeIncreasingALQ_ () const |
|
std::pair< std::optional< BasicRates >, double > | computeInitialWellRates_ () const |
|
std::optional< LimitedRates > | computeLimitedWellRatesWithALQ_ (double alq) const |
|
std::optional< BasicRates > | computeWellRatesWithALQ_ (double alq) const |
|
void | debugCheckNegativeGradient_ (double grad, double alq, double new_alq, double oil_rate, double new_oil_rate, double gas_rate, double new_gas_rate, bool increase) const |
|
void | debugPrintWellStateRates () const |
|
void | debugShowAlqIncreaseDecreaseCounts_ () |
|
void | debugShowBhpAlqTable_ () |
|
void | debugShowLimitingTargets_ (const LimitedRates &rates) const |
|
void | debugShowProducerControlMode () const |
|
void | debugShowStartIteration_ (double alq, bool increase, double oil_rate) |
|
void | debugShowTargets_ () |
|
void | displayDebugMessage_ (const std::string &msg) const override |
|
void | displayWarning_ (const std::string &warning) |
|
std::pair< double, bool > | getBhpWithLimit_ (double bhp) const |
|
std::pair< double, bool > | getGasRateWithLimit_ (const BasicRates &rates) const |
|
std::pair< double, bool > | getGasRateWithGroupLimit_ (double new_gas_rate, double gas_rate, const std::string &gr_name_dont_limit) const |
|
std::pair< std::optional< LimitedRates >, double > | getInitialRatesWithLimit_ () const |
|
LimitedRates | getLimitedRatesFromRates_ (const BasicRates &rates) const |
|
std::tuple< double, double, bool, bool > | getLiquidRateWithGroupLimit_ (const double new_oil_rate, const double oil_rate, const double new_water_rate, const double water_rate, const std::string &gr_name_dont_limit) const |
|
std::pair< double, bool > | getOilRateWithGroupLimit_ (double new_oil_rate, double oil_rate, const std::string &gr_name_dont_limit) const |
|
std::pair< double, bool > | getOilRateWithLimit_ (const BasicRates &rates) const |
|
std::pair< double, std::optional< Rate > > | getOilRateWithLimit2_ (const BasicRates &rates) const |
|
double | getProductionTarget_ (Rate rate) const |
|
double | getRate_ (Rate rate_type, const BasicRates &rates) const |
|
std::pair< double, std::optional< Rate > > | getRateWithLimit_ (Rate rate_type, const BasicRates &rates) const |
|
std::tuple< double, const std::string *, double > | getRateWithGroupLimit_ (Rate rate_type, const double new_rate, const double old_rate, const std::string &gr_name_dont_limit) const |
|
std::pair< double, bool > | getWaterRateWithGroupLimit_ (double new_water_rate, double water_rate, const std::string &gr_name_dont_limit) const |
|
std::pair< double, bool > | getWaterRateWithLimit_ (const BasicRates &rates) const |
|
std::pair< double, std::optional< Rate > > | getWaterRateWithLimit2_ (const BasicRates &rates) const |
|
BasicRates | getWellStateRates_ () const |
|
bool | hasProductionControl_ (Rate rate) const |
|
std::pair< LimitedRates, double > | increaseALQtoPositiveOilRate_ (double alq, const LimitedRates &orig_rates) const |
|
std::pair< LimitedRates, double > | increaseALQtoMinALQ_ (double alq, const LimitedRates &orig_rates) const |
|
void | logSuccess_ (double alq, const int iteration_idx) |
|
std::pair< LimitedRates, double > | maybeAdjustALQbeforeOptimizeLoop_ (const LimitedRates &rates, double alq, bool increase) const |
|
std::pair< LimitedRates, double > | reduceALQtoGroupAlqLimits_ (double alq, const LimitedRates &rates) const |
|
std::pair< LimitedRates, double > | reduceALQtoGroupTarget (double alq, const LimitedRates &rates) const |
|
std::pair< LimitedRates, double > | reduceALQtoWellTarget_ (double alq, const LimitedRates &rates) const |
|
std::unique_ptr< GasLiftWellState > | runOptimize1_ () |
|
std::unique_ptr< GasLiftWellState > | runOptimize2_ () |
|
std::unique_ptr< GasLiftWellState > | runOptimizeLoop_ (bool increase) |
|
void | setAlqMinRate_ (const GasLiftWell &well) |
|
std::unique_ptr< GasLiftWellState > | tryIncreaseLiftGas_ () |
|
std::unique_ptr< GasLiftWellState > | tryDecreaseLiftGas_ () |
|
void | updateGroupRates_ (const LimitedRates &rates, const LimitedRates &new_rates, double 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, double rate, double target) const |
|
void | warnMaxIterationsExceeded_ () |
|
| GasLiftCommon (WellState &well_state, const GroupState &group_state, DeferredLogger &deferred_logger, const Parallel::Communication &comm, bool debug) |
|
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 & | group_info_ |
|
const PhaseUsage & | phase_usage_ |
|
GLiftSyncGroups & | sync_groups_ |
|
const WellProductionControls | controls_ |
|
double | increment_ |
|
double | max_alq_ |
|
double | min_alq_ |
|
double | orig_alq_ |
|
double | alpha_w_ |
|
double | alpha_g_ |
|
double | 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 & | well_state_ |
|
const GroupState & | group_state_ |
|
DeferredLogger & | deferred_logger_ |
|
const Parallel::Communication & | comm_ |
|
bool | debug |
|
bool | debug_output_only_on_rank0 = false |
|
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 double | ALQ_EPSILON = 1e-8 |
|