25 params.
set<
bool>(
"_residual_object") =
true;
33 this, false, false, true),
38 "There should not be a need to specify a flux "
39 "boundary condition for an auxiliary variable.");
66 mooseError(
"A FVFluxBC is being triggered on an internal face with centroid: ",
69 mooseError(
"A FVFluxBC is being triggered on a face which does not connect to a block ",
70 "with the relevant finite volume variable. Its centroid: ",
117 mooseAssert(dof_indices.size() == 1,
"We're currently built to use CONSTANT MONOMIALS");
DualNumber< Real, DNDerivativeType, true > ADReal
Base class for creating new types of boundary conditions.
static InputParameters validParams()
MooseVariableFV< Real > & _var
const FaceInfo * _face_info
Holds information for the face we are currently examining.
Assembly & _assembly
Reference to assembly.
FVFluxBC(const InputParameters ¶meters)
Moose::ElemArg neighborArg(bool correct_skewness=false) const
void computeJacobian(const FaceInfo &fi) override
Compute the jacobian on the supplied face.
void computeResidual(const FaceInfo &fi) override
Compute the residual on the supplied face.
ADRealVectorValue _normal
void updateCurrentFace(const FaceInfo &fi)
Update internal structures (normal, face type, etc) for the given face.
FaceInfo::VarFaceNeighbors _face_type
The variable face type.
Moose::ElemArg elemArg(bool correct_skewness=false) const
virtual ADReal computeQpResidual()=0
static InputParameters validParams()
void computeResidualAndJacobian(const FaceInfo &fi) override
Compute the residual and Jacobian on the supplied face.
This data structure is used to store geometric and variable related metadata about each cell face in ...
const Point & normal() const
Returns the unit normal vector for the face oriented outward from the face's elem element.
VarFaceNeighbors faceType(const std::pair< unsigned int, unsigned int > &var_sys) const
Returns which side(s) the given variable-system number pair is defined on for this face.
const Elem & elem() const
const Elem * neighborPtr() const
Real faceArea() const
Returns the face area of face id.
Real & faceCoord()
Sets/gets the coordinate transformation factor (for e.g.
const Point & faceCentroid() const
Returns the coordinates of the face centroid.
void paramError(const std::string ¶m, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
void scalingFactor(const std::vector< Real > &factor)
Set the scaling factor for this variable.
SystemBase & sys()
Get the system this variable is part of.
Moose::VarKindType kind() const
Kind of the variable (Nonlinear, Auxiliary, ...)
unsigned int number() const
Get variable number coming from libMesh.
virtual const std::vector< dof_id_type > & dofIndices() const final
Get local DoF indices.
virtual const std::vector< dof_id_type > & dofIndicesNeighbor() const final
Get neighbor DOF indices for currently selected element.
unsigned int number() const
Gets the number of this system.
void accumulateTaggedLocalResidual()
Local residual blocks will be appended by adding the current local kernel residual.
void addResidualsAndJacobian(Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
Add the provided incoming residuals and derivatives for the Jacobian, corresponding to the provided d...
void prepareVectorTagNeighbor(Assembly &assembly, unsigned int ivar)
Prepare data for computing element residual the according to active tags for DG and interface kernels...
void prepareVectorTag(Assembly &assembly, unsigned int ivar)
Prepare data for computing element residual according to active tags.
DenseVector< Number > _local_re
Holds local residual entries as they are accumulated by this Kernel.
This interface is designed for DGKernel, InternalSideUserObject, InterfaceUserObject,...
static InputParameters validParams()
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
MaterialDataType
MaterialData types.
A structure that is used to evaluate Moose functors logically at an element/cell center.