www.mooseframework.org
Functions
MechanicalContactConstraint.C File Reference

Go to the source code of this file.

Functions

 registerMooseObject ("ContactApp", MechanicalContactConstraint)
 
template<>
InputParameters validParams< MechanicalContactConstraint > ()
 

Function Documentation

◆ registerMooseObject()

registerMooseObject ( "ContactApp"  ,
MechanicalContactConstraint   
)

◆ validParams< MechanicalContactConstraint >()

template<>
InputParameters validParams< MechanicalContactConstraint > ( )

Definition at line 33 of file MechanicalContactConstraint.C.

34 {
35  InputParameters params = validParams<NodeFaceConstraint>();
37 
38  params.addRequiredParam<BoundaryName>("boundary", "The master boundary");
39  params.addRequiredParam<BoundaryName>("slave", "The slave boundary");
40  params.addRequiredParam<unsigned int>("component",
41  "An integer corresponding to the direction "
42  "the variable this kernel acts in. (0 for x, "
43  "1 for y, 2 for z)");
44 
45  params.addCoupledVar("disp_x", "The x displacement");
46  params.addCoupledVar("disp_y", "The y displacement");
47  params.addCoupledVar("disp_z", "The z displacement");
48 
49  params.addCoupledVar(
50  "displacements",
51  "The displacements appropriate for the simulation geometry and coordinate system");
52 
53  params.addRequiredCoupledVar("nodal_area", "The nodal area");
54 
55  params.set<bool>("use_displaced_mesh") = true;
56  params.addParam<Real>(
57  "penalty",
58  1e8,
59  "The penalty to apply. This can vary depending on the stiffness of your materials");
60  params.addParam<Real>("friction_coefficient", 0, "The friction coefficient");
61  params.addParam<Real>("tangential_tolerance",
62  "Tangential distance to extend edges of contact surfaces");
63  params.addParam<Real>(
64  "capture_tolerance", 0, "Normal distance from surface within which nodes are captured");
65 
66  params.addParam<Real>("tension_release",
67  0.0,
68  "Tension release threshold. A node in contact "
69  "will not be released if its tensile load is below "
70  "this value. No tension release if negative.");
71 
72  params.addParam<bool>(
73  "normalize_penalty",
74  false,
75  "Whether to normalize the penalty parameter with the nodal area for penalty contact.");
76  params.addParam<bool>("master_slave_jacobian",
77  true,
78  "Whether to include jacobian entries coupling master and slave nodes.");
79  params.addParam<bool>(
80  "connected_slave_nodes_jacobian",
81  true,
82  "Whether to include jacobian entries coupling nodes connected to slave nodes.");
83  params.addParam<bool>("non_displacement_variables_jacobian",
84  true,
85  "Whether to include jacobian entries coupling with variables that are not "
86  "displacement variables.");
87  params.addParam<unsigned int>("stick_lock_iterations",
88  std::numeric_limits<unsigned int>::max(),
89  "Number of times permitted to switch between sticking and slipping "
90  "in a solution before locking node in a sticked state.");
91  params.addParam<Real>("stick_unlock_factor",
92  1.5,
93  "Factor by which frictional capacity must be "
94  "exceeded to permit stick-locked node to slip "
95  "again.");
96  params.addParam<Real>("al_penetration_tolerance",
97  "The tolerance of the penetration for augmented Lagrangian method.");
98  params.addParam<Real>("al_incremental_slip_tolerance",
99  "The tolerance of the incremental slip for augmented Lagrangian method.");
100 
101  params.addParam<Real>("al_frictional_force_tolerance",
102  "The tolerance of the frictional force for augmented Lagrangian method.");
103  params.addParam<bool>(
104  "print_contact_nodes", false, "Whether to print the number of nodes in contact.");
105  return params;
106 }
ContactAction::commonParameters
static InputParameters commonParameters()
Definition: ContactAction.C:441