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 ...
const LinearFVGradientReader & requestCellGradients(unsigned int oldest_state=0)
Register the configured default gradient method with time-state storage.
A structure defining a "face" evaluation calling argument for Moose functors.
State argument for evaluating functors.