Go to the documentation of this file.
20 #ifndef LIBMESH_TOPOLOGY_MAP_H
21 #define LIBMESH_TOPOLOGY_MAP_H
24 #include "libmesh/libmesh_config.h"
25 #include "libmesh/libmesh_common.h"
28 #include <unordered_map>
43 template <
typename T1,
typename T2>
44 std::size_t
operator()(
const std::pair<T1, T2> & x)
const
48 return 3 * std::hash<T1>()(x.first) + std::hash<T2>()(x.second);
84 std::pair<dof_id_type, dof_id_type>> &
93 std::pair<dof_id_type, dof_id_type>> &
94 bracketing_nodes)
const;
106 #endif // LIBMESH_TOPOLOGY_MAP_H
Data structures that enable topology-based lookups of nodes created by mesh refinement.
The libMesh namespace provides an interface to certain functionality in the library.
This is the MeshBase class.
std::size_t operator()(const std::pair< T1, T2 > &x) const
A Node is like a Point, but with more information.
std::unordered_map< std::pair< dof_id_type, dof_id_type >, dof_id_type, myhash > map_type
void fill(const MeshBase &)
void add_node(const Node &mid_node, const std::vector< std::pair< dof_id_type, dof_id_type >> &bracketing_nodes)
Add a node to the map, between each pair of specified bracketing nodes.
dof_id_type find(dof_id_type bracket_node1, dof_id_type bracket_node2) const