Go to the documentation of this file.
   21 #include "libmesh/sibling_coupling.h" 
   22 #include "libmesh/elem.h" 
   23 #include "libmesh/remote_elem.h" 
   24 #include "libmesh/libmesh_logging.h" 
   29 void SiblingCoupling::operator()
 
   35   LOG_SCOPE(
"operator()", 
"SiblingCoupling");
 
   37   for (
const auto & elem : 
as_range(range_begin, range_end))
 
   39       std::vector<const Elem *> active_siblings;
 
   45 #ifdef LIBMESH_ENABLE_AMR 
   49       for (
const Elem * sibling : active_siblings)
 
   50         if (sibling->processor_id() != p)
 
   51           coupled_elements.insert
 
   52             (std::make_pair(sibling, _dof_coupling));
 
  
The libMesh namespace provides an interface to certain functionality in the library.
 
std::unordered_map< const Elem *, const CouplingMatrix * > map_type
What elements do we care about and what variables do we care about on each element?
 
uint8_t processor_id_type
 
SimpleRange< IndexType > as_range(const std::pair< IndexType, IndexType > &p)
Helper function that allows us to treat a homogenous pair as a range.
 
The definition of the const_element_iterator struct.
 
const Elem * parent() const
 
void active_family_tree(std::vector< const Elem * > &active_family, bool reset=true) const
Same as the family_tree() member, but only adds the active children.
 
This is the base class from which all geometric element types are derived.