34 const Elem *
const elem,
102 const StateArg & state)
const override 153 const StateArg & state)
const override virtual bool hasBlocks(SubdomainID) const
Returns whether the functor is defined on this block.
virtual bool isConstant() const override
Returns true if this functor is a constant.
GradientType evaluateGradDot(const ElemQpArg &qp, const StateArg &state) const override
Base class template for functor objects.
ValueType evaluate(const ElemSideQpArg &qp, const StateArg &state) const override
DotType evaluateDot(const NodeArg &node, const StateArg &state) const override
virtual bool isExtrapolatedBoundaryFace(const FaceInfo &, const Elem *, const StateArg &) const
Returns whether this (sided) face is an extrapolated boundary face for this functor.
Wraps non-AD functors such that they can be used in objects that have requested the functor as AD...
GradientType evaluateGradDot(const ElemPointArg &elem_point, const StateArg &state) const override
Evaluate the functor gradient-dot with a given element and point.
GradientType evaluateGradient(const ElemQpArg &qp, const StateArg &state) const override
virtual bool isExtrapolatedBoundaryFace(const FaceInfo &fi, const Elem *const elem, const Moose::StateArg &state) const override
Returns whether this (sided) face is an extrapolated boundary face for this functor.
A structure that is used to evaluate Moose functors at an arbitrary physical point contained within a...
const ExecFlagType EXEC_ALWAYS
typename FunctorReturnType< T, FunctorEvaluationKind::Gradient >::type GradientType
This rigmarole makes it so that a user can create functors that return containers (std::vector...
GradientType evaluateGradient(const ElemPointArg &elem_point, const StateArg &state) const override
Evaluate the functor gradient with a given element and point.
const FunctorBase< typename MetaPhysicL::RawType< T >::value_type > & _non_ad_functor
Our wrapped AD object.
GradientType gradDot(const ElemArg &elem, const StateArg &state) const
Same as their evaluateGradDot overloads with the same arguments but allows for caching implementation...
bool supportsElemSideQpArg() const override final
Whether this functor supports evaluation with ElemSideQpArg.
This data structure is used to store geometric and variable related metadata about each cell face in ...
virtual bool supportsElemSideQpArg() const =0
Whether this functor supports evaluation with ElemSideQpArg.
A structure defining a "face" evaluation calling argument for Moose functors.
DotType evaluateDot(const ElemArg &elem, const StateArg &state) const override
Evaluate the functor time derivative with a given element.
GradientType evaluateGradient(const FaceArg &face, const StateArg &state) const override
GradientType evaluateGradDot(const FaceArg &face, const StateArg &state) const override
virtual bool hasFaceSide(const FaceInfo &fi, const bool fi_elem_side) const override
ValueType evaluate(const ElemArg &elem, const StateArg &state) const override
Forward calls to wrapped object.
ValueType evaluate(const NodeArg &node, const StateArg &state) const override
A structure that is used to evaluate Moose functors logically at an element/cell center.
GradientType evaluateGradDot(const ElemArg &elem, const StateArg &state) const override
Evaluate the functor gradient-dot with a given element.
Argument for requesting functor evaluation at a quadrature point location in an element.
GradientType evaluateGradDot(const NodeArg &node, const StateArg &state) const override
ValueType evaluate(const FaceArg &face, const StateArg &state) const override
const MooseFunctorName & functorName() const
Return the functor name.
GradientType evaluateGradient(const ElemSideQpArg &qp, const StateArg &state) const override
virtual bool hasBlocks(const SubdomainID id) const override
Returns whether the functor is defined on this block.
virtual bool supportsFaceArg() const =0
Whether this functor supports evaluation with FaceArg.
ADWrapperFunctor(const FunctorBase< typename MetaPhysicL::RawType< T >::value_type > &non_ad_functor)
DotType dot(const ElemArg &elem, const StateArg &state) const
Same as their evaluateDot overloads with the same arguments but allows for caching implementation...
DotType evaluateDot(const ElemQpArg &qp, const StateArg &state) const override
GradientType gradient(const ElemArg &elem, const StateArg &state) const
Same as their evaluateGradient overloads with the same arguments but allows for caching implementatio...
ValueType evaluate(const ElemQpArg &qp, const StateArg &state) const override
ValueType evaluate(const ElemPointArg &elem_point, const StateArg &state) const override
Evaluate the functor with a given element and point.
State argument for evaluating functors.
GradientType evaluateGradient(const ElemArg &elem, const StateArg &state) const override
Evaluate the functor gradient with a given element.
GradientType evaluateGradient(const NodeArg &node, const StateArg &state) const override
DotType evaluateDot(const FaceArg &face, const StateArg &state) const override
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
GradientType evaluateGradDot(const ElemSideQpArg &qp, const StateArg &state) const override
DotType evaluateDot(const ElemSideQpArg &qp, const StateArg &state) const override
virtual bool isConstant() const
Returns true if this functor is a constant.
bool supportsFaceArg() const override final
Whether this functor supports evaluation with FaceArg.
Argument for requesting functor evaluation at quadrature point locations on an element side...
DotType evaluateDot(const ElemPointArg &elem_point, const StateArg &state) const override
Evaluate the functor time derivative with a given element and point.
virtual bool hasFaceSide(const FaceInfo &fi, const bool fi_elem_side) const override