DOLFIN-X
DOLFIN-X C++ interface
graphbuild.h
1 // Copyright (C) 2010-2021 Garth N. Wells
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 <array>
10 #include <cstdint>
11 #include <dolfinx/common/MPI.h>
12 #include <dolfinx/graph/AdjacencyList.h>
13 #include <utility>
14 #include <vector>
15 
16 namespace dolfinx::mesh
17 {
18 
19 enum class CellType;
20 
24 std::pair<graph::AdjacencyList<std::int64_t>, std::array<std::int32_t, 2>>
25 build_dual_graph(const MPI_Comm comm,
26  const graph::AdjacencyList<std::int64_t>& cell_vertices,
27  const mesh::CellType& cell_type);
28 
31 std::pair<graph::AdjacencyList<std::int32_t>, std::vector<std::int64_t>>
32 build_local_dual_graph(const graph::AdjacencyList<std::int64_t>& cell_vertices,
33  const mesh::CellType& cell_type);
34 
35 } // namespace dolfinx::mesh
Mesh data structures and algorithms on meshes.
Definition: DirichletBC.h:22
std::pair< graph::AdjacencyList< std::int64_t >, std::array< std::int32_t, 2 > > build_dual_graph(const MPI_Comm comm, const graph::AdjacencyList< std::int64_t > &cell_vertices, const mesh::CellType &cell_type)
Build distributed dual graph (cell-cell connections) from minimal mesh data, and return (graph,...
Definition: graphbuild.cpp:403
std::pair< graph::AdjacencyList< std::int32_t >, std::vector< std::int64_t > > build_local_dual_graph(const graph::AdjacencyList< std::int64_t > &cell_vertices, const mesh::CellType &cell_type)
Compute local part of the dual graph, and return (local_graph, facet_cell_map, number of local edges ...
Definition: graphbuild.cpp:425
CellType
Cell type identifier.
Definition: cell_types.h:22