75 const unsigned int _qp = 0;
121 bool correct_skewness =
false,
bool hasFaceSide(const FaceInfo &fi, const bool fi_elem_side) const override
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.
std::unordered_set< BoundaryID > _boundaries_to_avoid
Which boundaries/sidesets to prevent the execution of flux kernels on.
std::unordered_set< BoundaryID > _boundaries_to_force
Which boundaries/sidesets to force the execution of flux kernels on.
Moose::ElemArg elemArg(bool correct_skewness=false) const
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
Interface class for a finite volume residual object whose residuals are based on faces.
bool avoidBoundary(const FaceInfo &fi) const
Returns whether to avoid execution on a boundary.
const MooseVariableFV< Real > & variable() const override
Returns the variable that this object operates on.
RealVectorValue _normal
This is the outward unit normal vector for the face the kernel is currently operating on...
const bool _force_boundary_execution
Whether to force execution of flux kernels on all external boundaries.
DualNumber< Real, DNDerivativeType, true > ADReal
const ADVariableValue & _u_elem
The elem solution value of the kernel's _var for the current face.
void computeJacobian() override
Compute this object's contribution to the diagonal Jacobian entries.
FVFluxKernel(const InputParameters ¶ms)
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.
Enhances MooseVariableInterface interface provide values from neighbor elements.
This data structure is used to store geometric and variable related metadata about each cell face in ...
static InputParameters validParams()
A structure defining a "face" evaluation calling argument for Moose functors.
An interface for producers of functor face arguments, e.g.
VarFaceNeighbors
This enum is used to indicate which side(s) of a face a particular variable is defined on...
A structure that is used to evaluate Moose functors logically at an element/cell center.
const ADVariableValue & _u_neighbor
The neighbor solution value of the kernel's _var for the current face.
FaceInfo::VarFaceNeighbors _face_type
The face type.
FVKernel is a base class for all finite volume method kernels.
virtual ADReal computeQpResidual()=0
This is the primary function that must be implemented for flux kernel terms.
Moose::ElemArg neighborArg(bool correct_skewness=false) const
This interface is designed for DGKernel, InternalSideUserObject, InterfaceUserObject, where material properties on a side of both its primary side (face) and its secondary side (neighbor) all required.
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.
State argument for evaluating functors.
MooseVariableFV< Real > & _var
void computeResidual() override
Compute this object's contribution to the residual.
FVFluxKernel is used for calculating residual contributions from numerical fluxes from surface integr...