DOLFINx 0.10.0.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
46std::tuple<graph::AdjacencyList<std::int32_t>, std::vector<std::int64_t>,
47 std::size_t, std::vector<std::int32_t>>
48build_local_dual_graph(std::span<const CellType> celltypes,
49 const std::vector<std::span<const std::int64_t>>& cells);
50
65graph::AdjacencyList<std::int64_t>
66build_dual_graph(MPI_Comm comm, std::span<const CellType> celltypes,
67 const std::vector<std::span<const std::int64_t>>& cells);
68
69} // namespace dolfinx::mesh
Graph data structures and algorithms.
Definition dofmapbuilder.h:26
Mesh data structures and algorithms on meshes.
Definition DofMap.h:32
std::tuple< graph::AdjacencyList< std::int32_t >, std::vector< std::int64_t >, std::size_t, std::vector< std::int32_t > > build_local_dual_graph(std::span< const CellType > celltypes, const std::vector< std::span< const std::int64_t > > &cells)
Compute the local part of the dual graph (cell-cell connections via facets) and facets with only one ...
Definition graphbuild.cpp:354
CellType
Cell type identifier.
Definition cell_types.h:22
graph::AdjacencyList< std::int64_t > build_dual_graph(MPI_Comm comm, std::span< const CellType > celltypes, const std::vector< std::span< const std::int64_t > > &cells)
Build distributed mesh dual graph (cell-cell connections via facets) from minimal mesh data.
Definition graphbuild.cpp:517