GEOS
AcousticFields.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 
16 
21 #ifndef GEOS_PHYSICSSOLVERS_WAVEPROPAGATION_ACOUSTICFIELDS_HPP_
22 #define GEOS_PHYSICSSOLVERS_WAVEPROPAGATION_ACOUSTICFIELDS_HPP_
23 
24 #include "common/DataLayouts.hpp"
25 #include "mesh/MeshFields.hpp"
26 
27 
28 namespace geos
29 {
30 
31 namespace fields
32 {
33 
34 namespace acousticfields
35 {
36 
37 DECLARE_FIELD( Pressure_nm1,
38  "pressure_nm1",
39  array1d< real32 >,
40  0,
41  NOPLOT,
42  WRITE_AND_READ,
43  "Scalar pressure at time n-1." );
44 
45 DECLARE_FIELD( Pressure_n,
46  "pressure_n",
47  array1d< real32 >,
48  0,
49  NOPLOT,
50  WRITE_AND_READ,
51  "Scalar pressure at time n." );
52 
53 
54 DECLARE_FIELD( Pressure_np1,
55  "pressure_np1",
56  array1d< real32 >,
57  0,
58  LEVEL_0,
59  WRITE_AND_READ,
60  "Scalar pressure at time n+1." );
61 
62 DECLARE_FIELD( PressureDoubleDerivative,
63  "pressureDoubleDerivative",
64  array1d< real32 >,
65  0,
66  NOPLOT,
67  WRITE_AND_READ,
68  "Double derivative of the pressure for each node to compute the gradient" );
69 
70 DECLARE_FIELD( Velocity_x,
71  "velocity_x",
72  array2d< real32 >,
73  0,
74  LEVEL_0,
75  WRITE_AND_READ,
76  "Velocity in the x-direction." );
77 
78 DECLARE_FIELD( Velocity_y,
79  "velocity_y",
80  array2d< real32 >,
81  0,
82  LEVEL_0,
83  WRITE_AND_READ,
84  "Velocity in the y-direction." );
85 
86 DECLARE_FIELD( Velocity_z,
87  "velocity_z",
88  array2d< real32 >,
89  0,
90  LEVEL_0,
91  WRITE_AND_READ,
92  "Velocity in the z-direction." );
93 
94 DECLARE_FIELD( PartialGradient,
95  "partialGradient",
96  array1d< real32 >,
97  0,
98  NOPLOT,
99  WRITE_AND_READ,
100  "Partiel gradient computed during backward propagation" );
101 
102 DECLARE_FIELD( ForcingRHS,
103  "rhs",
104  array1d< real32 >,
105  0,
106  NOPLOT,
107  WRITE_AND_READ,
108  "RHS" );
109 
110 DECLARE_FIELD( AcousticMassVector,
111  "acousticMassVector",
112  array1d< real32 >,
113  0,
114  NOPLOT,
115  WRITE_AND_READ,
116  "Diagonal of the Mass Matrix." );
117 
118 DECLARE_FIELD( StiffnessVector,
119  "stiffnessVector",
120  array1d< real32 >,
121  0,
122  NOPLOT,
123  WRITE_AND_READ,
124  "Stiffness vector contains R_h*Pressure_n." );
125 
126 DECLARE_FIELD( DampingVector,
127  "dampingVector",
128  array1d< real32 >,
129  0,
130  NOPLOT,
131  WRITE_AND_READ,
132  "Diagonal of the Damping Matrix." );
133 
134 DECLARE_FIELD( AcousticVelocity,
135  "acousticVelocity",
136  array1d< real32 >,
137  0,
138  NOPLOT,
139  WRITE_AND_READ,
140  "Medium velocity of the cell" );
141 
142 DECLARE_FIELD( AcousticDensity,
143  "acousticDensity",
144  array1d< real32 >,
145  1,
146  NOPLOT,
147  WRITE_AND_READ,
148  "Medium density of the cell" );
149 
150 DECLARE_FIELD( AcousticFreeSurfaceFaceIndicator,
151  "acousticFreeSurfaceFaceIndicator",
152  array1d< localIndex >,
153  0,
154  NOPLOT,
155  WRITE_AND_READ,
156  "Free surface indicator, 1 if a face is on free surface 0 otherwise." );
157 
158 DECLARE_FIELD( AcousticFreeSurfaceNodeIndicator,
159  "acousticFreeSurfaceNodeIndicator",
160  array1d< localIndex >,
161  0,
162  NOPLOT,
163  WRITE_AND_READ,
164  "Free surface indicator, 1 if a node is on free surface 0 otherwise." );
165 
166 DECLARE_FIELD( AuxiliaryVar1PML,
167  "auxiliaryVar1PML",
168  array2d< real32 >,
169  0,
170  NOPLOT,
171  WRITE_AND_READ,
172  "PML vectorial auxiliary variable 1." );
173 
174 DECLARE_FIELD( AuxiliaryVar2PML,
175  "auxiliaryVar2PML",
176  array2d< real32 >,
177  0,
178  NOPLOT,
179  NO_WRITE,
180  "PML vectorial auxiliary variable 2." );
181 
182 DECLARE_FIELD( AuxiliaryVar3PML,
183  "auxiliaryVar3PML",
184  array1d< real32 >,
185  0,
186  NOPLOT,
187  NO_WRITE,
188  "PML scalar auxiliary variable 3." );
189 
190 DECLARE_FIELD( AuxiliaryVar4PML,
191  "auxiliaryVar4PML",
192  array1d< real32 >,
193  0,
194  NOPLOT,
195  WRITE_AND_READ,
196  "PML scalar auxiliary variable 4." );
197 
198 }
199 
200 }
201 
202 } /* namespace geos */
203 
204 #endif /* GEOS_PHYSICSSOLVERS_WAVEPROPAGATION__HPP_ACOUSTICFIELDS */
#define DECLARE_FIELD(NAME, KEY, TYPE, DEFAULT, PLOTLEVEL, RESTARTFLAG, DESCRIPTION)
Generates a traits struct.
Definition: MeshFields.hpp:39