20 "$\\frac{\\partial u}{\\partial n}=h(t,\\vec{x})$, "
21 "where $h$ is a functor.");
23 params.
addRequiredParam<MooseFunctorName>(
"functor",
"The functor to impose");
25 "coefficient", 1.0,
"An optional functor coefficient to multiply the imposed functor");
26 params.
addParam<
bool>(
"flux_is_inward",
28 "Set to true if a positive evaluation of the provided functor corresponds "
29 "to a flux in the inward direction; else the outward direction");
36 _functor(getFunctor<
ADReal>(
"functor")),
37 _coef(getFunctor<
ADReal>(
"coefficient")),
38 _sign(getParam<bool>(
"flux_is_inward") ? -1.0 : 1.0)
DualNumber< Real, DNDerivativeType, true > ADReal
registerMooseObject("MooseApp", FunctorNeumannBC)
Base class for deriving any boundary condition of a integrated type.
static InputParameters validParams()
const ADTemplateVariableTestValue< T > & _test
test function values (in QPs)
Neumann boundary condition with functor inputs.
FunctorNeumannBC(const InputParameters ¶meters)
const Moose::Functor< ADReal > & _coef
Coefficient.
const Moose::Functor< ADReal > & _functor
The functor to impose.
static InputParameters validParams()
const Real _sign
Sign to apply to flux.
virtual ADReal computeQpResidual() override
Compute this IntegratedBC's contribution to the residual at the current quadrature point.
const unsigned int & _current_side
current side of the current element
const QBase *const & _qrule
active quadrature rule
unsigned int _qp
quadrature point index
unsigned int _i
i-th, j-th index for enumerating test and shape functions
const Elem *const & _current_elem
current element
const MooseArray< Point > & _q_point
active quadrature points
Argument for requesting functor evaluation at quadrature point locations on an element side.