https://mooseframework.inl.gov
FunctionBase.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #include "FunctionBase.h"
11 
12 namespace Moose
13 {
14 
17 {
19  params += SetupInterface::validParams();
20 
21  // Functions should be executed on the fly
22  params.suppressParameter<ExecFlagEnum>("execute_on");
23 
24  params.registerBase("Function");
25 
26  return params;
27 }
28 
30  : MooseObject(parameters),
31  SetupInterface(this),
32  TransientInterface(this),
34  UserObjectInterface(this),
35  Restartable(this, "Functions"),
36  MeshChangedInterface(parameters),
37  ScalarCoupleable(this)
38 {
39 }
40 
41 #ifdef MOOSE_KOKKOS_ENABLED
43  : MooseObject(object, key),
44  SetupInterface(object, key),
45  TransientInterface(object, key),
46  PostprocessorInterface(object, key),
47  UserObjectInterface(object, key),
48  Restartable(object, key),
49  MeshChangedInterface(object, key),
50  ScalarCoupleable(object, key)
51 {
52 }
53 #endif
54 
56 
57 } // namespace Moose
FunctionBase(const InputParameters &parameters)
Definition: FunctionBase.C:29
A MultiMooseEnum object to hold "execute_on" flags.
Definition: ExecFlagEnum.h:21
A class for creating restricted objects.
Definition: Restartable.h:28
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
void suppressParameter(const std::string &name)
This method suppresses an inherited parameter so that it isn&#39;t required or valid in the derived class...
void registerBase(const std::string &value)
This method must be called from every base "Moose System" to create linkage with the Action System...
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:28
Interface for objects that need to use UserObjects.
static InputParameters validParams()
virtual ~FunctionBase()
Definition: FunctionBase.C:55
Interface for objects that needs scalar coupling capabilities.
static InputParameters validParams()
Definition: FunctionBase.C:16
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
static InputParameters validParams()
Definition: MooseObject.C:25
Interface class for classes which interact with Postprocessors.