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 }
72 this->conns_.emplace_back(c1, c2);
84 this->sameDomain_.emplace_back(std::move(cells));
104 using Connection = std::pair<std::size_t, std::size_t>;
107 Parallel::Communication comm_{};
111 std::size_t numElements_{};
118 std::vector<Connection> conns_{};
124 std::vector<std::vector<int>> sameDomain_{};
Partition connectivity graph into non-overlapping domains using the Zoltan graph partitioning softwar...
Definition ParallelNLDDPartitioningZoltan.hpp:38
void forceSameDomain(std::vector< int > &&cells)
Force collection of cells to be in same result domain.
Definition ParallelNLDDPartitioningZoltan.hpp:82
void registerConnection(std::size_t c1, std::size_t c2)
Insert directed graph edge between two vertices.
Definition ParallelNLDDPartitioningZoltan.hpp:70
std::vector< int > partitionElements(const ZoltanParamMap ¶ms) const
Partition connectivity graph using Zoltan graph partitioning package.
Definition ParallelNLDDPartitioningZoltan.cpp:553
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 BlackoilPhases.hpp:27