|
using | GLiftSyncGroups = std::set< int > |
|
using | Rate = typename GasLiftGroupInfo< GetPropType< TypeTag, Properties::Scalar > >::Rate |
|
using | MessageType = typename GasLiftCommon< GetPropType< TypeTag, Properties::Scalar > >::MessageType |
|
enum class | MessageType { INFO
, WARNING
} |
|
| GasLiftSingleWellGeneric (DeferredLogger &deferred_logger, WellState< GetPropType< TypeTag, Properties::Scalar > > &well_state, const GroupState< GetPropType< TypeTag, Properties::Scalar > > &group_state, const Well &ecl_well, const SummaryState &summary_state, GasLiftGroupInfo< GetPropType< TypeTag, Properties::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 (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 &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, GetPropType< TypeTag, Properties::Scalar > rate, GetPropType< TypeTag, Properties::Scalar > target) const |
|
void | warnMaxIterationsExceeded_ () |
|
| GasLiftCommon (WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger, const Parallel::Communication &comm, bool glift_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< 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< Scalar > & | well_state_ |
|
const GroupState< Scalar > & | group_state_ |
|
DeferredLogger & | deferred_logger_ |
|
const Parallel::Communication & | comm_ |
|
bool | debug |
|
bool | debug_output_only_on_rank0 = false |
|
static constexpr int | Water |
|
static constexpr int | Oil |
|
static constexpr int | Gas |
|
static constexpr int | NUM_PHASES |
|
static constexpr GetPropType< TypeTag, Properties::Scalar > | ALQ_EPSILON |
|