18 FVScalarLagrangeMultiplier,
26 params.
addClassDescription(
"This class is used to enforce integral of phi = volume * phi_0 "
27 "with a Lagrange multiplier approach.");
28 params.
setDocString(
"phi0",
"What we want the average value of the primal variable to be.");
DualNumber< Real, DNDerivativeType, true > ADReal
registerMooseObject("MooseApp", FVIntegralValueConstraint)
registerMooseObjectRenamed("MooseApp", FVScalarLagrangeMultiplier, "06/30/2022 24:00", FVIntegralValueConstraint)
MooseVariableFV< Real > & _var
const Elem *const & _current_elem
This Kernel implements the residuals that enforce the constraint.
FVIntegralValueConstraint(const InputParameters ¶meters)
ADReal computeQpResidual() override final
This is the primary function that must be implemented for flux kernel terms.
static InputParameters validParams()
Base class for implementing constraints on finite volume variable elemental values using scalar Lagra...
static InputParameters validParams()
const PostprocessorValue & _phi0
The value that we want the average of the primal variable to be equal to.
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...
Moose::StateArg determineState() const
Create a functor state argument that corresponds to the implicit state of this object.