20 params.
addClassDescription(
"Uses the value of a functor to set a Dirichlet boundary value.");
22 "functor",
"The name of the functor whose value is imposed on the boundary");
24 "functor_only_defined_on_other_side",
26 "Whether to evaluate the functor on the other side of the boundary. Note that depending on " 27 "the functor type, this may require the 'ghost_layers' parameter to be set. For a FV " 28 "variable with two term expansion, three ghost layers are needed.");
29 params.
addParam<
unsigned int>(
"ghost_layers", 0,
"Number of ghost layers needed");
33 "ElementSideNeighborLayers",
38 rm_params.
set<
unsigned short>(
"layers") = obj_params.
get<
unsigned int>(
"ghost_layers");
39 rm_params.
set<
bool>(
"use_point_neighbors") =
false;
48 _functor(getFunctor<
GenericReal<is_ad>>(
"functor")),
49 _use_other_side(getParam<bool>(
"functor_only_defined_on_other_side"))
58 auto sfa = singleSidedFaceArg(&fi);
60 return _functor(sfa, state);
61 else if (fi.
elemPtr() == sfa.face_side)
Moose::GenericType< Real, is_ad > GenericReal
ADReal boundaryValue(const FaceInfo &fi, const Moose::StateArg &state) const override
A template class for finite volume dirichlet boundary conditions.
Base class for finite volume Dirichlet boundaray conditions.
DualNumber< Real, DNDerivativeType, true > ADReal
static InputParameters validParams()
This data structure is used to store geometric and variable related metadata about each cell face in ...
const Elem * neighborPtr() const
static InputParameters validParams()
FVFunctorDirichletBCTempl(const InputParameters ¶meters)
const Elem * elemPtr() const
State argument for evaluating functors.
registerMooseObject("MooseApp", FVFunctorDirichletBC)