NANDRAD Data Model Library  Version 2.0
NANDRAD
NANDRAD Namespace Reference

The namespace NANDRAD contains the data model classes that make up the NANDRAD solver input data. More...

Detailed Description

The namespace NANDRAD contains the data model classes that make up the NANDRAD solver input data.

The main class is NANDRAD::Project.

Classes

class  ArgsParser
 Re-implementation of IBK::SolverArgsParser to add NANDRAD-specific options. More...
 
class  ConstructionInstance
 Defines a wall/floor/ceiling construction instance. More...
 
class  ConstructionType
 Defines a multi-layered construction (without the boundary conditions). More...
 
class  DailyCycle
 Defines the daily course of one or more physical quantities/setpoints. More...
 
class  DataTable
 A data member for a table with named columns. More...
 
class  EmbeddedObject
 An embedded object generally defines a wall opening (a window or a door). More...
 
class  EmbeddedObjectWindow
 Class EmbeddedObjectWindow defines a window and holds parameters for solar radiation flux calculation and heat exchange through the window. More...
 
class  FMIDescription
 Contains all data to generate a modelDescription.xml and configure the NANDRAD FMI Slave. More...
 
class  FMIVariableDefinition
 Definition of an FMI input/output variable and the corresponding value reference info for NANDRAD. More...
 
class  HeatLoadSummationModel
 An model for summation of heat load from different zones, construction instances or networks. More...
 
class  HVACControlModel
 Contains data for a control model that generates control signals for different heating equipment based on thermostat values. More...
 
class  HydraulicFluid
 Properties of a fluid within a network. More...
 
class  HydraulicNetwork
 Contains all data for a hydraulic network. More...
 
class  HydraulicNetworkComponent
 Parameters for a hydraulic component for the network. More...
 
class  HydraulicNetworkControlElement
 This class contains parameters for a controller that is used for network elements. More...
 
class  HydraulicNetworkElement
 Contains data of a flow element inside a network. More...
 
class  HydraulicNetworkHeatExchange
 Encapsulates all data defining heat exchange between flow elements and the environment or other models/elements. More...
 
class  HydraulicNetworkPipeProperties
 Stores data specific for a pipe. More...
 
class  IdealHeatingCoolingModel
 An ideal heating and cooling model. More...
 
class  IdealPipeRegisterModel
 An idealised pipe-register model inside a heated layer of a construction. More...
 
class  IdealSurfaceHeatingCoolingModel
 An ideal heating and cooling model. More...
 
class  IDGroup
 An IDGroup references one or more IDs and handles the encoding/decoding of an IDGroup-string. More...
 
class  Interface
 An Interface identifies a surface of a wall and stores all data that are needed for boundary condition calculation. More...
 
class  InterfaceAirFlow
 Contains parameters for convenctive air flow through construction. More...
 
class  InterfaceHeatConduction
 Contains parameters for convenctive heat exchange between walls and zones/ambient climate. More...
 
class  InterfaceLongWaveEmission
 Contains parameters for long wave radiation exchange (outside). More...
 
class  InterfaceSolarAbsorption
 Parametrization for solar absorption (short wave radiation boundary condition). More...
 
class  InterfaceVaporDiffusion
 Contains parameters for vapor diffusion flux calculation. More...
 
class  InternalLoadsModel
 Contains schedules or constant parameters for internal loads (related to zone area). More...
 
class  Interval
 The class Interval defines intervals of simulation time. More...
 
class  KeywordList
 The class KeywordList provides conversion functionality between keyword strings and their respective enumeration values. More...
 
class  LinearSplineParameter
 Class LinearSplineParameter stores a linear spline curve, the corresponding parameter name and a unit name of both dependend and independend quantity (xUnit, yUnit). More...
 
class  Location
 Class Location specifies climate and climatic loads of the whole building. More...
 
class  Material
 Class containing material data needed in the construction model. More...
 
class  MaterialLayer
 A layer of a multi-layered construction. More...
 
class  ModelInputReference
 Defines a reference type enumeration, used to identify groups of objects with same global access type. More...
 
class  Models
 A container class for all models. More...
 
class  NaturalVentilationModel
 Contains all data for natural ventilation models. More...
 
class  NetworkInterfaceAdapterModel
 A model that computes return temperature based on given supply temperature and mass flow by removing energy from the fluid. More...
 
class  ObjectList
 An ObjectList is used to select model instances based on reference type and ids. More...
 
class  OutputDefinition
 The output definition class selects quantities to be logged. More...
 
class  OutputGrid
 An OutputGrid defines time intervals with a given output step size per interval. More...
 
class  Outputs
 Stores vectors with OutputGrid and OutputDefinition data. More...
 
class  Project
 Contains all input data that describes a room with walls, floor, ceiling, usage, HVAC etc. More...
 
class  ProjectInfo
 Contains meta-information about the project. More...
 
class  Schedule
 Class Schedule defines scheduled parameters in sets of daily cycles. More...
 
class  Schedules
 Schedules define purely time-dependent properties. More...
 
class  Sensor
 A sensor yields a measured component for use by other models/for output purposes. More...
 
class  ShadingControlModel
 Parameters for a intensity controlled shading model with hysteresis. More...
 
class  SimulationParameter
 Simulation parameters define global model settings. More...
 
class  SolarLoadsDistributionModel
 This model stores global parameters related to solar loads distribution in zones. More...
 
class  SolverParameter
 Solver parameters define options/flags related to the numerical engine, and are typically independent of the physical model evaluation. More...
 
class  Thermostat
 Contains data for a thermostat model, that compares the air/operative tempeature with a setpoint and generates either an analog or digital control signal. More...
 
class  WindowDivider
 WindowDivider defines the divider of a window. More...
 
class  WindowFrame
 WindowFrame defines the frame of a window. More...
 
class  WindowGlazingLayer
 WindowGlazingLayer defines a layer of a glazing system (air or glass). More...
 
class  WindowGlazingSystem
 WindowGlazingSystem defines the glazing to be used in a window. More...
 
class  WindowShading
 WindowShading defines a dynamically adjustable shading. More...
 
class  Zone
 A zone defines a thermal zone/room with a single air temperature. More...
 

Functions

TiXmlElement * openXMLFile (const std::map< std::string, IBK::Path > &pathPlaceHolders, const IBK::Path &filename, const std::string &parentXmlTag, TiXmlDocument &doc)
 Attempts to open an XML file, hereby substituting placeholders in the file name and checking if the top-level XML tag matches the requested tag name.
 
void readLinearSplineElement (const TiXmlElement *element, IBK::LinearSpline &spl, std::string &name, IBK::Unit *xunit, IBK::Unit *yunit)
 Reads a linear spline from XML element (with proper error handling). More...
 
void writeLinearSplineElement (TiXmlElement *parent, const std::string &name, const IBK::LinearSpline &spl, const std::string &xunit, const std::string &yunit)
 Writes a linear spline into XML format. More...
 
void readParameterElement (const TiXmlElement *element, IBK::Parameter &p)
 Reads an IBK::Parameter from XML element (with proper error handling). More...
 
void readIntParaElement (const TiXmlElement *element, IBK::IntPara &p)
 Reads an IBK::IntPara from XML element (with proper error handling). More...
 
void readFlagElement (const TiXmlElement *element, IBK::Flag &f)
 Reads an IBK::Flag from XML element (with proper error handling). More...
 
template<typename T >
void readVector (const TiXmlElement *element, const std::string &name, std::vector< T > &vec)
 
template<>
void readVector (const TiXmlElement *element, const std::string &name, std::vector< double > &vec)
 Special implementation for double-type vectors. More...
 
template<typename T >
void writeVector (TiXmlElement *parent, const std::string &name, const std::vector< T > &vec)
 
template<typename T >
readPODAttributeValue (const TiXmlElement *element, const TiXmlAttribute *attrib)
 
template<typename T >
readPODElement (const TiXmlElement *element, const std::string &eName)
 
IBK::Unit readUnitElement (const TiXmlElement *element, const std::string &eName)
 Read an IBK:Unit tag. More...
 
IBK::Time readTimeElement (const TiXmlElement *element, const std::string &eName)
 Read an IBK:Time tag. More...
 
TiXmlElement * writeVector3D (TiXmlElement *parent, const std::string &name, const std::vector< IBKMK::Vector3D > &vec)
 Writes out a vector of Vector3D elements. More...
 
void readVector3D (const TiXmlElement *element, const std::string &name, std::vector< IBKMK::Vector3D > &vec)
 Reads a vector of Vector3D elements. More...
 
template<typename T >
void readPoint2D (const TiXmlElement *element, const std::string &name, IBK::point2D< T > &p)
 
template<>
void readPoint2D (const TiXmlElement *element, const std::string &name, IBK::point2D< double > &p)
 Special implementation for double-type point2D. More...
 
template<typename T >
void writePoint2D (TiXmlElement *parent, const std::string &name, const IBK::point2D< T > &p)
 

Variables

const char *const VERSION
 Version number of the data model and project file. More...
 
const char *const LONG_VERSION
 Long version number of the data model and project file. More...
 
unsigned int INVALID_ID
 defines an invalid id
 
const char * XML_READ_ERROR
 
const char * XML_READ_UNKNOWN_ATTRIBUTE
 
const char * XML_READ_UNKNOWN_ELEMENT
 
const char * XML_READ_UNKNOWN_NAME
 

Function Documentation

◆ readLinearSplineElement()

void NANDRAD::readLinearSplineElement ( const TiXmlElement *  element,
IBK::LinearSpline &  spl,
std::string &  name,
IBK::Unit *  xunit,
IBK::Unit *  yunit 
)

Reads a linear spline from XML element (with proper error handling).

◆ writeLinearSplineElement()

void NANDRAD::writeLinearSplineElement ( TiXmlElement *  parent,
const std::string &  name,
const IBK::LinearSpline &  spl,
const std::string &  xunit,
const std::string &  yunit 
)

Writes a linear spline into XML format.

<IBK:LinearSpline name="MySpline">
<X unit="m">0 1 1.4 2 </X>
<Y unit="C">1 2 3.4 5 </Y>
</IBK:LinearSpline>

◆ readParameterElement()

void NANDRAD::readParameterElement ( const TiXmlElement *  element,
IBK::Parameter &  p 
)

Reads an IBK::Parameter from XML element (with proper error handling).

◆ readIntParaElement()

void NANDRAD::readIntParaElement ( const TiXmlElement *  element,
IBK::IntPara &  p 
)

Reads an IBK::IntPara from XML element (with proper error handling).

◆ readFlagElement()

void NANDRAD::readFlagElement ( const TiXmlElement *  element,
IBK::Flag &  f 
)

Reads an IBK::Flag from XML element (with proper error handling).

◆ readVector()

template<>
void NANDRAD::readVector ( const TiXmlElement *  element,
const std::string &  name,
std::vector< double > &  vec 
)

Special implementation for double-type vectors.

◆ readUnitElement()

IBK::Unit NANDRAD::readUnitElement ( const TiXmlElement *  element,
const std::string &  eName 
)

Read an IBK:Unit tag.

◆ readTimeElement()

IBK::Time NANDRAD::readTimeElement ( const TiXmlElement *  element,
const std::string &  eName 
)

Read an IBK:Time tag.

◆ writeVector3D()

TiXmlElement* NANDRAD::writeVector3D ( TiXmlElement *  parent,
const std::string &  name,
const std::vector< IBKMK::Vector3D > &  vec 
)

Writes out a vector of Vector3D elements.

◆ readVector3D()

void NANDRAD::readVector3D ( const TiXmlElement *  element,
const std::string &  name,
std::vector< IBKMK::Vector3D > &  vec 
)

Reads a vector of Vector3D elements.

◆ readPoint2D()

template<>
void NANDRAD::readPoint2D ( const TiXmlElement *  element,
const std::string &  name,
IBK::point2D< double > &  p 
)

Special implementation for double-type point2D.

Variable Documentation

◆ VERSION

const char* const NANDRAD::VERSION

Version number of the data model and project file.

◆ LONG_VERSION

const char* const NANDRAD::LONG_VERSION

Long version number of the data model and project file.