My Project
|
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 | addConnection (const int i, const int j, const int k, const std::size_t global_index, const double depth, const Connection::State state, const double CF, const double Kh, const double rw, const double r0, const double re, const double connection_length, const double skin_factor, const int satTableId, const Connection::Direction direction=Connection::Direction::Z, const Connection::CTFKind ctf_kind=Connection::CTFKind::DeckValue, const std::size_t seqIndex=0, const bool defaultSatTabId=true) |
void | loadCOMPDAT (const DeckRecord &record, const ScheduleGrid &grid, const std::string &wname, 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) |
int | getHeadI () const |
int | getHeadJ () const |
const std::vector< double > & | getMD () const |
void | add (Connection) |
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) |
bool | hasGlobalIndex (std::size_t global_index) const |
double | segment_perf_length (int segment) const |
const_iterator | begin () const |
const_iterator | end () const |
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 () |
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).
void Opm::WellConnections::order | ( | ) |
Order connections irrespective of input order.
The algorithm used is the following:
[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 |
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).