Go to the documentation of this file.
12 #include "GeneralUserObject.h"
13 #include "Coupleable.h"
14 #include "ScalarCoupleable.h"
15 #include "MooseVariableDependencyInterface.h"
16 #include "MooseVariable.h"
17 #include "SubProblem.h"
18 #include "NonlinearSystem.h"
20 #include "FEProblem.h"
21 #include "MooseMesh.h"
23 #include "libmesh/elem.h"
24 #include "libmesh/parallel_algebra.h"
59 public BlockRestrictable,
61 public MooseVariableDependencyInterface
74 virtual void onElement(
const Elem * elem);
75 virtual void onBoundary(
const Elem * elem,
unsigned int side, BoundaryID bnd_id);
77 virtual void onInterface(
const Elem * elem,
unsigned int side, BoundaryID bnd_id);
98 const MooseArray<Real> &
_JxW;
virtual void initialize()
A base class that loops over elements and do things.
virtual void computeInternalSide()
virtual void computeBoundary()
unsigned int _current_side
void join(const 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.
const MooseArray< Real > & _coord
virtual void computeInterface()
SubdomainID _subdomain
The subdomain for the current element.
virtual void preElement(const Elem *elem)
InputParameters validParams< ElementLoopUserObject >()
virtual void onBoundary(const Elem *elem, unsigned int side, BoundaryID bnd_id)
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 void onElement(const Elem *elem)
virtual void onInternalSide(const Elem *elem, unsigned int side)
SubdomainID _old_subdomain
The subdomain for the last element.
const Real & _current_elem_volume
const MooseArray< Point > & _q_point
virtual void caughtMooseException(MooseException &e)
virtual void onInterface(const Elem *elem, unsigned int side, BoundaryID bnd_id)
virtual void subdomainChanged()
const MooseArray< Real > & _JxW
virtual void computeElement()
const QBase *const & _qrule
const Elem * _current_elem
virtual ~ElementLoopUserObject()
const Elem * _current_neighbor
ElementLoopUserObject(const InputParameters ¶meters)
virtual void meshChanged()