www.mooseframework.org
SideUserObject.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 SIDEUSEROBJECT_H
16 #define SIDEUSEROBJECT_H
17 
18 // MOOSE includes
19 #include "UserObject.h"
22 #include "Coupleable.h"
24 #include "UserObjectInterface.h"
25 #include "TransientInterface.h"
26 #include "PostprocessorInterface.h"
27 #include "ZeroInterface.h"
28 
29 // Forward Declarations
30 class SideUserObject;
31 
32 template <>
34 
35 class SideUserObject : public UserObject,
38  public Coupleable,
40  public UserObjectInterface,
41  public TransientInterface,
42  protected PostprocessorInterface,
43  public ZeroInterface
44 {
45 public:
47 
48 protected:
50 
52  QBase *& _qrule;
56 
57  const Elem *& _current_elem;
59  unsigned int & _current_side;
60 
61  const Elem *& _current_side_elem;
62  const Real & _current_side_volume;
63 };
64 
65 #endif
InputParameters validParams< SideUserObject >()
A class for requiring an object to be boundary restricted.
SideUserObject(const InputParameters &parameters)
unsigned int & _current_side
current side of the current element
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const Elem *& _current_side_elem
const MooseArray< Point > & _q_point
const MooseArray< Real > & _JxW
const Real & _current_side_volume
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 MooseArray< Real > & _coord
Interface for objects that needs coupling capabilities.
Definition: Coupleable.h:35
MooseMesh & _mesh
Interface to bring zero values inside objects.
Definition: ZeroInterface.h:35
An interface for accessing Materials.
const MooseArray< Point > & _normals
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:53
const Elem *& _current_elem
Base class for user-specific data.
Definition: UserObject.h:42
Interface class for classes which interact with Postprocessors.