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 TotalEnergies
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( dispJump_n,
78  "displacementJump",
80  0,
81  NOPLOT,
82  WRITE_AND_READ,
83  "Displacement jump vector in the local reference system at the current time-step" );
84 
85 DECLARE_FIELD( slip,
86  "slip",
88  0,
89  LEVEL_0,
90  NO_WRITE,
91  "Slip." );
92 
93 DECLARE_FIELD( deltaSlip,
94  "deltaSlip",
96  0.0,
97  LEVEL_0,
98  WRITE_AND_READ,
99  "Slip increment" );
100 
101 DECLARE_FIELD( deltaDispJump,
102  "deltaDisplacementJump",
104  0,
105  NOPLOT,
106  WRITE_AND_READ,
107  "Delta displacement jump vector" );
108 
109 DECLARE_FIELD( oldDispJump,
110  "oldDisplacementJump",
112  0,
113  NOPLOT,
114  WRITE_AND_READ,
115  "Displacement jump vector at the previous time-step" );
116 
117 DECLARE_FIELD( traction,
118  "traction",
120  0,
121  LEVEL_0,
122  WRITE_AND_READ,
123  "Fracture traction vector in the local reference system." );
124 
125 DECLARE_FIELD( traction_n,
126  "traction_n",
128  0,
129  NOPLOT,
130  WRITE_AND_READ,
131  "Initial fracture traction vector in the local reference system at this time-step." );
132 
133 DECLARE_FIELD( deltaTraction,
134  "deltaTraction",
136  0,
137  NOPLOT,
138  NO_WRITE,
139  "An array that holds the traction increments on the fracture." );
140 
141 DECLARE_FIELD( dTraction_dJump,
142  "dTraction_dJump",
144  0,
145  NOPLOT,
146  NO_WRITE,
147  "Derivative of the traction w.r.t. the displacement jump." );
148 
149 DECLARE_FIELD( dTraction_dPressure,
150  "dTraction_dPressure",
152  0,
153  NOPLOT,
154  NO_WRITE,
155  "Derivative of the traction w.r.t. to the fluid pressure." );
156 
157 DECLARE_FIELD( fractureState,
158  "fractureState",
161  LEVEL_0,
162  WRITE_AND_READ,
163  "Fracture state." );
164 
165 DECLARE_FIELD( oldFractureState,
166  "oldFractureState",
169  NOPLOT,
170  NO_WRITE,
171  "Fracture state at the previous timestep." );
172 
173 DECLARE_FIELD( targetIncrementalJump,
174  "targetIncrementalJump",
176  0,
177  NOPLOT,
178  WRITE_AND_READ,
179  "It's the target incremental jump in a timestep (e.g., slip coming from RS)." );
180 
181 
182 ENUM_STRINGS( FractureState::State, "stick", "new_slip", "slip", "open" );
183 
184 }
185 
186 }
187 
188 }
189 
190 #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.