NANDRAD Data Model Library  Version 2.0
NANDRAD
NANDRAD_Material.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_MaterialH
23 #define NANDRAD_MaterialH
24 
25 #include <IBK_Parameter.h>
26 
27 #include "NANDRAD_CodeGenMacros.h"
28 
29 namespace NANDRAD {
30 
31 /*! Class containing material data needed in the construction model. */
32 class Material {
33 public:
34 
35  /*! Basic parameters. */
36  enum para_t {
37  /*! Dry density of the material. */
38  P_Density, // Keyword: Density [kg/m3] 'Dry density of the material.'
39  /*! Specific heat capacity of the material. */
40  P_HeatCapacity, // Keyword: HeatCapacity [J/kgK] 'Specific heat capacity of the material.'
41  /*! Thermal conductivity of the dry material. */
42  P_Conductivity, // Keyword: Conductivity [W/mK] 'Thermal conductivity of the dry material.'
43  NUM_P
44  };
45 
46  // *** PUBLIC MEMBER FUNCTIONS ***
47 
48  NANDRAD_READWRITE
49  NANDRAD_COMP(Material)
50  NANDRAD_COMPARE_WITH_ID
51 
52  /*! Returns true, if all parameters are the same (id and displayname are ignored). */
53  bool behavesLike(const Material & other) const;
54 
55  /*! Checks for valid parameters (value ranges). */
56  void checkParameters() const;
57 
58  // *** PUBLIC MEMBER VARIABLES ***
59 
60  /*! Unique id number. */
61  unsigned int m_id; // XML:A:required
62  /*! Display name of material. */
63  std::string m_displayName; // XML:A
64  /*! List of parameters. */
65  IBK::Parameter m_para[NUM_P]; // XML:E
66 
67 };
68 
69 } // namespace NANDRAD
70 
71 #endif // NANDRAD_MaterialH
para_t
Basic parameters.
Class containing material data needed in the construction model.
std::string m_displayName
Display name of material.
unsigned int m_id
Unique id number.
NANDRAD_READWRITE NANDRAD_COMPARE_WITH_ID bool behavesLike(const Material &other) const
Returns true, if all parameters are the same (id and displayname are ignored).
Specific heat capacity of the material.
void checkParameters() const
Checks for valid parameters (value ranges).
The namespace NANDRAD contains the data model classes that make up the NANDRAD solver input data...
Dry density of the material.
IBK::Parameter m_para[NUM_P]
List of parameters.
Thermal conductivity of the dry material.