Seismo-VLAB  1.3
An Open-Source Finite Element Software for Meso-Scale Simulations
Definitions.hpp File Reference

This file sets the global variables to be used during SeismoVLAB execution. More...

#include <vector>
#include <string>
Include dependency graph for Definitions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PROFILING   0
 Define if profiler is active (0: no profile, 1: profile code) More...
 
#define UNUSED(x)
 Define macro for unused parameter. More...
 
#define GROUP_ELEMENT_TRUSS   10
 Define group of truss elements, i.e, linear and quadratic for ParaView visualization. More...
 
#define GROUP_ELEMENT_TRIA   11
 Define group of triangular elements, i.e, linear and quadratic for ParaView visualization. More...
 
#define GROUP_ELEMENT_QUAD   12
 Define group of quadrilateral elements, i.e, linear and quadratic for ParaView visualization. More...
 
#define GROUP_ELEMENT_TETRA   13
 Define group of tetrahedra elements, i.e, linear and quadratic for ParaView visualization. More...
 
#define GROUP_ELEMENT_HEXA   14
 Define group of hexahedra elements, i.e, linear and quadratic for ParaView visualization. More...
 
#define GROUP_ELEMENT_FRAME   20
 Define group of frame elements, i.e, linear and quadratic for ParaView visualization. More...
 
#define GROUP_ELEMENT_SHELL   21
 Define group of shell elements, i.e, linear and quadratic for ParaView visualization. More...
 
#define GROUP_ELEMENT_ZERO   31
 Define group of zero length elements, i.e, linear and quadratic for ParaView visualization. More...
 
#define GROUP_ELEMENT_PML   32
 Define group of perfectly-matched layer elements, i.e, linear and quadratic for ParaView visualization. More...
 
#define GROUP_ELEMENT_BWEN   41
 Define group of bouc-wen device elements, i.e, linear and quadratic for ParaView visualization. More...
 
#define GROUP_ELEMENT_HDRB   42
 Define group of high-damping rubber bearing device elements, i.e, linear and quadratic for ParaView visualization. More...
 
#define GROUP_ELEMENT_NULL   50
 Define group of null elements, i.e, linear and quadratic for ParaView visualization. More...
 
#define VTK_POINT   1
 Define ParaView VTK point (1 nodes) element types. More...
 
#define VTK_LINEAR_LINE   3
 Define ParaView VTK line (2 nodes) element types. More...
 
#define VTK_QUADRATIC_LINE   21
 Define ParaView VTK line (3 nodes) element types. More...
 
#define VTK_LINEAR_TRIA   5
 Define ParaView VTK triangular (2 nodes) element types. More...
 
#define VTK_QUADRATIC_TRIA   22
 Define ParaView VTK triangular (3 nodes) element types. More...
 
#define VTK_LINEAR_QUAD   9
 Define ParaView VTK quadrilateral (4 nodes) element types. More...
 
#define VTK_QUADRATIC_QUAD   23
 Define ParaView VTK quadrilateral (8 nodes) element types. More...
 
#define VTK_LINEAR_TETRA   10
 Define ParaView VTK tetrahedron (4 nodes) element types. More...
 
#define VTK_QUADRATIC_TETRA   24
 Define ParaView VTK tetrahedron (10 nodes) element types. More...
 
#define VTK_LINEAR_HEXA   12
 Define ParaView VTK hexahedron (8 nodes) element types. More...
 
#define VTK_QUADRATIC_HEXA   25
 Define ParaView VTK hexahedron (20 nodes) element types. More...
 
#define POINTLOAD_CONCENTRATED_CONSTANT   1
 Define global load pattern constant concentrated load. More...
 
#define POINTLOAD_CONCENTRATED_DYNAMIC   2
 Define global load pattern time dependant concentrated load. More...
 
#define POINTLOAD_BODY_CONSTANT   3
 Define global load pattern for a node body load. More...
 
#define POINTLOAD_BODY_DYNAMIC   4
 Define global load pattern time dependant for a body load. More...
 
#define ELEMENTLOAD_SURFACE_CONSTANT   5
 Define global load pattern for a constant surface load. More...
 
#define ELEMENTLOAD_SURFACE_DYNAMIC   6
 Define global load pattern for a time dependant surface load. More...
 
#define ELEMENTLOAD_BODY_CONSTANT   7
 Define global load pattern for a constant body load. More...
 
#define ELEMENTLOAD_BODY_DYNAMIC   8
 Define global load pattern for a time dependant body load. More...
 
#define ELEMENTLOAD_DOMAIN_REDUCTION   9
 Define global load pattern time dependant general wave load. More...
 
#define POINTLOAD_SUPPORT_MOTION   10
 Define global load pattern constant/time-dependant support motion load. More...
 

Variables

int rank
 The processor number. More...
 
int size
 The number of partitions. More...
 
unsigned int nDimensions
 The problem dimension (1D, 2D, 3D). More...
 
std::string filePath
 The folder path where the file is loaded. More...
 
std::vector< std::string > fileName
 The file name to be loaded. More...
 
bool driverFile
 Whether the driver (JSON) file is provided. More...
 
bool MassFormulation
 The element mass formulation. More...
 
std::string UpdateOption
 The update option for member in Mesh. More...
 
unsigned int LumpedStorage
 Maximum memory for lumped storage sparse matrix. More...
 
unsigned int ConsistentStorage
 Maximum memory for consistent storage sparse matrix. More...
 
unsigned int numberOfFreeDofs
 Total number of free-degree-of-freedom. More...
 
unsigned int numberOfTotalDofs
 Total number of total-degree-of-freedom. More...
 
unsigned int numberOfConstrainedDofs
 Total number of constrained-degree-of-freedom. More...
 
unsigned int PMLStorage
 Maximum memory for PML 3D storage sparse matrix. More...
 

Detailed Description

This file sets the global variables to be used during SeismoVLAB execution.

Author
Danilo S. Kusanovic (dkusa.nosp@m.nov@.nosp@m.calte.nosp@m.ch.e.nosp@m.du)
Date
June 9, 2020
Version
1.0
See also
Utilities.hpp and Profiler.hpp

Macro Definition Documentation

◆ ELEMENTLOAD_BODY_CONSTANT

#define ELEMENTLOAD_BODY_CONSTANT   7

Define global load pattern for a constant body load.

◆ ELEMENTLOAD_BODY_DYNAMIC

#define ELEMENTLOAD_BODY_DYNAMIC   8

Define global load pattern for a time dependant body load.

◆ ELEMENTLOAD_DOMAIN_REDUCTION

#define ELEMENTLOAD_DOMAIN_REDUCTION   9

Define global load pattern time dependant general wave load.

◆ ELEMENTLOAD_SURFACE_CONSTANT

#define ELEMENTLOAD_SURFACE_CONSTANT   5

Define global load pattern for a constant surface load.

◆ ELEMENTLOAD_SURFACE_DYNAMIC

#define ELEMENTLOAD_SURFACE_DYNAMIC   6

Define global load pattern for a time dependant surface load.

◆ GROUP_ELEMENT_BWEN

#define GROUP_ELEMENT_BWEN   41

Define group of bouc-wen device elements, i.e, linear and quadratic for ParaView visualization.

◆ GROUP_ELEMENT_FRAME

#define GROUP_ELEMENT_FRAME   20

Define group of frame elements, i.e, linear and quadratic for ParaView visualization.

◆ GROUP_ELEMENT_HDRB

#define GROUP_ELEMENT_HDRB   42

Define group of high-damping rubber bearing device elements, i.e, linear and quadratic for ParaView visualization.

◆ GROUP_ELEMENT_HEXA

#define GROUP_ELEMENT_HEXA   14

Define group of hexahedra elements, i.e, linear and quadratic for ParaView visualization.

◆ GROUP_ELEMENT_NULL

#define GROUP_ELEMENT_NULL   50

Define group of null elements, i.e, linear and quadratic for ParaView visualization.

◆ GROUP_ELEMENT_PML

#define GROUP_ELEMENT_PML   32

Define group of perfectly-matched layer elements, i.e, linear and quadratic for ParaView visualization.

◆ GROUP_ELEMENT_QUAD

#define GROUP_ELEMENT_QUAD   12

Define group of quadrilateral elements, i.e, linear and quadratic for ParaView visualization.

◆ GROUP_ELEMENT_SHELL

#define GROUP_ELEMENT_SHELL   21

Define group of shell elements, i.e, linear and quadratic for ParaView visualization.

◆ GROUP_ELEMENT_TETRA

#define GROUP_ELEMENT_TETRA   13

Define group of tetrahedra elements, i.e, linear and quadratic for ParaView visualization.

◆ GROUP_ELEMENT_TRIA

#define GROUP_ELEMENT_TRIA   11

Define group of triangular elements, i.e, linear and quadratic for ParaView visualization.

◆ GROUP_ELEMENT_TRUSS

#define GROUP_ELEMENT_TRUSS   10

Define group of truss elements, i.e, linear and quadratic for ParaView visualization.

◆ GROUP_ELEMENT_ZERO

#define GROUP_ELEMENT_ZERO   31

Define group of zero length elements, i.e, linear and quadratic for ParaView visualization.

◆ POINTLOAD_BODY_CONSTANT

#define POINTLOAD_BODY_CONSTANT   3

Define global load pattern for a node body load.

◆ POINTLOAD_BODY_DYNAMIC

#define POINTLOAD_BODY_DYNAMIC   4

Define global load pattern time dependant for a body load.

◆ POINTLOAD_CONCENTRATED_CONSTANT

#define POINTLOAD_CONCENTRATED_CONSTANT   1

Define global load pattern constant concentrated load.

◆ POINTLOAD_CONCENTRATED_DYNAMIC

#define POINTLOAD_CONCENTRATED_DYNAMIC   2

Define global load pattern time dependant concentrated load.

◆ POINTLOAD_SUPPORT_MOTION

#define POINTLOAD_SUPPORT_MOTION   10

Define global load pattern constant/time-dependant support motion load.

◆ PROFILING

#define PROFILING   0

Define if profiler is active (0: no profile, 1: profile code)

◆ UNUSED

#define UNUSED (   x)

Define macro for unused parameter.

◆ VTK_LINEAR_HEXA

#define VTK_LINEAR_HEXA   12

Define ParaView VTK hexahedron (8 nodes) element types.

◆ VTK_LINEAR_LINE

#define VTK_LINEAR_LINE   3

Define ParaView VTK line (2 nodes) element types.

◆ VTK_LINEAR_QUAD

#define VTK_LINEAR_QUAD   9

Define ParaView VTK quadrilateral (4 nodes) element types.

◆ VTK_LINEAR_TETRA

#define VTK_LINEAR_TETRA   10

Define ParaView VTK tetrahedron (4 nodes) element types.

◆ VTK_LINEAR_TRIA

#define VTK_LINEAR_TRIA   5

Define ParaView VTK triangular (2 nodes) element types.

◆ VTK_POINT

#define VTK_POINT   1

Define ParaView VTK point (1 nodes) element types.

◆ VTK_QUADRATIC_HEXA

#define VTK_QUADRATIC_HEXA   25

Define ParaView VTK hexahedron (20 nodes) element types.

◆ VTK_QUADRATIC_LINE

#define VTK_QUADRATIC_LINE   21

Define ParaView VTK line (3 nodes) element types.

◆ VTK_QUADRATIC_QUAD

#define VTK_QUADRATIC_QUAD   23

Define ParaView VTK quadrilateral (8 nodes) element types.

◆ VTK_QUADRATIC_TETRA

#define VTK_QUADRATIC_TETRA   24

Define ParaView VTK tetrahedron (10 nodes) element types.

◆ VTK_QUADRATIC_TRIA

#define VTK_QUADRATIC_TRIA   22

Define ParaView VTK triangular (3 nodes) element types.

Variable Documentation

◆ ConsistentStorage

unsigned int ConsistentStorage

Maximum memory for consistent storage sparse matrix.

◆ driverFile

bool driverFile

Whether the driver (JSON) file is provided.

◆ fileName

std::vector<std::string> fileName

The file name to be loaded.

◆ filePath

std::string filePath

The folder path where the file is loaded.

◆ LumpedStorage

unsigned int LumpedStorage

Maximum memory for lumped storage sparse matrix.

◆ MassFormulation

bool MassFormulation

The element mass formulation.

◆ nDimensions

unsigned int nDimensions

The problem dimension (1D, 2D, 3D).

◆ numberOfConstrainedDofs

unsigned int numberOfConstrainedDofs

Total number of constrained-degree-of-freedom.

◆ numberOfFreeDofs

unsigned int numberOfFreeDofs

Total number of free-degree-of-freedom.

◆ numberOfTotalDofs

unsigned int numberOfTotalDofs

Total number of total-degree-of-freedom.

◆ PMLStorage

unsigned int PMLStorage

Maximum memory for PML 3D storage sparse matrix.

◆ rank

int rank

The processor number.

◆ size

int size

The number of partitions.

◆ UpdateOption

std::string UpdateOption

The update option for member in Mesh.