www.mooseframework.org
ComputeElemAuxVarsThread.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 COMPUTEELEMAUXVARSTHREAD_H
16 #define COMPUTEELEMAUXVARSTHREAD_H
17 
18 #include "libmesh/elem_range.h"
19 
20 // MOOSE includes
21 #include "ThreadedElementLoop.h"
22 #include "MooseObjectWarehouse.h"
23 #include "AuxKernel.h"
24 
25 // Forward declarations
26 class FEProblemBase;
27 class AuxiliarySystem;
28 
29 class ComputeElemAuxVarsThread : public ThreadedElementLoop<ConstElemRange>
30 {
31 public:
33  const MooseObjectWarehouse<AuxKernel> & storage,
34  bool need_materials);
35  // Splitting Constructor
36  ComputeElemAuxVarsThread(ComputeElemAuxVarsThread & x, Threads::split split);
37 
38  virtual ~ComputeElemAuxVarsThread();
39 
40  virtual void subdomainChanged() override;
41  virtual void onElement(const Elem * elem) override;
42  virtual void post() override;
43 
44  void join(const ComputeElemAuxVarsThread & /*y*/);
45 
46 protected:
48 
51 
53 };
54 
55 #endif // COMPUTEELEMAUXVARSTHREAD_H
Base class for assembly-like calculations.
virtual void post() override
Called after the element range loop.
const MooseObjectWarehouse< AuxKernel > & _aux_kernels
Storage object containing active AuxKernel objects.
void join(const ComputeElemAuxVarsThread &)
static PetscErrorCode Vec x
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual void onElement(const Elem *elem) override
Assembly of the element (not including surface assembly)
virtual void subdomainChanged() override
Called every time the current subdomain changes (i.e.
ComputeElemAuxVarsThread(FEProblemBase &problem, const MooseObjectWarehouse< AuxKernel > &storage, bool need_materials)
A system that holds auxiliary variables.