Chi-Tech
GraphPartitioner.h
Go to the documentation of this file.
1#ifndef CHITECH_GRAPHPARTITIONER_H
2#define CHITECH_GRAPHPARTITIONER_H
3
4#include "ChiObject.h"
5
6namespace chi_mesh
7{
8struct Vector3;
9}
10
11
12namespace chi
13{
14
15/**Abstract base class for all partitioners*/
17{
18public:
19 /**Given a graph. Returns the partition ids of each row in the graph.*/
20 virtual std::vector<int64_t>
21 Partition(const std::vector<std::vector<uint64_t>>& graph,
22 const std::vector<chi_mesh::Vector3>& centroids,
23 int number_of_parts) = 0;
24
25protected:
27 explicit GraphPartitioner(const InputParameters& params);
28};
29
30} // namespace chi
31
32#endif // CHITECH_GRAPHPARTITIONER_H
static InputParameters GetInputParameters()
virtual std::vector< int64_t > Partition(const std::vector< std::vector< uint64_t > > &graph, const std::vector< chi_mesh::Vector3 > &centroids, int number_of_parts)=0
GraphPartitioner(const InputParameters &params)
VectorN< 3 > Vector3