www.mooseframework.org
ADFunctionDirichletBC.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 "ADFunctionDirichletBC.h"
11 #include "Function.h"
12 
13 #include "libmesh/node.h"
14 
16 
19 {
21  params.addClassDescription("Imposes the essential boundary condition $u=g$, where $g$ "
22  "is calculated by a function.");
23  params.addParam<FunctionName>("function", 0, "The function describing the Dirichlet condition");
24  return params;
25 }
26 
28  : ADDirichletBCBaseTempl<Real>(parameters), _function(getFunction("function"))
29 {
30 }
31 
32 ADReal
34 {
35  return _function.value(_t, *_current_node);
36 }
Base class for automatic differentiation Dirichlet BCs.
ADFunctionDirichletBC(const InputParameters &parameters)
virtual ADReal computeQpValue() override
Compute the value of the Dirichlet BC at the current quadrature point.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
DualReal ADReal
Definition: ADRealForward.h:14
Boundary condition of a Dirichlet type.
const Function & _function
The function describing the Dirichlet condition.
registerMooseObject("MooseApp", ADFunctionDirichletBC)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Node *const & _current_node
current node being processed
Definition: ADNodalBC.h:42
static InputParameters validParams()
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...
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an option parameter and a documentation string to the InputParameters object...
static InputParameters validParams()
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