ExaDG
Toggle main menu visibility
Loading...
Searching...
No Matches
include
exadg
postprocessor
output_data_base.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_POSTPROCESSOR_OUTPUT_DATA_BASE_H_
23
#define EXADG_POSTPROCESSOR_OUTPUT_DATA_BASE_H_
24
25
// ExaDG
26
#include <exadg/postprocessor/time_control.h>
27
#include <exadg/utilities/print_functions.h>
28
29
namespace
ExaDG
30
{
31
struct
OutputDataBase
32
{
33
OutputDataBase()
34
: directory(
"output/"
),
35
filename(
"name"
),
36
write_surface_mesh(
false
),
37
write_boundary_IDs(
false
),
38
write_grid(
false
),
39
write_aspect_ratio(
false
),
40
write_processor_id(
false
),
41
write_higher_order(
true
),
42
degree(1)
43
{
44
}
45
46
void
47
print(dealii::ConditionalOStream & pcout,
bool
unsteady)
48
{
49
if
(time_control_data.is_active)
50
{
51
time_control_data.print(pcout, unsteady);
52
53
print_parameter(pcout,
"Output directory"
, directory);
54
print_parameter(pcout,
"Name of output files"
, filename);
55
56
print_parameter(pcout,
"Write surface mesh"
, write_surface_mesh);
57
print_parameter(pcout,
"Write boundary IDs"
, write_boundary_IDs);
58
59
print_parameter(pcout,
"Write aspect ratio"
, write_aspect_ratio);
60
print_parameter(pcout,
"Write processor ID"
, write_processor_id);
61
62
print_parameter(pcout,
"Write higher order"
, write_higher_order);
63
print_parameter(pcout,
"Polynomial degree"
, degree);
64
}
65
}
66
67
TimeControlData
time_control_data;
68
69
// output directory
70
std::string directory;
71
72
// name of generated output files
73
std::string filename;
74
75
// this variable decides whether the surface mesh is written separately
76
bool
write_surface_mesh;
77
78
// this variable decides whether a vtk-file is written that allows a visualization of boundary
79
// IDs, e.g., to verify that boundary IDs have been set correctly. Note that in the current
80
// version of deal.II, boundaries with ID = 0 (default) are not visible, but only those with
81
// ID != 0.
82
bool
write_boundary_IDs;
83
84
// write grid output for debug meshing
85
bool
write_grid;
86
87
// write the aspect ratio to check the mesh quality
88
bool
write_aspect_ratio;
89
90
// write processor ID to scalar field in order to visualize the
91
// distribution of cells to processors
92
bool
write_processor_id;
93
94
// write higher order output (NOTE: requires at least ParaView version 5.5, switch off if ParaView
95
// version is lower)
96
bool
write_higher_order;
97
98
// defines polynomial degree used for output (for visualization in ParaView: Properties >
99
// Miscellaneous > Nonlinear Subdivision Level (use a value > 1)) if write_higher_order = true. In
100
// case of write_higher_order = false, this variable defines the number of subdivisions of a cell,
101
// with ParaView using linear interpolation for visualization on these subdivided cells.
102
unsigned
int
degree;
103
};
104
105
}
// namespace ExaDG
106
107
#endif
/* EXADG_POSTPROCESSOR_OUTPUT_DATA_BASE_H_ */
ExaDG
Definition
driver.cpp:33
ExaDG::TimeControlData
Definition
time_control.h:40
Generated by
1.17.0