www.mooseframework.org
Function.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 FUNCTION_H
16 #define FUNCTION_H
17 
18 #include "MooseObject.h"
19 #include "SetupInterface.h"
20 #include "TransientInterface.h"
21 #include "PostprocessorInterface.h"
22 #include "UserObjectInterface.h"
23 #include "Restartable.h"
24 #include "MeshChangedInterface.h"
25 #include "ScalarCoupleable.h"
26 
27 // libMesh
28 #include "libmesh/vector_value.h"
29 
30 // Forward declarations
31 class Function;
32 
33 // libMesh forward declarations
34 namespace libMesh
35 {
36 class Point;
37 }
38 
39 template <>
41 
46 class Function : public MooseObject,
47  public SetupInterface,
48  public TransientInterface,
50  public UserObjectInterface,
51  public Restartable,
52  public MeshChangedInterface,
53  public ScalarCoupleable
54 {
55 public:
60  Function(const InputParameters & parameters);
61 
65  virtual ~Function();
66 
74  virtual Real value(Real t, const Point & p);
75 
83  virtual RealVectorValue vectorValue(Real t, const Point & p);
84 
92  virtual RealGradient gradient(Real t, const Point & p);
93 
100  virtual Real timeDerivative(Real t, const Point & p);
101 
102  // Not defined
103  virtual Real integral();
104 
105  // Not defined
106  virtual Real average();
107 };
108 
109 #endif // FUNCTION_H
RealVectorValue RealGradient
Definition: Assembly.h:43
Base class for function objects.
Definition: Function.h:46
A class for creating restricted objects.
Definition: Restartable.h:31
VectorValue< Real > RealVectorValue
Definition: Assembly.h:40
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...
Interface for objects that needs transient capabilities.
Interface for notifications that the mesh has changed.
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:36
Interface for objects that need to use UserObjects.
Interface for objects that needs scalar coupling capabilities.
InputParameters validParams< Function >()
Definition: Function.C:19
Interface class for classes which interact with Postprocessors.