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_;
148std::vector<std::vector<int> >
149perforatingWellIndicesOnProc(
const std::vector<int>& parts,
150 const std::vector<Dune::cpgrid::OpmWellType>& wells,
151 const std::unordered_map<std::string, std::set<int>>& possibleFutureConnections,
171std::vector<std::vector<int> >
172postProcessPartitioningForWells(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);
189std::vector<std::pair<std::string,bool>>
190computeParallelWells(
const std::vector<std::vector<int> >& wells_on_proc,
191 const std::vector<OpmWellType>& wells,
192 const Communication<MPI_Comm>& cc,
[ provides Dune::Grid ]
Definition CpGrid.hpp:201
A class calculating and representing all connections of wells.
Definition WellConnections.hpp:51
const_iterator begin() const
Get a begin iterator.
Definition WellConnections.hpp:110
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:96
const std::set< int > & operator[](std::size_t i) const
Access all connections of a well.
Definition WellConnections.hpp:104
const_iterator end() const
Get the end iterator.
Definition WellConnections.hpp:116
const_iterator iterator
The iterator type (always const).
Definition WellConnections.hpp:58
std::vector< std::set< int > >::const_iterator const_iterator
The const iterator type.
Definition WellConnections.hpp:55
std::size_t size() const
\breif Get the number of wells
Definition WellConnections.hpp:122
Copyright 2019 Equinor AS.
Definition CartesianIndexMapper.hpp:10