19 "Adds a dirichlet BC which can be used for the assembly of linear " 20 "finite volume system and whose face values are determined using a functor. This kernel is " 21 "only designed to work with advection-diffusion problems.");
22 params.
addRequiredParam<MooseFunctorName>(
"functor",
"The functor for this boundary condition.");
virtual Real computeBoundaryValue() const override
Computes the boundary value of this object.
Real computeCellToFaceDistance() const
Compute the distance between the cell center and the face.
Moose::StateArg determineState() const
Create a functor state argument that corresponds to the implicit state of this object.
Real distance(const Point &p)
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...
virtual Real computeBoundaryGradientRHSContribution() const override
Computes the boundary gradient's contribution to the linear system right hand side.
registerMooseObject("MooseApp", LinearFVAdvectionDiffusionFunctorDirichletBC)
Base class for boundary conditions that are valid for advection diffusion problems.
const Elem * neighborPtr() const
FaceInfo::VarFaceNeighbors _current_face_type
Face ownership information for the current face.
virtual Real computeBoundaryGradientMatrixContribution() const override
Computes the boundary gradient's contribution to the linear system matrix.
MooseLinearVariableFV< Real > & _var
Reference to the linear finite volume variable object.
static InputParameters validParams()
const Elem * elemPtr() const
const Moose::Functor< Real > & _functor
The functor for this BC (can be variable, function, etc)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const FaceInfo * _current_face_info
Pointer to the face info we are operating on right now.
LinearFVAdvectionDiffusionFunctorDirichletBC(const InputParameters ¶meters)
Class constructor.
virtual Real computeBoundaryNormalGradient() const override
Computes the normal gradient (often used in diffusion terms) on the boundary.
virtual Real computeBoundaryValueMatrixContribution() const override
Computes the boundary value's contribution to the linear system matrix.
Moose::FaceArg singleSidedFaceArg(const FaceInfo *fi, Moose::FV::LimiterType limiter_type=Moose::FV::LimiterType::CentralDifference, bool correct_skewness=false) const
Determine the single sided face argument when evaluating a functor on a face.
static InputParameters validParams()
Class implementing a Dirichlet boundary condition for linear finite volume variables.
virtual Real computeBoundaryValueRHSContribution() const override
Computes the boundary value's contribution to the linear system right hand side.