20#ifndef DUNE_CPGRID_ZOLTANPARTITION_HEADER
21#define DUNE_CPGRID_ZOLTANPARTITION_HEADER
23#include <unordered_set>
25#include <opm/grid/CpGrid.hpp>
26#include <opm/grid/common/ZoltanGraphFunctions.hpp>
27#include <opm/grid/common/WellConnections.hpp>
68std::tuple<std::vector<int>, std::vector<std::pair<std::string,bool>>,
69 std::vector<std::tuple<int,int,char> >,
70 std::vector<std::tuple<int,int,char,int> >,
73 const Dune::Communication<MPI_Comm>& cc,
74 const std::vector<Dune::cpgrid::OpmWellType> * wells,
75 const std::unordered_map<std::string, std::set<int>>& possibleFutureConnections,
80 const Id* exportLocalGids,
81 const Id* exportGlobalGids,
82 const int* exportToPart,
83 const Id* importGlobalGids,
84 bool allowDistributedWells =
false);
87std::tuple<int, std::vector<Id> >
88scatterExportInformation(
int numExport,
const Id* exportGlobalGids,
89 const int* exportToPart,
int root,
90 const Dune::Communication<MPI_Comm>& cc);
94#if defined(HAVE_ZOLTAN) && defined(HAVE_MPI)
132std::tuple<std::vector<int>,std::vector<std::pair<std::string,bool>>,
133 std::vector<std::tuple<int,int,char> >,
134 std::vector<std::tuple<int,int,char,int> >,
136zoltanGraphPartitionGridOnRoot(
const CpGrid& grid,
137 const std::vector<OpmWellType> * wells,
138 const std::unordered_map<std::string, std::set<int>>& possibleFutureConnections,
139 const double* transmissibilities,
140 const Communication<MPI_Comm>& cc,
142 const double zoltanImbalanceTol,
143 bool allowDistributedWells,
144 const std::map<std::string,std::string>& params);
179std::tuple<std::vector<int>, std::vector<std::pair<std::string,bool>>,
180 std::vector<std::tuple<int,int,char> >,
181 std::vector<std::tuple<int,int,char,int> >,
183zoltanSerialGraphPartitionGridOnRoot(
const CpGrid& grid,
184 const std::vector<OpmWellType> * wells,
185 const std::unordered_map<std::string, std::set<int>>& possibleFutureConnections,
186 const double* transmissibilities,
187 const Communication<MPI_Comm>& cc,
189 const double zoltanImbalanceTol,
190 bool allowDistributedWells,
191 const std::map<std::string,std::string>& params);
216zoltanGraphPartitionGridForJac(
const CpGrid& cpgrid,
217 const std::vector<OpmWellType> * wells,
218 const std::unordered_map<std::string, std::set<int>>& possibleFutureConnections,
219 const double* transmissibilities,
220 const Communication<MPI_Comm>& cc,
222 int numParts,
const double zoltanImbalanceTol);
[ provides Dune::Grid ]
Definition CpGrid.hpp:198
A graph repesenting a grid together with the well completions.
Definition ZoltanGraphFunctions.hpp:138
The namespace Dune is the main namespace for all Dune code.
Definition CartesianIndexMapper.hpp:10
EdgeWeightMethod
enum for choosing Methods for weighting graph-edges correspoding to cell interfaces in Zoltan's or Me...
Definition GridEnums.hpp:34