NANDRAD Data Model Library  Version 2.0
NANDRAD
NANDRAD_SolarLoadsDistributionModel.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_SolarLoadsDistributionModelH
23 #define NANDRAD_SolarLoadsDistributionModelH
24 
25 #include <IBK_Parameter.h>
26 
27 #include "NANDRAD_CodeGenMacros.h"
28 
29 namespace NANDRAD {
30 
31 /*! This model stores global parameters related to solar loads distribution in zones.
32 */
34  NANDRAD_READWRITE_PRIVATE
35 public:
36  /*! Short wave radiation model variant. */
38  /*! Short wave radiation on surfaces is distributed area-weighted. */
39  SWR_AreaWeighted, // Keyword: AreaWeighted 'Distribution based on surface area'
40  /*! Short wave radiation on surface is distributed based on surface type (see P_RadiationLoadFractionFloor, P_RadiationLoadFractionCeiling and P_RadiationLoadFractionWalls). */
41  SWR_SurfaceTypeFactor, // Keyword: SurfaceTypeFactor 'Distribution based on surface type'
42  /*! Short wave radiation on surface is distributed via view factor table (defined in each zone). */
43  SWR_ViewFactor, // Keyword: ViewFactor 'Distribution based on zone-specific view factors'
44  NUM_SWR
45  };
46 
47  /*! Parameter values. */
48  enum para_t {
49  P_RadiationLoadFractionZone, // Keyword: RadiationLoadFractionZone [%] 'Percentage of solar radiation gains attributed direcly to room [%]'
50  P_RadiationLoadFractionFloor, // Keyword: RadiationLoadFractionFloor [%] 'Percentage of surface solar radiation attributed to floor [%]'
51  P_RadiationLoadFractionCeiling, // Keyword: RadiationLoadFractionCeiling [%] 'Percentage of surface solar radiation attributed to roof/ceiling[%]'
52  P_RadiationLoadFractionWalls, // Keyword: RadiationLoadFractionWalls [%] 'Percentage of surface solar radiation attributed to walls [%]'
53  NUM_P
54  };
55 
56 
57  // *** PUBLIC MEMBER FUNCTIONS ***
58 
59  /*! Init default values (called before readXML() in solver).
60  \note These values will be overwritten in readXML() when the respective property is set
61  in the project file.
62  */
63  void initDefaults();
64 
65  NANDRAD_READWRITE_IFNOTEMPTY(SolarLoadsDistributionModel)
66  NANDRAD_COMP(SolarLoadsDistributionModel)
67 
68  /*! To be called after readXML() and mainly used to check whether user-provided parameters are in the valid ranges. */
69  void checkParameters() const;
70 
71  // *** PUBLIC MEMBER VARIABLES ***
72 
73  /*! Defines the way short wave radiation loads are distributed. */
75 
76  /*! List of parameters. */
77  IBK::Parameter m_para[NUM_P]; // XML:E
78 
79 
80 };
81 
82 } // namespace NANDRAD
83 
84 #endif // NANDRAD_SolarLoadsDistributionModelH
Short wave radiation on surface is distributed via view factor table (defined in each zone)...
void checkParameters() const
To be called after readXML() and mainly used to check whether user-provided parameters are in the val...
Short wave radiation on surface is distributed based on surface type (see P_RadiationLoadFractionFloo...
IBK::Parameter m_para[NUM_P]
List of parameters.
distribution_t m_distributionType
Defines the way short wave radiation loads are distributed.
distribution_t
Short wave radiation model variant.
Short wave radiation on surfaces is distributed area-weighted.
void initDefaults()
Init default values (called before readXML() in solver).
This model stores global parameters related to solar loads distribution in zones. ...
The namespace NANDRAD contains the data model classes that make up the NANDRAD solver input data...