Line data Source code
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 : 16 : InputParameters 17 392028 : FunctionInterface::validParams() 18 : { 19 392028 : return emptyInputParameters(); 20 : } 21 : 22 747421 : FunctionInterface::FunctionInterface(const MooseObject * moose_object) 23 747421 : : _fni_params(moose_object->parameters()), 24 2989684 : _fni_feproblem(*_fni_params.getCheckedPointerParam<FEProblemBase *>("_fe_problem_base")), 25 747421 : _fni_tid(_fni_params.have_parameter<THREAD_ID>("_tid") ? _fni_params.get<THREAD_ID>("_tid") : 0) 26 : { 27 747421 : } 28 : 29 : #ifdef MOOSE_KOKKOS_ENABLED 30 223399 : FunctionInterface::FunctionInterface(const FunctionInterface & object, 31 223399 : const Moose::Kokkos::FunctorCopy &) 32 223399 : : _fni_params(object._fni_params), 33 223399 : _fni_feproblem(object._fni_feproblem), 34 223399 : _fni_tid(object._fni_tid) 35 : { 36 223399 : } 37 : #endif 38 : 39 : const Function & 40 56524 : FunctionInterface::getFunction(const std::string & name) const 41 : { 42 56524 : return _fni_feproblem.getFunction(_fni_params.get<FunctionName>(name), _fni_tid); 43 : } 44 : 45 : const Function & 46 6928 : FunctionInterface::getFunctionByName(const FunctionName & name) const 47 : { 48 6928 : return _fni_feproblem.getFunction(name, _fni_tid); 49 : } 50 : 51 : bool 52 0 : FunctionInterface::hasFunction(const std::string & param_name) const 53 : { 54 0 : return hasFunctionByName(_fni_params.get<FunctionName>(param_name)); 55 : } 56 : 57 : bool 58 0 : FunctionInterface::hasFunctionByName(const FunctionName & name) const 59 : { 60 0 : return _fni_feproblem.hasFunction(name, _fni_tid); 61 : }