50 using const_iterator = std::vector<Connection>::const_iterator;
53 WellConnections(
const Connection::Order ordering,
const int headI,
const int headJ);
54 WellConnections(
const Connection::Order ordering,
const int headI,
const int headJ,
55 const std::vector<Connection>& connections);
62 : m_ordering(src.ordering())
66 for (
const auto& c : src) {
67 if (grid.isCellActive(c.getI(), c.getJ(), c.getK())) {
75 this->m_connections.push_back(conn);
78 void addConnection(
const int i,
const int j,
const int k,
79 const std::size_t global_index,
80 const Connection::State state,
84 const Connection::Direction direction = Connection::Direction::Z,
85 const Connection::CTFKind ctf_kind = Connection::CTFKind::DeckValue,
86 const std::size_t seqIndex = 0,
87 const bool defaultSatTabId =
true);
91 const std::string& wname,
97 const std::string& wname,
99 external::cvf::ref<external::cvf::BoundingBoxTree>& cellSearchTree);
103 const std::string& wname,
109 int getHeadI()
const;
110 int getHeadJ()
const;
111 const std::vector<double>& getMD()
const;
112 std::size_t size()
const;
114 std::size_t num_open()
const;
115 const Connection& operator[](
size_t index)
const;
117 const Connection& getFromIJK(
const int i,
const int j,
const int k)
const;
118 const Connection& getFromGlobalIndex(std::size_t global_index)
const;
120 Connection& getFromIJK(
const int i,
const int j,
const int k);
121 bool hasGlobalIndex(std::size_t global_index)
const;
122 double segment_perf_length(
int segment)
const;
124 const_iterator begin()
const {
return this->m_connections.begin(); }
125 const_iterator end()
const {
return this->m_connections.end(); }
127 bool allConnectionsShut()
const;
145 Connection::Order ordering()
const {
return this->m_ordering; }
146 std::vector<const Connection *> output(
const EclipseGrid& grid)
const;
166 std::vector<bool>& scalingApplicable);
168 template <
class Serializer>
171 serializer(this->m_ordering);
172 serializer(this->headI);
173 serializer(this->headJ);
174 serializer(this->m_connections);
175 serializer(this->coord);
176 serializer(this->md);
180 Connection::Order m_ordering { Connection::Order::TRACK };
183 std::vector<Connection> m_connections{};
185 std::array<std::vector<double>, 3> coord{};
186 std::vector<double> md{};
188 void addConnection(
const int i,
const int j,
const int k,
189 const std::size_t global_index,
191 const Connection::State state,
194 const int satTableId,
195 const Connection::Direction direction,
196 const Connection::CTFKind ctf_kind,
197 const std::size_t seqIndex,
198 const bool defaultSatTabId);
200 size_t findClosestConnection(
int oi,
int oj,
double oz,
size_t start_pos);
void applyWellPIScaling(const double scaleFactor, std::vector< bool > &scalingApplicable)
Scale pertinent connections' CF value by supplied value.
Definition WellConnections.cpp:301
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30