19#ifndef __PARMETIS_PARTITIONER_H
20#define __PARMETIS_PARTITIONER_H
27#include <boost/multi_array.hpp>
29#include <dolfin/common/MPI.h>
53 std::vector<int>& cell_partition,
54 std::map<std::int64_t, std::vector<int>>& ghost_procs,
55 const boost::multi_array<std::int64_t, 2>& cell_vertices,
56 const std::size_t num_global_vertices,
58 const std::string mode=
"partition");
67 static void partition(MPI_Comm mpi_comm,
69 std::vector<int>& cell_partition,
70 std::map<std::int64_t, std::vector<int>>& ghost_procs);
75 static void adaptive_repartition(MPI_Comm mpi_comm,
77 std::vector<int>& cell_partition);
82 static void refine(MPI_Comm mpi_comm,
CSRGraph<T>& csr_graph,
83 std::vector<int>& cell_partition);
Compressed Sparse Row graph.
Definition: CSRGraph.h:45
Definition: CellType.h:47
This class provides an interface to ParMETIS.
Definition: ParMETIS.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::size_t num_global_vertices, const CellType &cell_type, const std::string mode="partition")
Definition: ParMETIS.cpp:117