32#include "libmesh/linear_implicit_system.h"
118 bool correct_skewness =
false)
const;
128 template <
typename FunctorType>
133 bool correct_skewness =
false)
const;
172 "The face info pointer should not be null when passing to the LinearFVBoundaryCondition!");
A class for requiring an object to be boundary restricted.
Interface for objects that need to use distributions.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
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.
Interface for objects that need to use functions.
Base class for boundary conditions for linear FV systems.
const FaceInfo * _current_face_info
Pointer to the face info we are operating on right now.
const unsigned int _sys_num
Cache for the system number.
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.
SystemBase & _sys
Reference to system base class in MOOSE.
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.
void setupFaceData(const FaceInfo *face_info, const FaceInfo::VarFaceNeighbors face_type)
Set current face info.
virtual Real computeBoundaryValue() const =0
Computes the boundary value of this object.
FEProblemBase & _fv_problem
Reference to the ruling finite volume problem.
Real computeCellToFaceDistance() const
Compute the distance between the cell center and the face.
const FaceInfo * currentFaceInfo() const
FaceInfo::VarFaceNeighbors _current_face_type
Face ownership information for the current face.
RealVectorValue computeCellToFaceVector() const
Computes the vector connecting the cell and boundary face centers.
MooseLinearVariableFV< Real > & _var
Reference to the linear finite volume variable object.
static InputParameters validParams()
virtual bool hasFaceSide(const FaceInfo &fi, bool fi_elem_side) const override
const unsigned int _var_num
Cache for the variable number.
const MooseLinearVariableFV< Real > & variable() const
Return the linear finite volume variable.
FaceInfo::VarFaceNeighbors currentFaceType() const
MooseMesh & _mesh
Mesh this BC is defined on.
const THREAD_ID _tid
Thread id.
SubProblem & _subproblem
Reference to SubProblem.
const SubProblem & subProblem() const
Get a reference to the subproblem.
virtual Real computeBoundaryNormalGradient() const =0
Computes the normal gradient (often used in diffusion terms) on the boundary.
Interface for notifications that the mesh has changed.
const InputParameters & parameters() const
Get the parameters of the object.
This class provides variable solution interface for linear finite volume problems.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Every object that can be built by the factory should be derived from this class.
Interface for objects that need to get values of MooseVariables.
An interface for accessing Moose::Functors for systems that do not care about automatic differentiati...
Interface class for classes which interact with Postprocessors.
Class that hold the whole problem being solved.
Generic class for solving transient nonlinear problems.
Base class for a system (of equations)
Interface for objects that needs transient capabilities.
Interface for objects that need to use UserObjects.
A structure defining a "face" evaluation calling argument for Moose functors.