ExaDG
Loading...
Searching...
No Matches
enum_types.h
1/* ______________________________________________________________________
2 *
3 * ExaDG - High-Order Discontinuous Galerkin for the Exa-Scale
4 *
5 * Copyright (C) 2021 by the ExaDG authors
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <https://www.gnu.org/licenses/>.
19 * ______________________________________________________________________
20 */
21
22#ifndef EXADG_STRUCTURE_USER_INTERFACE_ENUM_TYPES_H_
23#define EXADG_STRUCTURE_USER_INTERFACE_ENUM_TYPES_H_
24
25// C/C++
26#include <string>
27
28namespace ExaDG
29{
30namespace Structure
31{
32/**************************************************************************************/
33/* */
34/* MATHEMATICAL MODEL */
35/* */
36/**************************************************************************************/
37
38/*
39 * ProblemType describes whether a steady or an unsteady problem has to be solved
40 */
41enum class ProblemType
42{
43 Undefined,
44 Steady,
45 QuasiStatic,
46 Unsteady
47};
48
49enum class Type2D
50{
51 Undefined,
52 PlaneStress,
53 PlaneStrain
54};
55
56enum class MaterialType
57{
58 Undefined,
59 StVenantKirchhoff,
60 IncompressibleNeoHookean
61};
62
63/**************************************************************************************/
64/* */
65/* PHYSICAL QUANTITIES */
66/* */
67/**************************************************************************************/
68
69// there are currently no enums for this section
70
71
72
73/**************************************************************************************/
74/* */
75/* TEMPORAL DISCRETIZATION */
76/* */
77/**************************************************************************************/
78
79// there are currently no enums for this section
80
81
82
83/**************************************************************************************/
84/* */
85/* SPATIAL DISCRETIZATION */
86/* */
87/**************************************************************************************/
88
89// there are currently no enums for this section
90
91
92
93/**************************************************************************************/
94/* */
95/* SOLVER */
96/* */
97/**************************************************************************************/
98
99/*
100 * Solver for linear system of equations
101 */
102enum class Solver
103{
104 Undefined,
105 CG,
106 BiCGStab,
107 GMRES,
108 FGMRES
109};
110
111/*
112 * Preconditioner type for solution of linear system of equations
113 */
114enum class Preconditioner
115{
116 None,
117 PointJacobi,
118 AdditiveSchwarz,
119 Multigrid,
120 AMG
121};
122
123/**************************************************************************************/
124/* */
125/* OUTPUT AND POSTPROCESSING */
126/* */
127/**************************************************************************************/
128
129// there are currently no enums for this section
130
131} // namespace Structure
132} // namespace ExaDG
133
134#endif /* EXADG_STRUCTURE_USER_INTERFACE_ENUM_TYPES_H_ */
Definition driver.cpp:33