21 #ifndef __SCOTCH_PARTITIONER_H 22 #define __SCOTCH_PARTITIONER_H 31 #include <dolfin/common/MPI.h> 32 #include <dolfin/common/Set.h> 64 const MPI_Comm mpi_comm,
65 std::vector<int>& cell_partition,
66 std::map<std::int64_t, std::vector<int>>& ghost_procs,
67 const boost::multi_array<std::int64_t, 2>& cell_vertices,
68 const std::vector<std::size_t>& cell_weight,
69 const std::int64_t num_global_vertices,
70 const std::int64_t num_global_cells,
82 std::size_t num_passes=5);
91 static std::vector<int>
93 std::string scotch_strategy=
"");
102 std::vector<int>& permutation,
103 std::vector<int>& inverse_permutation,
104 std::string scotch_strategy=
"");
112 static void partition(
113 const MPI_Comm mpi_comm,
115 const std::vector<std::size_t>& node_weights,
116 const std::set<std::int64_t>& ghost_vertices,
117 const std::size_t num_global_vertices,
118 std::vector<int>& cell_partition,
119 std::map<std::int64_t, std::vector<int>>& ghost_procs);
static std::vector< int > compute_gps(const Graph &graph, std::size_t num_passes=5)
Definition: SCOTCH.cpp:84
This class provides an interface to SCOTCH-PT (parallel version)
Definition: SCOTCH.h:45
Definition: CellType.h:46
static std::vector< int > compute_reordering(const Graph &graph, std::string scotch_strategy="")
Definition: SCOTCH.cpp:92
std::vector< graph_set_type > Graph
Vector of unordered Sets.
Definition: Graph.h:39
static void compute_partition(const MPI_Comm mpi_comm, std::vector< int > &cell_partition, std::map< std::int64_t, std::vector< int >> &ghost_procs, const boost::multi_array< std::int64_t, 2 > &cell_vertices, const std::vector< std::size_t > &cell_weight, const std::int64_t num_global_vertices, const std::int64_t num_global_cells, const CellType &cell_type)
Definition: SCOTCH.cpp:51
Compressed Sparse Row graph.
Definition: CSRGraph.h:44