36 virtual void reinit()
override;
Interface class for user objects that support the augmented Lagrange formalism as implemented in Augm...
const InputParameters & parameters() const
virtual const Node * nodePtr(const dof_id_type i) const
User object for computing weighted gaps and contact pressure for penalty based mortar constraints.
virtual bool getActiveSetState(const Node *const node) const
const Real _penalty
The penalty factor.
std::unordered_map< const DofObject *, Real > _dof_to_previous_gap
Map from degree of freedom to previous AL iteration gap values.
const unsigned int & _lagrangian_iteration_number
void adaptiveNormalPenalty(const Real previous_gap, const Real gap, Real &penalty)
See Algorithm 3 of 'The adapted augmented Lagrangian method: a new method for the resolution of the m...
virtual bool isAugmentedLagrangianConverged() override
virtual void reinit() override
const Real _penalty_multiplier
penalty growth factor for augmented Lagrange
std::unordered_map< const DofObject *, Real > _dof_to_local_penalty
Map from degree of freedom to local penalty value.
enum PenaltyWeightedGapUserObject::AdaptivityNormalPenalty _adaptivity_normal
virtual Real getNormalContactPressure(const Node *const node) const override
virtual void initialize() override
std::unordered_map< const DofObject *, Real > _dof_to_lagrange_multiplier
Map from degree of freedom to augmented lagrange multiplier.
Real _dt_old
previous timestep size
virtual void augmentedLagrangianSetup() override
const Real _penetration_tolerance
penetration tolerance for augmented Lagrange contact
AugmentedLagrangianContactProblemInterface *const _augmented_lagrange_problem
augmented Lagrange problem and iteration number
virtual const VariableTestValue & test() const override
ADVariableValue _contact_pressure
The contact pressure on the mortar segument quadrature points.
const MooseVariable *const _aux_lm_var
The auxiliary Lagrange multiplier variable (used together whith the Petrov-Galerkin approach)
const Real & _dt
Current delta t... or timestep size.
virtual bool constrainedByOwner() const override
virtual void finalize() override
std::unordered_map< const DofObject *, ADReal > _dof_to_normal_pressure
Map from degree of freedom to normal pressure for reporting.
virtual void updateAugmentedLagrangianMultipliers() override
static const unsigned int _no_iterations
virtual const ADVariableValue & contactPressure() const override
AdaptivityNormalPenalty
The adaptivity method for the penalty factor at augmentations.
const bool _use_physical_gap
Use scaled or physical gap.
virtual Real getDeltaTangentialLagrangeMultiplier(const Node *const, const unsigned int) const
const Real _max_penalty_multiplier
Maximum multiplier applied to the initial penalty factor in AL.
static InputParameters validParams()
virtual Real getNormalLagrangeMultiplier(const Node *const node) const
virtual void timestepSetup() override
void bussettaAdaptivePenalty(const Real previous_gap, const Real gap, Real &penalty, Real &eval_tn)
Adaptive, local penalty for AL.
virtual MooseMesh & mesh()=0
Creates dof object to weighted gap map.
VariableShapeValue< true > VariableTestValue
VariableValueTempl< true > ADVariableValue