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>
65std::tuple<std::vector<int>, std::vector<std::pair<std::string,bool>>,
66 std::vector<std::tuple<int,int,char> >,
67 std::vector<std::tuple<int,int,char,int> >,
70 const Dune::Communication<MPI_Comm>& cc,
71 const std::vector<Dune::cpgrid::OpmWellType> * wells,
76 const Id* exportLocalGids,
77 const Id* exportGlobalGids,
78 const int* exportToPart,
79 const Id* importGlobalGids,
80 bool allowDistributedWells =
false);
83std::tuple<int, std::vector<Id> >
84scatterExportInformation(
int numExport,
const Id* exportGlobalGids,
85 const int* exportToPart,
int root,
86 const Dune::Communication<MPI_Comm>& cc);
90#if defined(HAVE_ZOLTAN) && defined(HAVE_MPI)
125std::tuple<std::vector<int>,std::vector<std::pair<std::string,bool>>,
126 std::vector<std::tuple<int,int,char> >,
127 std::vector<std::tuple<int,int,char,int> >,
129zoltanGraphPartitionGridOnRoot(
const CpGrid& grid,
130 const std::vector<OpmWellType> * wells,
131 const double* transmissibilities,
132 const Communication<MPI_Comm>& cc,
134 const double zoltanImbalanceTol,
135 bool allowDistributedWells,
136 const std::map<std::string,std::string>& params);
168std::tuple<std::vector<int>, std::vector<std::pair<std::string,bool>>,
169 std::vector<std::tuple<int,int,char> >,
170 std::vector<std::tuple<int,int,char,int> >,
172zoltanSerialGraphPartitionGridOnRoot(
const CpGrid& grid,
173 const std::vector<OpmWellType> * wells,
174 const double* transmissibilities,
175 const Communication<MPI_Comm>& cc,
177 const double zoltanImbalanceTol,
178 bool allowDistributedWells,
179 const std::map<std::string,std::string>& params);
201zoltanGraphPartitionGridForJac(
const CpGrid& cpgrid,
202 const std::vector<OpmWellType> * wells,
203 const double* transmissibilities,
204 const Communication<MPI_Comm>& cc,
206 int numParts,
const double zoltanImbalanceTol);
[ provides Dune::Grid ]
Definition CpGrid.hpp:238
A graph repesenting a grid together with the well completions.
Definition ZoltanGraphFunctions.hpp:131
Copyright 2019 Equinor AS.
Definition CartesianIndexMapper.hpp:10
EdgeWeightMethod
enum for choosing Methods for weighting graph-edges correspoding to cell interfaces in Zoltan's graph...
Definition GridEnums.hpp:34