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

Detailed Description

Defines a wall/floor/ceiling construction instance.

A ConstructionInstance contains all information about a wall and possibly embedded objects like windows.

Note that the area parameter stores the gross area of the wall, including all embedded objects. Naturally, their area must not exceed the wall area. A window area that is equal to the wall area is interpreted as a wall consisting of only windows without a construction behind.

Each construction instance stores its surface information inside interface data structures for side A and side B. Side A is besides construction layer with index 0. By default, an interface has no boundary condition information (model types are set to undefined) and hence no fluxes are calculated. There must be at least one interface with valid boundary condition parametrization for a construction instance to be valid. Not referenced wall constructions will still be calculated, as they may serve as storage medium or provide sensor data. However, if not needed, they should be removed to improve performance.

Definition at line 58 of file NANDRAD_ConstructionInstance.h.

#include <NANDRAD_ConstructionInstance.h>

Collaboration diagram for NANDRAD::ConstructionInstance:

Public Types

enum  para_t { P_Orientation, P_Inclination, P_Area, NUM_P }
 Construction-specific parameters required by several models. More...
 

Public Member Functions

NANDRAD_READWRITE NANDRAD_COMPARE_WITH_ID void checkParameters (const Project &prj)
 Checks for valid parameters and stores quick-access pointer to associated construction type. More...
 
bool behavesLike (const ConstructionInstance &other) const
 A special form of comparison operator: tests if the construction would yield the same results as the other construction when being simulated. More...
 
unsigned int interfaceAZoneID () const
 If a valid interface parameter block exists at side A, this function returns the references zone ID, otherwise 0. More...
 
unsigned int interfaceBZoneID () const
 If a valid interface parameter block exists at side B, this function returns the references zone ID, otherwise 0. More...
 
bool connectedTo (unsigned int zoneId) const
 Returns true if construction is connected on either side via existing Interface definition to the zone with given zoneID.
 

Public Attributes

unsigned int m_id = INVALID_ID
 Unique id number. More...
 
std::string m_displayName
 IBK-language encoded name of construction instance. More...
 
unsigned int m_constructionTypeId
 The id number of the corresponding construction type. More...
 
IBK::Parameter m_para [NUM_P]
 List of parameters. More...
 
Interface m_interfaceA
 The interface at side A. More...
 
Interface m_interfaceB
 The interface at side B. More...
 
std::vector< EmbeddedObjectm_embeddedObjects
 All embedded objects. More...
 
double m_netHeatTransferArea = 999
 Cached net transfer area [m2] for heat conduction to room, calculated as difference between P_Area parameter and sum of all embedded object areas (updated in checkParameters()).
 
const NANDRAD::ConstructionTypem_constructionType = nullptr
 Quick-access pointer to the underlying construction type. More...
 

Member Enumeration Documentation

◆ para_t

Construction-specific parameters required by several models.

Enumerator
P_Orientation 

Orientation of the wall [deg].

P_Inclination 

Inclination of the wall [deg].

P_Area 

Gross area of the wall [m2].

Definition at line 62 of file NANDRAD_ConstructionInstance.h.

Member Function Documentation

◆ checkParameters()

NANDRAD_READWRITE NANDRAD_COMPARE_WITH_ID void NANDRAD::ConstructionInstance::checkParameters ( const Project prj)

Checks for valid parameters and stores quick-access pointer to associated construction type.

Material and ConstructionType objects have already been checked for correctness.

Note
This function throws an exception if invalid parameters are defined, parameters are missing, or the construction type ID is invalid/unknown.

◆ behavesLike()

bool NANDRAD::ConstructionInstance::behavesLike ( const ConstructionInstance other) const

A special form of comparison operator: tests if the construction would yield the same results as the other construction when being simulated.

The test checks for:

  • same construction type ID
  • interface objects for locations A and B result in same behavior

◆ interfaceAZoneID()

unsigned int NANDRAD::ConstructionInstance::interfaceAZoneID ( ) const

If a valid interface parameter block exists at side A, this function returns the references zone ID, otherwise 0.

Use this function to check if there is an actual zone (not the outside) connected at this interface.

◆ interfaceBZoneID()

unsigned int NANDRAD::ConstructionInstance::interfaceBZoneID ( ) const

If a valid interface parameter block exists at side B, this function returns the references zone ID, otherwise 0.

Use this function to check if there is an actual zone (not the outside) connected at this interface.

Member Data Documentation

◆ m_id

unsigned int NANDRAD::ConstructionInstance::m_id = INVALID_ID

Unique id number.

Definition at line 113 of file NANDRAD_ConstructionInstance.h.

◆ m_displayName

std::string NANDRAD::ConstructionInstance::m_displayName

IBK-language encoded name of construction instance.

Definition at line 115 of file NANDRAD_ConstructionInstance.h.

◆ m_constructionTypeId

unsigned int NANDRAD::ConstructionInstance::m_constructionTypeId

The id number of the corresponding construction type.

Definition at line 117 of file NANDRAD_ConstructionInstance.h.

◆ m_para

IBK::Parameter NANDRAD::ConstructionInstance::m_para[NUM_P]

List of parameters.

Definition at line 120 of file NANDRAD_ConstructionInstance.h.

◆ m_interfaceA

Interface NANDRAD::ConstructionInstance::m_interfaceA

The interface at side A.

Definition at line 123 of file NANDRAD_ConstructionInstance.h.

◆ m_interfaceB

Interface NANDRAD::ConstructionInstance::m_interfaceB

The interface at side B.

Definition at line 125 of file NANDRAD_ConstructionInstance.h.

◆ m_embeddedObjects

std::vector<EmbeddedObject> NANDRAD::ConstructionInstance::m_embeddedObjects

All embedded objects.

Embedded objects cut out an area of the current construction and substitute wall simulation by an explicit simulation model.

Definition at line 130 of file NANDRAD_ConstructionInstance.h.

◆ m_constructionType

const NANDRAD::ConstructionType* NANDRAD::ConstructionInstance::m_constructionType = nullptr

Quick-access pointer to the underlying construction type.

Definition at line 140 of file NANDRAD_ConstructionInstance.h.


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