160 const Elem &
elem1()
const;
161 const Elem &
elem2()
const;
186 bool correct_skewness =
false,
190 bool correct_skewness =
false,
204 template <
typename FunctorType>
206 faceArg1(
const FunctorType & functor,
208 bool correct_skewness =
false,
211 template <
typename FunctorType>
213 faceArg2(
const FunctorType & functor,
215 bool correct_skewness =
false,
224 const ADReal & value2)
const;
229 const unsigned int _qp = 0;
251 void addResidual(Real residual,
unsigned int var_num,
bool neighbor);
269template <
typename FunctorType>
273 const bool correct_skewness,
278 functor.functorName(),
279 "' is not defined on side 1 of FVInterfaceKernel '",
281 "' at face centroid ",
285 return faceArg1(limiter_type, correct_skewness, state_limiter);
288template <
typename FunctorType>
292 const bool correct_skewness,
297 functor.functorName(),
298 "' is not defined on side 2 of FVInterfaceKernel '",
300 "' at face centroid ",
304 return faceArg2(limiter_type, correct_skewness, state_limiter);
DualNumber< Real, DNDerivativeType, true > ADReal
An interface for accessing Moose::Functors for systems that care about automatic differentiation,...
Keeps track of stuff related to assembling.
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.
Interface class for a finite volume residual object whose residuals are based on faces.
Base class for creating kernels that interface physics between subdomains.
Moose::FaceArg faceArg2(Moose::FV::LimiterType limiter_type=Moose::FV::LimiterType::CentralDifference, bool correct_skewness=false, const Moose::StateArg *state_limiter=nullptr) const
const THREAD_ID _tid
Thread id.
void addResidualAndJacobianToVariable1(const ADReal &residual)
Add a residual and its Jacobian contribution to variable1 on subdomain1.
void computeResidual(const FaceInfo &fi) override
Compute the residual on the supplied face.
const Elem & elem2() const
const Elem & elem1() const
std::set< SubdomainID > _subdomain1
MooseVariableFV< Real > & _var2
bool checkFaceIntegrity(const FaceInfo &fi) const
Check that the face connects the two user-defined sides of this interface.
const unsigned int _qp
To be consistent with FE interfaces we introduce this quadrature point member.
static InputParameters validParams()
Moose::FaceArg faceArg1(Moose::FV::LimiterType limiter_type=Moose::FV::LimiterType::CentralDifference, bool correct_skewness=false, const Moose::StateArg *state_limiter=nullptr) const
void addResidualAndJacobianToVariable2(const ADReal &residual)
Add a residual and its Jacobian contribution to variable2 on subdomain2.
Moose::ElemArg elemArg2(bool correct_skewness=false) const
void addResidual(Real residual, unsigned int var_num, bool neighbor)
Process the provided residual given var_num and whether this is on the neighbor side.
Moose::ElemArg elemArg1(bool correct_skewness=false) const
void addResidualAndJacobian(const ADReal &residual, const MooseVariableFV< Real > &variable, bool side_is_one)
Process the provided residual and its derivatives for a variable on a user-defined side.
const FaceInfo * _face_info
The face that this object is currently operating on.
const std::set< SubdomainID > & sub2() const
ADReal interpolateValue(Moose::FV::InterpMethod method, const ADReal &value1, const ADReal &value2) const
Interpolate values from the two user-defined sides to the face.
const MooseMesh & mesh() const
MooseVariableFV< Real > & _var1
const std::set< SubdomainID > & sub1() const
void addResidualToVariable2(Real residual)
Add a residual contribution to variable2 on subdomain2.
const Point & centroid1() const
bool hasFaceSide(const FaceInfo &fi, bool fi_elem_side) const override
void computeResidualAndJacobian(const FaceInfo &fi) override
Compute the residual and Jacobian on the supplied face.
void setupData(const FaceInfo &fi)
setup data useful for this object
bool _face_info_elem_on_side1
Whether the current FaceInfo element is on the user-defined first side.
virtual ADReal computeQpResidual()=0
const MooseVariableFV< Real > & var1() const
Assembly & _assembly
The Assembly object.
void computeJacobian(const FaceInfo &fi) override
Compute the jacobian on the supplied face.
std::set< SubdomainID > _subdomain2
const Point & centroid2() const
const SubProblem & subProblem() const
Get a reference to the subproblem.
SubProblem & _subproblem
The SubProblem.
void addResidualToVariable1(Real residual)
Add a residual contribution to variable1 on subdomain1.
const MooseVariableFV< Real > & var2() const
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 ...
const Point & faceCentroid() const
Returns the coordinates of the face centroid.
Interface for objects that need to use functions.
Interface for notifications that the mesh has changed.
const InputParameters & parameters() const
Get the parameters of the object.
const std::string & name() const
Get the name of the class.
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...
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.
This class provides variable solution values for other classes/objects to bind to when looping over f...
Interface class for classes which interact with Postprocessors.
Generic class for solving transient nonlinear problems.
Base class for a system (of equations)
Interface for objects that needs transient capabilities.
This interface is designed for DGKernel, InternalSideUserObject, InterfaceUserObject,...
Interface for objects that need to use UserObjects.
InterpMethod
This codifies a set of available ways to interpolate with elem+neighbor solution information to calcu...
A structure that is used to evaluate Moose functors logically at an element/cell center.
A structure defining a "face" evaluation calling argument for Moose functors.
State argument for evaluating functors.