www.mooseframework.org
UserForcingFunctionNodalKernel.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 
11 
12 #include "Function.h"
13 
15 
18 {
20  params.addClassDescription(
21  "Residual contribution to an ODE from a source function acting at nodes.");
22  params.addRequiredParam<FunctionName>("function", "The forcing function");
23  return params;
24 }
25 
27  : NodalKernel(parameters), _func(getFunction("function"))
28 {
29 }
30 
31 Real
33 {
34  return -_func.value(_t, (*_current_node));
35 }
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
void addRequiredParam(const std::string &name, const std::string &doc_string)
This method adds a parameter and documentation string to the InputParameters object that will be extr...
virtual Real computeQpResidual() override
The user can override this function to compute the residual at a node.
Represents the rate in a simple ODE of du/dt = f.
registerMooseObject("MooseApp", UserForcingFunctionNodalKernel)
UserForcingFunctionNodalKernel(const InputParameters &parameters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump...
const Node *const & _current_node
current node being processed
virtual Real value(Real t, const Point &p) const
Override this to evaluate the scalar function at point (t,x,y,z), by default this returns zero...
Definition: Function.C:41
static InputParameters validParams()
Class constructor.
Definition: NodalKernel.C:18
static InputParameters validParams()
Constructor grabs the Function.
Base class for creating nodal kernels with hand-coded Jacobians.
Definition: NodalKernel.h:17