NANDRAD Data Model Library  Version 2.0
NANDRAD
NANDRAD::DailyCycle Class Reference

Detailed Description

Defines the daily course of one or more physical quantities/setpoints.

The m_interpolation parameter defines how the tabulated data is interpreted.

If m_interpolation == IT_CONSTANT, then the following rules apply:

  • the time points in m_timePoints are interpreted as start of the next interval
  • the first time point must be always 0, the last one must be < 24 h,
  • the corresponding value is taken as constant during this interval

For example, a time point vector "0 6 18" defines three intervals: 0-6, 6-18, 18-24 and the data table must contain exactly 3 values.

If m_interpolation == IT_LINEAR, then the following rules apply:

  • the time points in m_timePoints are points in time where associated values are given
  • the first time point must be always 0, the last one must be < 24 h, because in cyclic usage, the time point at 24 h will be the same as for 0 h (and likewise the scheduled values)
  • between time points the values are linearly interpolated

Definition at line 54 of file NANDRAD_DailyCycle.h.

#include <NANDRAD_DailyCycle.h>

Collaboration diagram for NANDRAD::DailyCycle:

Classes

struct  valueData_t
 This structure holds the data for a single parameter stored in this DailyCycle. More...
 

Public Types

enum  interpolation_t { IT_Constant, IT_Linear, NUM_IT }
 Interpolation method for daily cycle data. More...
 

Public Member Functions

NANDRAD_READWRITE void prepareCalculation ()
 Checks for valid parametrization and generates m_valueNames, m_valueUnits and m_valueData. More...
 

Public Attributes

interpolation_t m_interpolation = NUM_IT
 Value interpolation method. More...
 
std::vector< double > m_timePoints
 Time points in [h], must be strictly monotonically increasing, first must be 0, last must be less than 24. More...
 
DataTable m_values
 Actual values, key of m_values.m_values is physical quantity/setpoint/... More...
 
std::vector< valueData_tm_valueData
 Extracted data of all variables. More...
 

Member Enumeration Documentation

◆ interpolation_t

Interpolation method for daily cycle data.

Note that for constant values some ramping may be used to smoothen out the steps. If not set, IT_LINEAR is used.

Enumerator
IT_Constant 

Constant values in defined intervals.

IT_Linear 

Linear interpolation between values.

Definition at line 61 of file NANDRAD_DailyCycle.h.

Member Function Documentation

◆ prepareCalculation()

NANDRAD_READWRITE void NANDRAD::DailyCycle::prepareCalculation ( )

Checks for valid parametrization and generates m_valueNames, m_valueUnits and m_valueData.

Member Data Documentation

◆ m_interpolation

interpolation_t NANDRAD::DailyCycle::m_interpolation = NUM_IT

Value interpolation method.

Definition at line 101 of file NANDRAD_DailyCycle.h.

◆ m_timePoints

std::vector<double> NANDRAD::DailyCycle::m_timePoints

Time points in [h], must be strictly monotonically increasing, first must be 0, last must be less than 24.

Definition at line 104 of file NANDRAD_DailyCycle.h.

◆ m_values

DataTable NANDRAD::DailyCycle::m_values

Actual values, key of m_values.m_values is physical quantity/setpoint/...

scheduled quantity, value is vector with values, same number of values as in m_timePoints.

Definition at line 109 of file NANDRAD_DailyCycle.h.

◆ m_valueData

std::vector<valueData_t> NANDRAD::DailyCycle::m_valueData

Extracted data of all variables.

Definition at line 114 of file NANDRAD_DailyCycle.h.


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