https://mooseframework.inl.gov
FunctionBase.h
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 #pragma once
11 
12 #include "MooseObject.h"
13 #include "SetupInterface.h"
14 #include "TransientInterface.h"
15 #include "PostprocessorInterface.h"
16 #include "UserObjectInterface.h"
17 #include "Restartable.h"
18 #include "MeshChangedInterface.h"
19 #include "ScalarCoupleable.h"
20 
21 namespace Moose
22 {
23 
24 class FunctionBase : public MooseObject,
25  public SetupInterface,
26  public TransientInterface,
28  public UserObjectInterface,
29  public Restartable,
30  public MeshChangedInterface,
31  public ScalarCoupleable
32 {
33 public:
35 
37 
38 #ifdef MOOSE_KOKKOS_ENABLED
39 
42  FunctionBase(const FunctionBase & object, const Moose::Kokkos::FunctorCopy & key);
43 #endif
44 
45  virtual ~FunctionBase();
46 };
47 
48 }
FunctionBase(const InputParameters &parameters)
Definition: FunctionBase.C:29
A class for creating restricted objects.
Definition: Restartable.h:28
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:131
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE 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.
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...
Interface class for classes which interact with Postprocessors.