My Project
Loading...
Searching...
No Matches
Opm::Well Class Reference

Classes

struct  WellGuideRate
 
struct  WellInjectionProperties
 
class  WellProductionProperties
 

Public Types

using Status = WellStatus
 
using InjMultMode = InjMult::InjMultMode
 
using InjectorCMode = WellInjectorCMode
 
using ProducerCMode = WellProducerCMode
 
using WELTARGCMode = WellWELTARGCMode
 
using GuideRateTarget = WellGuideRateTarget
 
using GasInflowEquation = WellGasInflowEquation
 
using InjectionControls = WellInjectionControls
 
using ProductionControls = WellProductionControls
 

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, int rst_whistctl_cmode, const TracerConfig &tracer_config, const UnitSystem &unit_system, double udq_undefined)
 
bool isMultiSegment () const
 
bool isAvailableForGroupControl () const
 
double getGuideRate () const
 
GuideRateTarget getGuideRatePhase () const
 
GuideRateTarget getRawGuideRatePhase () const
 
double getGuideRateScalingFactor () const
 
bool hasBeenDefined (std::size_t timeStep) const
 
std::size_t firstTimeStep () const
 
const WellTypewellType () const
 
bool predictionMode () const
 
bool isProducer () const
 
bool isInjector () const
 
InjectorCMode injection_cmode () const
 
ProducerCMode production_cmode () const
 
InjectorType injectorType () const
 
std::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
 
InjMultMode getInjMultMode () const
 
const InjMultgetWellInjMult () const
 
bool aciveWellInjMult () const
 
bool hasConnections () const
 
const std::vector< const Connection * > getConnections (int completion) const
 
const WellConnectionsgetConnections () const
 
const WellSegmentsgetSegments () const
 
int maxSegmentID () const
 
int maxBranchID () 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 WVFPDPgetWVFPDP () const
 
const WVFPEXPgetWVFPEXP () const
 
const WDFACgetWDFAC () 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 (std::optional< int > pvt_table)
 
bool updateHead (std::optional< int > I, std::optional< int > J)
 
void updateRefDepth ()
 
bool updateRefDepth (std::optional< double > ref_dpeth)
 
bool updateDrainageRadius (std::optional< 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 updateAvailableForGroupControl (bool available)
 
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 updateWVFPDP (std::shared_ptr< WVFPDP > wvfpdp)
 
bool updateWVFPEXP (std::shared_ptr< WVFPEXP > wvfpexp)
 
bool updateWDFAC (std::shared_ptr< WDFAC > wdfac)
 
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 handleCSKIN (const DeckRecord &record, const KeywordLocation &location)
 
bool handleCOMPLUMP (const DeckRecord &record)
 
bool handleWPIMULT (const DeckRecord &record)
 
bool handleWINJCLN (const DeckRecord &record, const KeywordLocation &location)
 
bool handleWINJDAM (const DeckRecord &record, const KeywordLocation &location)
 
bool handleWINJMULT (const DeckRecord &record, const KeywordLocation &location)
 
void setFilterConc (const UDAValue &conc)
 
double evalFilterConc (const SummaryState &summary_sate) const
 
bool applyGlobalWPIMULT (double scale_factor)
 
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 SummaryState &st) const
 
double temperature () const
 
void setWellTemperature (const double temp)
 
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
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 

Static Public Member Functions

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 serializationTestObject ()
 
static bool wellNameInWellNamePattern (const std::string &wellName, const std::string &wellNamePattern)
 

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