20 #ifndef OPM_UTILITY_PARALLEL_NLDD_PARTITIONING_ZOLTAN_HPP 21 #define OPM_UTILITY_PARALLEL_NLDD_PARTITIONING_ZOLTAN_HPP 23 #include <opm/simulators/utils/ParallelCommunication.hpp> 58 const std::size_t numElements,
61 , numElements_ { numElements }
62 , globalCell_ { globalCell }
71 this->conns_.emplace_back(c1, c2);
97 using Connection = std::pair<std::size_t, std::size_t>;
98 std::vector<std::vector<int>> vertexGroups_{};
101 Parallel::Communication comm_{};
105 std::size_t numElements_{};
112 std::vector<Connection> conns_{};
117 #endif // OPM_UTILITY_PARALLEL_NLDD_PARTITIONING_ZOLTAN_HPP Partition connectivity graph into non-overlapping domains using the Zoltan graph partitioning softwar...
Definition: ParallelNLDDPartitioningZoltan.hpp:37
void registerConnection(std::size_t c1, std::size_t c2)
Insert directed graph edge between two vertices.
Definition: ParallelNLDDPartitioningZoltan.hpp:69
std::function< int(int)> GlobalCellID
Callback type for mapping a vertex/cell ID to a globally unique ID.
Definition: ParallelNLDDPartitioningZoltan.hpp:42
std::vector< int > partitionElements(const ZoltanParamMap ¶ms) const
Partition connectivity graph using Zoltan graph partitioning package.
Definition: ParallelNLDDPartitioningZoltan.cpp:568
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: blackoilbioeffectsmodules.hh:45
std::map< std::string, std::string > ZoltanParamMap
Collection of parameters to control the partitioning procedure.
Definition: ParallelNLDDPartitioningZoltan.hpp:45
ParallelNLDDPartitioningZoltan(const Parallel::Communication comm, const std::size_t numElements, const GlobalCellID &globalCell)
Constructor.
Definition: ParallelNLDDPartitioningZoltan.hpp:57
void addVertexGroup(const std::vector< int > &vertices)
Add a group of vertices that should be merged together.
Definition: ParallelNLDDPartitioningZoltan.cpp:562