www.mooseframework.org
ElementUserObject.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 ELEMENTUSEROBJECT_H
16 #define ELEMENTUSEROBJECT_H
17 
18 // MOOSE includes
19 #include "UserObject.h"
20 #include "BlockRestrictable.h"
22 #include "UserObjectInterface.h"
23 #include "Coupleable.h"
25 #include "TransientInterface.h"
26 #include "PostprocessorInterface.h"
27 #include "RandomInterface.h"
28 #include "ZeroInterface.h"
29 
30 // Forward Declarations
31 class ElementUserObject;
32 
33 namespace libMesh
34 {
35 class Elem;
36 class QBase;
37 }
38 
39 template <>
41 
43  public BlockRestrictable,
45  public UserObjectInterface,
46  public Coupleable,
48  public TransientInterface,
49  protected PostprocessorInterface,
50  public RandomInterface,
51  public ZeroInterface
52 {
53 public:
54  ElementUserObject(const InputParameters & parameters);
55 
56 protected:
58 
60  const Elem *& _current_elem;
61 
63  const Real & _current_elem_volume;
64 
66  QBase *& _qrule;
69 };
70 
71 #endif
Interface for objects that need parallel consistent random numbers without patterns over the course o...
InputParameters validParams< ElementUserObject >()
const MooseArray< Point > & _q_point
const MooseArray< Real > & _coord
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
const Real & _current_elem_volume
The current element volume (available during execute())
Interface for objects that needs transient capabilities.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:74
Interface for objects that need to use UserObjects.
const Elem *& _current_elem
The current element pointer (available during execute())
Interface for objects that needs coupling capabilities.
Definition: Coupleable.h:35
Interface to bring zero values inside objects.
Definition: ZeroInterface.h:35
An interface for accessing Materials.
const MooseArray< Real > & _JxW
An interface that restricts an object to subdomains via the &#39;blocks&#39; input parameter.
Base class for user-specific data.
Definition: UserObject.h:42
Interface class for classes which interact with Postprocessors.