My Project
Opm::Well Class Reference

Classes

struct  InjectionControls
 
struct  ProductionControls
 
struct  WellGuideRate
 
struct  WellInjectionProperties
 
class  WellProductionProperties
 

Public Types

enum class  Status { OPEN = 1 , STOP = 2 , SHUT = 3 , AUTO = 4 }
 
enum class  InjectorCMode : int {
  RATE = 1 , RESV = 2 , BHP = 4 , THP = 8 ,
  GRUP = 16 , CMODE_UNDEFINED = 512
}
 
enum class  ProducerCMode : int {
  NONE = 0 , ORAT = 1 , WRAT = 2 , GRAT = 4 ,
  LRAT = 8 , CRAT = 16 , RESV = 32 , BHP = 64 ,
  THP = 128 , GRUP = 256 , CMODE_UNDEFINED = 1024
}
 
enum class  WELTARGCMode {
  ORAT = 1 , WRAT = 2 , GRAT = 3 , LRAT = 4 ,
  CRAT = 5 , RESV = 6 , BHP = 7 , THP = 8 ,
  VFP = 9 , LIFT = 10 , GUID = 11
}
 
enum class  GuideRateTarget {
  OIL = 0 , WAT = 1 , GAS = 2 , LIQ = 3 ,
  COMB = 4 , WGA = 5 , CVAL = 6 , RAT = 7 ,
  RES = 8 , UNDEFINED = 9
}
 
enum class  GasInflowEquation { STD = 0 , R_G = 1 , P_P = 2 , GPP = 3 }
 

Public Member Functions

 Well (const std::string &wname, const std::string &gname, std::size_t init_step, std::size_t insert_index, int headI, int headJ, const std::optional< double > &ref_depth, const WellType &wtype_arg, ProducerCMode whistctl_cmode, Connection::Order ordering, const UnitSystem &unit_system, double udq_undefined, double dr, bool allow_xflow, bool auto_shutin, int pvt_table, GasInflowEquation inflow_eq)
 
 Well (const RestartIO::RstWell &rst_well, int report_step, const TracerConfig &tracer_config, const UnitSystem &unit_system, double udq_undefined)
 
bool isMultiSegment () const
 
bool isAvailableForGroupControl () const
 
double getGuideRate () const
 
GuideRateTarget getGuideRatePhase () const
 
double getGuideRateScalingFactor () const
 
bool hasBeenDefined (size_t timeStep) const
 
std::size_t firstTimeStep () const
 
const WellTypewellType () const
 
bool predictionMode () const
 
bool canOpen () const
 
bool isProducer () const
 
bool isInjector () const
 
InjectorCMode injection_cmode () const
 
ProducerCMode production_cmode () const
 
InjectorType injectorType () const
 
size_t seqIndex () const
 
bool getAutomaticShutIn () const
 
bool getAllowCrossFlow () const
 
const std::string & name () const
 
const std::vector< std::string > & wListNames () const
 
int getHeadI () const
 
int getHeadJ () const
 
double getWPaveRefDepth () const
 
bool hasRefDepth () const
 
double getRefDepth () const
 
double getDrainageRadius () const
 
double getEfficiencyFactor () const
 
double getSolventFraction () const
 
Status getStatus () const
 
const std::string & groupName () const
 
Phase getPreferredPhase () const
 
const std::vector< const Connection * > getConnections (int completion) const
 
const WellConnectionsgetConnections () const
 
const WellSegmentsgetSegments () const
 
const WellProductionPropertiesgetProductionProperties () const
 
const WellInjectionPropertiesgetInjectionProperties () const
 
const WellEconProductionLimitsgetEconLimits () const
 
const WellFoamPropertiesgetFoamProperties () const
 
const WellPolymerPropertiesgetPolymerProperties () const
 
const WellMICPPropertiesgetMICPProperties () const
 
const WellBrinePropertiesgetBrineProperties () const
 
const WellTracerPropertiesgetTracerProperties () const
 
const WVFPEXPgetWVFPEXP () const
 
double production_rate (const SummaryState &st, Phase phase) const
 
double injection_rate (const SummaryState &st, Phase phase) const
 
std::map< int, std::vector< Connection > > getCompletions () const
 
bool hasCompletion (int completion) const
 
bool updatePrediction (bool prediction_mode)
 
bool updateAutoShutin (bool auto_shutin)
 
bool updateCrossFlow (bool allow_cross_flow)
 
bool updatePVTTable (int pvt_table)
 
bool updateHead (int I, int J)
 
void updateRefDepth ()
 
bool updateRefDepth (const std::optional< double > &ref_dpeth)
 
bool updateDrainageRadius (double drainage_radius)
 
void updateSegments (std::shared_ptr< WellSegments > segments_arg)
 
bool updateConnections (std::shared_ptr< WellConnections > connections, bool force)
 
bool updateConnections (std::shared_ptr< WellConnections > connections, const ScheduleGrid &grid)
 
bool updateStatus (Status status)
 
bool updateGroup (const std::string &group)
 
bool updateWellGuideRate (bool available, double guide_rate, GuideRateTarget guide_phase, double scale_factor)
 
bool updateWellGuideRate (double guide_rate)
 
bool updateEfficiencyFactor (double efficiency_factor)
 
bool updateSolventFraction (double solvent_fraction)
 
bool updateTracer (std::shared_ptr< WellTracerProperties > tracer_properties)
 
bool updateFoamProperties (std::shared_ptr< WellFoamProperties > foam_properties)
 
bool updatePolymerProperties (std::shared_ptr< WellPolymerProperties > polymer_properties)
 
bool updateMICPProperties (std::shared_ptr< WellMICPProperties > micp_properties)
 
bool updateBrineProperties (std::shared_ptr< WellBrineProperties > brine_properties)
 
bool updateEconLimits (std::shared_ptr< WellEconProductionLimits > econ_limits)
 
bool updateProduction (std::shared_ptr< WellProductionProperties > production)
 
bool updateInjection (std::shared_ptr< WellInjectionProperties > injection)
 
bool updateWellProductivityIndex ()
 
bool updateWSEGSICD (const std::vector< std::pair< int, SICD > > &sicd_pairs)
 
bool updateWSEGVALV (const std::vector< std::pair< int, Valve > > &valve_pairs)
 
bool updateWSEGAICD (const std::vector< std::pair< int, AutoICD > > &aicd_pairs, const KeywordLocation &location)
 
bool updateWPAVE (const PAvg &pavg)
 
void updateWPaveRefDepth (double ref_depth)
 
bool updateWVFPEXP (std::shared_ptr< WVFPEXP > wvfpexp)
 
bool handleWELSEGS (const DeckKeyword &keyword)
 
bool handleCOMPSEGS (const DeckKeyword &keyword, const ScheduleGrid &grid, const ParseContext &parseContext, ErrorGuard &errors)
 
bool handleWELOPENConnections (const DeckRecord &record, Connection::State status)
 
bool handleCOMPLUMP (const DeckRecord &record)
 
bool handleWPIMULT (const DeckRecord &record)
 
void filterConnections (const ActiveGridCells &grid)
 
ProductionControls productionControls (const SummaryState &st) const
 
InjectionControls injectionControls (const SummaryState &st) const
 
int vfp_table_number () const
 
int pvt_table_number () const
 
int fip_region_number () const
 
GasInflowEquation gas_inflow_equation () const
 
bool segmented_density_calculation () const
 
double alq_value () const
 
double temperature () const
 
bool hasInjected () const
 
bool hasProduced () const
 
bool updateHasInjected ()
 
bool updateHasProduced ()
 
bool cmp_structure (const Well &other) const
 
bool operator== (const Well &data) const
 
bool hasSameConnectionsPointers (const Well &other) const
 
void setInsertIndex (std::size_t index)
 
double convertDeckPI (double deckPI) const
 
void applyWellProdIndexScaling (const double scalingFactor, std::vector< bool > &scalingApplicable)
 
const PAvgpavg () const
 
PAvgCalculator pavg_calculator (const EclipseGrid &grid, const std::vector< double > &porv) const
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 

Static Public Member Functions

static std::string Status2String (Status enumValue)
 
static Status StatusFromString (const std::string &stringValue)
 
static const std::string InjectorCMode2String (InjectorCMode enumValue)
 
static InjectorCMode InjectorCModeFromString (const std::string &stringValue)
 
static const std::string ProducerCMode2String (ProducerCMode enumValue)
 
static ProducerCMode ProducerCModeFromString (const std::string &stringValue)
 
static WELTARGCMode WELTARGCModeFromString (const std::string &stringValue)
 
static const std::string GuideRateTarget2String (GuideRateTarget enumValue)
 
static GuideRateTarget GuideRateTargetFromString (const std::string &stringValue)
 
static const std::string GasInflowEquation2String (GasInflowEquation enumValue)
 
static GasInflowEquation GasInflowEquationFromString (const std::string &stringValue)
 
static int eclipseControlMode (const Well::InjectorCMode imode, const InjectorType itype)
 
static int eclipseControlMode (const Well::ProducerCMode pmode)
 
static int eclipseControlMode (const Well &well, const SummaryState &st)
 
static Well serializeObject ()
 
static bool wellNameInWellNamePattern (const std::string &wellName, const std::string &wellNamePattern)
 

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