www.mooseframework.org
ComputeIndicatorThread.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 COMPUTEINDICATORTHREAD_H
16 #define COMPUTEINDICATORTHREAD_H
17 
18 #include "ThreadedElementLoop.h"
19 
20 #include "libmesh/elem_range.h"
21 
22 // Forward declarations
23 class AuxiliarySystem;
24 class InternalSideIndicators;
25 
26 class ComputeIndicatorThread : public ThreadedElementLoop<ConstElemRange>
27 {
28 public:
35  ComputeIndicatorThread(FEProblemBase & fe_problem, bool finalize = false);
36 
37  // Splitting Constructor
38  ComputeIndicatorThread(ComputeIndicatorThread & x, Threads::split split);
39 
40  virtual ~ComputeIndicatorThread();
41 
42  virtual void subdomainChanged() override;
43  virtual void onElement(const Elem * elem) override;
44  virtual void onBoundary(const Elem * elem, unsigned int side, BoundaryID bnd_id) override;
45  virtual void onInternalSide(const Elem * elem, unsigned int side) override;
46  virtual void postElement(const Elem * /*elem*/) override;
47  virtual void post() override;
48 
49  void join(const ComputeIndicatorThread & /*y*/);
50 
51 protected:
54 
57 
60 
61  bool _finalize;
62 };
63 
64 #endif // COMPUTEINDICATORTHREAD_H
const MooseObjectWarehouse< InternalSideIndicator > & _internal_side_indicators
InternalSideIndicator Storage.
Base class for assembly-like calculations.
virtual void subdomainChanged() override
Called every time the current subdomain changes (i.e.
virtual void onBoundary(const Elem *elem, unsigned int side, BoundaryID bnd_id) override
Called when doing boundary assembling.
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)
ComputeIndicatorThread(FEProblemBase &fe_problem, bool finalize=false)
virtual void onElement(const Elem *elem) override
Assembly of the element (not including surface assembly)
const MooseObjectWarehouse< Indicator > & _indicator_whs
Indicator Storage.
void join(const ComputeIndicatorThread &)
virtual void onInternalSide(const Elem *elem, unsigned int side) override
Called when doing internal edge assembling.
virtual void post() override
Called after the element range loop.
A system that holds auxiliary variables.
boundary_id_type BoundaryID
Definition: MooseTypes.h:75