GasLiftSingleWellGeneric.hpp
Go to the documentation of this file.
Definition: DeferredLogger.hpp:57 Definition: GasLiftCommon.hpp:35 Definition: GasLiftGroupInfo.hpp:46 Definition: GasLiftSingleWellGeneric.hpp:48 std::pair< Scalar, std::optional< Rate > > getRateWithLimit_(Rate rate_type, const BasicRates &rates) const bool debug_limit_increase_decrease_ Definition: GasLiftSingleWellGeneric.hpp:451 bool debug_abort_if_decrease_and_oil_is_limited_ Definition: GasLiftSingleWellGeneric.hpp:452 std::pair< Scalar, bool > getGasRateWithLimit_(const BasicRates &rates) const std::pair< std::optional< BasicRates >, Scalar > computeInitialWellRates_() const static constexpr int NUM_PHASES Definition: GasLiftSingleWellGeneric.hpp:53 Scalar getRate_(Rate rate_type, const BasicRates &rates) const bool checkGroupTargetsViolated(const BasicRates &rates, const BasicRates &new_rates) const std::pair< LimitedRates, Scalar > reduceALQtoGroupTarget(Scalar alq, const LimitedRates &rates) const virtual BasicRates computeWellRates_(Scalar bhp, bool bhp_is_limited, bool debug_output=true) const =0 void debugShowTargets_() GasLiftGroupInfo< Scalar, IndexTraits > & group_info_ Definition: GasLiftSingleWellGeneric.hpp:427 std::pair< Scalar, bool > getBhpWithLimit_(Scalar bhp) const bool checkGroupALQrateExceeded(Scalar delta_alq, const std::string &gr_name_dont_limit="") const Scalar increment_ Definition: GasLiftSingleWellGeneric.hpp:431 std::unique_ptr< GasLiftWellState< Scalar > > runOptimizeLoop_(bool increase) static constexpr int Water Definition: GasLiftSingleWellGeneric.hpp:50 void debugShowAlqIncreaseDecreaseCounts_() std::pair< LimitedRates, Scalar > maybeAdjustALQbeforeOptimizeLoop_(const LimitedRates &rates, Scalar alq, bool increase) const std::unique_ptr< GasLiftWellState< Scalar > > tryIncreaseLiftGas_() std::pair< Scalar, std::optional< Rate > > getWaterRateWithLimit2_(const BasicRates &rates) const std::unique_ptr< GasLiftWellState< Scalar > > runOptimize1_() void debugShowStartIteration_(Scalar alq, bool increase, Scalar oil_rate) void debugInfoGroupRatesExceedTarget(Rate rate_type, const std::string &gr_name, Scalar rate, Scalar target) const Scalar eco_grad_ Definition: GasLiftSingleWellGeneric.hpp:438 std::pair< LimitedRates, Scalar > reduceALQtoGroupAlqLimits_(Scalar alq, const LimitedRates &rates) const bool debug_abort_if_increase_and_gas_is_limited_ Definition: GasLiftSingleWellGeneric.hpp:453 std::set< int > GLiftSyncGroups Definition: GasLiftSingleWellGeneric.hpp:57 void updateGroupRates_(const LimitedRates &rates, const LimitedRates &new_rates, Scalar delta_alq) const void debugPrintWellStateRates() 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 std::optional< BasicRates > computeWellRatesWithALQ_(Scalar alq) const void debugShowLimitingTargets_(const LimitedRates &rates) const std::pair< Scalar, bool > getWaterRateWithLimit_(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 void warnMaxIterationsExceeded_() std::pair< LimitedRates, Scalar > increaseALQtoPositiveOilRate_(Scalar alq, const LimitedRates &orig_rates) const std::pair< Scalar, std::optional< Rate > > getOilRateWithLimit2_(const BasicRates &rates) const void displayDebugMessage_(const std::string &msg) const override void updateWellStateAlqFixedValue_(const GasLiftWell &well) const WellProductionControls controls_ Definition: GasLiftSingleWellGeneric.hpp:429 Scalar getProductionTarget_(Rate rate) const std::string well_name_ Definition: GasLiftSingleWellGeneric.hpp:446 std::pair< std::optional< Scalar >, Scalar > computeConvergedBhpAtThpLimitByMaybeIncreasingALQ_() const int max_iterations_ Definition: GasLiftSingleWellGeneric.hpp:444 void displayWarning_(const std::string &warning) std::unique_ptr< GasLiftWellState< Scalar > > runOptimize(const int iteration_idx) Scalar orig_alq_ Definition: GasLiftSingleWellGeneric.hpp:434 const GasLiftWell * gl_well_ Definition: GasLiftSingleWellGeneric.hpp:448 bool useFixedAlq_(const GasLiftWell &well) std::pair< Scalar, bool > getGasRateWithGroupLimit_(Scalar new_gas_rate, Scalar gas_rate, const std::string &gr_name_dont_limit) const std::pair< Scalar, bool > getOilRateWithLimit_(const BasicRates &rates) const std::pair< LimitedRates, Scalar > reduceALQtoWellTarget_(Scalar alq, const LimitedRates &rates) const std::pair< LimitedRates, Scalar > increaseALQtoMinALQ_(Scalar alq, const LimitedRates &orig_rates) const static constexpr int Oil Definition: GasLiftSingleWellGeneric.hpp:51 const std::string & name() const Definition: GasLiftSingleWellGeneric.hpp:95 bool checkGroupTotalRateExceeded(Scalar delta_alq, Scalar delta_gas_rate) const bool hasProductionControl_(Rate rate) const virtual bool checkThpControl_() const =0 std::optional< LimitedRates > computeLimitedWellRatesWithALQ_(Scalar alq) const std::pair< std::optional< Scalar >, bool > addOrSubtractAlqIncrement_(Scalar alq, bool increase) const std::pair< Scalar, bool > getWaterRateWithGroupLimit_(Scalar new_water_rate, Scalar water_rate, const std::string &gr_name_dont_limit) const virtual const WellInterfaceGeneric< Scalar, IndexTraits > & getWell() const =0 static constexpr Scalar ALQ_EPSILON Definition: GasLiftSingleWellGeneric.hpp:54 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 LimitedRates getLimitedRatesFromRates_(const BasicRates &rates) const void debugShowProducerControlMode() const typename GasLiftGroupInfo< Scalar, IndexTraits >::Rate Rate Definition: GasLiftSingleWellGeneric.hpp:58 GasLiftSingleWellGeneric(DeferredLogger &deferred_logger, WellState< Scalar, IndexTraits > &well_state, const GroupState< Scalar > &group_state, const Well &ecl_well, const SummaryState &summary_state, GasLiftGroupInfo< Scalar, IndexTraits > &group_info, const Schedule &schedule, const int report_step_idx, GLiftSyncGroups &sync_groups, const Parallel::Communication &comm, bool glift_debug) static constexpr int Gas Definition: GasLiftSingleWellGeneric.hpp:52 std::pair< std::optional< LimitedRates >, Scalar > getInitialRatesWithLimit_() const bool checkInitialALQmodified_(Scalar alq, Scalar initial_alq) const std::pair< Scalar, bool > wellTestALQ() LimitedRates updateRatesToGroupLimits_(const BasicRates &old_rates, const LimitedRates &rates, const std::string &gr_name="") const BasicRates getWellStateRates_() const void logSuccess_(Scalar alq, const int iteration_idx) std::unique_ptr< GasLiftWellState< Scalar > > tryDecreaseLiftGas_() Scalar calcEcoGradient_(Scalar oil_rate, Scalar new_oil_rate, Scalar gas_rate, Scalar new_gas_rate, bool increase) const const SummaryState & summary_state_ Definition: GasLiftSingleWellGeneric.hpp:426 void debugShowBhpAlqTable_() virtual std::optional< Scalar > computeBhpAtThpLimit_(Scalar alq, bool debug_output=true) const =0 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 GLiftSyncGroups & sync_groups_ Definition: GasLiftSingleWellGeneric.hpp:428 std::pair< Scalar, bool > getOilRateWithGroupLimit_(Scalar new_oil_rate, Scalar oil_rate, const std::string &gr_name_dont_limit) const bool checkALQequal_(Scalar alq1, Scalar alq2) const std::unique_ptr< GasLiftWellState< Scalar > > runOptimize2_() void setAlqMinRate_(const GasLiftWell &well) const Well & ecl_well_ Definition: GasLiftSingleWellGeneric.hpp:425 Definition: GroupState.hpp:41 Definition: WellInterfaceGeneric.hpp:53 Definition: WellState.hpp:66 Dune::Communication< MPIComm > Communication Definition: ParallelCommunication.hpp:30 Definition: blackoilboundaryratevector.hh:39 @ none Definition: GasLiftSingleWellGeneric.hpp:126 BasicRates(Scalar oil_, Scalar gas_, Scalar water_, bool bhp_is_limited_) Definition: GasLiftSingleWellGeneric.hpp:134 Scalar water Definition: GasLiftSingleWellGeneric.hpp:174 Scalar operator[](Rate rate_type) const Definition: GasLiftSingleWellGeneric.hpp:158 Scalar oil Definition: GasLiftSingleWellGeneric.hpp:174 Scalar gas Definition: GasLiftSingleWellGeneric.hpp:174 bool bhp_is_limited Definition: GasLiftSingleWellGeneric.hpp:175 BasicRates & operator=(const BasicRates &rates) Definition: GasLiftSingleWellGeneric.hpp:144 BasicRates(const LimitedRates &rates) BasicRates(const BasicRates &rates) Definition: GasLiftSingleWellGeneric.hpp:127 Definition: GasLiftSingleWellGeneric.hpp:62 bool oil_is_limited Definition: GasLiftSingleWellGeneric.hpp:86 GradInfo()=default bool alq_is_limited Definition: GasLiftSingleWellGeneric.hpp:92 Scalar new_oil_rate Definition: GasLiftSingleWellGeneric.hpp:85 GradInfo(Scalar grad_, Scalar new_oil_rate_, bool oil_is_limited_, Scalar new_gas_rate_, bool gas_is_limited_, Scalar new_water_rate_, bool water_is_limited_, Scalar alq_, bool alq_is_limited_) Definition: GasLiftSingleWellGeneric.hpp:64 Scalar new_water_rate Definition: GasLiftSingleWellGeneric.hpp:89 Scalar new_gas_rate Definition: GasLiftSingleWellGeneric.hpp:87 bool water_is_limited Definition: GasLiftSingleWellGeneric.hpp:90 bool gas_is_limited Definition: GasLiftSingleWellGeneric.hpp:88 Definition: GasLiftSingleWellGeneric.hpp:179 std::optional< Rate > water_limiting_target Definition: GasLiftSingleWellGeneric.hpp:224 bool oil_is_limited Definition: GasLiftSingleWellGeneric.hpp:220 bool water_is_limited Definition: GasLiftSingleWellGeneric.hpp:222 LimitType Definition: GasLiftSingleWellGeneric.hpp:180 LimitedRates(Scalar oil_, Scalar gas_, Scalar water_, bool oil_is_limited_, bool gas_is_limited_, bool water_is_limited_, bool bhp_is_limited_, std::optional< Rate > oil_limiting_target_, std ::optional< Rate > water_limiting_target_) Definition: GasLiftSingleWellGeneric.hpp:181 bool limited() const Definition: GasLiftSingleWellGeneric.hpp:212 bool gas_is_limited Definition: GasLiftSingleWellGeneric.hpp:221 LimitedRates(const BasicRates &rates, bool oil_is_limited_, bool gas_is_limited_, bool water_is_limited_) Definition: GasLiftSingleWellGeneric.hpp:200 LimitType limit_type Definition: GasLiftSingleWellGeneric.hpp:219 std::optional< Rate > oil_limiting_target Definition: GasLiftSingleWellGeneric.hpp:223 Definition: GasLiftSingleWellGeneric.hpp:234 bool checkRatesViolated(const LimitedRates &rates) const bool stop_iteration Definition: GasLiftSingleWellGeneric.hpp:246 Scalar calcEcoGradient(Scalar oil_rate, Scalar new_oil_rate, Scalar gas_rate, Scalar new_gas_rate) void warn_(const std::string &msg) Definition: GasLiftSingleWellGeneric.hpp:264 bool checkAlqOutsideLimits(Scalar alq, Scalar oil_rate) Scalar bhp Definition: GasLiftSingleWellGeneric.hpp:247 std::pair< std::optional< Scalar >, bool > addOrSubtractAlqIncrement(Scalar alq) bool checkEcoGradient(Scalar gradient) Scalar getBhpWithLimit() bool checkOilRateExceedsTarget(Scalar oil_rate) OptimizeState(GasLiftSingleWellGeneric &parent_, bool increase_) Definition: GasLiftSingleWellGeneric.hpp:235 GasLiftSingleWellGeneric & parent Definition: GasLiftSingleWellGeneric.hpp:243 void debugShowIterationInfo(Scalar alq) bool increase Definition: GasLiftSingleWellGeneric.hpp:244 |