VICUS Library
Documentation of Vicus library
Loading...
Searching...
No Matches
VICUS::OutputDefinition Class Reference

#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
 

Detailed Description

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:

  • we define a zonal output "AirTemperature"
  • the user selects zones 1,5 and 10 as object sources

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.

Member Enumeration Documentation

◆ timeType_t

Different options to handle time averaging/integration.

Enumerator
OTT_NONE 

Write outputs as calculated at output time points.

OTT_MEAN 

Average value in last output interval.

OTT_INTEGRAL 

Time integral of output value.

NUM_OTT 

Member Data Documentation

◆ m_gridName

std::string VICUS::OutputDefinition::m_gridName

Rerefence name of output grid (corresponds to OutputGrid::m_name).

◆ m_quantity

VICUS_READWRITE std::string VICUS::OutputDefinition::m_quantity

Name of result variable, for example 'AirTemperature'.

Note
While NANDRAD::OutputDefinition stores IDs of vector-valued quantities in [], for example 'ThermalLoad[2]', VICUS::OutputDefinition holds only the quantity name itself in member m_quantity, and the vector IDs separately in member m_vectorIds.

◆ m_sourceObjectIds

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.

◆ m_sourceObjectType

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).

◆ m_timeType

timeType_t VICUS::OutputDefinition::m_timeType = NUM_OTT

Time type of output definition. If missing, defaults to OTT_NONE.

◆ m_vectorIds

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).


The documentation for this class was generated from the following file: