NANDRAD Data Model Library  Version 2.0
NANDRAD
NANDRAD_Outputs.h
1 /* The NANDRAD data model library.
2 
3  Copyright (c) 2012-today, Institut für Bauklimatik, TU Dresden, Germany
4 
5  Primary authors:
6  Andreas Nicolai <andreas.nicolai -[at]- tu-dresden.de>
7  Anne Paepcke <anne.paepcke -[at]- tu-dresden.de>
8 
9  This library is part of SIM-VICUS (https://github.com/ghorwin/SIM-VICUS)
10 
11  This library is free software: you can redistribute it and/or modify
12  it under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  This library is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  GNU General Public License for more details.
20 */
21 
22 #ifndef NANDRAD_OutputsH
23 #define NANDRAD_OutputsH
24 
25 #include <string>
26 #include <vector>
27 
28 #include <IBK_Unit.h>
29 #include <IBK_Flag.h>
30 
31 #include "NANDRAD_OutputGrid.h"
32 #include "NANDRAD_OutputDefinition.h"
33 #include "NANDRAD_CodeGenMacros.h"
34 
35 namespace NANDRAD {
36 
37 /*! Stores vectors with OutputGrid and OutputDefinition data. */
38 class Outputs {
39  NANDRAD_READWRITE_PRIVATE
40 public:
41 
42  // *** PUBLIC MEMBER FUNCTIONS ***
43 
44  NANDRAD_READWRITE_IFNOTEMPTY(Outputs)
45  NANDRAD_COMP(Outputs)
46 
47  // *** PUBLIC MEMBER VARIABLES ***
48 
49  /*! List with output (file) definitions. */
50  std::vector<OutputDefinition> m_definitions; // XML:E
51 
52  /*! List with output grids. */
53  std::vector<OutputGrid> m_grids; // XML:E
54 
55  /*! (optional) The time unit to be used in all output files.
56  If not set (undefined unit), the time unit is selected automatically
57  based on the simulation duration.
58  */
59  IBK::Unit m_timeUnit; // XML:E
60 
61  /*! (optional) If true, output files are written in binary format (the default, if flag is missing). */
62  IBK::Flag m_binaryFormat; // XML:E
63 
64 };
65 
66 
67 } // namespace NANDRAD
68 
69 #endif // NANDRAD_OutputsH
An OutputGrid defines time intervals with a given output step size per interval.
IBK::Unit m_timeUnit
(optional) The time unit to be used in all output files.
std::vector< OutputDefinition > m_definitions
List with output (file) definitions.
Stores vectors with OutputGrid and OutputDefinition data.
The output definition class selects quantities to be logged.
IBK::Flag m_binaryFormat
(optional) If true, output files are written in binary format (the default, if flag is missing)...
The namespace NANDRAD contains the data model classes that make up the NANDRAD solver input data...
std::vector< OutputGrid > m_grids
List with output grids.