My Project
|
Public Types | |
using | const_iterator = std::vector< Connection >::const_iterator |
Public Member Functions | |
WellConnections (Connection::Order ordering, int headI, int headJ) | |
WellConnections (Connection::Order ordering, int headI, int headJ, const std::vector< Connection > &connections) | |
WellConnections (const WellConnections &src, const EclipseGrid &grid) | |
void | addConnection (int i, int j, int k, std::size_t global_index, double depth, Connection::State state, double CF, double Kh, double rw, double r0, double re, double connection_length, 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 EclipseGrid &grid, const FieldPropsManager &field_properties, const std::string &wname, const KeywordLocation &location) |
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. More... | |
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. More... | |
void | applyWellPIScaling (const double scaleFactor, std::vector< bool > &scalingApplicable) |
Scale pertinent connections' CF value by supplied value. More... | |
template<class Serializer > | |
void | serializeOp (Serializer &serializer) |
Static Public Member Functions | |
static WellConnections | serializeObject () |
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).