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