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 INCLUDE_EXADG_COMPRESSIBLE_NAVIER_STOKES_USER_INTERFACE_ENUM_TYPES_H_
23#define INCLUDE_EXADG_COMPRESSIBLE_NAVIER_STOKES_USER_INTERFACE_ENUM_TYPES_H_
24
25#include <string>
26
27namespace ExaDG
28{
29namespace CompNS
30{
31/**************************************************************************************/
32/* */
33/* MATHEMATICAL MODEL */
34/* */
35/**************************************************************************************/
36
37/*
38 * EquationType describes the physical/mathematical model that has to be solved,
39 * i.e., Euler euqations or Navier-Stokes equations
40 */
41enum class EquationType
42{
43 Undefined,
44 Euler,
45 NavierStokes
46};
47
48/*
49 * For energy boundary conditions, one can prescribe the temperature or the energy
50 */
51enum class EnergyBoundaryVariable
52{
53 Undefined,
54 Energy,
55 Temperature
56};
57
58/**************************************************************************************/
59/* */
60/* PHYSICAL QUANTITIES */
61/* */
62/**************************************************************************************/
63
64// there are currently no enums for this section
65
66
67
68/**************************************************************************************/
69/* */
70/* TEMPORAL DISCRETIZATION */
71/* */
72/**************************************************************************************/
73
74/*
75 * Temporal discretization method:
76 *
77 * Explicit Runge-Kutta methods
78 */
79enum class TemporalDiscretization
80{
81 Undefined,
82 ExplRK, // specify order of time integration scheme (order = stages)
83 ExplRK3Stage4Reg2C,
84 ExplRK3Stage7Reg2, // optimized for maximum time step sizes in DG context
85 ExplRK4Stage5Reg2C,
86 ExplRK4Stage8Reg2, // optimized for maximum time step sizes in DG context
87 ExplRK4Stage5Reg3C,
88 ExplRK5Stage9Reg2S,
89 SSPRK // specify order and stages of time integration scheme
90};
91
92/*
93 * calculation of time step size
94 */
95enum class TimeStepCalculation
96{
97 Undefined,
98 UserSpecified,
99 CFL,
100 Diffusion,
101 CFLAndDiffusion
102};
103
104/**************************************************************************************/
105/* */
106/* SPATIAL DISCRETIZATION */
107/* */
108/**************************************************************************************/
109
110/*
111 * QuadratureRule
112 */
113enum class QuadratureRule
114{
115 Standard,
116 Overintegration32k,
117 Overintegration2k
118};
119
120
121/**************************************************************************************/
122/* */
123/* SOLVER */
124/* */
125/**************************************************************************************/
126
127
128
129/**************************************************************************************/
130/* */
131/* OUTPUT AND POSTPROCESSING */
132/* */
133/**************************************************************************************/
134
135
136} // namespace CompNS
137} // namespace ExaDG
138
139
140#endif /* INCLUDE_EXADG_COMPRESSIBLE_NAVIER_STOKES_USER_INTERFACE_ENUM_TYPES_H_ */
Definition driver.cpp:33