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 | 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, const bool defaultSatTabId=true) |
void | loadCOMPDAT (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) |
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).