21#ifndef __GRAPH_BUILDER_H
22#define __GRAPH_BUILDER_H
27#include <boost/unordered_map.hpp>
29#include <boost/multi_array.hpp>
30#include <dolfin/common/MPI.h>
54 const std::vector<std::size_t>& coloring_type);
64 std::pair<std::int32_t, std::int32_t>
66 const boost::multi_array<std::int64_t, 2>& cell_vertices,
68 const std::int64_t num_global_vertices,
70 std::set<std::int64_t>& ghost_vertices);
75 typedef std::vector<std::pair<std::vector<std::size_t>, std::int32_t>>
81 compute_local_dual_graph(
const MPI_Comm mpi_comm,
82 const boost::multi_array<std::int64_t, 2>& cell_vertices,
85 FacetCellMap& facet_cell_map);
91 compute_local_dual_graph_keyed(
const MPI_Comm mpi_comm,
92 const boost::multi_array<std::int64_t, 2>& cell_vertices,
95 FacetCellMap& facet_cell_map);
101 compute_nonlocal_dual_graph(
const MPI_Comm mpi_comm,
102 const boost::multi_array<std::int64_t, 2>& cell_vertices,
104 const std::int64_t num_global_vertices,
105 std::vector<std::vector<std::size_t>>&
local_graph,
106 FacetCellMap& facet_cell_map,
107 std::set<std::int64_t>& ghost_vertices);
Definition: CellType.h:47
This class provides a generic interface for dof maps.
Definition: GenericDofMap.h:50
This class builds a Graph corresponding to various objects.
Definition: GraphBuilder.h:44
static Graph local_graph(const Mesh &mesh, const GenericDofMap &dofmap0, const GenericDofMap &dofmap1)
Build local graph from dofmap.
Definition: GraphBuilder.cpp:45
static std::pair< std::int32_t, std::int32_t > compute_dual_graph(const MPI_Comm mpi_comm, const boost::multi_array< std::int64_t, 2 > &cell_vertices, const CellType &cell_type, const std::int64_t num_global_vertices, std::vector< std::vector< std::size_t > > &local_graph, std::set< std::int64_t > &ghost_vertices)
Definition: GraphBuilder.cpp:157
Definition: MeshPartitioning.h:63
std::vector< graph_set_type > Graph
Vector of unordered Sets.
Definition: Graph.h:39