Seismo-VLAB  1.3
An Open-Source Finite Element Software for Meso-Scale Simulations
Definitions.hpp
Go to the documentation of this file.
1 //==============================================================================
2 //
3 // Seismo Virtual Laboratory
4 // Module for Serial and Parallel Analysis of seismic
5 // wave propagation and soil-structure interaction simulation
6 // Copyright (C) 2018-2021, The California Institute of Technology
7 // All Rights Reserved.
8 //
9 // Commercial use of this program without express permission of the California
10 // Institute of Technology, is strictly prohibited. See file "COPYRIGHT" in
11 // main directory for information on usage and redistribution, and for a
12 // DISCLAIMER OF ALL WARRANTIES.
13 //
14 //==============================================================================
15 //
16 // Written by:
17 // Danilo S. Kusanovic (dkusanov@caltech.edu)
18 // Elnaz E. Seylabi (elnaze@unr.edu)
19 //
20 // Supervised by:
21 // Domniki M. Asimaki (domniki@caltech.edu)
22 //
23 // References :
24 // [1]
25 //
26 // Description:
27 // This file sets the global variables to be used during SeismoVLAB execution.
28 //------------------------------------------------------------------------------
29 
30 #ifndef __DEFINITIONS_HPP__
31 #define __DEFINITIONS_HPP__
32 
33 #include <vector>
34 #include <string>
35 
42 
44 #define PROFILING 0
45 
47 #define UNUSED(x)
48 
50 #define GROUP_ELEMENT_TRUSS 10
51 
53 #define GROUP_ELEMENT_TRIA 11
54 
56 #define GROUP_ELEMENT_QUAD 12
57 
59 #define GROUP_ELEMENT_TETRA 13
60 
62 #define GROUP_ELEMENT_HEXA 14
63 
65 #define GROUP_ELEMENT_FRAME 20
66 
68 #define GROUP_ELEMENT_SHELL 21
69 
71 #define GROUP_ELEMENT_ZERO 31
72 
74 #define GROUP_ELEMENT_PML 32
75 
77 #define GROUP_ELEMENT_BWEN 41
78 
80 #define GROUP_ELEMENT_HDRB 42
81 
83 #define GROUP_ELEMENT_NULL 50
84 
86 #define VTK_POINT 1
87 
89 #define VTK_LINEAR_LINE 3
90 
92 #define VTK_QUADRATIC_LINE 21
93 
95 #define VTK_LINEAR_TRIA 5
96 
98 #define VTK_QUADRATIC_TRIA 22
99 
101 #define VTK_LINEAR_QUAD 9
102 
104 #define VTK_QUADRATIC_QUAD 23
105 
107 #define VTK_LINEAR_TETRA 10
108 
110 #define VTK_QUADRATIC_TETRA 24
111 
113 #define VTK_LINEAR_HEXA 12
114 
116 #define VTK_QUADRATIC_HEXA 25
117 
119 #define POINTLOAD_CONCENTRATED_CONSTANT 1
120 
122 #define POINTLOAD_CONCENTRATED_DYNAMIC 2
123 
125 #define POINTLOAD_BODY_CONSTANT 3
126 
128 #define POINTLOAD_BODY_DYNAMIC 4
129 
131 #define ELEMENTLOAD_SURFACE_CONSTANT 5
132 
134 #define ELEMENTLOAD_SURFACE_DYNAMIC 6
135 
137 #define ELEMENTLOAD_BODY_CONSTANT 7
138 
140 #define ELEMENTLOAD_BODY_DYNAMIC 8
141 
143 #define ELEMENTLOAD_DOMAIN_REDUCTION 9
144 
146 #define POINTLOAD_SUPPORT_MOTION 10
147 
149 extern int rank;
150 
152 extern int size;
153 
155 extern unsigned int nDimensions;
156 
158 extern std::string filePath;
159 
161 extern std::vector<std::string> fileName;
162 
164 extern bool driverFile;
165 
167 extern bool MassFormulation;
168 
170 extern std::string UpdateOption;
171 
173 extern unsigned int LumpedStorage;
174 
176 extern unsigned int ConsistentStorage;
177 
179 extern unsigned int numberOfFreeDofs;
180 
182 extern unsigned int numberOfTotalDofs;
183 
185 extern unsigned int numberOfConstrainedDofs;
186 
188 extern unsigned int PMLStorage;
189 
190 #endif
int rank
The processor number.
unsigned int nDimensions
The problem dimension (1D, 2D, 3D).
unsigned int numberOfConstrainedDofs
Total number of constrained-degree-of-freedom.
unsigned int LumpedStorage
Maximum memory for lumped storage sparse matrix.
std::vector< std::string > fileName
The file name to be loaded.
int size
The number of partitions.
unsigned int ConsistentStorage
Maximum memory for consistent storage sparse matrix.
bool driverFile
Whether the driver (JSON) file is provided.
bool MassFormulation
The element mass formulation.
unsigned int PMLStorage
Maximum memory for PML 3D storage sparse matrix.
std::string filePath
The folder path where the file is loaded.
unsigned int numberOfFreeDofs
Total number of free-degree-of-freedom.
std::string UpdateOption
The update option for member in Mesh.
unsigned int numberOfTotalDofs
Total number of total-degree-of-freedom.