DOLFINx 0.8.0
DOLFINx C++ interface
Loading...
Searching...
No Matches
graphbuild.h
1// Copyright (C) 2010-2022 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 <cstdint>
10#include <mpi.h>
11#include <span>
12#include <tuple>
13#include <vector>
14
15namespace dolfinx::graph
16{
17template <typename T>
18class AdjacencyList;
19}
20
21namespace dolfinx::mesh
22{
23enum class CellType;
24
43std::tuple<graph::AdjacencyList<std::int32_t>, std::vector<std::int64_t>,
44 std::size_t, std::vector<std::int32_t>>
45build_local_dual_graph(CellType celltype, std::span<const std::int64_t> cells);
46
59graph::AdjacencyList<std::int64_t>
60build_dual_graph(MPI_Comm comm, CellType celltype,
61 const graph::AdjacencyList<std::int64_t>& cells);
62
63} // namespace dolfinx::mesh
Graph data structures and algorithms.
Definition dofmapbuilder.h:26
Mesh data structures and algorithms on meshes.
Definition DofMap.h:32
graph::AdjacencyList< std::int64_t > build_dual_graph(MPI_Comm comm, CellType celltype, const graph::AdjacencyList< std::int64_t > &cells)
Build distributed mesh dual graph (cell-cell connections via facets) from minimal mesh data.
Definition graphbuild.cpp:488
std::tuple< graph::AdjacencyList< std::int32_t >, std::vector< std::int64_t >, std::size_t, std::vector< std::int32_t > > build_local_dual_graph(CellType celltype, std::span< const std::int64_t > cells)
Compute the local part of the dual graph (cell-cell connections via facets) and facet with only one a...
Definition graphbuild.cpp:353
CellType
Cell type identifier.
Definition cell_types.h:22