https://mooseframework.inl.gov
contact
include
linesearches
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
34
class
ContactLineSearchBase
:
public
LineSearch
35
{
36
public
:
37
static
InputParameters
validParams
();
38
39
ContactLineSearchBase
(
const
InputParameters
&
parameters
);
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
63
Real
_user_ksp_rtol
;
65
bool
_user_ksp_rtol_set
;
66
68
Real
_contact_lambda
;
69
71
unsigned
_allowed_lambda_cuts
;
72
74
Real
_contact_ltol
;
75
77
bool
_affect_ltol
;
78
};
ContactLineSearchBase::_affect_ltol
bool _affect_ltol
Whether to modify the linear tolerance.
Definition:
ContactLineSearchBase.h:77
ContactLineSearchBase::_old_contact_state
std::set< dof_id_type > _old_contact_state
The old contact set.
Definition:
ContactLineSearchBase.h:60
ContactLineSearchBase::_contact_ltol
Real _contact_ltol
What the linear tolerance should be while the contact state is changing.
Definition:
ContactLineSearchBase.h:74
FEProblem
ContactLineSearchBase::_current_contact_state
std::set< dof_id_type > _current_contact_state
The current contact set.
Definition:
ContactLineSearchBase.h:58
ContactLineSearchBase::reset
virtual void reset()
Reset the line search data.
Definition:
ContactLineSearchBase.C:63
ContactLineSearchBase::ContactLineSearchBase
ContactLineSearchBase(const InputParameters ¶meters)
Definition:
ContactLineSearchBase.C:34
LineSearch
InputParameters
ContactLineSearchBase
This class implements a custom line search for use with mechanical contact.
Definition:
ContactLineSearchBase.h:34
LineSearch.h
ContactLineSearchBase::_contact_lambda
Real _contact_lambda
The multiplier of the newton step.
Definition:
ContactLineSearchBase.h:68
ContactLineSearchBase::validParams
static InputParameters validParams()
Definition:
ContactLineSearchBase.C:20
Real
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
ContactLineSearchBase::insertSet
void insertSet(const std::set< dof_id_type > &mech_set)
Unionize sets from different constraints.
Definition:
ContactLineSearchBase.C:53
ContactLineSearchBase::_allowed_lambda_cuts
unsigned _allowed_lambda_cuts
How many times the linsearch is allowed to cut lambda.
Definition:
ContactLineSearchBase.h:71
ContactLineSearchBase::printContactInfo
void printContactInfo(const std::set< dof_id_type > &contact_set)
Method for printing the contact information.
Definition:
ContactLineSearchBase.C:44
LineSearch::parameters
const InputParameters & parameters() const
ContactLineSearchBase::_user_ksp_rtol
Real _user_ksp_rtol
the linear tolerance set by the user in the input file
Definition:
ContactLineSearchBase.h:63
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:65
Generated on Thu Jul 17 2025 01:43:44 for https://mooseframework.inl.gov by
1.8.14