21 #ifndef GEOS_PHYSICSSOLVERS_FLUIDFLOW_WELLS_WELLCONSTRAINTBASE_HPP
22 #define GEOS_PHYSICSSOLVERS_FLUIDFLOW_WELLS_WELLCONSTRAINTBASE_HPP
187 void setBHP(
real64 bhp ){ m_BHP=bhp;};
virtual void evaluate(dataRepository::Group const &group, real64 const time, SortedArrayView< localIndex const > const &set, arrayView1d< real64 > const &result) const override final
Method to evaluate a function on a target object.
static CatalogInterface::CatalogType & getCatalog()
Get the singleton catalog for WellConstraintBase.
WellConstraintBase & operator=(WellConstraintBase const &)=delete
Deleted assignment operator.
WellConstraintBase & operator=(WellConstraintBase &&)=delete
Deleted move operator.
WellConstraintBase(WellConstraintBase const &)=delete
Deleted copy constructor.
bool setConstraintActive(bool const &constraintActive)
Sets constraint active status.
real64 totalVolumeRate() const
Getter for the total volume rate.
void setNextDtFromTables(real64 const currentTime, real64 &nextDt)
set next time step based on tables intervals
string m_constraintScheduleTableName
Constraint schedule table name.
real64 getConstraintValue(real64 const ¤tTime) const
Get the target bottom hole pressure value.
real64 m_rateSign
Rate sign. +1 for injector, -1 for producer.
~WellConstraintBase() override
Default destructor.
virtual void postInputInitialization() override
real64 m_constraintValue
Constraint value.
real64 massRate() const
Getter for the mass rate.
bool isConstraintActive() const
Defines whether the constraint should be evaluated or not.
real64 bottomHolePressure() const
Getter for the bottom hole pressure.
void setConstraintValue(real64 const &constraintValue)
Sets constraint value.
virtual bool checkViolation(WellConstraintBase const ¤tConstraint, real64 const ¤tTime) const =0
Check if this constraint is violated.
bool m_useScheduleTable
Flag to indicate whether a schedule table should be generated for constraint value;.
WellConstraintBase()=delete
Deleted default constructor.
WellConstraintBase(string const &name, dataRepository::Group *const parent)
Constructor for WellControls Objects.
arrayView1d< real64 const > phaseVolumeRates() const
Getter for the phase volume rates.
WellConstraintBase(WellConstraintBase &&)=delete
Deleted move constructor.
struct geos::WellConstraintBase::viewKeyStruct viewKeysWellConstraint
ViewKey struct for the WellControls class.
real64 liquidRate() const
Getter for the liquid rate.
bool m_isConstraintActive
Constraint status.
TableFunction const * m_constraintScheduleTable
Constraint values versus time.
This class describes the controls used to operate a well.
This class provides the base class/interface for the catalog value objects.
std::unordered_map< std::string, std::unique_ptr< CatalogInterface< BASETYPE, ARGS... > > > CatalogType
This is the type that will be used for the catalog. The catalog is actually instantiated in the BASET...
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
double real64
64-bit floating point type.
int integer
Signed integer type.
Array< T, 1 > array1d
Alias for 1D array.
Struct to serve as a container for variable strings and keys.
static constexpr char const * constraintScheduleTableNameString()
string key for schedule table name
static constexpr char const * constraintValueString()
String key for the well constraint value.