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 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_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( PressureForward,
63  "pressureForward",
64  array1d< real32 >,
65  0,
66  NOPLOT,
67  WRITE_AND_READ,
68  "Pressure field from forward pass on 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( PartialGradient2,
103  "partialGradient2",
104  array1d< real32 >,
105  0,
106  NOPLOT,
107  WRITE_AND_READ,
108  "Partial gradient for density/velocity computed during backward propagation" );
109 
110 DECLARE_FIELD( ForcingRHS,
111  "rhs",
112  array1d< real32 >,
113  0,
114  NOPLOT,
115  WRITE_AND_READ,
116  "RHS" );
117 
118 DECLARE_FIELD( AcousticMassVector,
119  "acousticMassVector",
120  array1d< real32 >,
121  0,
122  NOPLOT,
123  WRITE_AND_READ,
124  "Diagonal of the Mass Matrix." );
125 
126 DECLARE_FIELD( StiffnessVector,
127  "stiffnessVector",
128  array1d< real32 >,
129  0,
130  NOPLOT,
131  WRITE_AND_READ,
132  "Stiffness vector contains R_h*Pressure_n." );
133 
134 DECLARE_FIELD( DampingVector,
135  "dampingVector",
136  array1d< real32 >,
137  0,
138  NOPLOT,
139  WRITE_AND_READ,
140  "Diagonal of the Damping Matrix." );
141 
142 DECLARE_FIELD( AcousticVelocity,
143  "acousticVelocity",
144  array1d< real32 >,
145  0,
146  NOPLOT,
147  WRITE_AND_READ,
148  "Medium velocity of the cell" );
149 
150 DECLARE_FIELD( AcousticDensity,
151  "acousticDensity",
152  array1d< real32 >,
153  1,
154  NOPLOT,
155  WRITE_AND_READ,
156  "Medium density of the cell" );
157 
158 DECLARE_FIELD( AcousticFreeSurfaceFaceIndicator,
159  "acousticFreeSurfaceFaceIndicator",
160  array1d< localIndex >,
161  0,
162  NOPLOT,
163  WRITE_AND_READ,
164  "Free surface indicator, 1 if a face is on free surface 0 otherwise." );
165 
166 DECLARE_FIELD( AcousticFreeSurfaceNodeIndicator,
167  "acousticFreeSurfaceNodeIndicator",
168  array1d< localIndex >,
169  0,
170  NOPLOT,
171  WRITE_AND_READ,
172  "Free surface indicator, 1 if a node is on free surface 0 otherwise." );
173 
174 DECLARE_FIELD( AuxiliaryVar1PML,
175  "auxiliaryVar1PML",
176  array2d< real32 >,
177  0,
178  NOPLOT,
179  WRITE_AND_READ,
180  "PML vectorial auxiliary variable 1." );
181 
182 DECLARE_FIELD( AuxiliaryVar2PML,
183  "auxiliaryVar2PML",
184  array2d< real32 >,
185  0,
186  NOPLOT,
187  NO_WRITE,
188  "PML vectorial auxiliary variable 2." );
189 
190 DECLARE_FIELD( AuxiliaryVar3PML,
191  "auxiliaryVar3PML",
192  array1d< real32 >,
193  0,
194  NOPLOT,
195  NO_WRITE,
196  "PML scalar auxiliary variable 3." );
197 
198 DECLARE_FIELD( AuxiliaryVar4PML,
199  "auxiliaryVar4PML",
200  array1d< real32 >,
201  0,
202  NOPLOT,
203  WRITE_AND_READ,
204  "PML scalar auxiliary variable 4." );
205 
206 }
207 
208 }
209 
210 } /* namespace geos */
211 
212 #endif /* GEOS_PHYSICSSOLVERS_WAVEPROPAGATION__HPP_ACOUSTICFIELDS */
#define DECLARE_FIELD(NAME, KEY, TYPE, DEFAULT, PLOTLEVEL, RESTARTFLAG, DESCRIPTION)
Generates a traits struct.
Definition: MeshFields.hpp:39