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
void paramError(const std::string ¶m, Args... args) 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.
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...
bool isNodal() const override
Creates dof object to weighted gap map.
virtual const FieldVariablePhiValue & phiLower() const override
bool isParamValid(const std::string &name) const
const ADTemplateVariableValue< Real > & adSlnLower() const
virtual const VariableTestValue & test() const override
static InputParameters validParams()
LMWeightedGapUserObject(const InputParameters ¶meters)