75 const unsigned int _qp = 0;
116 bool correct_skewness =
false,
DualNumber< Real, DNDerivativeType, true > ADReal
Interface class for a finite volume residual object whose residuals are based on faces.
FVFluxKernel is used for calculating residual contributions from numerical fluxes from surface integr...
Moose::ElemArg neighborArg(bool correct_skewness=false) const
bool hasFaceSide(const FaceInfo &fi, const bool fi_elem_side) const override
virtual ADReal computeQpResidual()=0
This is the primary function that must be implemented for flux kernel terms.
const bool _force_boundary_execution
Whether to force execution of flux kernels on all external boundaries.
Moose::ElemArg elemArg(bool correct_skewness=false) const
static InputParameters validParams()
RealVectorValue _normal
This is the outward unit normal vector for the face the kernel is currently operating on.
const MooseVariableFV< Real > & variable() const override
Returns the variable that this object operates on.
void computeJacobian() override
Compute this object's contribution to the diagonal Jacobian entries.
virtual bool skipForBoundary(const FaceInfo &fi) const
Kernels are called even on boundaries in case one is for a variable with a dirichlet BC - in which ca...
bool onBoundary(const FaceInfo &fi) const
Return whether the supplied face is on a boundary of this object's execution.
MooseVariableFV< Real > & _var
bool avoidBoundary(const FaceInfo &fi) const
Returns whether to avoid execution on a boundary.
Moose::FaceArg singleSidedFaceArg(const FaceInfo *fi=nullptr, Moose::FV::LimiterType limiter_type=Moose::FV::LimiterType::CentralDifference, bool correct_skewness=false, const Moose::StateArg *state_limiter=nullptr) const
Determine the single sided face argument when evaluating a functor on a face.
virtual ADReal gradUDotNormal(const Moose::StateArg &time, const bool correct_skewness) const
Calculates and returns "grad_u dot normal" on the face to be used for diffusive terms.
void computeResidual() override
Compute this object's contribution to the residual.
std::unordered_set< BoundaryID > _boundaries_to_avoid
Which boundaries/sidesets to prevent the execution of flux kernels on.
void computeResidualAndJacobian() override
Compute this object's contribution to the residual and Jacobian simultaneously.
const FaceInfo * _face_info
This is holds meta-data for geometric information relevant to the current face including elem+neighbo...
const RealVectorValue & normal() const
std::unordered_set< BoundaryID > _boundaries_to_force
Which boundaries/sidesets to force the execution of flux kernels on.
FaceInfo::VarFaceNeighbors _face_type
The face type.
FVKernel is a base class for all finite volume method kernels.
An interface for producers of functor face arguments, e.g.
This data structure is used to store geometric and variable related metadata about each cell face in ...
VarFaceNeighbors
This enum is used to indicate which side(s) of a face a particular variable is defined on.
This class provides variable solution values for other classes/objects to bind to when looping over f...
Enhances MooseVariableInterface interface provide values from neighbor elements.
This interface is designed for DGKernel, InternalSideUserObject, InterfaceUserObject,...
A structure that is used to evaluate Moose functors logically at an element/cell center.
A structure defining a "face" evaluation calling argument for Moose functors.
State argument for evaluating functors.