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 "AddKokkosFunctionAction.h" 11 : #include "FEProblem.h" 12 : 13 : registerMooseAction("MooseApp", AddKokkosFunctionAction, "add_function"); 14 : 15 : InputParameters 16 301 : AddKokkosFunctionAction::validParams() 17 : { 18 301 : InputParameters params = KokkosObjectAction::validParams(); 19 301 : params.addClassDescription("Add a Kokkos Function object to the simulation."); 20 301 : return params; 21 0 : } 22 : 23 187 : AddKokkosFunctionAction::AddKokkosFunctionAction(const InputParameters & params) 24 350 : : KokkosObjectAction(params, "Function") 25 : { 26 181 : } 27 : 28 : void 29 181 : AddKokkosFunctionAction::act() 30 : { 31 181 : FunctionParserBase<Real> fp; 32 181 : std::string vars = "x,y,z,t,NaN,pi,e"; 33 181 : if (fp.Parse(_name, vars) == -1) // -1 for success 34 0 : mooseWarning("Function name '" + _name + "' could evaluate as a ParsedFunction"); 35 181 : _problem->addKokkosFunction(_type, _name, _moose_object_pars); 36 181 : }