https://mooseframework.inl.gov
ContactLineSearchBase.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "LineSearch.h"
13 
14 class FEProblem;
15 
35 {
36 public:
38 
40 
44  void printContactInfo(const std::set<dof_id_type> & contact_set);
45 
49  void insertSet(const std::set<dof_id_type> & mech_set);
50 
54  virtual void reset();
55 
56 protected:
58  std::set<dof_id_type> _current_contact_state;
60  std::set<dof_id_type> _old_contact_state;
61 
66 
69 
72 
75 
78 };
bool _affect_ltol
Whether to modify the linear tolerance.
std::set< dof_id_type > _old_contact_state
The old contact set.
Real _contact_ltol
What the linear tolerance should be while the contact state is changing.
std::set< dof_id_type > _current_contact_state
The current contact set.
virtual void reset()
Reset the line search data.
ContactLineSearchBase(const InputParameters &parameters)
This class implements a custom line search for use with mechanical contact.
Real _contact_lambda
The multiplier of the newton step.
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void insertSet(const std::set< dof_id_type > &mech_set)
Unionize sets from different constraints.
unsigned _allowed_lambda_cuts
How many times the linsearch is allowed to cut lambda.
void printContactInfo(const std::set< dof_id_type > &contact_set)
Method for printing the contact information.
const InputParameters & parameters() const
Real _user_ksp_rtol
the linear tolerance set by the user in the input file
bool _user_ksp_rtol_set
Whether the user linear tolerance has been set yet in this object.