https://mooseframework.inl.gov
Loading...
Searching...
No Matches
FunctionInterface.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 "FunctionInterface.h"
11#include "Function.h"
12#include "SubProblem.h"
13#include "MooseTypes.h"
14#include "FEProblemBase.h"
15
21
23 :
24#ifdef MOOSE_KOKKOS_ENABLED
25 _fni_object(*moose_object),
26#endif
27 _fni_params(moose_object->parameters()),
28 _fni_feproblem(*_fni_params.getCheckedPointerParam<FEProblemBase *>("_fe_problem_base")),
29 _fni_tid(_fni_params.have_parameter<THREAD_ID>("_tid") ? _fni_params.get<THREAD_ID>("_tid") : 0)
30{
31}
32
33const Function &
34FunctionInterface::getFunction(const std::string & name) const
35{
36 return getFunctionByName(_fni_params.get<FunctionName>(name));
37}
38
39const Function &
40FunctionInterface::getFunctionByName(const FunctionName & name) const
41{
43}
44
45bool
46FunctionInterface::hasFunction(const std::string & param_name) const
47{
48 return hasFunctionByName(_fni_params.get<FunctionName>(param_name));
49}
50
51bool
52FunctionInterface::hasFunctionByName(const FunctionName & name) const
53{
55}
InputParameters emptyInputParameters()
unsigned int THREAD_ID
Definition MooseTypes.h:237
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual bool hasFunction(const std::string &name, const THREAD_ID tid=0)
virtual Function & getFunction(const std::string &name, const THREAD_ID tid=0)
const THREAD_ID _fni_tid
Thread ID.
const Function & getFunctionByName(const FunctionName &name) const
Get a function with a given name.
const Function & getFunction(const std::string &name) const
Get a function with a given name.
const InputParameters & _fni_params
Parameters of the object with this interface.
static InputParameters validParams()
bool hasFunctionByName(const FunctionName &name) const
Determine if the function exists.
FunctionInterface(const MooseObject *moose_object)
bool hasFunction(const std::string &param_name) const
Determine if the function exists.
FEProblemBase & _fni_feproblem
Reference to FEProblemBase instance.
Base class for function objects.
Definition Function.h:30
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
Every object that can be built by the factory should be derived from this class.
Definition MooseObject.h:31