A material property that is evaluated on-the-fly via calls to various overloads of operator()
More...
#include <PiecewiseByBlockLambdaFunctor.h>
Public Types | |
using | FunctorType = FunctorBase< T > |
using | ValueType = T |
using | GradientType = typename FunctorReturnType< T, FunctorEvaluationKind::Gradient >::type |
This rigmarole makes it so that a user can create functors that return containers (std::vector, std::array). More... | |
using | DotType = ValueType |
Public Member Functions | |
template<typename PolymorphicLambda > | |
PiecewiseByBlockLambdaFunctor (const std::string &name, PolymorphicLambda my_lammy, const std::set< ExecFlagType > &clearance_schedule, const MooseMesh &mesh, const std::set< SubdomainID > &block_ids) | |
template<typename PolymorphicLambda > | |
void | setFunctor (const MooseMesh &mesh, const std::set< SubdomainID > &block_ids, PolymorphicLambda my_lammy) |
Set the functor that will be used in calls to evaluate overloads. More... | |
virtual | ~PiecewiseByBlockLambdaFunctor ()=default |
bool | isExtrapolatedBoundaryFace (const FaceInfo &fi, const Elem *elem, const Moose::StateArg &time) const override |
Returns whether this (sided) face is an extrapolated boundary face for this functor. More... | |
bool | hasBlocks (SubdomainID id) const override |
Returns whether the functor is defined on this block. More... | |
bool | supportsFaceArg () const override final |
Whether this functor supports evaluation with FaceArg. More... | |
bool | supportsElemSideQpArg () const override final |
Whether this functor supports evaluation with ElemSideQpArg. More... | |
template<FunctorEvaluationKind FET, typename Space , typename State > | |
FunctorReturnType< T, FET >::type | genericEvaluate (const Space &r, const State &state) const |
Perform a generic evaluation based on the supplied template argument FET and supplied spatial and temporal arguments. More... | |
const MooseFunctorName & | functorName () const |
Return the functor name. More... | |
virtual void | residualSetup () override |
virtual void | jacobianSetup () override |
virtual void | timestepSetup () override |
virtual void | customSetup (const ExecFlagType &exec_type) override |
void | setCacheClearanceSchedule (const std::set< ExecFlagType > &clearance_schedule) |
Set how often to clear the functor evaluation cache. More... | |
bool | isInternalFace (const FaceInfo &) const |
Returns true if the face is an internal face. More... | |
virtual bool | isConstant () const |
Returns true if this functor is a constant. More... | |
virtual bool | hasFaceSide (const FaceInfo &fi, const bool fi_elem_side) const override |
void | checkFace (const Moose::FaceArg &face) const |
Examines the incoming face argument. More... | |
ValueType | operator() (const ElemArg &elem, const StateArg &state) const |
Same as their evaluate overloads with the same arguments but allows for caching implementation. More... | |
ValueType | operator() (const FaceArg &face, const StateArg &state) const |
ValueType | operator() (const ElemQpArg &qp, const StateArg &state) const |
ValueType | operator() (const ElemSideQpArg &qp, const StateArg &state) const |
ValueType | operator() (const ElemPointArg &elem_point, const StateArg &state) const |
ValueType | operator() (const NodeArg &node, const StateArg &state) const |
GradientType | gradient (const ElemArg &elem, const StateArg &state) const |
Same as their evaluateGradient overloads with the same arguments but allows for caching implementation. More... | |
GradientType | gradient (const FaceArg &face, const StateArg &state) const |
GradientType | gradient (const ElemQpArg &qp, const StateArg &state) const |
GradientType | gradient (const ElemSideQpArg &qp, const StateArg &state) const |
GradientType | gradient (const ElemPointArg &elem_point, const StateArg &state) const |
GradientType | gradient (const NodeArg &node, const StateArg &state) const |
DotType | dot (const ElemArg &elem, const StateArg &state) const |
Same as their evaluateDot overloads with the same arguments but allows for caching implementation. More... | |
DotType | dot (const FaceArg &face, const StateArg &state) const |
DotType | dot (const ElemQpArg &qp, const StateArg &state) const |
DotType | dot (const ElemSideQpArg &qp, const StateArg &state) const |
DotType | dot (const ElemPointArg &elem_point, const StateArg &state) const |
DotType | dot (const NodeArg &node, const StateArg &state) const |
GradientType | gradDot (const ElemArg &elem, const StateArg &state) const |
Same as their evaluateGradDot overloads with the same arguments but allows for caching implementation. More... | |
GradientType | gradDot (const FaceArg &face, const StateArg &state) const |
GradientType | gradDot (const ElemQpArg &qp, const StateArg &state) const |
GradientType | gradDot (const ElemSideQpArg &qp, const StateArg &state) const |
GradientType | gradDot (const ElemPointArg &elem_point, const StateArg &state) const |
GradientType | gradDot (const NodeArg &node, const StateArg &state) const |
Protected Types | |
using | ElemFn = std::function< T(const Moose::ElemArg &, const Moose::StateArg &)> |
using | FaceFn = std::function< T(const Moose::FaceArg &, const Moose::StateArg &)> |
using | ElemQpFn = std::function< T(const Moose::ElemQpArg &, const Moose::StateArg &)> |
using | ElemSideQpFn = std::function< T(const Moose::ElemSideQpArg &, const Moose::StateArg &)> |
using | ElemPointFn = std::function< T(const Moose::ElemPointArg &, const Moose::StateArg &)> |
using | NodeFn = std::function< T(const Moose::NodeArg &, const Moose::StateArg &)> |
Protected Member Functions | |
ValueType | evaluate (const Moose::ElemArg &elem_arg, const Moose::StateArg &time) const override |
Evaluate the functor with a given element. More... | |
ValueType | evaluate (const Moose::FaceArg &face, const Moose::StateArg &time) const override |
ValueType | evaluate (const Moose::ElemQpArg &elem_qp, const Moose::StateArg &time) const override |
ValueType | evaluate (const Moose::ElemSideQpArg &elem_side_qp, const Moose::StateArg &time) const override |
ValueType | evaluate (const Moose::ElemPointArg &elem_point, const Moose::StateArg &time) const override |
Evaluate the functor with a given element and point. More... | |
ValueType | evaluate (const Moose::NodeArg &node_arg, const Moose::StateArg &time) const override |
GradientType | evaluateGradient (const Moose::ElemArg &elem_arg, const Moose::StateArg &) const override |
Evaluate the functor gradient with a given element. More... | |
GradientType | evaluateGradient (const Moose::FaceArg &face_arg, const Moose::StateArg &) const override |
Functor evaluation routines | |
These methods are all for evaluating functors with different kinds of spatial arguments. Each of these methods also takes a state argument. For a description of the state argument, please see the | |
virtual GradientType | evaluateGradient (const ElemQpArg &, const StateArg &) const |
virtual GradientType | evaluateGradient (const ElemSideQpArg &, const StateArg &) const |
virtual GradientType | evaluateGradient (const ElemPointArg &, const StateArg &) const |
Evaluate the functor gradient with a given element and point. More... | |
virtual GradientType | evaluateGradient (const NodeArg &, const StateArg &) const |
virtual DotType | evaluateDot (const ElemArg &, const StateArg &) const |
Evaluate the functor time derivative with a given element. More... | |
virtual DotType | evaluateDot (const FaceArg &, const StateArg &) const |
virtual DotType | evaluateDot (const ElemQpArg &, const StateArg &) const |
virtual DotType | evaluateDot (const ElemSideQpArg &, const StateArg &) const |
virtual DotType | evaluateDot (const ElemPointArg &, const StateArg &) const |
Evaluate the functor time derivative with a given element and point. More... | |
virtual DotType | evaluateDot (const NodeArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const ElemArg &, const StateArg &) const |
Evaluate the functor gradient-dot with a given element. More... | |
virtual GradientType | evaluateGradDot (const FaceArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const ElemQpArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const ElemSideQpArg &, const StateArg &) const |
virtual GradientType | evaluateGradDot (const ElemPointArg &, const StateArg &) const |
Evaluate the functor gradient-dot with a given element and point. More... | |
virtual GradientType | evaluateGradDot (const NodeArg &, const StateArg &) const |
Private Member Functions | |
template<typename C > | |
void | subdomainErrorMessage (SubdomainID sub_id, const std::unordered_map< SubdomainID, C > &functors) const |
Provide a useful error message about lack of functor material property on the provided subdomain sub_id . More... | |
Private Attributes | |
std::unordered_map< SubdomainID, ElemFn > | _elem_functor |
Functors that return element average values (or cell centroid values or whatever the implementer wants to return for a given element argument) More... | |
std::unordered_map< SubdomainID, FaceFn > | _face_functor |
Functors that return the property value on the requested side of the face (e.g. More... | |
std::unordered_map< SubdomainID, ElemQpFn > | _elem_qp_functor |
Functors that will evaluate elements at quadrature points. More... | |
std::unordered_map< SubdomainID, ElemSideQpFn > | _elem_side_qp_functor |
Functors that will evaluate elements at side quadrature points. More... | |
std::unordered_map< SubdomainID, ElemPointFn > | _elem_point_functor |
Functors that return evaluations at an arbitrary physical point in an element. More... | |
std::unordered_map< SubdomainID, NodeFn > | _node_functor |
Functors that return nodal values. More... | |
const MooseMesh & | _mesh |
The mesh that this functor operates on. More... | |
A material property that is evaluated on-the-fly via calls to various overloads of operator()
Definition at line 32 of file PiecewiseByBlockLambdaFunctor.h.
|
inherited |
Definition at line 150 of file MooseFunctor.h.
|
protected |
Definition at line 70 of file PiecewiseByBlockLambdaFunctor.h.
|
protected |
Definition at line 74 of file PiecewiseByBlockLambdaFunctor.h.
|
protected |
Definition at line 72 of file PiecewiseByBlockLambdaFunctor.h.
|
protected |
Definition at line 73 of file PiecewiseByBlockLambdaFunctor.h.
|
protected |
Definition at line 71 of file PiecewiseByBlockLambdaFunctor.h.
|
inherited |
Definition at line 140 of file MooseFunctor.h.
|
inherited |
This rigmarole makes it so that a user can create functors that return containers (std::vector, std::array).
This logic will make it such that if a user requests a functor type T that is a container of algebraic types, for example Reals, then the GradientType will be a container of the gradients of those algebraic types, in this example VectorValue<Reals>. So if T is std::vector<Real>, then GradientType will be std::vector<VectorValue<Real>>. As another example: T = std::array<VectorValue<Real>, 1> -> GradientType = std::array<TensorValue<Real>, 1>
Definition at line 149 of file MooseFunctor.h.
|
protected |
Definition at line 75 of file PiecewiseByBlockLambdaFunctor.h.
|
inherited |
Definition at line 141 of file MooseFunctor.h.
PiecewiseByBlockLambdaFunctor< T >::PiecewiseByBlockLambdaFunctor | ( | const std::string & | name, |
PolymorphicLambda | my_lammy, | ||
const std::set< ExecFlagType > & | clearance_schedule, | ||
const MooseMesh & | mesh, | ||
const std::set< SubdomainID > & | block_ids | ||
) |
Definition at line 129 of file PiecewiseByBlockLambdaFunctor.h.
|
virtualdefault |
|
inherited |
Examines the incoming face argument.
If the face argument producer (residual object, postprocessor, etc.) did not indicate a sidedness to the face, e.g. if the face_side
member of the FaceArg
is nullptr
, then we may "modify" the sidedness of the argument if we are only defined on one side of the face. If the face argument producer has indicated a sidedness and we are not defined on that side, then we will error
face | The face argument created by the face argument producer, likely a residual object |
Definition at line 732 of file MooseFunctor.h.
|
overridevirtualinherited |
Implements Moose::FunctorAbstract.
Reimplemented in Function.
Definition at line 839 of file MooseFunctor.h.
|
inherited |
Same as their evaluateDot
overloads with the same arguments but allows for caching implementation.
These are the methods a user will call in their code
Definition at line 890 of file MooseFunctor.h.
Referenced by FVFunctorTimeKernel::computeQpResidual(), and Moose::ADWrapperFunctor< T >::evaluateDot().
|
inherited |
Definition at line 897 of file MooseFunctor.h.
|
inherited |
Definition at line 905 of file MooseFunctor.h.
|
inherited |
Definition at line 912 of file MooseFunctor.h.
|
inherited |
Definition at line 919 of file MooseFunctor.h.
|
inherited |
Definition at line 926 of file MooseFunctor.h.
|
overrideprotectedvirtual |
Evaluate the functor with a given element.
Some example implementations of this method could compute an element-average or evaluate at the element centroid
Implements Moose::FunctorBase< T >.
Definition at line 234 of file PiecewiseByBlockLambdaFunctor.h.
|
overrideprotectedvirtual |
face | See the FaceArg doxygen |
state | See the StateArg doxygen |
Implements Moose::FunctorBase< T >.
Definition at line 249 of file PiecewiseByBlockLambdaFunctor.h.
|
overrideprotectedvirtual |
qp | See the ElemQpArg doxygen |
state | See the StateArg doxygen |
Implements Moose::FunctorBase< T >.
Definition at line 271 of file PiecewiseByBlockLambdaFunctor.h.
|
overrideprotectedvirtual |
side_qp | See the ElemSideQpArg doxygen |
state | See the StateArg doxygen |
Implements Moose::FunctorBase< T >.
Definition at line 284 of file PiecewiseByBlockLambdaFunctor.h.
|
overrideprotectedvirtual |
Evaluate the functor with a given element and point.
Some example implementations of this method could perform a two-term Taylor expansion using cell-centered value and gradient
Implements Moose::FunctorBase< T >.
Definition at line 297 of file PiecewiseByBlockLambdaFunctor.h.
|
overrideprotectedvirtual |
Implements Moose::FunctorBase< T >.
Definition at line 312 of file PiecewiseByBlockLambdaFunctor.h.
|
inlineprotectedvirtualinherited |
Evaluate the functor time derivative with a given element.
Some example implementations of this method could compute an element-average or evaluate at the element centroid
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, MooseVariableFE< OutputType >, MooseVariableFE< ComputeValueType >, MooseVariableFE< T >, MooseVariableFE< RealEigenVector >, MooseVariableFE< VectorValue< Real > >, MooseVariableFE< RealVectorValue >, MooseVariableFE< Real >, MooseVariableFV< OutputType >, MooseVariableFV< ComputeValueType >, MooseVariableFV< T >, MooseVariableFV< RealEigenVector >, MooseVariableFV< RealVectorValue >, MooseVariableFV< Real >, MooseLinearVariableFV< OutputType >, MooseLinearVariableFV< ComputeValueType >, MooseLinearVariableFV< T >, MooseLinearVariableFV< RealEigenVector >, MooseLinearVariableFV< RealVectorValue >, MooseLinearVariableFV< Real >, Function, Postprocessor, Moose::ADWrapperFunctor< T >, Moose::RawValueFunctor< T >, and Moose::VectorCompositeFunctor< T >.
Definition at line 385 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
face | See the FaceArg doxygen |
state | See the StateArg doxygen |
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, MooseVariableFE< OutputType >, MooseVariableFE< ComputeValueType >, MooseVariableFE< T >, MooseVariableFE< RealEigenVector >, MooseVariableFE< VectorValue< Real > >, MooseVariableFE< RealVectorValue >, MooseVariableFE< Real >, MooseVariableFV< OutputType >, MooseVariableFV< ComputeValueType >, MooseVariableFV< T >, MooseVariableFV< RealEigenVector >, MooseVariableFV< RealVectorValue >, MooseVariableFV< Real >, Function, Moose::ADWrapperFunctor< T >, Postprocessor, Moose::RawValueFunctor< T >, and Moose::VectorCompositeFunctor< T >.
Definition at line 395 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
qp | See the ElemQpArg doxygen |
state | See the StateArg doxygen |
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, MooseVariableFE< OutputType >, MooseVariableFE< ComputeValueType >, MooseVariableFE< T >, MooseVariableFE< RealEigenVector >, MooseVariableFE< VectorValue< Real > >, MooseVariableFE< RealVectorValue >, MooseVariableFE< Real >, MooseVariableFV< OutputType >, MooseVariableFV< ComputeValueType >, MooseVariableFV< T >, MooseVariableFV< RealEigenVector >, MooseVariableFV< RealVectorValue >, MooseVariableFV< Real >, Function, Moose::ADWrapperFunctor< T >, Postprocessor, and Moose::RawValueFunctor< T >.
Definition at line 405 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
side_qp | See the ElemSideQpArg doxygen |
state | See the StateArg doxygen |
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, MooseVariableFE< OutputType >, MooseVariableFE< ComputeValueType >, MooseVariableFE< T >, MooseVariableFE< RealEigenVector >, MooseVariableFE< VectorValue< Real > >, MooseVariableFE< RealVectorValue >, MooseVariableFE< Real >, Function, Moose::ADWrapperFunctor< T >, Postprocessor, and Moose::RawValueFunctor< T >.
Definition at line 416 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Evaluate the functor time derivative with a given element and point.
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, Function, Moose::ADWrapperFunctor< T >, Moose::RawValueFunctor< T >, and Postprocessor.
Definition at line 425 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, Function, Moose::ADWrapperFunctor< T >, Moose::RawValueFunctor< T >, and Postprocessor.
Definition at line 430 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Evaluate the functor gradient-dot with a given element.
Some example implementations of this method could compute an element-average or evaluate at the element centroid
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, MooseVariableFE< OutputType >, MooseVariableFE< ComputeValueType >, MooseVariableFE< T >, MooseVariableFE< RealEigenVector >, MooseVariableFE< VectorValue< Real > >, MooseVariableFE< RealVectorValue >, MooseVariableFE< Real >, Moose::ADWrapperFunctor< T >, Moose::RawValueFunctor< T >, and Moose::VectorComponentFunctor< T >.
Definition at line 439 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
face | See the FaceArg doxygen |
state | See the StateArg doxygen |
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, Moose::ADWrapperFunctor< T >, Moose::RawValueFunctor< T >, and Moose::VectorComponentFunctor< T >.
Definition at line 449 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
qp | See the ElemQpArg doxygen |
state | See the StateArg doxygen |
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, Moose::ADWrapperFunctor< T >, and Moose::RawValueFunctor< T >.
Definition at line 459 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
side_qp | See the ElemSideQpArg doxygen |
state | See the StateArg doxygen |
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, Moose::ADWrapperFunctor< T >, and Moose::RawValueFunctor< T >.
Definition at line 470 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Evaluate the functor gradient-dot with a given element and point.
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, Moose::ADWrapperFunctor< T >, and Moose::RawValueFunctor< T >.
Definition at line 479 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, Moose::ADWrapperFunctor< T >, and Moose::RawValueFunctor< T >.
Definition at line 484 of file MooseFunctor.h.
|
overrideprotectedvirtual |
Evaluate the functor gradient with a given element.
Some example implementations of this method could compute an element-average or evaluate at the element centroid
Reimplemented from Moose::FunctorBase< T >.
Definition at line 328 of file PiecewiseByBlockLambdaFunctor.h.
|
overrideprotectedvirtual |
face | See the FaceArg doxygen |
state | See the StateArg doxygen |
Reimplemented from Moose::FunctorBase< T >.
Definition at line 336 of file PiecewiseByBlockLambdaFunctor.h.
|
inlineprotectedvirtualinherited |
qp | See the ElemQpArg doxygen |
state | See the StateArg doxygen |
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, MooseVariableFE< OutputType >, MooseVariableFE< ComputeValueType >, MooseVariableFE< T >, MooseVariableFE< RealEigenVector >, MooseVariableFE< VectorValue< Real > >, MooseVariableFE< RealVectorValue >, MooseVariableFE< Real >, MooseVariableFV< OutputType >, MooseVariableFV< ComputeValueType >, MooseVariableFV< T >, MooseVariableFV< RealEigenVector >, MooseVariableFV< RealVectorValue >, MooseVariableFV< Real >, MooseLinearVariableFV< OutputType >, MooseLinearVariableFV< ComputeValueType >, MooseLinearVariableFV< T >, MooseLinearVariableFV< RealEigenVector >, MooseLinearVariableFV< RealVectorValue >, MooseLinearVariableFV< Real >, Function, Postprocessor, Moose::ADWrapperFunctor< T >, and Moose::RawValueFunctor< T >.
Definition at line 352 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
side_qp | See the ElemSideQpArg doxygen |
state | See the StateArg doxygen |
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, MooseVariableFE< OutputType >, MooseVariableFE< ComputeValueType >, MooseVariableFE< T >, MooseVariableFE< RealEigenVector >, MooseVariableFE< VectorValue< Real > >, MooseVariableFE< RealVectorValue >, MooseVariableFE< Real >, Function, Postprocessor, Moose::ADWrapperFunctor< T >, and Moose::RawValueFunctor< T >.
Definition at line 362 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Evaluate the functor gradient with a given element and point.
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, Function, Postprocessor, Moose::ADWrapperFunctor< T >, and Moose::RawValueFunctor< T >.
Definition at line 371 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, Function, Postprocessor, Moose::ADWrapperFunctor< T >, Moose::RawValueFunctor< T >, and Moose::ArrayComponentFunctor< T, ArrayTypeFunctor >.
Definition at line 376 of file MooseFunctor.h.
|
inlineinherited |
Return the functor name.
Definition at line 170 of file MooseFunctor.h.
Referenced by Moose::FunctorBase< libMesh::VectorValue >::evaluateDot(), Moose::FunctorBase< libMesh::VectorValue >::evaluateGradDot(), Moose::FunctorBase< libMesh::VectorValue >::evaluateGradient(), and Moose::FunctorBase< libMesh::VectorValue >::hasBlocks().
|
inherited |
Perform a generic evaluation based on the supplied template argument FET
and supplied spatial and temporal arguments.
Definition at line 987 of file MooseFunctor.h.
|
inherited |
Same as their evaluateGradDot
overloads with the same arguments but allows for caching implementation.
These are the methods a user will call in their code
Definition at line 933 of file MooseFunctor.h.
Referenced by Moose::VectorComponentFunctor< T >::evaluateGradDot(), and Moose::ADWrapperFunctor< T >::evaluateGradDot().
|
inherited |
Definition at line 940 of file MooseFunctor.h.
|
inherited |
Definition at line 948 of file MooseFunctor.h.
|
inherited |
Definition at line 955 of file MooseFunctor.h.
|
inherited |
Definition at line 962 of file MooseFunctor.h.
|
inherited |
Definition at line 969 of file MooseFunctor.h.
|
inherited |
Same as their evaluateGradient
overloads with the same arguments but allows for caching implementation.
These are the methods a user will call in their code
Definition at line 847 of file MooseFunctor.h.
Referenced by GradientJumpIndicator::computeQpIntegral(), Moose::FV::containerInterpolate(), Moose::VectorComponentFunctor< T >::evaluateGradient(), Moose::ADWrapperFunctor< T >::evaluateGradient(), and Moose::FV::greenGaussGradient().
|
inherited |
Definition at line 854 of file MooseFunctor.h.
|
inherited |
Definition at line 862 of file MooseFunctor.h.
|
inherited |
Definition at line 869 of file MooseFunctor.h.
|
inherited |
Definition at line 876 of file MooseFunctor.h.
|
inherited |
Definition at line 883 of file MooseFunctor.h.
|
overridevirtual |
Returns whether the functor is defined on this block.
Reimplemented from Moose::FunctorBase< T >.
Definition at line 197 of file PiecewiseByBlockLambdaFunctor.h.
|
overridevirtualinherited |
Implements FaceArgInterface.
Reimplemented in Moose::NullFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, Moose::ADWrapperFunctor< T >, Moose::RawValueFunctor< T >, InternalSideIntegralVariablePostprocessor, InterfaceIntegralVariableValuePostprocessor, SideIntegralVariablePostprocessor, SideIntegralFunctorPostprocessorTempl< is_ad >, and SideIntegralFunctorPostprocessorTempl< false >.
Definition at line 976 of file MooseFunctor.h.
Referenced by SideIntegralVariablePostprocessor::hasFaceSide(), InternalSideIntegralVariablePostprocessor::hasFaceSide(), and Moose::ADWrapperFunctor< T >::hasFaceSide().
|
inlinevirtualinherited |
Returns true if this functor is a constant.
Reimplemented in Moose::ConstantFunctor< T >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< VectorValue< Real > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< libMesh::VectorValue >, Moose::ADWrapperFunctor< T >, and Moose::RawValueFunctor< T >.
Definition at line 260 of file MooseFunctor.h.
Referenced by Moose::ADWrapperFunctor< T >::isConstant().
|
overridevirtual |
Returns whether this (sided) face is an extrapolated boundary face for this functor.
Reimplemented from Moose::FunctorBase< T >.
Definition at line 179 of file PiecewiseByBlockLambdaFunctor.h.
|
inherited |
Returns true if the face is an internal face.
Definition at line 569 of file MooseFunctor.h.
Referenced by FVAnisotropicDiffusion::computeQpResidual(), and FVDiffusion::computeQpResidual().
|
overridevirtualinherited |
Implements Moose::FunctorAbstract.
Reimplemented in MooseVariableFE< OutputType >, MooseVariableFE< ComputeValueType >, MooseVariableFE< T >, MooseVariableFE< RealEigenVector >, MooseVariableFE< VectorValue< Real > >, MooseVariableFE< RealVectorValue >, MooseVariableFE< Real >, MooseVariableFV< OutputType >, MooseVariableFV< ComputeValueType >, MooseVariableFV< T >, MooseVariableFV< RealEigenVector >, MooseVariableFV< RealVectorValue >, MooseVariableFV< Real >, MooseVariableField< OutputType >, MooseVariableField< RT >, MooseVariableField< ComputeValueType >, MooseVariableField< T >, MooseVariableField< RealEigenVector >, MooseVariableField< RealVectorValue >, MooseVariableField< Real >, MooseLinearVariableFV< OutputType >, MooseLinearVariableFV< ComputeValueType >, MooseLinearVariableFV< T >, MooseLinearVariableFV< RealEigenVector >, MooseLinearVariableFV< RealVectorValue >, MooseLinearVariableFV< Real >, and Function.
Definition at line 831 of file MooseFunctor.h.
|
inherited |
Same as their evaluate
overloads with the same arguments but allows for caching implementation.
These are the methods a user will call in their code
Definition at line 597 of file MooseFunctor.h.
|
inherited |
Definition at line 610 of file MooseFunctor.h.
|
inherited |
Definition at line 656 of file MooseFunctor.h.
|
inherited |
Definition at line 677 of file MooseFunctor.h.
|
inherited |
Definition at line 707 of file MooseFunctor.h.
|
inherited |
Definition at line 724 of file MooseFunctor.h.
|
overridevirtualinherited |
Implements Moose::FunctorAbstract.
Reimplemented in MooseVariableFE< OutputType >, MooseVariableFE< ComputeValueType >, MooseVariableFE< T >, MooseVariableFE< RealEigenVector >, MooseVariableFE< VectorValue< Real > >, MooseVariableFE< RealVectorValue >, MooseVariableFE< Real >, MooseVariableFV< OutputType >, MooseVariableFV< ComputeValueType >, MooseVariableFV< T >, MooseVariableFV< RealEigenVector >, MooseVariableFV< RealVectorValue >, MooseVariableFV< Real >, MooseVariableField< OutputType >, MooseVariableField< RT >, MooseVariableField< ComputeValueType >, MooseVariableField< T >, MooseVariableField< RealEigenVector >, MooseVariableField< RealVectorValue >, MooseVariableField< Real >, MooseLinearVariableFV< OutputType >, MooseLinearVariableFV< ComputeValueType >, MooseLinearVariableFV< T >, MooseLinearVariableFV< RealEigenVector >, MooseLinearVariableFV< RealVectorValue >, MooseLinearVariableFV< Real >, and Function.
Definition at line 823 of file MooseFunctor.h.
|
inherited |
Set how often to clear the functor evaluation cache.
Definition at line 714 of file MooseFunctor.h.
void PiecewiseByBlockLambdaFunctor< T >::setFunctor | ( | const MooseMesh & | mesh, |
const std::set< SubdomainID > & | block_ids, | ||
PolymorphicLambda | my_lammy | ||
) |
Set the functor that will be used in calls to evaluate
overloads.
mesh | The mesh that the functor is defined on |
block_ids | The block/subdomain IDs that the user-provided functor is valid for |
my_lammy | The functor that defines how this object is evaluated |
Definition at line 143 of file PiecewiseByBlockLambdaFunctor.h.
Referenced by PiecewiseByBlockLambdaFunctor< T >::PiecewiseByBlockLambdaFunctor().
|
private |
Provide a useful error message about lack of functor material property on the provided subdomain sub_id
.
sub_id | subdomain id on which the functor was missing |
functors | map of functors, used to show list of blocks with a definition |
Definition at line 213 of file PiecewiseByBlockLambdaFunctor.h.
|
inlinefinaloverridevirtual |
Whether this functor supports evaluation with ElemSideQpArg.
Implements Moose::FunctorBase< T >.
Definition at line 62 of file PiecewiseByBlockLambdaFunctor.h.
|
inlinefinaloverridevirtual |
Whether this functor supports evaluation with FaceArg.
Implements Moose::FunctorBase< T >.
Definition at line 61 of file PiecewiseByBlockLambdaFunctor.h.
|
overridevirtualinherited |
Implements Moose::FunctorAbstract.
Reimplemented in MooseVariableFV< OutputType >, MooseVariableFV< ComputeValueType >, MooseVariableFV< T >, MooseVariableFV< RealEigenVector >, MooseVariableFV< RealVectorValue >, MooseVariableFV< Real >, MooseVariableField< OutputType >, MooseVariableField< RT >, MooseVariableField< ComputeValueType >, MooseVariableField< T >, MooseVariableField< RealEigenVector >, MooseVariableField< RealVectorValue >, MooseVariableField< Real >, Function, NumNonlinearIterations, and MemoryUsage.
Definition at line 815 of file MooseFunctor.h.
|
private |
Functors that return element average values (or cell centroid values or whatever the implementer wants to return for a given element argument)
Definition at line 105 of file PiecewiseByBlockLambdaFunctor.h.
|
private |
Functors that return evaluations at an arbitrary physical point in an element.
Definition at line 118 of file PiecewiseByBlockLambdaFunctor.h.
|
private |
Functors that will evaluate elements at quadrature points.
Definition at line 112 of file PiecewiseByBlockLambdaFunctor.h.
|
private |
Functors that will evaluate elements at side quadrature points.
Definition at line 115 of file PiecewiseByBlockLambdaFunctor.h.
|
private |
Functors that return the property value on the requested side of the face (e.g.
the infinitesimal + or - side of the face)
Definition at line 109 of file PiecewiseByBlockLambdaFunctor.h.
|
private |
The mesh that this functor operates on.
Definition at line 124 of file PiecewiseByBlockLambdaFunctor.h.
|
private |
Functors that return nodal values.
Definition at line 121 of file PiecewiseByBlockLambdaFunctor.h.