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

Public Types

using const_iterator = std::vector<Connection>::const_iterator

Public Member Functions

 WellConnections (const Connection::Order ordering, const int headI, const int headJ)
 WellConnections (const Connection::Order ordering, const int headI, const int headJ, const std::vector< Connection > &connections)
template<class Grid>
 WellConnections (const WellConnections &src, const Grid &grid)
void add (const Connection &conn)
void addConnection (const int i, const int j, const int k, const std::size_t global_index, const Connection::State state, const double depth, const Connection::CTFProperties &ctf_props, const int satTableId, const Connection::Direction direction=Connection::Direction::Z, const Connection::CTFKind ctf_kind=Connection::CTFKind::DeckValue, const std::size_t seqIndex=0, int lgr_grid_number=0, const bool defaultSatTabId=true)
void loadCOMPDAT (const DeckRecord &record, const std::string &wname, const WDFAC &wdfac, const ScheduleGrid &grid, const KeywordLocation &location, const ParseContext &parseContext, ErrorGuard &errors)
void loadCOMPDATL (const DeckRecord &record, const std::string &wname, const WDFAC &wdfac, const ScheduleGrid &grid, const KeywordLocation &location, const ParseContext &parseContext, ErrorGuard &errors)
void loadCOMPTRAJ (const DeckRecord &record, const std::string &wname, const ScheduleGrid &grid, const KeywordLocation &location, WellTrajInfo &wellTraj)
void loadWELTRAJ (const DeckRecord &record, const std::string &wname, const ScheduleGrid &grid, const KeywordLocation &location)
void applyDFactorCorrelation (const ScheduleGrid &grid, const WDFAC &wdfac)
int getHeadI () const
int getHeadJ () const
const std::vector< double > & getMD () const
std::size_t size () const
bool empty () const
std::size_t num_open () const
const Connectionoperator[] (size_t index) const
const Connectionget (size_t index) const
const ConnectiongetFromIJK (const int i, const int j, const int k) const
const ConnectiongetFromGlobalIndex (std::size_t global_index) const
const Connectionlowest () const
ConnectiongetFromIJK (const int i, const int j, const int k)
ConnectionmaybeGetFromGlobalIndex (const std::size_t global_index)
bool hasGlobalIndex (std::size_t global_index) const
double segment_perf_length (int segment) const
const_iterator begin () const
const_iterator end () const
auto begin ()
auto end ()
bool allConnectionsShut () const
void order ()
 Order connections irrespective of input order.
bool operator== (const WellConnections &) const
bool operator!= (const WellConnections &) const
Connection::Order ordering () const
std::vector< const Connection * > output (const EclipseGrid &grid) const
bool prepareWellPIScaling ()
 Activate or reactivate WELPI scaling for this connection set.
void applyWellPIScaling (const double scaleFactor, std::vector< bool > &scalingApplicable)
 Scale pertinent connections' CF value by supplied value.
template<class Serializer>
void serializeOp (Serializer &serializer)

Static Public Member Functions

static WellConnections serializationTestObject ()

Member Function Documentation

◆ applyWellPIScaling()

void Opm::WellConnections::applyWellPIScaling ( const double scaleFactor,
std::vector< bool > & scalingApplicable )

Scale pertinent connections' CF value by supplied value.

Scaling factor typically derived from 'WELPI' input keyword and a dynamic productivity index calculation. Applicability array specifies whether or not a particular connection is exempt from scaling. Empty array means "apply scaling to all eligible connections". This array is updated on return (entries set to 'false' if corresponding connection is not eligible).

◆ order()

void Opm::WellConnections::order ( )

Order connections irrespective of input order.

The algorithm used is the following:

  1. The connection nearest to the given (well_i, well_j) coordinates in terms of the connection's (i, j) is chosen to be the first connection. If non-unique, choose one with lowest z-depth (shallowest).
  2. Choose next connection to be nearest to current in (i, j) sense. If non-unique choose closest in z-depth (not logical cartesian k).
Parameters
[in]well_ilogical cartesian i-coordinate of well head
[in]well_jlogical cartesian j-coordinate of well head
[in]gridEclipseGrid object, used for cell depths

◆ prepareWellPIScaling()

bool Opm::WellConnections::prepareWellPIScaling ( )

Activate or reactivate WELPI scaling for this connection set.

Following this call, any WELPI-based scaling will apply to all connections whose properties are not reset in COMPDAT.

Returns whether or not this call to prepareWellPIScaling() is a state change (e.g., no WELPI to active WELPI or WELPI for some connections to WELPI for all connections).


The documentation for this class was generated from the following files:
  • opm/input/eclipse/Schedule/Well/WellConnections.hpp
  • opm/input/eclipse/Schedule/Well/WellConnections.cpp