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>
62 , globalCell_ { globalCell }
72 this->conns_.emplace_back(
c1,
c2);
98 using Connection = std::pair<std::size_t, std::size_t>;
99 std::vector<std::vector<int>> vertexGroups_{};
102 Parallel::Communication comm_{};
106 std::size_t numElements_{};
113 std::vector<Connection> conns_{};
Partition connectivity graph into non-overlapping domains using the Zoltan graph partitioning softwar...
Definition ParallelNLDDPartitioningZoltan.hpp:38
void registerConnection(std::size_t c1, std::size_t c2)
Insert directed graph edge between two vertices.
Definition ParallelNLDDPartitioningZoltan.hpp:70
void addVertexGroup(const std::vector< int > &vertices)
Add a group of vertices that should be merged together.
Definition ParallelNLDDPartitioningZoltan.cpp:562
std::vector< int > partitionElements(const ZoltanParamMap ¶ms) const
Partition connectivity graph using Zoltan graph partitioning package.
Definition ParallelNLDDPartitioningZoltan.cpp:568
std::function< int(int)> GlobalCellID
Callback type for mapping a vertex/cell ID to a globally unique ID.
Definition ParallelNLDDPartitioningZoltan.hpp:42
ParallelNLDDPartitioningZoltan(const Parallel::Communication comm, const std::size_t numElements, const GlobalCellID &globalCell)
Constructor.
Definition ParallelNLDDPartitioningZoltan.hpp:57
std::map< std::string, std::string > ZoltanParamMap
Collection of parameters to control the partitioning procedure.
Definition ParallelNLDDPartitioningZoltan.hpp:45
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilboundaryratevector.hh:37
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:242