21 "Provides the mortar normal Lagrange multiplier for constraint enforcement.");
23 "lm_variable",
"The Lagrange multiplier variable representing the contact pressure.");
25 "use_petrov_galerkin",
false,
"Whether to use the Petrov-Galerkin approach.");
27 "Auxiliary Lagrange multiplier variable that is utilized together with the " 28 "Petrov-Galerkin approach.");
34 _lm_var(getVar(
"lm_variable", 0)),
35 _use_petrov_galerkin(getParam<bool>(
"use_petrov_galerkin")),
36 _aux_lm_var(isCoupled(
"aux_lm") ? getVar(
"aux_lm", 0) : nullptr)
40 "The Lagrange multiplier variable must be an actual variable and not a constant.");
43 "The Lagrange multiplier variable must be provided and be an actual variable.");
47 "The Lagrange multiplier variable must have its degrees of freedom exclusively on " 48 "nodes, e.g. it should probably be of finite element type 'Lagrange'.");
52 "We need to specify an auxiliary variable `aux_lm` while using the Petrov-Galerkin " 57 "Auxiliary LM variable needs to use standard shape function, i.e., set `use_dual = " registerMooseObject("ContactApp", LMWeightedGapUserObject)
virtual bool isCoupledConstant(const std::string &var_name) const
static InputParameters validParams()
const MooseVariable *const _aux_lm_var
The auxiliary Lagrange multiplier variable (used together whith the Petrov-Galerkin approach) ...
const MooseVariableFE< Real > *const _lm_var
The Lagrange multiplier variable representing the contact pressure.
bool isParamValid(const std::string &name) const
virtual const ADVariableValue & contactPressure() const override
const bool _use_petrov_galerkin
Whether to use Petrov-Galerkin approach.
OutputTools< Real >::VariableTestValue VariableTestValue
User object for computing weighted gaps and contact pressure for Lagrange multipler based mortar cons...
void paramError(const std::string ¶m, Args... args) const
bool isNodal() const override
Creates dof object to weighted gap map.
virtual const FieldVariablePhiValue & phiLower() const override
const ADTemplateVariableValue< Real > & adSlnLower() const
virtual const VariableTestValue & test() const override
static InputParameters validParams()
LMWeightedGapUserObject(const InputParameters ¶meters)