www.mooseframework.org
FunctionDirichletBC.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 
10 #include "FunctionDirichletBC.h"
11 #include "Function.h"
12 
14 
15 template <>
18 {
20  params.addRequiredParam<FunctionName>("function", "The forcing function.");
21  params.addClassDescription(
22  "Imposes the essential boundary condition $u=g(t,\\vec{x})$, where $g$ "
23  "is a (possibly) time and space-dependent MOOSE Function.");
24  return params;
25 }
26 
28  : NodalBC(parameters), _func(getFunction("function"))
29 {
30 }
31 
32 Real
34 {
35  return _func.value(_t, *_current_node);
36 }
37 
38 Real
40 {
41  return _u[_qp] - f();
42 }
InputParameters validParams< NodalBC >()
Definition: NodalBC.C:19
virtual Real value(Real t, const Point &p)
Override this to evaluate the scalar function at point (t,x,y,z), by default this returns zero...
Definition: Function.C:38
const Node *const & _current_node
current node being processed
Definition: NodalBC.h:44
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Base class for deriving any boundary condition that works at nodes.
Definition: NodalBC.h:26
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...
Defines a boundary condition that forces the value to be a user specified function at the boundary...
Real f()
Evaluate the function at the current quadrature point and timestep.
virtual Real computeQpResidual() override
FunctionDirichletBC(const InputParameters &parameters)
Function & _func
The function being used for evaluation.
registerMooseObject("MooseApp", FunctionDirichletBC)
InputParameters validParams< FunctionDirichletBC >()
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 VariableValue & _u
Value of the unknown variable this BC is acting on.
Definition: NodalBC.h:49
unsigned int _qp
Quadrature point index.
Definition: NodalBC.h:47