12#include "libmesh/elem.h"
13#include "libmesh/threads.h"
24 for (
const auto & elem : range)
26 const Elem * ip_elem = elem->interior_parent();
30 unsigned int ip_side = ip_elem->which_side_am_i(elem);
35 auto pair = std::make_pair(ip_elem,
static_cast<unsigned short int>(ip_side));
39 auto id = elem->subdomain_id();
40 if (ip_elem->neighbor_ptr(ip_side))
42 if (
mesh.subdomain_name(
id).find(
"INTERNAL_SIDE_LOWERD_SUBDOMAIN_") != std::string::npos)
47 if (
mesh.subdomain_name(
id).find(
"BOUNDARY_SIDE_LOWERD_SUBDOMAIN_") != std::string::npos)
53 for (
const auto nd : make_range(elem->n_nodes()))
55 const Node & node = *elem->node_ptr(nd);
std::array< Real, 2 > values
Fills lower-d side maps and node-to-block ownership for MooseMesh::cacheInfo().
std::unordered_map< std::pair< const Elem *, unsigned short int >, const Elem * > _higher_d_elem_side_to_lower_d_elem
std::map< dof_id_type, std::set< SubdomainID > > _block_node_list
CacheInfoThread(MooseMesh &mesh)
std::unordered_map< const Elem *, unsigned short int > _lower_d_elem_to_higher_d_elem_side
std::set< SubdomainID > _lower_d_interior_blocks
std::set< SubdomainID > _lower_d_boundary_blocks
void operator()(const ConstElemRange &range)
void join(const CacheInfoThread &y)
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
const unsigned int invalid_uint