23#include "libmesh/elem.h"
24#include "libmesh/parallel_algebra.h"
72 virtual void onElement(
const Elem * elem);
boundary_id_type BoundaryID
const std::vector< double > x
A base class that loops over elements and do things.
SubdomainID _subdomain
The subdomain for the current element.
virtual void onBoundary(const Elem *elem, unsigned int side, BoundaryID bnd_id)
virtual void computeBoundary()
unsigned int _current_side
virtual void computeInternalSide()
virtual void computeInterface()
virtual void subdomainChanged()
const MooseArray< Real > & _JxW
const Elem * _current_elem
virtual void onInterface(const Elem *elem, unsigned int side, BoundaryID bnd_id)
virtual void initialize()
const Real & _current_elem_volume
virtual void onElement(const Elem *elem)
bool _have_interface_elems
true if we have cached interface elements, false if they need to be cached. We want to (re)cache only...
virtual ~ElementLoopUserObject()
std::set< dof_id_type > _interface_elem_ids
List of element IDs that are on the processor boundary and need to be send to other processors.
SubdomainID _old_subdomain
The subdomain for the last element.
const QBase *const & _qrule
virtual void caughtMooseException(MooseException &e)
virtual void computeElement()
virtual void preElement(const Elem *elem)
void join(const ElementLoopUserObject &)
const Elem * _current_neighbor
virtual void onInternalSide(const Elem *elem, unsigned int side)
const MooseArray< Real > & _coord
const MooseArray< Point > & _q_point
static InputParameters validParams()
virtual void meshChanged()
const InputParameters & parameters() const
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...