GEOS
ElasticFields.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 
16 
21 #ifndef GEOS_PHYSICSSOLVERS_WAVEPROPAGATION_ELASTICFIELDS_HPP_
22 #define GEOS_PHYSICSSOLVERS_WAVEPROPAGATION_ELASTICFIELDS_HPP_
23 
24 #include "common/DataLayouts.hpp"
25 #include "mesh/MeshFields.hpp"
26 
27 namespace geos
28 {
29 
30 namespace fields
31 {
32 
33 namespace elasticfields
34 {
35 
36 DECLARE_FIELD( Displacementx_nm1,
37  "displacementx_nm1",
38  array1d< real32 >,
39  0,
40  NOPLOT,
41  WRITE_AND_READ,
42  "x-component of displacement at time n-1." );
43 
44 DECLARE_FIELD( Displacementy_nm1,
45  "displacementy_nm1",
46  array1d< real32 >,
47  0,
48  NOPLOT,
49  WRITE_AND_READ,
50  "y-component of displacement at time n-1." );
51 
52 DECLARE_FIELD( Displacementz_nm1,
53  "displacementz_nm1",
54  array1d< real32 >,
55  0,
56  NOPLOT,
57  WRITE_AND_READ,
58  "z-component of displacement at time n-1." );
59 
60 DECLARE_FIELD( Displacementx_n,
61  "displacementx_n",
62  array1d< real32 >,
63  0,
64  NOPLOT,
65  WRITE_AND_READ,
66  "x-component of displacement at time n." );
67 
68 DECLARE_FIELD( Displacementy_n,
69  "displacementy_n",
70  array1d< real32 >,
71  0,
72  NOPLOT,
73  WRITE_AND_READ,
74  "y-component of displacement at time n." );
75 
76 DECLARE_FIELD( Displacementz_n,
77  "displacementz_n",
78  array1d< real32 >,
79  0,
80  NOPLOT,
81  WRITE_AND_READ,
82  "z-component of displacement at time n." );
83 
84 DECLARE_FIELD( Displacementx_np1,
85  "displacementx_np1",
86  array1d< real32 >,
87  0,
88  LEVEL_0,
89  WRITE_AND_READ,
90  "x-component of displacement at time n+1." );
91 
92 DECLARE_FIELD( Displacementy_np1,
93  "displacementy_np1",
94  array1d< real32 >,
95  0,
96  LEVEL_0,
97  WRITE_AND_READ,
98  "y-component of displacement at time n+1." );
99 
100 DECLARE_FIELD( Displacementz_np1,
101  "displacementz_np1",
102  array1d< real32 >,
103  0,
104  LEVEL_0,
105  WRITE_AND_READ,
106  "z-component of displacement at time n+1." );
107 
108 DECLARE_FIELD( DivPsix,
109  "divpsix",
110  array2d< real32 >,
111  0,
112  NOPLOT,
113  WRITE_AND_READ,
114  "x-component of memory variables for attenuation." );
115 
116 DECLARE_FIELD( DivPsiy,
117  "divpsiy",
118  array2d< real32 >,
119  0,
120  NOPLOT,
121  WRITE_AND_READ,
122  "y-component of memory variables for attenuation." );
123 
124 DECLARE_FIELD( DivPsiz,
125  "divpsiz",
126  array2d< real32 >,
127  0,
128  NOPLOT,
129  WRITE_AND_READ,
130  "z-component of memory variables for attenuation." );
131 
132 DECLARE_FIELD( Stresstensorxx,
133  "stresstensorxx",
134  array2d< real32 >,
135  0,
136  LEVEL_0,
137  WRITE_AND_READ,
138  "xx-components of the stress tensor." );
139 
140 DECLARE_FIELD( Stresstensoryy,
141  "stresstensoryy",
142  array2d< real32 >,
143  0,
144  LEVEL_0,
145  WRITE_AND_READ,
146  "yy-components of the stress tensor." );
147 
148 DECLARE_FIELD( Stresstensorzz,
149  "stresstensorzz",
150  array2d< real32 >,
151  0,
152  LEVEL_0,
153  WRITE_AND_READ,
154  "zz-components of the stress tensor." );
155 
156 DECLARE_FIELD( Stresstensorxy,
157  "stresstensorxy",
158  array2d< real32 >,
159  0,
160  LEVEL_0,
161  WRITE_AND_READ,
162  "xy-components of the stress tensor (symetric of yx-component)." );
163 
164 DECLARE_FIELD( Stresstensorxz,
165  "stresstensorxz",
166  array2d< real32 >,
167  0,
168  LEVEL_0,
169  WRITE_AND_READ,
170  "xz-components of the stress tensor (symetric of zx-component)." );
171 
172 DECLARE_FIELD( Stresstensoryz,
173  "stresstensoryz",
174  array2d< real32 >,
175  0,
176  LEVEL_0,
177  WRITE_AND_READ,
178  "yz-components of the stress tensor (symetric of zy-component)." );
179 
180 DECLARE_FIELD( ForcingRHS,
181  "rhs",
182  array1d< real32 >,
183  0,
184  NOPLOT,
185  WRITE_AND_READ,
186  "RHS" );
187 
188 DECLARE_FIELD( ForcingRHSx,
189  "rhsx",
190  array1d< real32 >,
191  0,
192  NOPLOT,
193  WRITE_AND_READ,
194  "RHS for x-direction" );
195 
196 DECLARE_FIELD( ForcingRHSy,
197  "rhsy",
198  array1d< real32 >,
199  0,
200  NOPLOT,
201  WRITE_AND_READ,
202  "RHS for y-direction" );
203 
204 DECLARE_FIELD( ForcingRHSz,
205  "rhsz",
206  array1d< real32 >,
207  0,
208  NOPLOT,
209  WRITE_AND_READ,
210  "RHS for z-direction" );
211 
212 DECLARE_FIELD( ElasticMassVector,
213  "elasticMassVector",
214  array1d< real32 >,
215  0,
216  NOPLOT,
217  WRITE_AND_READ,
218  "Diagonal of the Mass Matrix." );
219 
220 DECLARE_FIELD( StiffnessVectorx,
221  "stiffnessVectorx",
222  array1d< real32 >,
223  0,
224  NOPLOT,
225  WRITE_AND_READ,
226  "x-component of stiffness vector." );
227 
228 DECLARE_FIELD( StiffnessVectory,
229  "stiffnessVectory",
230  array1d< real32 >,
231  0,
232  NOPLOT,
233  WRITE_AND_READ,
234  "y-component of stiffness vector." );
235 
236 DECLARE_FIELD( StiffnessVectorz,
237  "stiffnessVectorz",
238  array1d< real32 >,
239  0,
240  NOPLOT,
241  WRITE_AND_READ,
242  "z-component of stiffness vector." );
243 
244 DECLARE_FIELD( StiffnessVectorAx,
245  "stiffnessVectorAx",
246  array1d< real32 >,
247  0,
248  NOPLOT,
249  WRITE_AND_READ,
250  "x-component of attenuation stiffness vector." );
251 
252 DECLARE_FIELD( StiffnessVectorAy,
253  "stiffnessVectorAy",
254  array1d< real32 >,
255  0,
256  NOPLOT,
257  WRITE_AND_READ,
258  "y-component of attenuation stiffness vector." );
259 
260 DECLARE_FIELD( StiffnessVectorAz,
261  "stiffnessVectorAz",
262  array1d< real32 >,
263  0,
264  NOPLOT,
265  WRITE_AND_READ,
266  "z-component of attenuation stiffness vector." );
267 
268 DECLARE_FIELD( DampingVectorx,
269  "dampingVectorx",
270  array1d< real32 >,
271  0,
272  NOPLOT,
273  WRITE_AND_READ,
274  "Diagonal Damping Matrix in x-direction." );
275 
276 DECLARE_FIELD( DampingVectory,
277  "dampingVectory",
278  array1d< real32 >,
279  0,
280  NOPLOT,
281  WRITE_AND_READ,
282  "Diagonal Damping Matrix in y-direction." );
283 
284 DECLARE_FIELD( DampingVectorz,
285  "dampingVectorz",
286  array1d< real32 >,
287  0,
288  NOPLOT,
289  WRITE_AND_READ,
290  "Diagonal Damping Matrix in z-direction." );
291 
292 DECLARE_FIELD( ElasticVelocityVp,
293  "elasticVelocityVp",
294  array1d< real32 >,
295  0,
296  NOPLOT,
297  WRITE_AND_READ,
298  "P-waves speed in the cell" );
299 
300 DECLARE_FIELD( ElasticVelocityVs,
301  "elasticVelocityVs",
302  array1d< real32 >,
303  0,
304  NOPLOT,
305  WRITE_AND_READ,
306  "S-waves speed in the cell" );
307 
308 DECLARE_FIELD( ElasticDensity,
309  "elasticDensity",
310  array1d< real32 >,
311  0,
312  NOPLOT,
313  WRITE_AND_READ,
314  "Medium density of the cell" );
315 
316 DECLARE_FIELD( ElasticQualityFactorP,
317  "elasticQualityFactorP",
318  array1d< real32 >,
319  0,
320  NOPLOT,
321  WRITE_AND_READ,
322  "Quality factor for P-wave attenuation in the cell" );
323 
324 DECLARE_FIELD( ElasticQualityFactorS,
325  "elasticQualityFactorS",
326  array1d< real32 >,
327  0,
328  NOPLOT,
329  WRITE_AND_READ,
330  "Quality factor for S-wave attenuation in the cell" );
331 
332 DECLARE_FIELD( ElasticFreeSurfaceFaceIndicator,
333  "elasticFreeSurfaceFaceIndicator",
334  array1d< localIndex >,
335  0,
336  NOPLOT,
337  WRITE_AND_READ,
338  "Free surface indicator, 1 if a face is on free surface 0 otherwise." );
339 
340 DECLARE_FIELD( ElasticFreeSurfaceNodeIndicator,
341  "elasticFreeSurfaceNodeIndicator",
342  array1d< localIndex >,
343  0,
344  NOPLOT,
345  WRITE_AND_READ,
346  "Free surface indicator, 1 if a node is on free surface 0 otherwise." );
347 
348 DECLARE_FIELD( Lambda,
349  "lambda",
350  array1d< real32 >,
351  0,
352  NOPLOT,
353  WRITE_AND_READ,
354  "First Lame parameter: lambda" );
355 
356 DECLARE_FIELD( Mu,
357  "mu",
358  array1d< real32 >,
359  0,
360  NOPLOT,
361  WRITE_AND_READ,
362  "Second Lame parameter: mu" );
363 
364 
365 }
366 
367 }
368 
369 } /* namespace geos */
370 
371 #endif /* GEOS_PHYSICSSOLVERS_WAVEPROPAGATION__HPP_ELASTICFIELDS */
#define DECLARE_FIELD(NAME, KEY, TYPE, DEFAULT, PLOTLEVEL, RESTARTFLAG, DESCRIPTION)
Generates a traits struct.
Definition: MeshFields.hpp:39