DOLFIN-X
DOLFIN-X C++ interface
DofMapBuilder.h
1 // Copyright (C) 2008-2018 Anders Logg, Ola Skavhaug and 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 <dolfinx/graph/AdjacencyList.h>
10 #include <memory>
11 #include <mpi.h>
12 #include <tuple>
13 #include <vector>
14 
15 namespace dolfinx
16 {
17 
18 namespace common
19 {
20 class IndexMap;
21 }
22 
23 namespace mesh
24 {
25 class Topology;
26 } // namespace mesh
27 
28 namespace fem
29 {
30 class ElementDofLayout;
31 
33 
34 namespace DofMapBuilder
35 {
36 
43 std::pair<std::shared_ptr<common::IndexMap>, graph::AdjacencyList<std::int32_t>>
44 build(MPI_Comm comm, const mesh::Topology& topology,
45  const ElementDofLayout& element_dof_layout);
46 
47 } // namespace DofMapBuilder
48 } // namespace fem
49 } // namespace dolfinx
The class represents the degree-of-freedom (dofs) for an element. Dofs are associated with a mesh ent...
Definition: ElementDofLayout.h:37
This class provides a static adjacency list data structure. It is commonly used to store directed gra...
Definition: AdjacencyList.h:28
Topology stores the topology of a mesh, consisting of mesh entities and connectivity (incidence relat...
Definition: Topology.h:58
std::pair< std::shared_ptr< common::IndexMap >, graph::AdjacencyList< std::int32_t > > build(MPI_Comm comm, const mesh::Topology &topology, const ElementDofLayout &element_dof_layout)
Build dofmap.
Definition: DofMapBuilder.cpp:486