www.mooseframework.org
ComputeMarkerThread.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #ifndef COMPUTEMARKERTHREAD_H
16 #define COMPUTEMARKERTHREAD_H
17 
18 #include "ThreadedElementLoop.h"
19 
20 #include "libmesh/elem_range.h"
21 
22 class AuxiliarySystem;
23 
24 class ComputeMarkerThread : public ThreadedElementLoop<ConstElemRange>
25 {
26 public:
27  ComputeMarkerThread(FEProblemBase & fe_problem);
28 
29  // Splitting Constructor
30  ComputeMarkerThread(ComputeMarkerThread & x, Threads::split split);
31 
32  virtual ~ComputeMarkerThread();
33 
34  virtual void subdomainChanged() override;
35  virtual void onElement(const Elem * elem) override;
36  virtual void onBoundary(const Elem * elem, unsigned int side, BoundaryID bnd_id) override;
37  virtual void onInternalSide(const Elem * elem, unsigned int side) override;
38  virtual void postElement(const Elem * /*elem*/) override;
39  virtual void post() override;
40 
41  void join(const ComputeMarkerThread & /*y*/);
42 
43 protected:
46 
49 };
50 
51 #endif // COMPUTEMARKERTHREAD_H
FEProblemBase & _fe_problem
Base class for assembly-like calculations.
virtual void onElement(const Elem *elem) override
Assembly of the element (not including surface assembly)
const MooseObjectWarehouse< Marker > & _marker_whs
Reference to the Marker warhouse in FEProblemBase.
static PetscErrorCode Vec x
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual void postElement(const Elem *) override
Called after the element assembly is done (including surface assembling)
virtual void onInternalSide(const Elem *elem, unsigned int side) override
Called when doing internal edge assembling.
virtual void subdomainChanged() override
Called every time the current subdomain changes (i.e.
virtual void post() override
Called after the element range loop.
AuxiliarySystem & _aux_sys
ComputeMarkerThread(FEProblemBase &fe_problem)
void join(const ComputeMarkerThread &)
virtual void onBoundary(const Elem *elem, unsigned int side, BoundaryID bnd_id) override
Called when doing boundary assembling.
A system that holds auxiliary variables.
boundary_id_type BoundaryID
Definition: MooseTypes.h:75