KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
contact_structural_mechanics_application_variables.h
Go to the documentation of this file.
1 // KRATOS ______ __ __ _____ __ __ __
2 // / ____/___ ____ / /_____ ______/ /_/ ___// /________ _______/ /___ ___________ _/ /
3 // / / / __ \/ __ \/ __/ __ `/ ___/ __/\__ \/ __/ ___/ / / / ___/ __/ / / / ___/ __ `/ /
4 // / /___/ /_/ / / / / /_/ /_/ / /__/ /_ ___/ / /_/ / / /_/ / /__/ /_/ /_/ / / / /_/ / /
5 // \____/\____/_/ /_/\__/\__,_/\___/\__//____/\__/_/ \__,_/\___/\__/\__,_/_/ \__,_/_/ MECHANICS
6 //
7 // License: BSD License
8 // license: ContactStructuralMechanicsApplication/license.txt
9 //
10 // Main authors: Vicente Mataix
11 //
12 
13 #pragma once
14 
15 // System includes
16 
17 // External includes
18 
19 // Project includes
20 #include "includes/define.h"
22 #include "includes/variables.h"
26 
27 namespace Kratos
28 {
29 
32 
36 
37  using GeometryType = Geometry<Node>;
38 
42 
46  enum class FrictionalCase {
47  FRICTIONLESS = 0,
49  FRICTIONAL = 2,
52  };
53 
62  };
63 
67 
68 // VARIABLES
69 // MPC Contact related variables
70 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, MasterSlaveConstraint::Pointer, CONSTRAINT_POINTER ) // Pointer to the constraint of the condition
71 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, REACTION_CHECK_STIFFNESS_FACTOR ) // The reaction factor to be considered on the tension check
72 
73 /* Mortar method */
74 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, bool, CONSIDER_TESSELLATION ) // If we consider tesellation when doing the mortar segmentation
75 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, int , INNER_LOOP_ITERATION ) // The number of loops in the simplified semi-smooth inner iteration
76 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, int , INTEGRATION_ORDER_CONTACT ) // The integration order computed in the contact
77 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, DISTANCE_THRESHOLD ) // The distance threshold considered
78 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, ZERO_TOLERANCE_FACTOR ) // The epsilon factor considered
79 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, ACTIVE_CHECK_FACTOR ) // The factor employed to search an active/inactive node
80 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, SLIP_THRESHOLD ) // The threshold employed to search an slip/stick node
81 KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(CONTACT_STRUCTURAL_MECHANICS_APPLICATION, AUXILIAR_COORDINATES ) // Auxiliary coordinates used to map
82 KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(CONTACT_STRUCTURAL_MECHANICS_APPLICATION, DELTA_COORDINATES ) // Delta coordinates used to map
83 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, NORMAL_GAP ) // The normal gap employed in contact formulation
84 KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(CONTACT_STRUCTURAL_MECHANICS_APPLICATION, TANGENT_SLIP ) // The tangent slip gap employed in contact formulation
85 
86 /* Weighted values */
87 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, WEIGHTED_GAP ) // The integrated gap employed in mortar formulation
88 KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(CONTACT_STRUCTURAL_MECHANICS_APPLICATION, WEIGHTED_SLIP ) // The integrated slip employed in mortar formulation
89 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, WEIGHTED_SCALAR_RESIDUAL ) // The integrated scalar residual
90 KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(CONTACT_STRUCTURAL_MECHANICS_APPLICATION, WEIGHTED_VECTOR_RESIDUAL ) // The integrated vector residual
91 
92 /* For ALM mortar condition */
93 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, bool, ACTIVE_SET_COMPUTED ) // To know if the active set has been computed
94 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, bool, ACTIVE_SET_CONVERGED ) // To know if the active set has converged
95 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, bool, SLIP_SET_CONVERGED ) // To know if the slip set has converged
96 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, OPERATOR_THRESHOLD ) // Consider objetive/non-objetive formulation threshold
97 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, SLIP_AUGMENTATION_COEFFICIENT ) // Coefficient to improve the slip computation convergence (augmented part related)
98 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, DYNAMIC_FACTOR ) // The factor considered for dynamic problems (in order to take intro account the gap evolution)
99 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, LAGRANGE_MULTIPLIER_CONTACT_PRESSURE ) // The lagrange multiplier for normal contact pressure
100 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, AUGMENTED_NORMAL_CONTACT_PRESSURE ) // The resultant augmented pressure in the normal direction
101 KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(CONTACT_STRUCTURAL_MECHANICS_APPLICATION, AUGMENTED_TANGENT_CONTACT_PRESSURE ) // The resultant augmented pressure in the tangent direction
102 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, int, CONSIDER_NORMAL_VARIATION ) // A value used to check if consider normal variation or not
103 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, bool, ADAPT_PENALTY ) // To set if the penalty is recalculated or not
104 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, MAX_GAP_FACTOR ) // The factor between the nodal H and the max gap considered to recalculate the penalty
105 
106 /* For mesh tying mortar condition */
107 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, std::string, TYING_VARIABLE ) // The variable name for the mesh tying
108 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, Element::Pointer, PARENT_ELEMENT ) // The parent element considered in the mesh tying with static condensation
109 
110 /* Explicit simulation */
111 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, MAX_GAP_THRESHOLD ) // The gap considered as threshold to rescale penalty
112 
113 /* Frictional laws */
114 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, FrictionalLaw::Pointer, FRICTIONAL_LAW ) // The frictional law considered
115 KRATOS_DEFINE_APPLICATION_VARIABLE( CONTACT_STRUCTURAL_MECHANICS_APPLICATION, double, TRESCA_FRICTION_THRESHOLD ) // The threshold value for Tresca frictional contact
116 }
Base class for all Elements.
Definition: element.h:60
This class defines the base class for frictional laws.
Definition: frictional_law.h:54
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
NormalDerivativesComputation
An enumeration of the different options for normal derivatives computation.
Definition: contact_structural_mechanics_application_variables.h:57
@ NODAL_ELEMENTAL_DERIVATIVES
Computation of normal derivatives at the node level.
@ NO_DERIVATIVES_COMPUTATION
No computation of normal derivatives.
@ ELEMENTAL_DERIVATIVES
Computation of normal derivatives at the element level.
@ NO_DERIVATIVES_COMPUTATION_WITH_NORMAL_UPDATE
No computation of normal derivatives, but update of the normal vector.
KRATOS_DEFINE_APPLICATION_VARIABLE(CHIMERA_APPLICATION, double, CHIMERA_DISTANCE)
KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(CHIMERA_APPLICATION, ROTATION_MESH_DISPLACEMENT)
Geometry< Node > GeometryType
The definition of the geometry.
Definition: mortar_classes.h:37
FrictionalCase
An enumeration of the different cases of friction that can be used in the contact search process.
Definition: contact_structural_mechanics_application_variables.h:46
@ FRICTIONLESS_COMPONENTS
Frictionless contact with components.
@ FRICTIONLESS
Frictionless contact.
@ FRICTIONAL_PENALTY
Frictional contact with penalty method.
@ FRICTIONLESS_PENALTY
Frictionless contact with penalty method.
@ FRICTIONAL
Frictional contact.
namespace
Definition: array_1d.h:793