GEOS
ContactFields.hpp
Go to the documentation of this file.
1 /*
2  * ------------------------------------------------------------------------------------------------------------
3  * SPDX-License-Identifier: LGPL-2.1-only
4  *
5  * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
6  * Copyright (c) 2018-2024 Total, S.A
7  * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
8  * Copyright (c) 2023-2024 Chevron
9  * Copyright (c) 2019- GEOS/GEOSX Contributors
10  * All rights reserved
11  *
12  * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
13  * ------------------------------------------------------------------------------------------------------------
14  */
15 
20 #ifndef GEOS_PHYSICSSOLVERS_CONTACT_CONTACTFIELDS_HPP_
21 #define GEOS_PHYSICSSOLVERS_CONTACT_CONTACTFIELDS_HPP_
22 
23 #include "mesh/MeshFields.hpp"
25 
26 namespace geos
27 {
31 namespace fields
32 {
33 
34 namespace contact
35 {
36 
43 {
44  enum State : integer
45  {
46  Stick = 0,
47  NewSlip = 1,
48  Slip = 2,
49  Open = 3
50  };
51 };
52 
53 DECLARE_FIELD( iterativePenalty,
54  "iterativePenalty",
56  1.e5,
57  LEVEL_0,
58  WRITE_AND_READ,
59  "Penalty coefficients used in the iterative procedure of the Augmented Lagrangian Method" );
60 
61 DECLARE_FIELD( rotationMatrix,
62  "rotationMatrix",
64  0,
65  LEVEL_0,
66  WRITE_AND_READ,
67  "An array that holds the rotation matrices on the fracture" );
68 
69 DECLARE_FIELD( dispJump,
70  "displacementJump",
72  0,
73  LEVEL_0,
74  WRITE_AND_READ,
75  "Displacement jump vector in the local reference system" );
76 
77 DECLARE_FIELD( slip,
78  "slip",
80  0,
81  LEVEL_0,
82  NO_WRITE,
83  "Slip." );
84 
85 DECLARE_FIELD( deltaSlip,
86  "deltaSlip",
88  0.0,
89  LEVEL_0,
90  WRITE_AND_READ,
91  "Slip increment" );
92 
93 DECLARE_FIELD( deltaDispJump,
94  "deltaDisplacementJump",
96  0,
97  NOPLOT,
98  WRITE_AND_READ,
99  "Delta displacement jump vector" );
100 
101 DECLARE_FIELD( oldDispJump,
102  "oldDisplacementJump",
104  0,
105  NOPLOT,
106  WRITE_AND_READ,
107  "Displacement jump vector at the previous time-step" );
108 
109 DECLARE_FIELD( traction,
110  "traction",
112  0,
113  LEVEL_0,
114  WRITE_AND_READ,
115  "Fracture traction vector in the local reference system." );
116 
117 DECLARE_FIELD( deltaTraction,
118  "deltaTraction",
120  0,
121  NOPLOT,
122  NO_WRITE,
123  "An array that holds the traction increments on the fracture." );
124 
125 DECLARE_FIELD( dTraction_dJump,
126  "dTraction_dJump",
128  0,
129  NOPLOT,
130  NO_WRITE,
131  "Derivative of the traction w.r.t. the displacement jump." );
132 
133 DECLARE_FIELD( dTraction_dPressure,
134  "dTraction_dPressure",
136  0,
137  NOPLOT,
138  NO_WRITE,
139  "Derivative of the traction w.r.t. to the fluid pressure." );
140 
141 DECLARE_FIELD( fractureState,
142  "fractureState",
145  LEVEL_0,
146  WRITE_AND_READ,
147  "Fracture state." );
148 
149 DECLARE_FIELD( oldFractureState,
150  "oldFractureState",
153  NOPLOT,
154  NO_WRITE,
155  "Fracture state at the previous timestep." );
156 
157 DECLARE_FIELD( targetIncrementalJump,
158  "targetIncrementalJump",
160  0,
161  NOPLOT,
162  WRITE_AND_READ,
163  "It's the target incremental jump in a timestep (e.g., slip coming from RS)." );
164 
165 
166 ENUM_STRINGS( FractureState::State, "stick", "new_slip", "slip", "open" );
167 
168 }
169 
170 }
171 
172 }
173 
174 #endif // GEOS_PHYSICSSOLVERS_CONTACT_CONTACTFIELDS_HPP_
#define DECLARE_FIELD(NAME, KEY, TYPE, DEFAULT, PLOTLEVEL, RESTARTFLAG, DESCRIPTION)
Generates a traits struct.
Definition: MeshFields.hpp:39
Array< T, 2, PERMUTATION > array2d
Alias for 2D array.
Definition: DataTypes.hpp:192
Array< T, 3, PERMUTATION > array3d
Alias for 3D array.
Definition: DataTypes.hpp:208
ENUM_STRINGS(LinearSolverParameters::SolverType, "direct", "cg", "gmres", "fgmres", "bicgstab", "preconditioner")
Declare strings associated with enumeration values.
std::int32_t integer
Signed integer type.
Definition: DataTypes.hpp:82
Array< T, 1 > array1d
Alias for 1D array.
Definition: DataTypes.hpp:176
@ Slip
element is sliding: no normal jump across the discontinuity, but sliding is allowed.
@ NewSlip
element just starts sliding: no normal jump across the discontinuity, but sliding is allowed.
@ Open
element is open: no constraints are imposed.
@ Stick
element is closed: no jump across the discontinuity.