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.");
23 MooseEnum normal_component(
"x y z none",
"none");
registerMooseObject("MooseApp", LinearFVAdvectionDiffusionFunctorDirichletBC)
const Elem * neighborPtr() const
const Elem * elemPtr() const
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...
Base class for boundary conditions that are valid for advection diffusion problems.
static InputParameters validParams()
Class implementing a Dirichlet boundary condition for linear finite volume variables.
virtual Real computeBoundaryGradientRHSContribution() const override
Computes the boundary gradient's contribution to the linear system right hand side.
const Moose::Functor< Real > & _functor
The functor for this BC (can be variable, function, etc)
virtual Real computeBoundaryValueMatrixContribution() const override
Computes the boundary value's contribution to the linear system matrix.
LinearFVAdvectionDiffusionFunctorDirichletBC(const InputParameters ¶meters)
Class constructor.
virtual Real computeBoundaryValue() const override
Computes the boundary value of this object.
static InputParameters validParams()
virtual Real computeBoundaryValueRHSContribution() const override
Computes the boundary value's contribution to the linear system right hand side.
virtual Real computeBoundaryNormalGradient() const override
Computes the normal gradient (often used in diffusion terms) on the boundary.
virtual Real computeBoundaryGradientMatrixContribution() const override
Computes the boundary gradient's contribution to the linear system matrix.
const FaceInfo * _current_face_info
Pointer to the face info we are operating on right now.
Moose::FaceArg functorFaceArg(const FunctorType &functor, const FaceInfo *fi, Moose::FV::LimiterType limiter_type=Moose::FV::LimiterType::CentralDifference, bool correct_skewness=false) const
Determine a face argument for evaluating a functor on a face.
Real computeCellToFaceDistance() const
Compute the distance between the cell center and the face.
FaceInfo::VarFaceNeighbors _current_face_type
Face ownership information for the current face.
MooseLinearVariableFV< Real > & _var
Reference to the linear finite volume variable object.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Moose::StateArg determineState() const
Create a functor state argument that corresponds to the implicit state of this object.
Real distance(const Point &p)