38 #ifndef OPM_GRIDPARTITIONING_HEADER
39 #define OPM_GRIDPARTITIONING_HEADER
46 #include <dune/common/parallel/mpihelper.hh>
48 #include <opm/grid/utility/OpmParserIncludes.hpp>
49 #include <opm/grid/common/WellConnections.hpp>
58 bool operator()(
const std::pair<int,int>& o,
const std::pair<int,int>& v)
60 return o.first < v.first;
73 const std::array<int, 3>& initial_split,
75 std::vector<int>& cell_part,
76 bool recursive =
false,
77 bool ensureConnectivity =
true);
87 void addOverlapLayer(
const CpGrid& grid,
88 const std::vector<int>& cell_part,
89 std::vector<std::set<int> >& cell_overlap,
90 int mypart,
int overlapLayers,
bool all=
false);
104 int addOverlapLayer(
const CpGrid& grid,
const std::vector<int>& cell_part,
105 std::vector<std::tuple<int,int,char>>& exportList,
106 std::vector<std::tuple<int,int,char,int>>& importList,
107 #
if DUNE_VERSION_NEWER(DUNE_GRID, 2, 7)
108 const Communication<Dune::MPIHelper::MPICommunicator>& cc,
110 const CollectiveCommunication<Dune::MPIHelper::MPICommunicator>& cc,
112 bool addCornerCells,
const double* trans,
int layers = 1);
135 std::tuple<std::vector<int>, std::vector<std::pair<std::string,bool>>,
136 std::vector<std::tuple<int,int,char> >,
137 std::vector<std::tuple<int,int,char,int> >,
139 createZoltanListsFromParts(
const CpGrid& grid,
const std::vector<cpgrid::OpmWellType> * wells,
140 const double* transmissibilities,
const std::vector<int>& parts,
141 bool allowDistributedWells);
160 std::tuple<std::vector<int>, std::vector<std::pair<std::string,bool>>,
161 std::vector<std::tuple<int,int,char> >,
162 std::vector<std::tuple<int,int,char,int> >,
164 vanillaPartitionGridOnRoot(
const CpGrid& grid,
165 const std::vector<cpgrid::OpmWellType> * wells,
166 const double* transmissibilities,
167 bool allowDistributedWells);
[ provides Dune::Grid ]
Definition: CpGrid.hpp:210
Copyright 2019 Equinor AS.
Definition: CartesianIndexMapper.hpp:10
void partition(const CpGrid &grid, const coord_t &initial_split, int &num_part, std::vector< int > &cell_part, bool recursive, bool ensureConnectivity)
Partition a CpGrid based on (ijk) coordinates, with splitting to ensure that each partition is connec...
Definition: GridPartitioning.cpp:195
Definition: GridPartitioning.hpp:57