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#
if DUNE_VERSION_NEWER(DUNE_GRID, 2, 7)
71 const Dune::Communication<MPI_Comm>& cc,
73 const Dune::CollectiveCommunication<MPI_Comm>& cc,
75 const std::vector<Dune::cpgrid::OpmWellType> * wells,
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#
if DUNE_VERSION_NEWER(DUNE_GRID, 2, 7)
91 const Dune::Communication<MPI_Comm>& cc);
93 const Dune::CollectiveCommunication<MPI_Comm>& cc);
98#if defined(HAVE_ZOLTAN) && defined(HAVE_MPI)
133std::tuple<std::vector<int>,std::vector<std::pair<std::string,bool>>,
134 std::vector<std::tuple<int,int,char> >,
135 std::vector<std::tuple<int,int,char,int> >,
137zoltanGraphPartitionGridOnRoot(
const CpGrid& grid,
138 const std::vector<OpmWellType> * wells,
139 const double* transmissibilities,
140#
if DUNE_VERSION_NEWER(DUNE_GRID, 2, 7)
141 const Communication<MPI_Comm>& cc,
143 const CollectiveCommunication<MPI_Comm>& cc,
146 const double zoltanImbalanceTol,
147 bool allowDistributedWells,
148 const std::map<std::string,std::string>& params);
180std::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> >,
184zoltanSerialGraphPartitionGridOnRoot(
const CpGrid& grid,
185 const std::vector<OpmWellType> * wells,
186 const double* transmissibilities,
187#
if DUNE_VERSION_NEWER(DUNE_GRID, 2, 7)
188 const Communication<MPI_Comm>& cc,
190 const CollectiveCommunication<MPI_Comm>& cc,
193 const double zoltanImbalanceTol,
194 bool allowDistributedWells,
195 const std::map<std::string,std::string>& params);
217zoltanGraphPartitionGridForJac(
const CpGrid& cpgrid,
218 const std::vector<OpmWellType> * wells,
219 const double* transmissibilities,
220#
if DUNE_VERSION_NEWER(DUNE_GRID, 2, 7)
221 const Communication<MPI_Comm>& cc,
223 const CollectiveCommunication<MPI_Comm>& cc,
226 int numParts,
const double zoltanImbalanceTol);
[ provides Dune::Grid ]
Definition: CpGrid.hpp:210
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