www.mooseframework.org
ContactLineSearchBase.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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;
16 
17 template <>
18 InputParameters validParams<ContactLineSearchBase>();
19 
38 class ContactLineSearchBase : public LineSearch
39 {
40 public:
41  ContactLineSearchBase(const InputParameters & parameters);
42 
46  void printContactInfo(const std::set<dof_id_type> & contact_set);
47 
51  void insertSet(const std::set<dof_id_type> & mech_set);
52 
56  virtual void reset();
57 
58 protected:
60  std::set<dof_id_type> _current_contact_state;
62  std::set<dof_id_type> _old_contact_state;
63 
68 
71 
74 
77 
80 };
validParams< ContactLineSearchBase >
InputParameters validParams< ContactLineSearchBase >()
Definition: ContactLineSearchBase.C:21
ContactLineSearchBase::_user_ksp_rtol
Real _user_ksp_rtol
the linear tolerance set by the user in the input file
Definition: ContactLineSearchBase.h:65
ContactLineSearchBase::reset
virtual void reset()
Reset the line search data.
Definition: ContactLineSearchBase.C:64
ContactLineSearchBase::printContactInfo
void printContactInfo(const std::set< dof_id_type > &contact_set)
Method for printing the contact information.
Definition: ContactLineSearchBase.C:45
ContactLineSearchBase
This class implements a custom line search for use with mechanical contact.
Definition: ContactLineSearchBase.h:38
ContactLineSearchBase::_user_ksp_rtol_set
bool _user_ksp_rtol_set
Whether the user linear tolerance has been set yet in this object.
Definition: ContactLineSearchBase.h:67
ContactLineSearchBase::_current_contact_state
std::set< dof_id_type > _current_contact_state
The current contact set.
Definition: ContactLineSearchBase.h:60
ContactLineSearchBase::_affect_ltol
bool _affect_ltol
Whether to modify the linear tolerance.
Definition: ContactLineSearchBase.h:79
ContactLineSearchBase::ContactLineSearchBase
ContactLineSearchBase(const InputParameters &parameters)
Definition: ContactLineSearchBase.C:35
ContactLineSearchBase::_allowed_lambda_cuts
unsigned _allowed_lambda_cuts
How many times the linsearch is allowed to cut lambda.
Definition: ContactLineSearchBase.h:73
ContactLineSearchBase::_contact_lambda
Real _contact_lambda
The multiplier of the newton step.
Definition: ContactLineSearchBase.h:70
ContactLineSearchBase::_contact_ltol
Real _contact_ltol
What the linear tolerance should be while the contact state is changing.
Definition: ContactLineSearchBase.h:76
ContactLineSearchBase::insertSet
void insertSet(const std::set< dof_id_type > &mech_set)
Unionize sets from different constraints.
Definition: ContactLineSearchBase.C:54
ContactLineSearchBase::_old_contact_state
std::set< dof_id_type > _old_contact_state
The old contact set.
Definition: ContactLineSearchBase.h:62