DOLFINx 0.10.0.0
DOLFINx C++ interface
Loading...
Searching...
No Matches
graphbuild.h
1// Copyright (C) 2010-2025 Garth N. Wells and Paul T. Kühner
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 <dolfinx/graph/AdjacencyList.h>
11#include <mpi.h>
12#include <optional>
13#include <span>
14#include <tuple>
15#include <vector>
16
17namespace dolfinx::mesh
18{
19enum class CellType : std::int8_t;
20
59std::tuple<graph::AdjacencyList<std::int32_t>, std::vector<std::int64_t>,
60 std::size_t, std::vector<std::int32_t>>
61build_local_dual_graph(std::span<const CellType> celltypes,
62 const std::vector<std::span<const std::int64_t>>& cells,
63 std::optional<std::int32_t> max_facet_to_cell_links = 2);
64
96graph::AdjacencyList<std::int64_t>
97build_dual_graph(MPI_Comm comm, std::span<const CellType> celltypes,
98 const std::vector<std::span<const std::int64_t>>& cells,
99 std::optional<std::int32_t> max_facet_to_cell_links = 2);
100
101} // namespace dolfinx::mesh
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, std::optional< std::int32_t > max_facet_to_cell_links=2)
Compute the local part of the dual graph (cell-cell connections via facets) and facets with only one ...
Definition graphbuild.cpp:405
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, std::optional< std::int32_t > max_facet_to_cell_links=2)
Build distributed mesh dual graph (cell-cell connections via facets) from minimal mesh data.
Definition graphbuild.cpp:613