Opm::BlackoilWellModelConstraints< Scalar, IndexTraits > Class Template Reference

Class for handling constraints for the blackoil well model. More...

#include <BlackoilWellModelConstraints.hpp>

Public Types

using WellGroupHelpersType = WellGroupHelpers< Scalar, IndexTraits >
 

Public Member Functions

 BlackoilWellModelConstraints (const BlackoilWellModelGeneric< Scalar, IndexTraits > &wellModel)
 Constructor initializes reference to the well model. More...
 
bool checkGroupConstraints (const Group &group, const int reportStepIdx, DeferredLogger &deferred_logger) const
 Check the constraints of a well group. More...
 
void actionOnBrokenConstraints (const Group &group, const Group::InjectionCMode &newControl, const Phase &controlPhase, GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) const
 Execute action for broken constraint for an injection well group. More...
 
bool actionOnBrokenConstraints (const Group &group, const int reportStepIdx, const Group::GroupLimitAction group_limit_action, const Group::ProductionCMode &newControl, const WellState< Scalar, IndexTraits > &well_state, std::optional< std::string > &worst_offending_well, GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) const
 Execute action on broken constraint for a production well group. Return true if a group control is changed. More...
 
bool updateGroupIndividualControl (const Group &group, const int reportStepIdx, const int max_number_of_group_switch, const bool update_group_switching_log, std::map< std::string, std::array< std::vector< Group::InjectionCMode >, 3 > > &switched_inj, std::map< std::string, std::vector< Group::ProductionCMode > > &switched_prod, std::map< std::string, std::pair< std::string, std::string > > &closed_offending_wells, GroupState< Scalar > &group_state, WellState< Scalar, IndexTraits > &well_state, DeferredLogger &deferred_logger) const
 Update the individual controls for wells in a group. Return true if a group control is changed. More...
 

Static Public Attributes

static constexpr int waterPhaseIdx = IndexTraits::waterPhaseIdx
 
static constexpr int oilPhaseIdx = IndexTraits::oilPhaseIdx
 
static constexpr int gasPhaseIdx = IndexTraits::gasPhaseIdx
 

Detailed Description

template<typename Scalar, typename IndexTraits>
class Opm::BlackoilWellModelConstraints< Scalar, IndexTraits >

Class for handling constraints for the blackoil well model.

Member Typedef Documentation

◆ WellGroupHelpersType

template<typename Scalar , typename IndexTraits >
using Opm::BlackoilWellModelConstraints< Scalar, IndexTraits >::WellGroupHelpersType = WellGroupHelpers<Scalar, IndexTraits>

Constructor & Destructor Documentation

◆ BlackoilWellModelConstraints()

template<typename Scalar , typename IndexTraits >
Opm::BlackoilWellModelConstraints< Scalar, IndexTraits >::BlackoilWellModelConstraints ( const BlackoilWellModelGeneric< Scalar, IndexTraits > &  wellModel)
inlineexplicit

Constructor initializes reference to the well model.

Member Function Documentation

◆ actionOnBrokenConstraints() [1/2]

template<typename Scalar , typename IndexTraits >
void Opm::BlackoilWellModelConstraints< Scalar, IndexTraits >::actionOnBrokenConstraints ( const Group &  group,
const Group::InjectionCMode &  newControl,
const Phase &  controlPhase,
GroupState< Scalar > &  group_state,
DeferredLogger deferred_logger 
) const

Execute action for broken constraint for an injection well group.

◆ actionOnBrokenConstraints() [2/2]

template<typename Scalar , typename IndexTraits >
bool Opm::BlackoilWellModelConstraints< Scalar, IndexTraits >::actionOnBrokenConstraints ( const Group &  group,
const int  reportStepIdx,
const Group::GroupLimitAction  group_limit_action,
const Group::ProductionCMode &  newControl,
const WellState< Scalar, IndexTraits > &  well_state,
std::optional< std::string > &  worst_offending_well,
GroupState< Scalar > &  group_state,
DeferredLogger deferred_logger 
) const

Execute action on broken constraint for a production well group. Return true if a group control is changed.

◆ checkGroupConstraints()

template<typename Scalar , typename IndexTraits >
bool Opm::BlackoilWellModelConstraints< Scalar, IndexTraits >::checkGroupConstraints ( const Group &  group,
const int  reportStepIdx,
DeferredLogger deferred_logger 
) const

Check the constraints of a well group.

◆ updateGroupIndividualControl()

template<typename Scalar , typename IndexTraits >
bool Opm::BlackoilWellModelConstraints< Scalar, IndexTraits >::updateGroupIndividualControl ( const Group &  group,
const int  reportStepIdx,
const int  max_number_of_group_switch,
const bool  update_group_switching_log,
std::map< std::string, std::array< std::vector< Group::InjectionCMode >, 3 > > &  switched_inj,
std::map< std::string, std::vector< Group::ProductionCMode > > &  switched_prod,
std::map< std::string, std::pair< std::string, std::string > > &  closed_offending_wells,
GroupState< Scalar > &  group_state,
WellState< Scalar, IndexTraits > &  well_state,
DeferredLogger deferred_logger 
) const

Update the individual controls for wells in a group. Return true if a group control is changed.

Member Data Documentation

◆ gasPhaseIdx

template<typename Scalar , typename IndexTraits >
constexpr int Opm::BlackoilWellModelConstraints< Scalar, IndexTraits >::gasPhaseIdx = IndexTraits::gasPhaseIdx
staticconstexpr

◆ oilPhaseIdx

template<typename Scalar , typename IndexTraits >
constexpr int Opm::BlackoilWellModelConstraints< Scalar, IndexTraits >::oilPhaseIdx = IndexTraits::oilPhaseIdx
staticconstexpr

◆ waterPhaseIdx

template<typename Scalar , typename IndexTraits >
constexpr int Opm::BlackoilWellModelConstraints< Scalar, IndexTraits >::waterPhaseIdx = IndexTraits::waterPhaseIdx
staticconstexpr

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