19 #include "libmesh/sides_to_elem_map.h" 20 #include "libmesh/elem.h" 21 #include "libmesh/libmesh_logging.h" 22 #include "libmesh/mesh_base.h" 23 #include "libmesh/utility.h" 39 LOG_SCOPE(
"build()",
"SidesToElemMap");
49 std::vector<dof_id_type> sorted_vertex_ids;
55 for (
const auto & elem :
mesh.element_ptr_range())
65 active_level_seen = elem->level();
68 active_level_seen != elem->level(),
69 "SidesToElemMap does not currently support hanging nodes.");
72 for (
auto s : elem->side_index_range())
85 std::pair<SidesToElemMap::ElemIter, SidesToElemMap::ElemIter>
88 std::vector<dof_id_type> sorted_vertex_ids;
92 return std::make_pair(elem_vec.begin(), elem_vec.end());
99 std::vector<dof_id_type> & sorted_vertex_ids)
const 102 sorted_vertex_ids.clear();
109 sorted_vertex_ids.push_back(elem->
node_id(n));
117 std::sort(sorted_vertex_ids.begin(), sorted_vertex_ids.end());
const unsigned int invalid_uint
A number which is used quite often to represent an invalid or uninitialized value for an unsigned int...
This is the base class from which all geometric element types are derived.
The libMesh namespace provides an interface to certain functionality in the library.
This is the MeshBase class.
virtual bool is_vertex(const unsigned int i) const =0
dof_id_type node_id(const unsigned int i) const
virtual std::vector< unsigned int > nodes_on_side(const unsigned int) const =0