NANDRAD Data Model Library  Version 2.0
NANDRAD
NANDRAD_IdealHeatingCoolingModel.h
1 /* The NANDRAD data model library.
2 
3  Copyright (c) 2012-today, Institut für Bauklimatik, TU Dresden, Germany
4 
5  Primary authors:
6  Andreas Nicolai <andreas.nicolai -[at]- tu-dresden.de>
7  Anne Paepcke <anne.paepcke -[at]- tu-dresden.de>
8 
9  This library is part of SIM-VICUS (https://github.com/ghorwin/SIM-VICUS)
10 
11  This library is free software: you can redistribute it and/or modify
12  it under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  This library is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  GNU General Public License for more details.
20 */
21 
22 #ifndef NANDRAD_IdealHeatingCoolingModelH
23 #define NANDRAD_IdealHeatingCoolingModelH
24 
25 #include <IBK_Parameter.h>
26 
27 #include "NANDRAD_Constants.h"
28 #include "NANDRAD_CodeGenMacros.h"
29 
30 namespace NANDRAD {
31 
32 /*! An ideal heating and cooling model. Basically scales a heating/cooling control signal with
33  the nominal heating power per zone.
34 */
36 public:
37  /*! Model parameters. */
38  enum para_t {
39  P_MaxHeatingPowerPerArea, // Keyword: MaxHeatingPowerPerArea [W/m2] 'Maximum heating power per floor area'
40  P_MaxCoolingPowerPerArea, // Keyword: MaxCoolingPowerPerArea [W/m2] 'Maximum cooling power per floor area'
41  P_Kp, // Keyword: Kp [---] 'Kp-parameter'
42  P_Ki, // Keyword: Ki [---] 'Ki-parameter'
43  NUM_P
44  };
45 
46  NANDRAD_READWRITE
47  NANDRAD_COMPARE_WITH_ID
48 
49  /*! Checks parameters for valid values. */
50  void checkParameters() const;
51 
52  /*! Comparies objects by physical parametrization (excluding ID and displayname and object list). */
53  bool equal(const IdealHeatingCoolingModel & other) const;
54 
55  /*! Unique ID-number for this model. */
56  unsigned int m_id = NANDRAD::INVALID_ID; // XML:A:required
57  /*! Some display/comment name for this model (optional). */
58  std::string m_displayName; // XML:A
59 
60  /*! Object list with zones that this model is to be apply to. */
61  std::string m_zoneObjectList; // XML:E:required
62 
63  /*! Parameters. */
64  IBK::Parameter m_para[NUM_P]; // XML:E
65 };
66 
67 } // namespace NANDRAD
68 
69 #endif // NANDRAD_IdealHeatingCoolingModelH
std::string m_zoneObjectList
Object list with zones that this model is to be apply to.
bool equal(const IdealHeatingCoolingModel &other) const
Comparies objects by physical parametrization (excluding ID and displayname and object list)...
Contains global constants for the Nandrad data model.
IBK::Parameter m_para[NUM_P]
Parameters.
unsigned int INVALID_ID
defines an invalid id
unsigned int m_id
Unique ID-number for this model.
NANDRAD_READWRITE NANDRAD_COMPARE_WITH_ID void checkParameters() const
Checks parameters for valid values.
The namespace NANDRAD contains the data model classes that make up the NANDRAD solver input data...
An ideal heating and cooling model.
std::string m_displayName
Some display/comment name for this model (optional).