VICUS Library
Documentation of Vicus library
|
#include <VICUS_OutputDefinition.h>
Public Types | |
enum | timeType_t { OTT_NONE , OTT_MEAN , OTT_INTEGRAL , NUM_OTT } |
Public Attributes | |
VICUS_READWRITE std::string | m_quantity |
timeType_t | m_timeType = NUM_OTT |
std::string | m_sourceObjectType |
std::vector< unsigned int > | m_sourceObjectIds |
std::vector< unsigned int > | m_vectorIds |
std::string | m_gridName |
Defines an output definition. The VICUS output definition is very similar to the NANDRAD::OutputDefinition data structure, but contains some more properties needed for the user interface.
In NANDRAD, the output definition contains a variable name that encodes also the index in case of vector-valued results. The source object is identified via flexibly defined object lists.
The object lists are not available in the VICUS user interface - currently, there is no support for object lists defined by the user. Instead, object lists are created on-the-fly when needed.
Hence, we need to store information about the source object separetely, so that during the NANDRAD project export we can create object lists for similarly referenced output source objects.
Example:
The data for output definitions matches that from the output_reference_list.txt generated during NANDRAD solver init.
Note: OutputDefinitions are globbed during NANDRAD project export into groups sorted by used grid, time type, source object type and quantity, since these define a unique NANDRAD::OutputDefinition. Within the VICUS project, such definitions should be stored uniquely, yet, it does not harm if there are duplicates, since these will be merged during the grouping process.
std::string VICUS::OutputDefinition::m_gridName |
Rerefence name of output grid (corresponds to OutputGrid::m_name).
VICUS_READWRITE std::string VICUS::OutputDefinition::m_quantity |
Name of result variable, for example 'AirTemperature'.
std::vector<unsigned int> VICUS::OutputDefinition::m_sourceObjectIds |
Vector of all vector source object id(s). If this vector has more than one ID, the m_vectorIds vector must be empty.
std::string VICUS::OutputDefinition::m_sourceObjectType |
Type of the source object (this is already a NANDRAD reference type and does not match VICUS object types).
timeType_t VICUS::OutputDefinition::m_timeType = NUM_OTT |
Time type of output definition. If missing, defaults to OTT_NONE.
std::vector<unsigned int> VICUS::OutputDefinition::m_vectorIds |
Vector of all indexes/ids of vector-valued quantities (if this is not empty, the source objects ID vector contains exactly one ID).