My Project
Loading...
Searching...
No Matches
Opm::GasLiftStage2 Class Reference
Inheritance diagram for Opm::GasLiftStage2:
Opm::GasLiftCommon

Classes

struct  OptimizeState
 
struct  SurplusState
 

Public Member Functions

 GasLiftStage2 (const int report_step_idx, const Parallel::Communication &comm, const Schedule &schedule, const SummaryState &summary_state, DeferredLogger &deferred_logger, WellState &well_state, const GroupState &group_state, GLiftProdWells &prod_wells, GLiftOptWells &glift_wells, GasLiftGroupInfo &group_info, GLiftWellStateMap &state_map, bool glift_debug)
 
void runOptimize ()
 

Protected Member Functions

void addOrRemoveALQincrement_ (GradMap &grad_map, const std::string &well_name, bool add)
 
std::optional< GradInfo > calcIncOrDecGrad_ (const std::string name, const GasLiftSingleWell &gs_well, const std::string &gr_name_dont_limit, bool increase)
 
bool checkRateAlreadyLimited_ (const std::string &well_name, GasLiftWellState &state, bool increase)
 
GradInfo deleteDecGradItem_ (const std::string &name)
 
GradInfo deleteIncGradItem_ (const std::string &name)
 
GradInfo deleteGrad_ (const std::string &name, bool increase)
 
void displayDebugMessage_ (const std::string &msg) const override
 
void displayDebugMessage2B_ (const std::string &msg)
 
void displayDebugMessage_ (const std::string &msg, const std::string &group_name)
 
void displayWarning_ (const std::string &msg, const std::string &group_name)
 
void displayWarning_ (const std::string &msg)
 
std::tuple< double, double, double, doublegetCurrentGroupRates_ (const Group &group)
 
std::optional< doublegetGroupMaxALQ_ (const Group &group)
 
std::optional< doublegetGroupMaxTotalGas_ (const Group &group)
 
std::vector< GasLiftSingleWell * > getGroupGliftWells_ (const Group &group)
 
void getGroupGliftWellsRecursive_ (const Group &group, std::vector< GasLiftSingleWell * > &wells)
 
void optimizeGroup_ (const Group &group)
 
void optimizeGroupsRecursive_ (const Group &group)
 
void recalculateGradientAndUpdateData_ (GradPairItr &grad_itr, const std::string &gr_name_dont_limit, bool increase, std::vector< GradPair > &grads, std::vector< GradPair > &other_grads)
 
void redistributeALQ_ (std::vector< GasLiftSingleWell * > &wells, const Group &group, std::vector< GradPair > &inc_grads, std::vector< GradPair > &dec_grads)
 
void removeSurplusALQ_ (const Group &group, std::vector< GradPair > &inc_grads, std::vector< GradPair > &dec_grads)
 
void saveGrad_ (GradMap &map, const std::string &name, GradInfo &grad)
 
void saveDecGrad_ (const std::string &name, GradInfo &grad)
 
void saveIncGrad_ (const std::string &name, GradInfo &grad)
 
void sortGradients_ (std::vector< GradPair > &grads)
 
std::optional< GradInfo > updateGrad_ (const std::string &name, GradInfo &grad, bool increase)
 
void updateGradVector_ (const std::string &name, std::vector< GradPair > &grads, double grad)
 
void mpiSyncGlobalGradVector_ (std::vector< GradPair > &grads_global) const
 
void mpiSyncLocalToGlobalGradVector_ (const std::vector< GradPair > &grads_local, std::vector< GradPair > &grads_global) const
 
- Protected Member Functions inherited from Opm::GasLiftCommon
 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
 

Protected Attributes

GLiftProdWells & prod_wells_
 
GLiftOptWells & stage1_wells_
 
GasLiftGroupInfogroup_info_
 
GLiftWellStateMap & well_state_map_
 
int report_step_idx_
 
const SummaryStatesummary_state_
 
const Scheduleschedule_
 
const GasLiftOptglo_
 
GradMap inc_grads_
 
GradMap dec_grads_
 
int max_iterations_ = 1000
 
- Protected Attributes inherited from Opm::GasLiftCommon
WellStatewell_state_
 
const GroupStategroup_state_
 
DeferredLoggerdeferred_logger_
 
const Parallel::Communication & comm_
 
bool debug
 
bool debug_output_only_on_rank0 = false
 

Additional Inherited Members

- Protected Types inherited from Opm::GasLiftCommon
enum class  MessageType { INFO , WARNING }
 

Member Function Documentation

◆ displayDebugMessage_()

void Opm::GasLiftStage2::displayDebugMessage_ ( const std::string &  msg) const
overrideprotectedvirtual

Implements Opm::GasLiftCommon.


The documentation for this class was generated from the following files: