23#ifndef OPM_BLACKOILWELLMODEL_CONSTRAINTS_HEADER_INCLUDED
24#define OPM_BLACKOILWELLMODEL_CONSTRAINTS_HEADER_INCLUDED
26#include <opm/input/eclipse/Schedule/Group/Group.hpp>
32template<
class Scalar>
class BlackoilWellModelGeneric;
34template<
class Scalar>
class GroupState;
36template<
class Scalar>
class WellState;
45 : wellModel_(wellModel)
53 const int reportStepIdx,
58 const Group::InjectionCMode& newControl,
59 const Phase& controlPhase,
65 const int reportStepIdx,
66 const Group::GroupLimitAction group_limit_action,
67 const Group::ProductionCMode& newControl,
69 std::optional<std::string>& worst_offending_well,
75 const int reportStepIdx,
76 std::map<std::pair<std::string,Phase>,std::string>& switched_inj,
77 std::map<std::string, std::string>& switched_prod,
78 std::map<std::string, std::pair<std::string, std::string>>& closed_offending_wells,
85 std::pair<Group::InjectionCMode, Scalar>
86 checkGroupInjectionConstraints(
const Group& group,
87 const int reportStepIdx,
88 const Phase& phase)
const;
91 std::pair<Group::ProductionCMode, Scalar>
92 checkGroupProductionConstraints(
const Group& group,
93 const int reportStepIdx,
Class for handling constraints for the blackoil well model.
Definition BlackoilWellModelConstraints.hpp:41
bool checkGroupConstraints(const Group &group, const int reportStepIdx, DeferredLogger &deferred_logger) const
Check the constraints of a well group.
Definition BlackoilWellModelConstraints.cpp:408
bool updateGroupIndividualControl(const Group &group, const int reportStepIdx, std::map< std::pair< std::string, Phase >, std::string > &switched_inj, std::map< std::string, std::string > &switched_prod, std::map< std::string, std::pair< std::string, std::string > > &closed_offending_wells, GroupState< Scalar > &group_state, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) const
Update the individual controls for wells in a group. Return true if a group control is changed.
Definition BlackoilWellModelConstraints.cpp:562
bool hasTHPConstraints() const
Return true if any well has a THP constraint.
Definition BlackoilWellModelConstraints.cpp:42
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.
Definition BlackoilWellModelConstraints.cpp:446
BlackoilWellModelConstraints(const BlackoilWellModelGeneric< Scalar > &wellModel)
Constructor initializes reference to the well model.
Definition BlackoilWellModelConstraints.hpp:44
Class for handling the blackoil well model.
Definition GroupEconomicLimitsChecker.hpp:35
Definition DeferredLogger.hpp:57
Definition WellInterfaceFluidSystem.hpp:43
The state of a set of wells, tailored for use by the fully implicit blackoil simulator.
Definition WellState.hpp:62
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilboundaryratevector.hh:37