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 ScheduleGrid &grid, const std::string &wname, const WDFAC &wdfac, const KeywordLocation &location)
void | loadCOMPDATL (const DeckRecord &record, const ScheduleGrid &grid, const std::string &wname, const WDFAC &wdfac, const KeywordLocation &location)
void | loadCOMPTRAJ (const DeckRecord &record, const ScheduleGrid &grid, const std::string &wname, const KeywordLocation &location, external::cvf::ref< external::cvf::BoundingBoxTree > &cellSearchTree)
void | loadWELTRAJ (const DeckRecord &record, const ScheduleGrid &grid, const std::string &wname, 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 Connection & | operator[] (size_t index) const
const Connection & | get (size_t index) const
const Connection & | getFromIJK (const int i, const int j, const int k) const
const Connection & | getFromGlobalIndex (std::size_t global_index) const
const Connection & | lowest () const
Connection & | getFromIJK (const int i, const int j, const int k)
Connection * | maybeGetFromGlobalIndex (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 ()
void | filter (const ActiveGridCells &grid)
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_i | logical cartesian i-coordinate of well head
  [in] | well_j | logical cartesian j-coordinate of well head
  [in] | grid | EclipseGrid 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