19 "This class should be inherited to create interface penalties in finite volume.");
28 _lambda_var(*getScalarVar(
"lambda", 0)),
29 _lambda(adCoupledScalarValue(
"lambda"))
31 if (
var1().sys().number() !=
var2().sys().number())
32 mooseError(this->
type(),
" does not support multiple nonlinear systems!");
50 std::array<Real, 1>{{lm_r}},
69 std::array<ADReal, 1>{{lm_r}},
Base class for creating kernels that interface physics between subdomains.
void addResidualAndJacobianToVariable1(const ADReal &residual)
Add a residual and its Jacobian contribution to variable1 on subdomain1.
static InputParameters validParams()
void addResidualAndJacobianToVariable2(const ADReal &residual)
Add a residual and its Jacobian contribution to variable2 on subdomain2.
void addResidualToVariable2(Real residual)
Add a residual contribution to variable2 on subdomain2.
void setupData(const FaceInfo &fi)
setup data useful for this object
const MooseVariableFV< Real > & var1() const
Assembly & _assembly
The Assembly object.
void addResidualToVariable1(Real residual)
Add a residual contribution to variable1 on subdomain1.
const MooseVariableFV< Real > & var2() const
const ADVariableValue & _lambda
The Lagrange Multiplier value.
static InputParameters validParams()
void computeResidual(const FaceInfo &fi) override final
Compute the residual on the supplied face.
void computeJacobian(const FaceInfo &fi) override final
Compute the jacobian on the supplied face.
const MooseVariableScalar & _lambda_var
The Lagrange Multiplier variable.
FVScalarLagrangeMultiplierInterface(const InputParameters ¶ms)
ADReal computeQpResidual() override=0
This data structure is used to store geometric and variable related metadata about each cell face in ...
Real faceArea() const
Returns the face area of face id.
Real & faceCoord()
Sets/gets the coordinate transformation factor (for e.g.
const std::string & type() const
Get the type of this 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...
virtual const std::vector< dof_id_type > & dofIndices() const
Get local DoF indices.
void scalingFactor(const std::vector< Real > &factor)
Set the scaling factor for this variable.
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 addResiduals(Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
Add the provided incoming residuals corresponding to the provided dof indices.