opm-common
Loading...
Searching...
No Matches
Opm::Group Class Reference

Classes

struct  GroupInjectionProperties
 
struct  GroupLimitAction
 
struct  GroupProductionProperties
 
struct  InjectionControls
 
struct  ProductionControls
 

Public Types

enum class  GroupType : unsigned { NONE = 0 , PRODUCTION = 1 , INJECTION = 2 , MIXED = 3 }
 
enum class  ExceedAction {
  NONE = 0 , CON = 1 , CON_PLUS = 2 , WELL = 3 ,
  PLUG = 4 , RATE = 5
}
 
enum class  InjectionCMode : int {
  NONE = 0 , RATE = 1 , RESV = 2 , REIN = 4 ,
  VREP = 8 , FLD = 16 , SALE = 32
}
 
enum class  ProductionCMode : int {
  NONE = 0 , ORAT = 1 , WRAT = 2 , GRAT = 4 ,
  LRAT = 8 , CRAT = 16 , RESV = 32 , PRBL = 64 ,
  FLD = 128
}
 
enum class  GuideRateProdTarget {
  OIL = 0 , WAT = 1 , GAS = 2 , LIQ = 3 ,
  RES = 4 , COMB = 5 , WGA = 6 , CVAL = 7 ,
  INJV = 8 , POTN = 9 , FORM = 10 , NO_GUIDE_RATE = 11
}
 
enum class  GuideRateInjTarget {
  RATE = 1 , VOID = 2 , NETV = 3 , RESV = 4 ,
  NO_GUIDE_RATE = 5
}
 

Public Member Functions

 Group (const std::string &group_name, std::size_t insert_index_arg, double udq_undefined_arg, const UnitSystem &unit_system)
 
 Group (const RestartIO::RstGroup &rst_group, std::size_t insert_index_arg, double udq_undefined_arg, const UnitSystem &unit_system)
 
std::size_t insert_index () const
 
const std::string & name () const
 
bool is_field () const
 
bool update_gefac (double gefac, bool use_efficiency_in_network)
 
const std::string & parent () const
 
std::optional< std::string > control_group () const
 
std::optional< std::string > flow_group () const
 
bool updateParent (const std::string &parent)
 
bool updateInjection (const GroupInjectionProperties &injection)
 
bool updateProduction (const GroupProductionProperties &production)
 
bool isProductionGroup () const
 
bool isInjectionGroup () const
 
void setProductionGroup ()
 
void setInjectionGroup ()
 
double getGroupEfficiencyFactor (bool network=false) const
 
bool useEfficiencyInNetwork () const
 
void recordSatelliteProduction ()
 Tag current group as being one with satellite production.
 
bool hasSatelliteProduction () const
 Predicate for whether or not this group is tagged as a satellite producer.
 
void recordSatelliteInjection ()
 Tag current group as being one with satellite injection.
 
bool hasSatelliteInjection () const
 Predicate for whether or not this group is tagged as a satellite injector.
 
std::size_t numWells () const
 
bool addGroup (const std::string &group_name)
 
bool hasGroup (const std::string &group_name) const
 
void delGroup (const std::string &group_name)
 
bool addWell (const std::string &well_name)
 
bool hasWell (const std::string &well_name) const
 
void delWell (const std::string &well_name)
 
const std::vector< std::string > & wells () const
 
const std::vector< std::string > & groups () const
 
bool wellgroup () const
 
ProductionControls productionControls (const SummaryState &st) const
 
InjectionControls injectionControls (Phase phase, const SummaryState &st) const
 
bool hasInjectionControl (Phase phase) const
 
const GroupProductionPropertiesproductionProperties () const
 
const std::map< Phase, GroupInjectionProperties > & injectionProperties () const
 
const GroupInjectionPropertiesinjectionProperties (Phase phase) const
 
const GroupType & getGroupType () const
 
ProductionCMode prod_cmode () const
 
InjectionCMode injection_cmode () const
 
Phase injection_phase () const
 
bool has_control (ProductionCMode control) const
 
bool has_control (Phase phase, InjectionCMode control) const
 
bool productionGroupControlAvailable () const
 
bool injectionGroupControlAvailable (const Phase phase) const
 
const std::optional< GPMaint > & gpmaint () const
 
void set_gpmaint (GPMaint gpmaint)
 
void set_gpmaint ()
 
bool has_gpmaint_control (Phase phase, InjectionCMode cmode) const
 
bool has_gpmaint_control (ProductionCMode cmode) const
 
bool as_choke () const
 
void as_choke (const std::string &group)
 
bool operator== (const Group &data) const
 
const std::optional< Phase > & topup_phase () const
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 

Static Public Member Functions

static std::string ExceedAction2String (ExceedAction enumValue)
 
static ExceedAction ExceedActionFromString (const std::string &stringValue)
 
static ExceedAction ExceedActionFromInt (const int value)
 
static std::string InjectionCMode2String (InjectionCMode enumValue)
 
static InjectionCMode InjectionCModeFromString (const std::string &stringValue)
 
static InjectionCMode InjectionCModeFromInt (int ecl_int)
 
static int InjectionCMode2Int (InjectionCMode enumValue)
 
static std::string ProductionCMode2String (ProductionCMode enumValue)
 
static ProductionCMode ProductionCModeFromString (const std::string &stringValue)
 
static ProductionCMode ProductionCModeFromInt (int ecl_int)
 
static int ProductionCMode2Int (Group::ProductionCMode cmode)
 
static GuideRateProdTarget GuideRateProdTargetFromString (const std::string &stringValue)
 
static GuideRateProdTarget GuideRateProdTargetFromInt (int ecl_id)
 
static GuideRateInjTarget GuideRateInjTargetFromString (const std::string &stringValue)
 
static GuideRateInjTarget GuideRateInjTargetFromInt (int ecl_id)
 
static int GuideRateInjTargetToInt (GuideRateInjTarget target)
 
static Group serializationTestObject ()
 

Member Function Documentation

◆ hasSatelliteInjection()

bool Opm::Group::hasSatelliteInjection ( ) const

Predicate for whether or not this group is tagged as a satellite injector.

Returns true if function recordSatelliteInjection() has been previously called and false otherwise.

◆ hasSatelliteProduction()

bool Opm::Group::hasSatelliteProduction ( ) const

Predicate for whether or not this group is tagged as a satellite producer.

Returns true if function recordSatelliteProduction() has been previously called and false otherwise.

◆ recordSatelliteInjection()

void Opm::Group::recordSatelliteInjection ( )

Tag current group as being one with satellite injection.

A satellite injector generates flows, defined by the GSATINJE keyword, out of the model.

◆ recordSatelliteProduction()

void Opm::Group::recordSatelliteProduction ( )

Tag current group as being one with satellite production.

A satellite producer generates flows, defined by the GSATPROD keyword, into the model.


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