20 #ifndef DUNE_CPGRID_WELL_CONNECTIONS_HEADER_INCLUDED 21 #define DUNE_CPGRID_WELL_CONNECTIONS_HEADER_INCLUDED 24 #include <unordered_set> 29 #include <opm/grid/utility/platform_dependent/disable_warnings.h> 31 #include <opm/grid/utility/platform_dependent/reenable_warnings.h> 34 #include <dune/common/parallel/communication.hh> 36 #include <opm/grid/CpGrid.hpp> 37 #include <opm/grid/utility/OpmWellType.hpp> 72 const std::unordered_map<std::string, std::set<int>>& possibleFutureConnections,
73 const std::array<int, 3>& cartesianSize,
74 const std::vector<int>& cartesian_to_compressed);
83 const std::unordered_map<std::string, std::set<int>>& possibleFutureConnections,
95 void init(
const std::vector<OpmWellType>& wells,
96 const std::unordered_map<std::string, std::set<int>>& possibleFutureConnections,
97 const std::array<int, 3>& cartesianSize,
98 const std::vector<int>& cartesian_to_compressed);
106 return well_indices_[i];
112 return well_indices_.begin();
118 return well_indices_.end();
124 return well_indices_.size();
129 std::vector<std::set<int> > well_indices_;
134 std::vector<std::vector<int> >
149 perforatingWellIndicesOnProc(
const std::vector<int>& parts,
150 const std::vector<Dune::cpgrid::OpmWellType>& wells,
151 const std::unordered_map<std::string, std::set<int>>& possibleFutureConnections,
171 std::vector<std::vector<int> >
172 postProcessPartitioningForWells(std::vector<int>& parts,
173 std::function<
int(
int)> gid,
174 const std::vector<OpmWellType>& wells,
175 const WellConnections& well_connections,
176 const std::vector<std::set<int> >& wellGraph,
177 std::vector<std::tuple<int,int,char>>& exportList,
178 std::vector<std::tuple<int,int,char,int>>& importList,
179 const Communication<MPI_Comm>& cc);
189 std::vector<std::pair<std::string,bool>>
190 computeParallelWells(
const std::vector<std::vector<int> >& wells_on_proc,
191 const std::vector<OpmWellType>& wells,
192 const Communication<MPI_Comm>& cc,
const_iterator end() const
Get the end iterator.
Definition: WellConnections.hpp:116
The namespace Dune is the main namespace for all Dune code.
Definition: CartesianIndexMapper.hpp:9
[ provides Dune::Grid ]
Definition: CpGrid.hpp:201
const_iterator begin() const
Get a begin iterator.
Definition: WellConnections.hpp:110
const_iterator iterator
The iterator type (always const).
Definition: WellConnections.hpp:58
const std::set< int > & operator[](std::size_t i) const
Access all connections of a well.
Definition: WellConnections.hpp:104
std::size_t size() const
Get the number of wells
Definition: WellConnections.hpp:122
void init(const std::vector< OpmWellType > &wells, const std::unordered_map< std::string, std::set< int >> &possibleFutureConnections, const std::array< int, 3 > &cartesianSize, const std::vector< int > &cartesian_to_compressed)
Initialze the data of the container.
Definition: WellConnections.cpp:110
std::vector< std::set< int > >::const_iterator const_iterator
The const iterator type.
Definition: WellConnections.hpp:55
A class calculating and representing all connections of wells.
Definition: WellConnections.hpp:50