Loading [MathJax]/extensions/tex2jax.js
https://mooseframework.inl.gov
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
FVFunctionDirichletBC.C
Go to the documentation of this file.
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 "FVFunctionDirichletBC.h"
11 #include "Function.h"
12 
14 
17 {
19  params.addRequiredParam<FunctionName>("function", "The exact solution function.");
20  params.addClassDescription(
21  "Imposes the essential boundary condition $u=g(t,\\vec{x})$, where $g$ "
22  "is a (possibly) time and space-dependent MOOSE Function.");
23  return params;
24 }
25 
27  : FVDirichletBCBase(parameters), _function(getFunction("function"))
28 {
29 }
30 
31 ADReal
33 {
34 
35  if (state.state != 0 && state.iteration_type == Moose::SolutionIterationType::Time)
36  {
37  mooseAssert(state.state == 1, "We cannot access values beyond the previous time step.");
38  return _function.value(_t_old, fi.faceCentroid());
39  }
40  else
41  return _function.value(_t, fi.faceCentroid());
42 }
FVFunctionDirichletBC(const InputParameters &parameters)
const Point & faceCentroid() const
Returns the coordinates of the face centroid.
Definition: FaceInfo.h:71
Base class for finite volume Dirichlet boundaray conditions.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
DualNumber< Real, DNDerivativeType, true > ADReal
Definition: ADRealForward.h:47
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...
registerMooseObject("MooseApp", FVFunctionDirichletBC)
This data structure is used to store geometric and variable related metadata about each cell face in ...
Definition: FaceInfo.h:36
static InputParameters validParams()
const Real & _t_old
Old time.
SolutionIterationType iteration_type
The solution iteration type, e.g. time or nonlinear.
ADReal boundaryValue(const FaceInfo &fi, const Moose::StateArg &state) const override
static InputParameters validParams()
Applies a Dirichlet boundary condition with a value prescribed by a function.
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...
State argument for evaluating functors.
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:44
unsigned int state
The state.