An interface for producers of functor face arguments, e.g. More...
#include <FaceArgInterface.h>
Public Member Functions | |
| Moose::FaceArg | makeFace (const FaceInfo &fi, const Moose::FV::LimiterType limiter_type, const bool elem_is_upwind, const bool correct_skewness=false, const Moose::StateArg *state_limiter=nullptr) const |
| Create a functor face argument from provided component arguments. | |
| template<typename FunctorType > | |
| Moose::FaceArg | makeFace (const FunctorType &functor, const FaceInfo &fi, const Moose::FV::LimiterType limiter_type, const bool elem_is_upwind, const bool correct_skewness=false, const Moose::StateArg *state_limiter=nullptr) const |
| Create a face argument according to where the supplied functor is defined. | |
| Moose::FaceArg | makeCDFace (const FaceInfo &fi, const bool correct_skewness=false) const |
| Make a functor face argument with a central differencing limiter, e.g. | |
| virtual bool | hasFaceSide (const FaceInfo &fi, const bool fi_elem_side) const =0 |
An interface for producers of functor face arguments, e.g.
objects such as residual objects and postprocessors
Definition at line 32 of file FaceArgInterface.h.
|
pure virtualinherited |
Implemented in FVBoundaryCondition, FVInterfaceKernel, LinearFVBoundaryCondition, LinearFVFluxKernel, Moose::NullFunctor< T >, Moose::FunctorBase< T >, Moose::FunctorBase< ADReal >, Moose::FunctorBase< GenericReal< is_ad > >, Moose::FunctorBase< GenericRealVectorValue< is_ad > >, Moose::FunctorBase< libMesh::VectorValue >, Moose::FunctorBase< Moose::ADType< ComputeValueType >::type >, Moose::FunctorBase< Moose::ADType< OutputType >::type >, Moose::FunctorBase< Moose::ADType< Real >::type >, Moose::FunctorBase< Moose::ADType< RealEigenVector >::type >, Moose::FunctorBase< Moose::ADType< RealVectorValue >::type >, Moose::FunctorBase< Moose::ADType< T >::type >, Moose::FunctorBase< Moose::GenericType< Real, is_ad > >, Moose::FunctorBase< Moose::GenericType< T, is_ad > >, Moose::FunctorBase< Real >, Moose::FunctorBase< RealVectorValue >, Moose::FunctorBase< typename MetaPhysicL::RawType< T >::value_type >, Moose::FunctorBase< typename Moose::ADType< T >::type >, Moose::FunctorBase< VectorValue< GenericReal< is_ad > > >, Moose::FunctorBase< VectorValue< T > >, Moose::FunctorEnvelope< T >, Moose::FunctorEnvelope< ADReal >, Moose::FunctorEnvelope< GenericReal< is_ad > >, Moose::FunctorEnvelope< GenericRealVectorValue< is_ad > >, Moose::FunctorEnvelope< libMesh::VectorValue >, Moose::FunctorEnvelope< Moose::GenericType< Real, is_ad > >, Moose::FunctorEnvelope< Moose::GenericType< T, is_ad > >, Moose::FunctorEnvelope< Real >, Moose::FunctorEnvelope< RealVectorValue >, Moose::FunctorEnvelope< VectorValue< GenericReal< is_ad > > >, FVFluxKernel, InterfaceIntegralVariableValuePostprocessor, InternalSideIntegralVariablePostprocessor, SideIntegralFunctorPostprocessorTempl< is_ad >, SideIntegralFunctorPostprocessorTempl< false >, SideIntegralVariablePostprocessor, Moose::ADWrapperFunctor< T >, and Moose::RawValueFunctor< T >.
Referenced by makeFace().
|
inline |
Make a functor face argument with a central differencing limiter, e.g.
compose a face argument that will tell functors to perform (possibly skew-corrected) linear interpolations from cell center values to faces
| fi | the face information |
| correct_skewness | whether to apply skew correction |
Definition at line 116 of file FaceArgInterface.h.
Referenced by LinearFVAdvectionDiffusionFunctorNeumannBC::computeBoundaryNormalGradient(), LinearFVAdvectionDiffusionFunctorNeumannBC::computeBoundaryValue(), LinearFVAdvectionDiffusionFunctorNeumannBC::computeBoundaryValueRHSContribution(), InternalSideIntegralVariablePostprocessor::computeFaceInfoIntegral(), SideIntegralVariablePostprocessor::computeFaceInfoIntegral(), InterfaceIntegralVariableValuePostprocessor::computeQpIntegral(), LinearFVAnisotropicDiffusion::faceDiffusionTensor(), and LinearFVDiffusion::faceDiffusivity().
| Moose::FaceArg FaceArgProducerInterface::makeFace | ( | const FaceInfo & | fi, |
| const Moose::FV::LimiterType | limiter_type, | ||
| const bool | elem_is_upwind, | ||
| const bool | correct_skewness = false, |
||
| const Moose::StateArg * | state_limiter = nullptr |
||
| ) | const |
Create a functor face argument from provided component arguments.
| fi | the face information object |
| limiter_type | the limiter that defines how to perform interpolations to the faces |
| elem_is_upwind | whether the face information element is the upwind element (the value of this doesn't matter when the limiter type is CentralDifference) |
| correct_skewness | whether to apply skew correction |
Definition at line 13 of file FaceArgInterface.C.
Referenced by FVAdvection::computeQpResidual(), FVDivergence::computeQpResidual(), FVMatAdvection::computeQpResidual(), FVBoundaryIntegralValueConstraint::computeQpResidual(), makeCDFace(), LinearFVBoundaryCondition::singleSidedFaceArg(), LinearFVFluxKernel::singleSidedFaceArg(), FVBoundaryCondition::singleSidedFaceArg(), and FVFluxKernel::singleSidedFaceArg().
|
inline |
Create a face argument according to where the supplied functor is defined.
Unlike the overload above, which selects the face side according to the side reported by the face-producing object, this overload determines the face side from the supplied functor. This allows the resulting FaceArg to evaluate a functor that is defined only on the opposite side of the face from the producer.
If the functor is defined on both sides, the face argument is left unsided. If it is defined on only one side, that side is selected. An error is produced if the functor is defined on neither side.
| functor | the functor whose sidedness is queried |
| fi | the face information object |
| limiter_type | the limiter that defines how to perform interpolations to the face |
| elem_is_upwind | whether the face information element is the upwind element |
| correct_skewness | whether to apply skew correction |
| state_limiter | optional state used by the limiter |
Definition at line 91 of file FaceArgInterface.h.