|
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 bool debug_limit_increase_decrease_ Definition: GasLiftSingleWellGeneric.hpp:448 bool debug_abort_if_decrease_and_oil_is_limited_ Definition: GasLiftSingleWellGeneric.hpp:449 static constexpr int NUM_PHASES Definition: GasLiftSingleWellGeneric.hpp:53 void debugShowTargets_() GasLiftGroupInfo< Scalar, IndexTraits > & group_info_ Definition: GasLiftSingleWellGeneric.hpp:424 RatesAndBhp getWellStateRates_() const std::pair< Scalar, bool > getBhpWithLimit_(Scalar bhp) const bool checkGroupALQrateExceeded(Scalar delta_alq, const std::string &gr_name_dont_limit="") const std::tuple< Scalar, const std::string * > getRateWithGroupLimit_(Rate rate_type, const Scalar new_rate, const Scalar old_rate, const std::string &gr_name_dont_limit) const Scalar increment_ Definition: GasLiftSingleWellGeneric.hpp:428 std::unique_ptr< GasLiftWellState< Scalar > > runOptimizeLoop_(bool increase) static constexpr int Water Definition: GasLiftSingleWellGeneric.hpp:50 void debugShowAlqIncreaseDecreaseCounts_() std::unique_ptr< GasLiftWellState< Scalar > > tryIncreaseLiftGas_() std::unique_ptr< GasLiftWellState< Scalar > > runOptimize1_() void debugShowStartIteration_(Scalar alq, bool increase, Scalar oil_rate) virtual RatesAndBhp computeWellRates_(Scalar bhp, bool bhp_is_limited, bool debug_output=true) const =0 Scalar getRate_(Rate rate_type, const RatesAndBhp &rates) const void debugInfoGroupRatesExceedTarget(Rate rate_type, const std::string &gr_name, Scalar rate, Scalar target) const Scalar eco_grad_ Definition: GasLiftSingleWellGeneric.hpp:435 bool debug_abort_if_increase_and_gas_is_limited_ Definition: GasLiftSingleWellGeneric.hpp:450 std::set< int > GLiftSyncGroups Definition: GasLiftSingleWellGeneric.hpp:57 bool checkGroupTotalRateExceeded(Scalar delta_alq, Scalar delta_gas_rate, const std::string &gr_name_dont_limit="") 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 void warnMaxIterationsExceeded_() std::pair< LimitedRatesAndBhp, Scalar > increaseALQtoMinALQ_(Scalar alq, const LimitedRatesAndBhp &orig_rates) const void displayDebugMessage_(const std::string &msg) const override void updateWellStateAlqFixedValue_(const GasLiftWell &well) const WellProductionControls controls_ Definition: GasLiftSingleWellGeneric.hpp:426 Scalar getProductionTarget_(Rate rate) const std::string well_name_ Definition: GasLiftSingleWellGeneric.hpp:443 std::pair< std::optional< Scalar >, Scalar > computeConvergedBhpAtThpLimitByMaybeIncreasingALQ_() const int max_iterations_ Definition: GasLiftSingleWellGeneric.hpp:441 void displayWarning_(const std::string &warning) virtual std::optional< Scalar > computeBhpAtThpLimit_(Scalar alq, Scalar current_bhp, bool debug_output=true) const =0 LimitedRatesAndBhp updateRatesToGroupLimits_(const RatesAndBhp &old_rates, const LimitedRatesAndBhp &rates, const std::string &gr_name="") const std::unique_ptr< GasLiftWellState< Scalar > > runOptimize(const int iteration_idx) std::pair< LimitedRatesAndBhp, Scalar > reduceALQtoGroupTarget(Scalar alq, const LimitedRatesAndBhp &rates) const std::pair< LimitedRatesAndBhp, Scalar > reduceALQtoGroupAlqLimits_(Scalar alq, const LimitedRatesAndBhp &rates) const std::pair< std::optional< LimitedRatesAndBhp >, Scalar > getInitialRatesWithLimit_() const Scalar orig_alq_ Definition: GasLiftSingleWellGeneric.hpp:431 const GasLiftWell * gl_well_ Definition: GasLiftSingleWellGeneric.hpp:445 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< LimitedRatesAndBhp, Scalar > increaseALQtoPositiveOilRate_(Scalar alq, const LimitedRatesAndBhp &orig_rates) const void updateGroupRates_(const LimitedRatesAndBhp &rates, const LimitedRatesAndBhp &new_rates, Scalar delta_alq) const static constexpr int Oil Definition: GasLiftSingleWellGeneric.hpp:51 const std::string & name() const Definition: GasLiftSingleWellGeneric.hpp:107 bool hasProductionControl_(Rate rate) const virtual bool checkThpControl_() const =0 std::pair< std::optional< Scalar >, bool > addOrSubtractAlqIncrement_(Scalar alq, bool increase) const virtual const WellInterfaceGeneric< Scalar, IndexTraits > & getWell() const =0 LimitedRatesAndBhp getLimitedRatesAndBhp_(const RatesAndBhp &rates) const static constexpr Scalar ALQ_EPSILON Definition: GasLiftSingleWellGeneric.hpp:54 std::optional< LimitedRatesAndBhp > computeLimitedWellRatesWithALQ_(Scalar alq, Scalar bhp) const void debugShowProducerControlMode() const typename GasLiftGroupInfo< Scalar, IndexTraits >::Rate Rate Definition: GasLiftSingleWellGeneric.hpp:58 void debugShowLimitingTargets_(const LimitedRatesAndBhp &rates) const 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< Scalar, std::optional< Rate > > getRateWithLimit_(Rate rate_type, const RatesAndBhp &rates) const std::pair< LimitedRatesAndBhp, Scalar > reduceALQtoWellTarget_(Scalar alq, const LimitedRatesAndBhp &rates) const bool checkInitialALQmodified_(Scalar alq, Scalar initial_alq) const std::pair< Scalar, bool > wellTestALQ() 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:423 void debugShowBhpAlqTable_() std::optional< RatesAndBhp > computeWellRatesWithALQ_(Scalar alq, Scalar bhp) const std::pair< std::optional< RatesAndBhp >, Scalar > computeInitialWellRates_() const GLiftSyncGroups & sync_groups_ Definition: GasLiftSingleWellGeneric.hpp:425 bool checkALQequal_(Scalar alq1, Scalar alq2) const std::unique_ptr< GasLiftWellState< Scalar > > runOptimize2_() std::pair< LimitedRatesAndBhp, Scalar > maybeAdjustALQbeforeOptimizeLoop_(const LimitedRatesAndBhp &rates, Scalar alq, bool increase) const bool checkGroupTargetsViolated(const RatesAndBhp &rates, const RatesAndBhp &new_rates) const void setAlqMinRate_(const GasLiftWell &well) const Well & ecl_well_ Definition: GasLiftSingleWellGeneric.hpp:422 std::optional< GradInfo > calcIncOrDecGradient(const GasLiftWellState< Scalar > &state, const std::string &gr_name_dont_limit, bool increase, bool debug_output=true) const Definition: GasLiftWellState.hpp:30 Definition: GroupState.hpp:41 Definition: WellInterfaceGeneric.hpp:53 Definition: WellState.hpp:66 Dune::Communication< MPIComm > Communication Definition: ParallelCommunication.hpp:30 Definition: blackoilbioeffectsmodules.hh:43 @ none Definition: GasLiftSingleWellGeneric.hpp:62 Scalar new_oil_pot Definition: GasLiftSingleWellGeneric.hpp:94 GradInfo(Scalar grad_, Scalar new_oil_rate_, Scalar new_oil_pot_, bool oil_is_limited_, Scalar new_gas_rate_, Scalar new_gas_pot_, bool gas_is_limited_, Scalar new_water_rate_, Scalar new_water_pot_, bool water_is_limited_, Scalar alq_, bool alq_is_limited_, Scalar bhp_) Definition: GasLiftSingleWellGeneric.hpp:64 bool oil_is_limited Definition: GasLiftSingleWellGeneric.hpp:95 Scalar new_gas_pot Definition: GasLiftSingleWellGeneric.hpp:97 GradInfo()=default bool alq_is_limited Definition: GasLiftSingleWellGeneric.hpp:103 Scalar new_oil_rate Definition: GasLiftSingleWellGeneric.hpp:93 Scalar new_water_pot Definition: GasLiftSingleWellGeneric.hpp:100 Scalar new_water_rate Definition: GasLiftSingleWellGeneric.hpp:99 Scalar new_gas_rate Definition: GasLiftSingleWellGeneric.hpp:96 bool water_is_limited Definition: GasLiftSingleWellGeneric.hpp:101 bool gas_is_limited Definition: GasLiftSingleWellGeneric.hpp:98 Definition: GasLiftSingleWellGeneric.hpp:192 LimitType limit_type Definition: GasLiftSingleWellGeneric.hpp:241 Scalar water_pot Definition: GasLiftSingleWellGeneric.hpp:244 bool limited() const Definition: GasLiftSingleWellGeneric.hpp:234 LimitType Definition: GasLiftSingleWellGeneric.hpp:193 bool oil_is_limited Definition: GasLiftSingleWellGeneric.hpp:245 LimitedRatesAndBhp(const RatesAndBhp &rates, Scalar oil_pot_, Scalar gas_pot_, Scalar water_pot_, bool oil_is_limited_, bool gas_is_limited_, bool water_is_limited_) Definition: GasLiftSingleWellGeneric.hpp:216 LimitedRatesAndBhp(Scalar oil_, Scalar oil_pot_, Scalar gas_, Scalar gas_pot_, Scalar water_, Scalar water_pot_, Scalar bhp_, bool oil_is_limited_, bool gas_is_limited_, bool water_is_limited_, bool bhp_is_limited_) Definition: GasLiftSingleWellGeneric.hpp:194 Scalar oil_pot Definition: GasLiftSingleWellGeneric.hpp:242 Scalar gas_pot Definition: GasLiftSingleWellGeneric.hpp:243 bool water_is_limited Definition: GasLiftSingleWellGeneric.hpp:247 bool gas_is_limited Definition: GasLiftSingleWellGeneric.hpp:246 Definition: GasLiftSingleWellGeneric.hpp:257 bool stop_iteration Definition: GasLiftSingleWellGeneric.hpp:269 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:287 bool checkAlqOutsideLimits(Scalar alq, Scalar oil_rate) bool checkRatesViolated(const LimitedRatesAndBhp &rates) const Scalar bhp Definition: GasLiftSingleWellGeneric.hpp:270 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:258 GasLiftSingleWellGeneric & parent Definition: GasLiftSingleWellGeneric.hpp:266 void debugShowIterationInfo(Scalar alq) bool increase Definition: GasLiftSingleWellGeneric.hpp:267 Definition: GasLiftSingleWellGeneric.hpp:135 Scalar water Definition: GasLiftSingleWellGeneric.hpp:187 RatesAndBhp(const LimitedRatesAndBhp &rates) Scalar bhp Definition: GasLiftSingleWellGeneric.hpp:187 RatesAndBhp & operator=(const RatesAndBhp &rates) Definition: GasLiftSingleWellGeneric.hpp:156 Scalar operator[](Rate rate_type) const Definition: GasLiftSingleWellGeneric.hpp:171 Scalar oil Definition: GasLiftSingleWellGeneric.hpp:187 RatesAndBhp(Scalar oil_, Scalar gas_, Scalar water_, Scalar bhp_, bool bhp_is_limited_) Definition: GasLiftSingleWellGeneric.hpp:144 RatesAndBhp(const RatesAndBhp &rates) Definition: GasLiftSingleWellGeneric.hpp:136 bool bhp_is_limited Definition: GasLiftSingleWellGeneric.hpp:188 Scalar gas Definition: GasLiftSingleWellGeneric.hpp:187 |