38#ifndef OPM_GRIDPARTITIONING_HEADER
39#define OPM_GRIDPARTITIONING_HEADER
46#include <dune/common/parallel/mpihelper.hh>
48#include <opm/grid/utility/OpmWellType.hpp>
49#include <opm/grid/common/WellConnections.hpp>
50#include <opm/grid/common/ZoltanGraphFunctions.hpp>
59 bool operator()(
const std::pair<int,int>& o,
const std::pair<int,int>& v)
61 return o.first < v.first;
74 const std::array<int, 3>& initial_split,
76 std::vector<int>& cell_part,
77 bool recursive =
false,
78 bool ensureConnectivity =
true);
89 void addOverlapLayer(
const CpGrid& grid,
90 const std::vector<int>& cell_part,
91 std::vector<std::set<int> >& cell_overlap,
110 int addOverlapLayer(
const CpGrid& grid,
111 const std::vector<int>& cell_part,
112 std::vector<std::tuple<int,int,char>>& exportList,
113 std::vector<std::tuple<int,int,char,int>>& importList,
114 const Communication<Dune::MPIHelper::MPICommunicator>& cc,
147 std::tuple<std::vector<int>, std::vector<std::pair<std::string,bool>>,
148 std::vector<std::tuple<int,int,char> >,
149 std::vector<std::tuple<int,int,char,int> >,
151 createListsFromParts(
const CpGrid& grid,
152 const std::vector<cpgrid::OpmWellType> * wells,
153 const std::unordered_map<std::string, std::set<int>>& possibleFutureConnections,
154 const double* transmissibilities,
155 const std::vector<int>& parts,
156 bool allowDistributedWells,
157 std::shared_ptr<cpgrid::CombinedGridWellGraph> gridAndWells =
nullptr,
180 std::tuple<std::vector<int>, std::vector<std::pair<std::string,bool>>,
181 std::vector<std::tuple<int,int,char> >,
182 std::vector<std::tuple<int,int,char,int> >,
184 vanillaPartitionGridOnRoot(
const CpGrid& grid,
185 const std::vector<cpgrid::OpmWellType> * wells,
186 const std::unordered_map<std::string, std::set<int>>& possibleFutureConnections,
187 const double* transmissibilities,
188 bool allowDistributedWells);
[ provides Dune::Grid ]
Definition CpGrid.hpp:198
The namespace Dune is the main namespace for all Dune code.
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:198
Definition GridPartitioning.hpp:58