GEOS
AcousticFieldsDG.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_ACOUSTICFIELDSDG_HPP_
22 #define GEOS_PHYSICSSOLVERS_WAVEPROPAGATION_ACOUSTICFIELDSDG_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 acousticfieldsdg
35 {
36 
37 DECLARE_FIELD( Pressure_nm1,
38  "pressure_nm1",
39  array2d< 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  array2d< real32 >,
48  0,
49  LEVEL_0,
50  WRITE_AND_READ,
51  "Scalar pressure at time n." );
52 
53 
54 DECLARE_FIELD( Pressure_np1,
55  "pressure_np1",
56  array2d< real32 >,
57  0,
58  LEVEL_0,
59  WRITE_AND_READ,
60  "Scalar pressure at time n+1." );
61 
62 DECLARE_FIELD( AcousticVelocity,
63  "acousticVelocity",
64  array1d< real32 >,
65  0,
66  NOPLOT,
67  WRITE_AND_READ,
68  "Medium velocity of the cell" );
69 
70 DECLARE_FIELD( AcousticDensity,
71  "acousticDensity",
72  array1d< real32 >,
73  1,
74  NOPLOT,
75  WRITE_AND_READ,
76  "Medium density of the cell" );
77 
78 DECLARE_FIELD( AcousticFreeSurfaceFaceIndicator,
79  "acousticFreeSurfaceFaceIndicator",
80  array1d< localIndex >,
81  0,
82  NOPLOT,
83  WRITE_AND_READ,
84  "Free surface indicator, 1 if a face is on free surface 0 otherwise." );
85 
86 DECLARE_FIELD( ElementToOpposite,
87  "elementToOpposite",
88  array2d< localIndex >,
89  -1,
90  NOPLOT,
91  WRITE_AND_READ,
92  "Map from elements to the neighbor opposite to each vertex. -1 for boundary, -2 for free surface" );
93 
94 DECLARE_FIELD( ElementToOppositePermutation,
95  "elementToOppositePermutation",
96  array2d< integer >,
97  0,
98  NOPLOT,
99  WRITE_AND_READ,
100  "Map from elements to the permutation of the neighboring element, opposite to each vertex." );
101 
102 DECLARE_FIELD( CharacteristicSize,
103  "characteristicSize",
104  array1d< real32 >,
105  0,
106  NOPLOT,
107  WRITE_AND_READ,
108  "Characteristic size of every given element, used for penalty term computation. Often this is just the radius of the inscribed sphere." );
109 
110 DECLARE_FIELD( MassPlusDampingInvIndex,
111  "massPlusDampingInvIndex",
112  array1d< localIndex >,
113  -1,
114  NOPLOT,
115  WRITE_AND_READ,
116  "Index in the list of the pre-computed mass+damping inverses, or -1 if not a boundary element" );
117 
118 
119 }
120 
121 }
122 
123 } /* namespace geos */
124 
125 #endif /* GEOS_PHYSICSSOLVERS_WAVEPROPAGATION_HPP_ACOUSTICFIELDSDG */
#define DECLARE_FIELD(NAME, KEY, TYPE, DEFAULT, PLOTLEVEL, RESTARTFLAG, DESCRIPTION)
Generates a traits struct.
Definition: MeshFields.hpp:39