DOLFIN-X
DOLFIN-X C++ interface
ParMETIS.h
1 // Copyright (C) 2008-2009 Niclas Jansson, Ola Skavhaug, Anders Logg,
2 //
3 // This file is part of DOLFINX (https://www.fenicsproject.org)
4 //
5 // SPDX-License-Identifier: LGPL-3.0-or-later
6 
7 #pragma once
8 
9 #include <cstddef>
10 #include <cstdint>
11 #include <dolfinx/common/MPI.h>
12 #include <dolfinx/graph/AdjacencyList.h>
13 #include <vector>
14 
15 // FIXME: Avoid exposing ParMETIS publicly
16 #ifdef HAS_PARMETIS
17 #include <parmetis.h>
18 #endif
19 
20 namespace dolfinx::graph
21 {
22 
24 
25 class ParMETIS
26 {
27 #ifdef HAS_PARMETIS
28 public:
29  // Standard ParMETIS partition
31  partition(MPI_Comm mpi_comm, idx_t nparts,
32  const AdjacencyList<idx_t>& adj_graph, bool ghosting);
33 
34 #endif
35 };
36 } // namespace dolfinx::graph
dolfinx::graph
Graph data structures and algorithms.
Definition: AdjacencyList.h:18
dolfinx::graph::ParMETIS
This class provides an interface to ParMETIS.
Definition: ParMETIS.h:26
dolfinx::graph::AdjacencyList
This class provides a static adjacency list data structure. It is commonly used to store directed gra...
Definition: AdjacencyList.h:28