A functor that returns a vector composed of its component functor evaluations. More...
#include <VectorCompositeFunctor.h>
Public Types | |
| template<typename U > | |
| using | FunctorBase = FunctorBase< U > |
| using | FunctorType = FunctorBase< VectorValue< T > > |
| using | ValueType = VectorValue< T > |
| using | GradientType = typename FunctorReturnType< VectorValue< 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 | |
| VectorCompositeFunctor (const MooseFunctorName &name, const FunctorBase< T > &x_comp, const FunctorBase< T > &y_comp, const FunctorBase< T > &z_comp) | |
| From xyz component constructor. More... | |
| VectorCompositeFunctor (const MooseFunctorName &name, const FunctorBase< T > &x_comp, const FunctorBase< T > &y_comp) | |
| From xy component constructor. More... | |
| VectorCompositeFunctor (const MooseFunctorName &name, const FunctorBase< T > &x_comp) | |
| From x component constructor. More... | |
| virtual bool | hasBlocks (SubdomainID sub_id) const override |
| Returns whether the functor is defined on this block. More... | |
| bool | supportsFaceArg () const override |
| Whether this functor supports evaluation with FaceArg. More... | |
| bool | supportsElemSideQpArg () const override |
| Whether this functor supports evaluation with ElemSideQpArg. More... | |
| FunctorReturnType< VectorValue< 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... | |
| virtual bool | isExtrapolatedBoundaryFace (const FaceInfo &, const Elem *, const StateArg &) const |
| Returns whether this (sided) face is an extrapolated boundary face for this functor. 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 Member Functions | |
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 FaceArg &, const StateArg &) const |
| 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 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 | |
| ValueType | evaluate (const ElemArg &elem_arg, const StateArg &state) const override |
| Evaluate the functor with a given element. More... | |
| ValueType | evaluate (const FaceArg &face, const StateArg &state) const override |
| ValueType | evaluate (const ElemQpArg &elem_qp, const StateArg &state) const override |
| ValueType | evaluate (const ElemSideQpArg &elem_side_qp, const StateArg &state) const override |
| ValueType | evaluate (const ElemPointArg &elem_point_arg, const StateArg &state) const override |
| Evaluate the functor with a given element and point. More... | |
| ValueType | evaluate (const NodeArg &node_arg, const StateArg &state) const override |
| GradientType | evaluateGradient (const ElemArg &elem_arg, const StateArg &state) const override |
| Evaluate the functor gradient with a given element. More... | |
| DotType | evaluateDot (const FaceArg &face_arg, const StateArg &state) const override |
| DotType | evaluateDot (const ElemArg &elem_arg, const StateArg &state) const override |
| Evaluate the functor time derivative with a given element. More... | |
Private Attributes | |
| std::unique_ptr< ConstantFunctor< T > > | _y_constant |
| Possible holder of constant-0 y-component functor. More... | |
| std::unique_ptr< ConstantFunctor< T > > | _z_constant |
| Possible holder of constant-0 z-component functor. More... | |
| const FunctorBase< T > & | _x_comp |
| The x-component functor. More... | |
| const FunctorBase< T > & | _y_comp |
| The y-component functor. More... | |
| const FunctorBase< T > & | _z_comp |
| The z-component functor. More... | |
| const bool | _has_y |
| Whether the user supplied a y-functor. More... | |
| const bool | _has_z |
| Whether the user supplied a z-functor. More... | |
A functor that returns a vector composed of its component functor evaluations.
Definition at line 23 of file VectorCompositeFunctor.h.
|
inherited |
Definition at line 150 of file MooseFunctor.h.
| using Moose::VectorCompositeFunctor< T >::FunctorBase = FunctorBase<U> |
Definition at line 27 of file VectorCompositeFunctor.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.
|
inherited |
Definition at line 141 of file MooseFunctor.h.
| Moose::VectorCompositeFunctor< T >::VectorCompositeFunctor | ( | const MooseFunctorName & | name, |
| const FunctorBase< T > & | x_comp, | ||
| const FunctorBase< T > & | y_comp, | ||
| const FunctorBase< T > & | z_comp | ||
| ) |
From xyz component constructor.
Definition at line 104 of file VectorCompositeFunctor.h.
| Moose::VectorCompositeFunctor< T >::VectorCompositeFunctor | ( | const MooseFunctorName & | name, |
| const FunctorBase< T > & | x_comp, | ||
| const FunctorBase< T > & | y_comp | ||
| ) |
From xy component constructor.
Definition at line 118 of file VectorCompositeFunctor.h.
| Moose::VectorCompositeFunctor< T >::VectorCompositeFunctor | ( | const MooseFunctorName & | name, |
| const FunctorBase< T > & | x_comp | ||
| ) |
From x component constructor.
Definition at line 132 of file VectorCompositeFunctor.h.
|
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.
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.
|
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.
|
overrideprivatevirtual |
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< VectorValue< T > >.
Definition at line 173 of file VectorCompositeFunctor.h.
|
overrideprivatevirtual |
Implements Moose::FunctorBase< VectorValue< T > >.
Definition at line 180 of file VectorCompositeFunctor.h.
|
overrideprivatevirtual |
Implements Moose::FunctorBase< VectorValue< T > >.
Definition at line 187 of file VectorCompositeFunctor.h.
|
overrideprivatevirtual |
| side_qp | See the ElemSideQpArg doxygen |
| state | See the StateArg doxygen |
Implements Moose::FunctorBase< VectorValue< T > >.
Definition at line 194 of file VectorCompositeFunctor.h.
|
overrideprivatevirtual |
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< VectorValue< T > >.
Definition at line 202 of file VectorCompositeFunctor.h.
|
overrideprivatevirtual |
Implements Moose::FunctorBase< VectorValue< T > >.
Definition at line 212 of file VectorCompositeFunctor.h.
|
overrideprivatevirtual |
Reimplemented from Moose::FunctorBase< VectorValue< T > >.
Definition at line 228 of file VectorCompositeFunctor.h.
|
overrideprivatevirtual |
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 from Moose::FunctorBase< VectorValue< T > >.
Definition at line 235 of file VectorCompositeFunctor.h.
|
inlineprotectedvirtualinherited |
Definition at line 405 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
| side_qp | See the ElemSideQpArg doxygen |
| state | See the StateArg doxygen |
Definition at line 416 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Evaluate the functor time derivative with a given element and point.
Definition at line 425 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
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
Definition at line 439 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Definition at line 449 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Definition at line 459 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
| side_qp | See the ElemSideQpArg doxygen |
| state | See the StateArg doxygen |
Definition at line 470 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Evaluate the functor gradient-dot with a given element and point.
Definition at line 479 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Definition at line 484 of file MooseFunctor.h.
|
overrideprivatevirtual |
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< VectorValue< T > >.
Definition at line 219 of file VectorCompositeFunctor.h.
|
inlineprotectedvirtualinherited |
Definition at line 342 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Definition at line 352 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
| side_qp | See the ElemSideQpArg doxygen |
| state | See the StateArg doxygen |
Definition at line 362 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Evaluate the functor gradient with a given element and point.
Definition at line 371 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Definition at line 376 of file MooseFunctor.h.
|
inlineinherited |
Return the functor name.
Definition at line 170 of file MooseFunctor.h.
|
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.
|
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.
|
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.
|
inlineoverridevirtual |
Returns whether the functor is defined on this block.
Reimplemented from Moose::FunctorBase< VectorValue< T > >.
Definition at line 53 of file VectorCompositeFunctor.h.
|
overridevirtualinherited |
Implements FaceArgInterface.
Definition at line 976 of file MooseFunctor.h.
|
inlinevirtualinherited |
Returns true if this functor is a constant.
Definition at line 260 of file MooseFunctor.h.
|
inlinevirtualinherited |
Returns whether this (sided) face is an extrapolated boundary face for this functor.
Definition at line 247 of file MooseFunctor.h.
|
inherited |
Returns true if the face is an internal face.
Definition at line 569 of file MooseFunctor.h.
|
overridevirtualinherited |
Implements Moose::FunctorAbstract.
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.
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.
|
overridevirtual |
Whether this functor supports evaluation with ElemSideQpArg.
Implements Moose::FunctorBase< VectorValue< T > >.
Definition at line 160 of file VectorCompositeFunctor.h.
|
overridevirtual |
Whether this functor supports evaluation with FaceArg.
Implements Moose::FunctorBase< VectorValue< T > >.
Definition at line 147 of file VectorCompositeFunctor.h.
|
overridevirtualinherited |
Implements Moose::FunctorAbstract.
Definition at line 815 of file MooseFunctor.h.
|
private |
Whether the user supplied a y-functor.
Definition at line 97 of file VectorCompositeFunctor.h.
Referenced by Moose::VectorCompositeFunctor< T >::hasBlocks().
|
private |
Whether the user supplied a z-functor.
Definition at line 100 of file VectorCompositeFunctor.h.
Referenced by Moose::VectorCompositeFunctor< T >::hasBlocks().
|
private |
The x-component functor.
Definition at line 90 of file VectorCompositeFunctor.h.
Referenced by Moose::VectorCompositeFunctor< T >::hasBlocks().
|
private |
The y-component functor.
Definition at line 92 of file VectorCompositeFunctor.h.
Referenced by Moose::VectorCompositeFunctor< T >::hasBlocks().
|
private |
Possible holder of constant-0 y-component functor.
This will be allocated if the user only supplies one component functor during construction
Definition at line 83 of file VectorCompositeFunctor.h.
|
private |
The z-component functor.
Definition at line 94 of file VectorCompositeFunctor.h.
Referenced by Moose::VectorCompositeFunctor< T >::hasBlocks().
|
private |
Possible holder of constant-0 z-component functor.
This will be allocated if the user only supplies two component functors during construction
Definition at line 87 of file VectorCompositeFunctor.h.
1.8.14