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");
    39   for (
const auto & elem : 
as_range(range_begin, range_end))
    41       std::vector<const Elem *> active_siblings;
    49 #ifdef LIBMESH_ENABLE_AMR    53       for (
const Elem * sibling : active_siblings)
    54         if (sibling->processor_id() != p)
    55           coupled_elements.emplace(sibling, _dof_coupling);
 const Elem * parent() const
The definition of the const_element_iterator struct. 
This is the base class from which all geometric element types are derived. 
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. 
std::map< const Elem *, const CouplingMatrix *, CompareDofObjectsByPIDAndThenID > map_type
What elements do we care about and what variables do we care about on each element? 
The libMesh namespace provides an interface to certain functionality in the library. 
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.