ExaDG
Toggle main menu visibility
Loading...
Searching...
No Matches
include
exadg
acoustic_conservation_equations
user_interface
parameters.h
1
/* ______________________________________________________________________
2
*
3
* ExaDG - High-Order Discontinuous Galerkin for the Exa-Scale
4
*
5
* Copyright (C) 2023 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_ACOUSTIC_CONSERVATION_EQUATIONS_USER_INTERFACE_PARAMETERS_H_
23
#define EXADG_ACOUSTIC_CONSERVATION_EQUATIONS_USER_INTERFACE_PARAMETERS_H_
24
25
// deal.II
26
#include <deal.II/base/conditional_ostream.h>
27
28
// ExaDG
29
#include <exadg/acoustic_conservation_equations/user_interface/enum_types.h>
30
#include <exadg/grid/grid_data.h>
31
#include <exadg/operators/inverse_mass_parameters.h>
32
#include <exadg/time_integration/enum_types.h>
33
#include <exadg/time_integration/restart_data.h>
34
#include <exadg/time_integration/solver_info_data.h>
35
36
namespace
ExaDG
37
{
38
namespace
Acoustics
39
{
40
class
Parameters
41
{
42
public
:
43
// standard constructor that initializes parameters
44
Parameters();
45
46
void
47
check()
const
;
48
49
void
50
print(dealii::ConditionalOStream
const
& pcout, std::string
const
& name)
const
;
51
52
private
:
53
void
54
print_parameters_mathematical_model(dealii::ConditionalOStream
const
& pcout)
const
;
55
56
void
57
print_parameters_physical_quantities(dealii::ConditionalOStream
const
& pcout)
const
;
58
59
void
60
print_parameters_temporal_discretization(dealii::ConditionalOStream
const
& pcout)
const
;
61
62
void
63
print_parameters_spatial_discretization(dealii::ConditionalOStream
const
& pcout)
const
;
64
65
public
:
66
/**************************************************************************************/
67
/* */
68
/* MATHEMATICAL MODEL */
69
/* */
70
/**************************************************************************************/
71
72
// description: see enum declaration
73
Formulation formulation;
74
75
// if there are acoustic source terms, set right_hand_side = true
76
bool
right_hand_side;
77
78
// Use the aero-acoustic source term that is internally computed from the fluid solution
79
bool
aero_acoustic_source_term;
80
81
/**************************************************************************************/
82
/* */
83
/* PHYSICAL QUANTITIES */
84
/* */
85
/**************************************************************************************/
86
87
// start time of simulation
88
double
start_time;
89
90
// end time of simulation
91
double
end_time;
92
93
// speed_of_sound of underlying fluid
94
double
speed_of_sound;
95
96
/**************************************************************************************/
97
/* */
98
/* TEMPORAL DISCRETIZATION */
99
/* */
100
/**************************************************************************************/
101
102
// description: see enum declaration
103
TimeStepCalculation calculation_of_time_step_size;
104
105
// cfl number: note that this cfl number is the first in a series of cfl numbers
106
// when performing temporal convergence tests, i.e., cfl_real = cfl, cfl/2, cfl/4, ...
107
double
cfl;
108
109
// dt = CFL/max(k_p,k_u)^{exp} * h / c
110
double
cfl_exponent_fe_degree;
111
112
// user specified time step size: note that this time_step_size is the first
113
// in a series of time_step_size's when performing temporal convergence tests,
114
// i.e., delta_t = time_step_size, time_step_size/2, ...
115
double
time_step_size;
116
117
// maximum number of time steps
118
unsigned
int
max_number_of_time_steps;
119
120
// number of refinements for temporal discretization
121
unsigned
int
n_refine_time;
122
123
// order of time integration scheme
124
unsigned
int
order_time_integrator;
125
126
// start time integrator with low order time integrator, i.e., first order Euler method
127
bool
start_with_low_order;
128
129
// set this variable to true to start the simulation from restart files
130
bool
restarted_simulation;
131
132
// use adaptive timestepping
133
bool
adaptive_time_stepping;
134
135
// restart
136
RestartData
restart_data;
137
138
// show solver performance (wall time, number of iterations)
139
SolverInfoData
solver_info_data;
140
141
/**************************************************************************************/
142
/* */
143
/* SPATIAL DISCRETIZATION */
144
/* */
145
/**************************************************************************************/
146
147
// Grid data
148
GridData
grid;
149
150
// Mapping
151
unsigned
int
mapping_degree;
152
153
// Polynomial degree of velocity shape functions
154
unsigned
int
degree_u;
155
156
// Polynomial degree of pressure shape functions
157
unsigned
int
degree_p;
158
};
159
160
}
// namespace Acoustics
161
}
// namespace ExaDG
162
163
#endif
/* EXADG_ACOUSTIC_CONSERVATION_EQUATIONS_USER_INTERFACE_PARAMETERS_H_ */
ExaDG
Definition
driver.cpp:33
ExaDG::GridData
Definition
grid_data.h:88
ExaDG::RestartData
Definition
restart_data.h:84
ExaDG::SolverInfoData
Definition
solver_info_data.h:38
Generated by
1.17.0