68 const StateArg & state)
const override final 85 const StateArg & state)
const override final 97 const StateArg & state)
const override final 108 template <
typename T>
114 return _vector.isExtrapolatedBoundaryFace(fi, elem, state);
virtual bool hasBlocks(SubdomainID) const
Returns whether the functor is defined on this block.
const VectorFunctor & _vector
The parent vector functor.
GradientType evaluateGradDot(const ElemArg &elem_arg, const StateArg &state) const override final
Evaluate the functor gradient-dot with a given element.
GradientType evaluateGradient(const ElemArg &elem_arg, const StateArg &state) const override final
Evaluate the functor gradient with a given element.
ValueType evaluate(const ElemQpArg &elem_qp, const StateArg &state) const override final
Base class template for functor objects.
bool hasBlocks(SubdomainID sub_id) const override
Returns whether the functor is defined on this block.
typename libMesh::TensorTools::IncrementRank< T >::type VectorArg
A structure that is used to evaluate Moose functors at an arbitrary physical point contained within a...
typename FunctorReturnType< T, FunctorEvaluationKind::Gradient >::type GradientType
This rigmarole makes it so that a user can create functors that return containers (std::vector...
bool isExtrapolatedBoundaryFace(const FaceInfo &fi, const Elem *elem, const Moose::StateArg &state) const override
Returns whether this (sided) face is an extrapolated boundary face for this functor.
ValueType evaluate(const ElemSideQpArg &elem_side_qp, const StateArg &state) const override final
GradientType gradDot(const ElemArg &elem, const StateArg &state) const
Same as their evaluateGradDot overloads with the same arguments but allows for caching implementation...
ValueType evaluate(const FaceArg &face, const StateArg &state) const override final
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.
GradientType evaluateGradDot(const FaceArg &face, const StateArg &state) const override final
A structure defining a "face" evaluation calling argument for Moose functors.
ValueType evaluate(const ElemPointArg &elem_point, const StateArg &state) const override final
Evaluate the functor with a given element and point.
A structure that is used to evaluate Moose functors logically at an element/cell center.
bool supportsFaceArg() const override final
Whether this functor supports evaluation with FaceArg.
VectorComponentFunctor(const VectorFunctor &vector, const unsigned int component)
Argument for requesting functor evaluation at a quadrature point location in an element.
GradientType evaluateGradient(const FaceArg &face, const StateArg &state) const override final
const MooseFunctorName & functorName() const
Return the functor name.
virtual bool supportsFaceArg() const =0
Whether this functor supports evaluation with FaceArg.
const unsigned int _component
The component at which we'll index the parent vector functor evaluation result.
bool supportsElemSideQpArg() const override final
Whether this functor supports evaluation with ElemSideQpArg.
GradientType gradient(const ElemArg &elem, const StateArg &state) const
Same as their evaluateGradient overloads with the same arguments but allows for caching implementatio...
This is essentially a forwarding functor that forwards the spatial and temporal evaluation arguments ...
State argument for evaluating functors.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
Argument for requesting functor evaluation at quadrature point locations on an element side...
ValueType evaluate(const ElemArg &elem, const StateArg &state) const override final
Evaluate the functor with a given element.
ValueType evaluate(const NodeArg &node, const StateArg &state) const override final