19 "Adds a Robin BC of the form \\alpha * \\nabla \\phi*n + \\beta * \\phi = \\gamma, "
20 "which can be used for the assembly of linear "
21 "finite volume system and whose face values are determined using "
22 "three functors. This kernel is "
23 "only designed to work with advection-diffusion problems.");
25 "alpha", 1.0,
"Functor for the coefficient of the normal gradient term.");
26 params.
addParam<MooseFunctorName>(
"beta", 1.0,
"Functor for the coefficient of the scalar term.");
28 "gamma", 1.0,
"Functor for the constant term on the RHS of the Robin BC.");
35 _alpha(getFunctor<Real>(
"alpha")),
36 _beta(getFunctor<Real>(
"beta")),
37 _gamma(getFunctor<Real>(
"gamma"))
44 std::istringstream ss(getParam<MooseFunctorName>(
"alpha"));
46 if (ss >> real_value && ss.eof())
47 if (MooseUtils::isZero(real_value))
49 "This value shall not be 0. Use a Dirichlet boundary condition instead!");
56 return _alpha(face, state);
62 return _beta(face, state);
68 return _gamma(face, state);
registerMooseObject("MooseApp", LinearFVAdvectionDiffusionFunctorRobinBC)
Class implementing the base for the Robin boundary condition for linear finite volume variables.
static InputParameters validParams()
Class implementing a Robin boundary condition for linear finite volume variables.
const Moose::Functor< Real > & _gamma
Functor giving the gamma coefficient (on right hand side, treated explicitly)
static InputParameters validParams()
const Moose::Functor< Real > & _alpha
Functor giving the alpha coefficient (multiplying normal gradient)
LinearFVAdvectionDiffusionFunctorRobinBC(const InputParameters ¶meters)
Class constructor.
virtual Real getAlpha(Moose::FaceArg face, Moose::StateArg state) const override
Getter functions (consistent entry point for all derived classes)
const Moose::Functor< Real > & _beta
Functor giving the beta coefficient (multiplying value)
virtual Real getGamma(Moose::FaceArg face, Moose::StateArg state) const override
virtual Real getBeta(Moose::FaceArg face, Moose::StateArg state) const override
MooseLinearVariableFV< Real > & _var
Reference to the linear finite volume variable object.
void paramError(const std::string ¶m, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
void computeCellGradients()
Switch to request cell gradient computations.
A structure defining a "face" evaluation calling argument for Moose functors.
State argument for evaluating functors.