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

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< Scalar > &well_state, const GroupState< Scalar > &group_state, GLiftProdWells &prod_wells, GLiftOptWells &glift_wells, GasLiftGroupInfo< Scalar > &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< Scalar > &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< Scalar, Scalar, Scalar, Scalar > getCurrentGroupRates_ (const Group &group)
 
std::optional< Scalar > getGroupMaxALQ_ (const Group &group)
 
std::optional< Scalar > getGroupMaxTotalGas_ (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 > &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, Scalar grad)
 
void mpiSyncGlobalGradVector_ (std::vector< GradPair > &grads_global) const
 
void mpiSyncLocalToGlobalGradVector_ (const std::vector< GradPair > &grads_local, std::vector< GradPair > &grads_global) const
 
std::array< Scalar, 4 > computeDelta (const std::string &name, bool add)
 
void updateGroupInfo (const std::string &name, bool add)
 
- Protected Member Functions inherited from Opm::GasLiftCommon< Scalar >
 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
 

Protected Attributes

GLiftProdWells & prod_wells_
 
GLiftOptWells & stage1_wells_
 
GasLiftGroupInfo< Scalar > & group_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< Scalar >
WellState< Scalar > & well_state_
 
const GroupState< Scalar > & group_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< Scalar >
enum class  MessageType { INFO , WARNING }
 

Member Function Documentation

◆ displayDebugMessage_()

template<class Scalar >
void Opm::GasLiftStage2< Scalar >::displayDebugMessage_ ( const std::string &  msg) const
overrideprotectedvirtual

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