15 #include "libmesh/stored_range.h" 25 typedef StoredRange<std::set<const Elem *>::const_iterator,
const Elem *>
DistElemRange;
38 virtual void pre()
override;
39 virtual void onElement(
const Elem * elem)
override;
41 virtual void post()
override;
Base class for assembly-like calculations.
void join(const ComputeDiracThread &)
virtual void pre() override
Called before the element range loop.
A storage container for MooseObjects that inherit from SetupInterface.
virtual void postElement(const Elem *) override
Called after the element assembly is done (including surface assembling)
ComputeDiracThread(FEProblemBase &feproblem, const std::set< TagID > &tags, bool _is_jacobian)
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
void printBlockExecutionInformation() const override
Output the order of execution of objects within the current subdomain.
MooseObjectTagWarehouse< DiracKernelBase > & _dirac_kernels
Storage for DiracKernel objects.
Nonlinear system to be solved.
const std::set< TagID > & _tags
NonlinearSystemBase & _nl
A storage container for MooseObjects that inherit from SetupInterface.
void printGeneralExecutionInformation() const override
Output a message indicating execution on this execution flag.
MooseObjectWarehouse< DiracKernelBase > * _dirac_warehouse
StoredRange< std::set< const Elem * >::const_iterator, const Elem * > DistElemRange
virtual ~ComputeDiracThread()
virtual void subdomainChanged() override
Called every time the current subdomain changes (i.e.
virtual void onElement(const Elem *elem) override
Assembly of the element (not including surface assembly)
virtual void post() override
Called after the element range loop.
DiracKernelBase is the base class for all DiracKernel type classes.