DOLFIN-X
DOLFIN-X C++ interface
GraphBuilder.h
1 // Copyright (C) 2010-2013 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 <Eigen/Dense>
10 #include <array>
11 #include <cstdint>
12 #include <dolfinx/common/MPI.h>
13 #include <dolfinx/common/types.h>
14 #include <tuple>
15 #include <utility>
16 #include <vector>
17 
18 namespace dolfinx::mesh
19 {
20 
21 enum class CellType;
22 
24 namespace GraphBuilder
25 {
26 
30 std::pair<std::vector<std::vector<std::int64_t>>, std::array<std::int32_t, 3>>
31 compute_dual_graph(const MPI_Comm mpi_comm,
32  const graph::AdjacencyList<std::int64_t>& cell_vertices,
33  const mesh::CellType& cell_type);
34 
37 std::tuple<std::vector<std::vector<std::int32_t>>,
38  std::vector<std::pair<std::vector<std::int32_t>, std::int32_t>>,
39  std::int32_t>
41  const graph::AdjacencyList<std::int64_t>& cell_vertices,
42  const mesh::CellType& cell_type);
43 
44 } // namespace GraphBuilder
45 } // namespace dolfinx::mesh
This class provides a static adjacency list data structure. It is commonly used to store directed gra...
Definition: AdjacencyList.h:28
std::pair< std::vector< std::vector< std::int64_t > >, std::array< std::int32_t, 3 > > compute_dual_graph(const MPI_Comm mpi_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: GraphBuilder.cpp:300
std::tuple< std::vector< std::vector< std::int32_t > >, std::vector< std::pair< std::vector< std::int32_t >, std::int32_t > >, std::int32_t > compute_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: GraphBuilder.cpp:323
Mesh data structures.
Definition: DirichletBC.h:27
CellType
Cell type identifier.
Definition: cell_types.h:21