DOLFINx 0.12.0.0
DOLFINx C++
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
61std::tuple<graph::AdjacencyList<std::int32_t>, std::vector<std::int64_t>, int,
62 std::vector<std::int32_t>>
63build_local_dual_graph(std::span<const CellType> celltypes,
64 const std::vector<std::span<const std::int64_t>>& cells,
65 std::optional<std::int32_t> max_facet_to_cell_links,
66 int num_threads);
67
101graph::AdjacencyList<std::int64_t>
102build_dual_graph(MPI_Comm comm, std::span<const CellType> celltypes,
103 const std::vector<std::span<const std::int64_t>>& cells,
104 std::optional<std::int32_t> max_facet_to_cell_links,
105 int num_threads = 1);
106
107} // namespace dolfinx::mesh
Mesh data structures and algorithms on meshes.
Definition DofMap.h:32
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, int num_threads=1)
Build distributed mesh dual graph (cell-cell connections via facets) from minimal mesh data.
Definition graphbuild.cpp:867
std::tuple< graph::AdjacencyList< std::int32_t >, std::vector< std::int64_t >, int, 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, int num_threads)
Compute the local part of the dual graph (cell-cell connections via facets) and facets with only one ...
Definition graphbuild.cpp:564
CellType
Cell type identifier.
Definition cell_types.h:22