Initial Commit
[HECS.git] / WaterHeating.h
bloba005b34c48beb9d29bab9263410203ade70c381d
1 /***************************************************************************
2 * *
3 * WaterHeating.h Copyright (C) 2008 by Jon Rumble *
4 * j.w.rumble@reading.ac.uk *
5 * *
6 * This file is part of HECS, *
7 * *
8 * HECS is free software: you can redistribute it and/or modify *
9 * it under the terms of the GNU General Public License as published by *
10 * the Free Software Foundation, either version 2 of the License, or *
11 * (at your option) any later version. *
12 * *
13 * HECS is distributed in the hope that it will be useful, *
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16 * GNU General Public License for more details. *
17 * *
18 * You should have received a copy of the GNU General Public License *
19 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
20 ***************************************************************************/
23 #ifndef WATERHEATING_H
24 #define WATERHEATING_H
26 #include "DwellingDimensions.h"
27 #include "ConfigParser.h"
28 #include "DwellingDimensions.h"
29 #include <cmath>
31 class WaterHeating
34 public:
36 // Constructors/Destructors
40 /**
41 * CONSTRUCTORS
43 WaterHeating(const ConfigParser& config,DwellingDimensions *dims);
44 WaterHeating();
45 ~WaterHeating();
47 void initVars();
48 /**
49 * METHODS
51 //Accessors
52 void setEnergyContentHotWater ( double val_in );
53 double getEnergyContentHotWater ( );
54 void setDistributionLoss ( double val_in );
55 double getDistributionLoss ( );
56 void setHotWaterUsage ( double val_in );
57 double getHotWaterUsage ( );
58 void setManDeclaredLoss ( double val_in );
59 double getManDeclaredLoss ( );
60 void setTempFactor ( double val_in );
61 double getTempFactor ( );
62 void setEnergyLostWaterStore ( double val_in );
63 double getEnergyLostWaterStore ( );
64 void setCylinderVolume ( double val_in );
65 double getCylinderVolume ( );
66 void setHotWaterStoreLossFactor ( double val_in );
67 double getHotWaterStoreLossFactor ( );
68 void setVolumeFactor ( double val_in );
69 double getVolumeFactor ( );
70 void setSolarStorageVal ( double val_in );
71 double getSolarStorageVal ( );
72 void setPrimaryCircuitLoss ( double val_in );
73 double getPrimaryCircuitLoss ( );
74 void setCombiLoss ( double val_in );
75 double getCombiLoss ( );
76 void setSolarDhw ( double val_in );
77 double getSolarDhw ( );
78 void setWaterHeaterOutput ( double val_in );
79 double getWaterHeaterOutput ( );
80 void setHotWaterHeatGains ( double val_in );
81 double getHotWaterHeatGains ( );
82 void calcAll();
86 private:
88 // Private attributes
90 ConfigParser cf;
91 DwellingDimensions *ptrDims;
93 double m_energyContentHotWater;
94 double m_distributionLoss;
95 double m_hotWaterUsage;
96 double m_manDeclaredLoss;
97 double m_tempFactor;
98 double m_energyLostWaterStore;
99 double m_cylinderVolume;
100 double m_hotWaterStoreLossFactor;
101 double m_volumeFactor;
102 double m_solarStorageVal;
103 double m_primaryCircuitLoss;
104 double m_combiLoss;
105 double m_solarDhw;
106 double m_waterHeaterOutput;
107 double m_hotWaterHeatGains;
108 double m_insultaionThickness;
109 int m_declaredLossKnown;
110 double m_looseJacket;
111 double m_combiStore;
112 int m_storageType;
113 int m_systemType;
114 //Methods
117 void calcHotWaterGains();
118 double tempFactorLossKnown();
119 double tempFactorLossNotKnown();
120 void primaryCircuitLoss();
124 #endif // WATERHEATING_H