43 ret.derivatives() = grad(0) * p(0).derivatives()
45 + grad(1) * p(1).derivatives()
48 + grad(2) * p(2).derivatives()
65 return RealGradient(0, 0, 0);
71 mooseError(
"timeDerivative method not implemented");
84 mooseError(
"vectorValue method not implemented");
85 return RealVectorValue(0, 0, 0);
92 return RealVectorValue(0, 0, 0);
105 mooseError(
"Integral method not implemented for function ",
name());
112 mooseError(
"Average method not implemented for function ",
name());
143 static constexpr Real offset_tolerance = 1e-8;
144 auto offset = offset_tolerance * face.
fi->
normal();
DualNumber< Real, DNDerivativeType, true > ADReal
DualNumber< Real, Real > ChainedReal
Real getTimeFromStateArg(const Moose::StateArg &state) const
Returns the time associated with the requested state.
const Point & normal() const
Returns the unit normal vector for the face oriented outward from the face's elem element.
const Elem & elem() const
const Elem * neighborPtr() const
const Elem * elemPtr() const
const Elem & neighbor() const
virtual Real integral() const
Returns the integral of the function over its domain.
DotType evaluateDot(const ElemArg &elem, const Moose::StateArg &state) const override final
Evaluate the functor time derivative with a given element.
static InputParameters validParams()
Class constructor.
virtual RealGradient gradient(Real t, const Point &p) const
Function objects can optionally provide a gradient at a point.
virtual Real timeIntegral(Real t1, Real t2, const Point &p) const
Computes the time integral at a spatial point between two time values.
void residualSetup() override final
Gets called just before the residual is computed and before this object is asked to do its job.
void customSetup(const ExecFlagType &exec_type) override final
Gets called in FEProblemBase::execute() for execute flags other than initial, timestep_begin,...
virtual ~Function()
Function destructor.
DotType evaluateDotHelper(const R &r, const Moose::StateArg &state) const
ValueType evaluateHelper(const R &r, const Moose::StateArg &state) const
virtual RealVectorValue curl(Real t, const Point &p) const
Override this to evaluate the curl of the vector function at a point (t,x,y,z), by default this retur...
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,...
ValueType evaluate(const ElemArg &elem, const Moose::StateArg &state) const override final
Evaluate the functor with a given element.
virtual Real timeDerivative(Real t, const Point &p) const
Get the time derivative of the function.
Function(const InputParameters ¶meters)
GradientType evaluateGradient(const ElemArg &elem, const Moose::StateArg &state) const override final
Evaluate the functor gradient with a given element.
GradientType evaluateGradientHelper(const R &r, const Moose::StateArg &state) const
virtual Real div(Real t, const Point &p) const
Override this to evaluate the divergence of the vector function at a point (t,x,y,...
void timestepSetup() override
Gets called at the beginning of the timestep before this object is asked to do its job.
virtual Real average() const
Returns the average of the function over its domain.
virtual RealVectorValue vectorValue(Real t, const Point &p) const
Override this to evaluate the vector function at a point (t,x,y,z), by default this returns a zero ve...
void jacobianSetup() override final
Gets called just before the Jacobian is computed and before this object is asked to do its job.
const std::string & name() const
Get the name of the class.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Class for containing MooseEnum item information.
static InputParameters validParams()
Base class template for functor objects.
typename FunctorReturnType< Real, FunctorEvaluationKind::Gradient >::type GradientType
This rigmarole makes it so that a user can create functors that return containers (std::vector,...
virtual void residualSetup() override
virtual void timestepSetup() override
virtual void customSetup(const ExecFlagType &exec_type) override
virtual void jacobianSetup() override
FEProblemBase & _ti_feproblem
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
A structure that is used to evaluate Moose functors logically at an element/cell center.
A structure that is used to evaluate Moose functors at an arbitrary physical point contained within a...
Argument for requesting functor evaluation at a quadrature point location in an element.
Argument for requesting functor evaluation at quadrature point locations on an element side.
A structure defining a "face" evaluation calling argument for Moose functors.
const libMesh::Elem * face_side
A member that can be used to indicate whether there is a sidedness to this face.
const FaceInfo * fi
a face information object which defines our location in space
libMesh::Point getPoint() const
State argument for evaluating functors.