www.mooseframework.org
Classes | Enumerations | Functions
ContactAction.h File Reference

Go to the source code of this file.

Classes

class  ContactAction
 

Enumerations

enum  ContactModel { ContactModel::FRICTIONLESS, ContactModel::GLUED, ContactModel::COULOMB }
 
enum  ContactFormulation {
  ContactFormulation::KINEMATIC, ContactFormulation::PENALTY, ContactFormulation::AUGMENTED_LAGRANGE, ContactFormulation::TANGENTIAL_PENALTY,
  ContactFormulation::MORTAR
}
 

Functions

template<>
InputParameters validParams< ContactAction > ()
 

Enumeration Type Documentation

◆ ContactFormulation

enum ContactFormulation
strong
Enumerator
KINEMATIC 
PENALTY 
AUGMENTED_LAGRANGE 
TANGENTIAL_PENALTY 
MORTAR 

Definition at line 23 of file ContactAction.h.

24 {
25  KINEMATIC,
26  PENALTY,
29  MORTAR
30 };

◆ ContactModel

enum ContactModel
strong
Enumerator
FRICTIONLESS 
GLUED 
COULOMB 

Definition at line 16 of file ContactAction.h.

17 {
19  GLUED,
20  COULOMB,
21 };

Function Documentation

◆ validParams< ContactAction >()

template<>
InputParameters validParams< ContactAction > ( )

Definition at line 32 of file ContactAction.C.

33 {
34  InputParameters params = validParams<Action>();
36 
37  params.addRequiredParam<BoundaryName>("master", "The master surface");
38  params.addRequiredParam<BoundaryName>("slave", "The slave surface");
39 
40  params.addParam<MeshGeneratorName>("mesh", "", "The mesh generator for mortar method");
41 
42  params.addParam<VariableName>("disp_x", "The x displacement");
43  params.addParam<VariableName>("disp_y", "The y displacement");
44  params.addParam<VariableName>("disp_z", "The z displacement");
45 
46  params.addParam<std::vector<VariableName>>(
47  "displacements",
48  "The displacements appropriate for the simulation geometry and coordinate system");
49 
50  params.addParam<Real>(
51  "penalty",
52  1e8,
53  "The penalty to apply. This can vary depending on the stiffness of your materials");
54  params.addParam<Real>("friction_coefficient", 0, "The friction coefficient");
55  params.addParam<Real>("tension_release",
56  0.0,
57  "Tension release threshold. A node in contact "
58  "will not be released if its tensile load is below "
59  "this value. No tension release if negative.");
60  params.addParam<MooseEnum>("model", ContactAction::getModelEnum(), "The contact model to use");
61  params.addParam<Real>("tangential_tolerance",
62  "Tangential distance to extend edges of contact surfaces");
63  params.addParam<Real>(
64  "capture_tolerance", 0.0, "Normal distance from surface within which nodes are captured");
65  params.addParam<Real>(
66  "normal_smoothing_distance",
67  "Distance from edge in parametric coordinates over which to smooth contact normal");
68 
69  params.addParam<MooseEnum>(
70  "system", ContactAction::getSystemEnum(), "System to use for constraint enforcement");
71  params.addParam<bool>("normalize_penalty",
72  false,
73  "Whether to normalize the penalty parameter with the nodal area.");
74  params.addParam<bool>("master_slave_jacobian",
75  true,
76  "Whether to include Jacobian entries coupling master and slave nodes.");
77  params.addParam<Real>("al_penetration_tolerance",
78  "The tolerance of the penetration for augmented Lagrangian method.");
79  params.addParam<Real>("al_incremental_slip_tolerance",
80  "The tolerance of the incremental slip for augmented Lagrangian method.");
81 
82  params.addParam<Real>("al_frictional_force_tolerance",
83  "The tolerance of the frictional force for augmented Lagrangian method.");
84  params.addParam<Real>(
85  "c_normal", 1, "Parameter for balancing the size of the gap and contact pressure");
86  params.addParam<Real>(
87  "c_tangential", 1, "Parameter for balancing the contact pressure and velocity");
88 
89  return params;
90 }
ContactFormulation::TANGENTIAL_PENALTY
ContactModel::GLUED
ContactFormulation::MORTAR
ContactFormulation::KINEMATIC
ContactModel::COULOMB
ContactModel::FRICTIONLESS
ContactAction::getSystemEnum
static MooseEnum getSystemEnum()
Definition: ContactAction.C:429
ContactAction::getModelEnum
static MooseEnum getModelEnum()
Definition: ContactAction.C:417
ContactFormulation::AUGMENTED_LAGRANGE
ContactAction::commonParameters
static InputParameters commonParameters()
Definition: ContactAction.C:441
ContactFormulation::PENALTY