Chi-Tech
KBAGraphPartitioner.h
Go to the documentation of this file.
1#ifndef CHITECH_KBAGRAPHPARTITIONER_H
2#define CHITECH_KBAGRAPHPARTITIONER_H
3
4#include "GraphPartitioner.h"
5
6#include "array"
7
8namespace chi
9{
10
12{
13public:
15 explicit KBAGraphPartitioner(const InputParameters& params);
16
17 std::vector<int64_t>
18 Partition(const std::vector<std::vector<uint64_t>>& graph,
19 const std::vector<chi_mesh::Vector3>& centroids,
20 int number_of_parts) override;
21
22protected:
23 const size_t nx_, ny_, nz_;
24 const std::vector<double> xcuts_, ycuts_, zcuts_;
25
27 {
28 const std::vector<double>* cuts_;
29 const size_t n_;
30 const std::string coordinate_name_;
31 };
32 std::array<CoordinateInfo, 3> coordinate_infos_;
33};
34
35} // namespace chi
36
37#endif // CHITECH_KBAGRAPHPARTITIONER_H
std::array< CoordinateInfo, 3 > coordinate_infos_
static InputParameters GetInputParameters()
const std::vector< double > zcuts_
std::vector< int64_t > Partition(const std::vector< std::vector< uint64_t > > &graph, const std::vector< chi_mesh::Vector3 > &centroids, int number_of_parts) override
const std::vector< double > xcuts_
const std::vector< double > ycuts_
KBAGraphPartitioner(const InputParameters &params)