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

Classes

struct  GroupInjectionProperties
struct  GroupLimitAction
struct  InjectionControls
struct  GroupProductionProperties
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:
  • opm/input/eclipse/Schedule/Group/Group.hpp
  • opm/input/eclipse/Schedule/Group/Group.cpp