www.mooseframework.org
ComputeElemDampingThread.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 COMPUTEELEMDAMPINGTHREAD_H
16 #define COMPUTEELEMDAMPINGTHREAD_H
17 
18 // MOOSE includes
19 #include "ThreadedElementLoop.h"
20 
21 #include "libmesh/elem_range.h"
22 
23 // Forward declarations
25 class ElementDamper;
26 template <typename T>
28 
29 class ComputeElemDampingThread : public ThreadedElementLoop<ConstElemRange>
30 {
31 public:
33 
34  // Splitting Constructor
35  ComputeElemDampingThread(ComputeElemDampingThread & x, Threads::split split);
36 
37  virtual ~ComputeElemDampingThread();
38 
39  virtual void onElement(const Elem * elem) override;
40 
41  void join(const ComputeElemDampingThread & y);
42 
43  Real damping();
44 
45 protected:
46  Real _damping;
49 };
50 
51 #endif // COMPUTEELEMDAMPINGTHREAD_H
void join(const ComputeElemDampingThread &y)
Base class for assembly-like calculations.
const MooseObjectWarehouse< ElementDamper > & _element_dampers
A storage container for MooseObjects that inherit from SetupInterface.
virtual void onElement(const Elem *elem) override
Assembly of the element (not including surface assembly)
ComputeElemDampingThread(FEProblemBase &feproblem)
static PetscErrorCode Vec x
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Nonlinear system to be solved.
Base class for deriving element dampers.
Definition: ElementDamper.h:37