#include <KokkosPostprocessor.h>
Public Types | |
| using | FunctorType = FunctorBase< Real > |
| using | ValueType = Real |
| using | GradientType = typename FunctorReturnType< Real, 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 | |
| Postprocessor (const MooseObject *moose_object) | |
| Postprocessor (const Postprocessor &object) | |
| Copy constructor for parallel dispatch. More... | |
| virtual PostprocessorValue | getValue () const =0 |
| This will get called to actually grab the final value the postprocessor has calculated. More... | |
| const PostprocessorValue & | getCurrentValue () const |
| const std::string & | PPName () const |
| Returns the name of the Postprocessor. More... | |
| virtual bool | hasBlocks (SubdomainID) 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... | |
| void | buildOutputHideVariableList (std::set< std::string > variable_names) |
| Builds hide lists for output objects NOT listed in the 'outputs' parameter. More... | |
| const std::set< OutputName > & | getOutputs () |
| Get the list of output objects that this class is restricted. More... | |
| FunctorReturnType< Real, 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 |
Static Public Member Functions | |
| static InputParameters | validParams () |
| static std::string | deduceFunctorName (const std::string &name, const InputParameters ¶ms) |
| Helper to look up a functor name through the input parameter keys. More... | |
Protected Member Functions | |
| std::string | deduceFunctorName (const std::string &name) const |
| Small helper to look up a functor name through the input parameter keys. More... | |
| template<typename T > | |
| const Moose::Functor< T > & | getFunctor (const std::string &name) |
| Retrieves a functor from the subproblem. More... | |
| template<typename T > | |
| const Moose::Functor< T > & | getFunctor (const std::string &name, THREAD_ID tid) |
| Retrieves a functor from the subproblem. More... | |
| template<typename T > | |
| const Moose::Functor< T > & | getFunctor (const std::string &name, SubProblem &subproblem) |
| Retrieves a functor from the passed-in subproblem. More... | |
| template<typename T > | |
| const Moose::Functor< T > & | getFunctor (const std::string &name, SubProblem &subproblem, THREAD_ID tid) |
| Retrieves a functor from the passed-in subproblem. More... | |
| bool | isFunctor (const std::string &name) const |
| Checks the subproblem for the given functor. More... | |
| bool | isFunctor (const std::string &name, const SubProblem &subproblem) const |
| Checks the passed-in subproblem for the given functor. More... | |
| Moose::ElemArg | makeElemArg (const Elem *elem, bool correct_skewnewss=false) const |
| Helper method to create an elemental argument for a functor that includes whether to perform skewness corrections. More... | |
| template<typename T > | |
| void | checkFunctorSupportsSideIntegration (const std::string &name, bool qp_integration) |
| Throws error if the functor does not support the requested side integration. More... | |
| template<typename T > | |
| const Moose::Functor< T > & | getFunctorByName (const std::string &name) |
| Retrieves a functor from the subproblem. More... | |
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 | 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 |
Protected Attributes | |
| const std::string & | _pp_name |
| Post-processor name. More... | |
| const PostprocessorValue & | _current_value |
| The current value, which is the Reporter value that changes when we execute UOs in the problem. More... | |
Definition at line 17 of file KokkosPostprocessor.h.
|
inherited |
Definition at line 150 of file MooseFunctor.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::Kokkos::Postprocessor::Postprocessor | ( | const MooseObject * | moose_object | ) |
| Moose::Kokkos::Postprocessor::Postprocessor | ( | const Postprocessor & | object | ) |
Copy constructor for parallel dispatch.
|
inherited |
Builds hide lists for output objects NOT listed in the 'outputs' parameter.
| variable_names | A set of variables for which the 'outputs' parameter controls |
By default this is called by the constructor and passes the block name as the list of variables. This needs to be called explicitly if the build_list flag is set to False in the constructor. The latter cases is needed by the Material object to work correctly with the automatic material output capability.
Definition at line 68 of file OutputInterface.C.
Referenced by ReporterTransferInterface::hideVariableHelper(), and OutputInterface::OutputInterface().
|
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 738 of file MooseFunctor.h.
|
protectedinherited |
Throws error if the functor does not support the requested side integration.
| [in] | name | Name of functor or functor parameter |
| [in] | qp_integration | True if performing qp integration, false if face info |
Definition at line 261 of file FunctorInterface.h.
|
overridevirtualinherited |
Implements Moose::FunctorAbstract.
Reimplemented in Function.
Definition at line 845 of file MooseFunctor.h.
|
staticinherited |
Helper to look up a functor name through the input parameter keys.
| name | The input parameter name that we are trying to deduce the functor name for |
| params | The input parameters object that we will be checking for parameters named name |
Definition at line 39 of file FunctorInterface.C.
Referenced by FunctorInterface::checkFunctorSupportsSideIntegration(), FunctorInterface::deduceFunctorName(), FunctorInterface::getFunctor(), and FunctorInterface::isFunctor().
|
protectedinherited |
Small helper to look up a functor name through the input parameter keys.
Definition at line 71 of file FunctorInterface.C.
|
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 896 of file MooseFunctor.h.
|
inherited |
Definition at line 903 of file MooseFunctor.h.
|
inherited |
Definition at line 911 of file MooseFunctor.h.
|
inherited |
Definition at line 918 of file MooseFunctor.h.
|
inherited |
Definition at line 925 of file MooseFunctor.h.
|
inherited |
Definition at line 932 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::FunctorEnvelope< Real >.
Definition at line 445 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Reimplemented in Moose::FunctorEnvelope< Real >.
Definition at line 455 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Reimplemented in Moose::FunctorEnvelope< Real >.
Definition at line 465 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
| side_qp | See the ElemSideQpArg doxygen |
| state | See the StateArg doxygen |
Reimplemented in Moose::FunctorEnvelope< Real >.
Definition at line 476 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Evaluate the functor gradient-dot with a given element and point.
Reimplemented in Moose::FunctorEnvelope< Real >.
Definition at line 485 of file MooseFunctor.h.
|
inlineprotectedvirtualinherited |
Reimplemented in Moose::FunctorEnvelope< Real >.
Definition at line 490 of file MooseFunctor.h.
|
inlineinherited |
Return the functor name.
Definition at line 176 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 993 of file MooseFunctor.h.
|
inlineinherited |
Your sanity would tell you... why not just call getValue()? Well - the intention of getValue() is to be called by the problem when the UserObjects are executed, and not by other things. This enables the control of when this Postprocessor is updated, which could be very important. If the implementation of getValue() is such that it actually computes a new value (instead of one that is called in finalize()), you could potentially call getValue() and not get the value as it was at the last time this PP was executed.
What this does instead is gives you the value that was last set as this PP was executed by the problem. That is, the value that every object that uses the PostprocessorInterface will get you.
Definition at line 63 of file Postprocessor.h.
Referenced by Postprocessor::evaluate().
|
protectedinherited |
Retrieves a functor from the subproblem.
This method also leverages the ability to create default functors if the user passed an integer or real in the input file
| name | The name of the functor to retrieve. This should match the functor parameter name, not the actual name of the functor created in the input file |
Definition at line 217 of file FunctorInterface.h.
Referenced by MaterialFunctorConverterTempl< T >::MaterialFunctorConverterTempl().
|
protectedinherited |
Retrieves a functor from the subproblem.
This method also leverages the ability to create default functors if the user passed an integer or real in the input file
| name | The name of the functor to retrieve. This should match the functor parameter name, not the actual name of the functor created in the input file |
| tid | The thread ID used to retrieve the functor from this interface's subproblem |
Definition at line 209 of file FunctorInterface.h.
|
protectedinherited |
Retrieves a functor from the passed-in subproblem.
This method also leverages the ability to create default functors if the user passed an integer or real in the input file
| name | The name of the functor to retrieve. This should match the functor parameter name, not the actual name of the functor created in the input file |
| subproblem | The subproblem to query for the functor |
Definition at line 202 of file FunctorInterface.h.
|
protectedinherited |
Retrieves a functor from the passed-in subproblem.
This method also leverages the ability to create default functors if the user passed an integer or real in the input file
| name | The name of the functor to retrieve. This should match the functor parameter name, not the actual name of the functor created in the input file |
| subproblem | The subproblem to query for the functor |
| tid | The thread ID used to retrieve the functor from the subproblem |
Definition at line 193 of file FunctorInterface.h.
|
protectedinherited |
Retrieves a functor from the subproblem.
This method also leverages the ability to create default functors if the user passed an integer or real in the input file
| name | The name of the functor to retrieve. This should match the actual name of the functor created in the input file |
Definition at line 225 of file FunctorInterface.h.
|
inherited |
Get the list of output objects that this class is restricted.
Definition at line 101 of file OutputInterface.C.
|
pure virtualinherited |
This will get called to actually grab the final value the postprocessor has calculated.
Note that this should only be called by internal methods, namely the problem that actually sets the value globally for other things to use. If you want the value outside of one of these external methods, you should use getCurrentValue().
Implemented in LibtorchControlValuePostprocessor, TimeExtremeValue, RelativeSolutionDifferenceNorm, Receiver, RelativeDifferencePostprocessor, VectorPostprocessorComparison, PostprocessorComparison, ElementW1pError, MFEMComplexVectorPeriodAveragedPostprocessor, MFEMVectorBoundaryFluxIntegralPostprocessor, MFEMVectorFEInnerProductIntegralPostprocessor, DiscreteVariableResidualNorm, NumNonlinearIterations, ScalarL2Error, NodalVariableValue, TagVectorSum, LinearCombinationPostprocessor, MFEML2Error, MFEMVectorL2Error, ElementExtremeMaterialPropertyTempl< is_ad >, FindValueOnLine, ElementalVariableValue, GreaterThanLessThanPostprocessor, MemoryUsage, SideIntegralPostprocessor, ElementIntegralPostprocessor, FunctionValuePostprocessor, InternalSideIntegralPostprocessor, NumDOFs, NumMeshDivisions, NumTimeSteps, PointValue, SideDiffusiveFluxAverageTempl< is_ad >, AverageVariableChange, CumulativeValuePostprocessor, ElementAverageValue, InterfaceDiffusiveFluxAverageTempl< is_ad >, InterfaceIntegralPostprocessor, NodalL2Norm, NumPositions, SideAverageValue, AverageElementSize, ChangeOverFixedPointPostprocessor, ChangeOverTimePostprocessor, DifferencePostprocessor, ElementAverageMaterialPropertyTempl< is_ad >, ElementH1SemiError, ElementMaxLevelPostProcessor, ElementVectorL2Error, NumFixedPointIterations, ParsedPostprocessor, SideAverageMaterialPropertyTempl< is_ad >, ChainControlDataPostprocessor, NearestNodeNumber, NodalL2Error, NodalMaxValue, NodalSum, NumElements, NumFailedTimeSteps, NumNodes, NumResidualEvaluations, PercentChangePostprocessor, PseudoTimestep, Residual, SideAverageFunctorPostprocessor, TimePostprocessor, TimestepSize, KokkosExtremeValueBase< KokkosElementVariablePostprocessor >, KokkosExtremeValueBase< KokkosSideVariablePostprocessor >, KokkosExtremeValueBase< KokkosNodalVariablePostprocessor >, ExtremeValueBase< ElementPostprocessor >, ExtremeValueBase< ElementVariablePostprocessor >, ExtremeValueBase< NodalVariablePostprocessor >, ExtremeValueBase< SideVariablePostprocessor >, KokkosNodalL2Norm, KokkosSumPostprocessor, ConstantPostprocessor, FunctionElementAverage, FunctionSideAverage, InterfaceAverageVariableValuePostprocessor, MatrixSymmetryCheck, NodalMaxValueId, ScalarVariable, ScalePostprocessor, TimeIntegratedPostprocessor, ElementL2FunctorErrorTempl< is_ad >, ElementSidesL2Norm, NumVars, AverageNodalVariableValue, ElementL2Difference, NumLinearIterations, NumRelationshipManagers, PerfGraphData, SumPostprocessor, VariableResidual, VectorPostprocessorComponent, VectorPostprocessorReductionValue, KokkosNodalMaxValueId, KokkosNodalSum, ElementL2Error, EmptyPostprocessor, ElementArrayL2Norm, and ElementL2Norm.
|
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 939 of file MooseFunctor.h.
|
inherited |
Definition at line 946 of file MooseFunctor.h.
|
inherited |
Definition at line 954 of file MooseFunctor.h.
|
inherited |
Definition at line 961 of file MooseFunctor.h.
|
inherited |
Definition at line 968 of file MooseFunctor.h.
|
inherited |
Definition at line 975 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 853 of file MooseFunctor.h.
|
inherited |
Definition at line 860 of file MooseFunctor.h.
|
inherited |
Definition at line 868 of file MooseFunctor.h.
|
inherited |
Definition at line 875 of file MooseFunctor.h.
|
inherited |
Definition at line 882 of file MooseFunctor.h.
|
inherited |
Definition at line 889 of file MooseFunctor.h.
|
inlineoverridevirtualinherited |
Returns whether the functor is defined on this block.
Reimplemented from Moose::FunctorBase< Real >.
Definition at line 70 of file Postprocessor.h.
|
overridevirtualinherited |
Implements FaceArgInterface.
Reimplemented in Moose::FunctorEnvelope< Real >, InternalSideIntegralVariablePostprocessor, InterfaceIntegralVariableValuePostprocessor, SideIntegralVariablePostprocessor, SideIntegralFunctorPostprocessorTempl< is_ad >, and SideIntegralFunctorPostprocessorTempl< false >.
Definition at line 982 of file MooseFunctor.h.
|
inlinevirtualinherited |
Returns true if this functor is a constant.
Reimplemented in Moose::FunctorEnvelope< Real >.
Definition at line 266 of file MooseFunctor.h.
|
inlinevirtualinherited |
Returns whether this (sided) face is an extrapolated boundary face for this functor.
Reimplemented in Moose::FunctorEnvelope< Real >.
Definition at line 253 of file MooseFunctor.h.
|
protectedinherited |
Checks the subproblem for the given functor.
This will not query default functors potentially stored in this object, e.g. this method will return false if the user passed an int or real to the functor param in the input file
| name | The name of the functor to check. This should match the functor parameter name, not the actual name of the functor created in the input file |
Definition at line 124 of file FunctorInterface.C.
|
protectedinherited |
Checks the passed-in subproblem for the given functor.
This will not query default functors potentially stored in this object, e.g. this method will return false if the user passed an int or real to the functor param in the input file
| name | The name of the functor to check. This should match the functor parameter name, not the actual name of the functor created in the input file |
| subproblem | The subproblem to query for the functor |
Definition at line 115 of file FunctorInterface.C.
|
inherited |
Returns true if the face is an internal face.
Definition at line 575 of file MooseFunctor.h.
|
overridevirtualinherited |
Implements Moose::FunctorAbstract.
Reimplemented in Function.
Definition at line 837 of file MooseFunctor.h.
|
protectedinherited |
Helper method to create an elemental argument for a functor that includes whether to perform skewness corrections.
Definition at line 131 of file FunctorInterface.C.
Referenced by LinearFVAdvectionDiffusionFunctorDirichletBC::computeBoundaryNormalGradient(), LinearFVReaction::computeMatrixContribution(), LinearFVTimeDerivative::computeMatrixContribution(), FVFunctorTimeKernel::computeQpResidual(), FVCoupledForce::computeQpResidual(), FVMassMatrix::computeQpResidual(), FVIntegralValueConstraint::computeQpResidual(), FVBoundedValueConstraint::computeQpResidual(), FVPointValueConstraint::computeQpResidual(), LinearFVSource::computeRightHandSideContribution(), SecondTimeDerivativeAux::computeValue(), TimeDerivativeAux::computeValue(), FunctorAux::computeValue(), FunctorCoordinatesFunctionAux::computeValue(), FunctorTimes::initialize(), and LinearFVTimeDerivative::setCurrentElemInfo().
|
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 603 of file MooseFunctor.h.
|
inherited |
Definition at line 616 of file MooseFunctor.h.
|
inherited |
Definition at line 662 of file MooseFunctor.h.
|
inherited |
Definition at line 683 of file MooseFunctor.h.
|
inherited |
Definition at line 713 of file MooseFunctor.h.
|
inherited |
Definition at line 730 of file MooseFunctor.h.
|
inlineinherited |
Returns the name of the Postprocessor.
Definition at line 68 of file Postprocessor.h.
|
overridevirtualinherited |
Implements Moose::FunctorAbstract.
Reimplemented in Function.
Definition at line 829 of file MooseFunctor.h.
|
inherited |
Set how often to clear the functor evaluation cache.
Definition at line 720 of file MooseFunctor.h.
|
inlinefinaloverridevirtualinherited |
Whether this functor supports evaluation with ElemSideQpArg.
Implements Moose::FunctorBase< Real >.
Definition at line 73 of file Postprocessor.h.
|
inlinefinaloverridevirtualinherited |
Whether this functor supports evaluation with FaceArg.
Implements Moose::FunctorBase< Real >.
Definition at line 72 of file Postprocessor.h.
|
overridevirtualinherited |
Implements Moose::FunctorAbstract.
Reimplemented in Function, NumNonlinearIterations, and MemoryUsage.
Definition at line 821 of file MooseFunctor.h.
|
static |
|
protectedinherited |
The current value, which is the Reporter value that changes when we execute UOs in the problem.
Definition at line 80 of file Postprocessor.h.
Referenced by Postprocessor::getCurrentValue().
|
protectedinherited |
Post-processor name.
Definition at line 77 of file Postprocessor.h.
Referenced by Postprocessor::declareValue(), and Postprocessor::PPName().
1.8.14