GEOS
MPMSolverFields.hpp
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_SOLIDMECHANICS_MPMSOLVERBASEFIELDS_HPP_
21 #define GEOS_PHYSICSSOLVERS_SOLIDMECHANICS_MPMSOLVERBASEFIELDS_HPP_
22 
23 #include "mesh/MeshFields.hpp"
24 
25 namespace geos
26 {
30 namespace fields
31 {
32 
33 namespace mpm
34 {
35 
36 DECLARE_FIELD( isBad,
37  "isBad",
38  array1d< int >,
39  0,
40  NOPLOT,
41  WRITE_AND_READ,
42  "An array that remembers particles that should be deleted at the end of the time step." );
43 
44 DECLARE_FIELD( particleMass,
45  "particleMass",
46  array1d< real64 >,
47  0,
48  LEVEL_1,
49  WRITE_AND_READ,
50  "An array that stores particle masses." );
51 
52 DECLARE_FIELD( particleInitialVolume,
53  "particleInitialVolume",
54  array1d< real64 >,
55  0,
56  NOPLOT,
57  WRITE_AND_READ,
58  "ParticleInitialVolume" );
59 
60 DECLARE_FIELD( particleInitialRVectors,
61  "particleInitialRVectors",
62  array3d< real64 >,
63  0,
64  NOPLOT,
65  WRITE_AND_READ,
66  "ParticleInitialRVectors" );
67 
68 DECLARE_FIELD( particleDeformationGradient,
69  "particleDeformationGradient",
70  array3d< real64 >,
71  0,
72  LEVEL_1,
73  WRITE_AND_READ,
74  "ParticleDeformationGradient" );
75 
76 DECLARE_FIELD( particleFDot,
77  "particleFDot",
78  array3d< real64 >,
79  0,
80  NOPLOT,
81  WRITE_AND_READ,
82  "Material time derivative of the particle deformation gradient." );
83 
84 DECLARE_FIELD( particleVelocityGradient,
85  "particleVelocityGradient",
86  array3d< real64 >,
87  0,
88  NOPLOT,
89  WRITE_AND_READ,
90  "ParticleVelocityGradient" );
91 
92 DECLARE_FIELD( particleStress,
93  "particleStress",
94  array2d< real64 >,
95  0,
96  LEVEL_1,
97  WRITE_AND_READ,
98  "An array that holds particle stresses in Voigt notation." );
99 
100 DECLARE_FIELD( particleDensity,
101  "particleDensity",
102  array1d< real64 >,
103  0,
104  LEVEL_1,
105  WRITE_AND_READ,
106  "An array that holds particle densities." );
107 
108 DECLARE_FIELD( particleDamageGradient,
109  "particleDamageGradient",
110  array2d< real64 >,
111  0,
112  LEVEL_1,
113  WRITE_AND_READ,
114  "An array that holds particle damage gradients as calculated with an SPH kernel." );
115 
116 DECLARE_FIELD( particleSurfaceFlag,
117  "particleSurfaceFlag",
118  array1d< int >,
119  0,
120  LEVEL_1,
121  WRITE_AND_READ,
122  "An array that holds particle surface flags." );
123 
124 DECLARE_FIELD( particleSphF,
125  "particleSphF",
126  array3d< real64 >,
127  0,
128  LEVEL_1,
129  WRITE_AND_READ,
130  "ParticleSphF" );
131 
132 DECLARE_FIELD( particleOverlap,
133  "particleOverlap",
134  array1d< real64 >,
135  0,
136  LEVEL_1,
137  WRITE_AND_READ,
138  "ParticleOverlap" );
139 
140 DECLARE_FIELD( particleReferencePosition,
141  "particleReferencePosition",
142  array2d< real64 >,
143  0,
144  LEVEL_1,
145  WRITE_AND_READ,
146  "ParticleReferencePosition" );
147 }
148 
149 }
150 
151 }
152 
153 #endif // GEOS_PHYSICSSOLVERS_SOLIDMECHANICS_MPMSOLVERBASEFIELDS_HPP_
#define DECLARE_FIELD(NAME, KEY, TYPE, DEFAULT, PLOTLEVEL, RESTARTFLAG, DESCRIPTION)
Generates a traits struct.
Definition: MeshFields.hpp:39