1 /***************************************************************************
3 * Gains.h Copyright (C) 2008 by Jon Rumble *
4 * j.w.rumble@reading.ac.uk *
6 * This file is part of HECS, *
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. *
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. *
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 ***************************************************************************/
28 #include <QStringList>
30 #include "SolarGains.h"
32 #include "ConfigParser.h"
33 #include "HeatLosses.h"
34 #include "WaterHeating.h"
35 #include "TableReader.h"
36 #include "DoubleReader.h"
43 // Constructors/Destructors
46 Gains(const ConfigParser
& config
, WaterHeating
* waterheat
,
47 HeatLosses
* heatingLosses
,DwellingDimensions
*dims
);
55 void setLightAppCookMetabolicGains ( double val_in
);
56 double getLightAppCookMetabolicGains ( );
57 void setLowEnergyLightRed ( double val_in
);
58 double getLowEnergyLightRed ( );
59 void setAddtnGains ( double val_in
);
60 double getAddtnGains ( );
61 void setWaterHeating ( double val_in
);
62 double getWaterHeating ( );
63 void setTotalIntGains ( double val_in
);
64 double getTotalIntGains ( );
65 void setTotalGains ( double val_in
);
66 double getTotalGains ( );
67 void setSolarGLR ( double val_in
);
68 double getSolarGLR ( );
69 void setSolarUtilFactor ( double val_in
);
70 double getSolarUtilFactor ( );
71 void setTotalSolarGains ( double val_in
);
72 double getTotalSolarGains ( );
73 void setMeanTempLivingArea ( double val_in
);
74 double getMeanTempLivingArea ( );
75 void setTempAdjustment ( double val_in
);
76 double getTempAdjustment ( );
77 void setAdjustForGains ( double val_in
);
78 double getAdjustForGains ( );
79 void setAdjustLivingTemp ( double val_in
);
80 double getAdjustLivingTemp ( );
81 void setTempDiffZones ( double val_in
);
82 double getTempDiffZones ( );
83 void setLivingAreaFrac ( double val_in
);
84 double getLivingAreaFrac ( );
85 void setRestOfHouseFrac ( double val_in
);
86 double getRestOfHouseFrac ( );
87 void setMeanIntTemp ( double val_in
);
88 double getMeanIntTemp ( );
89 void setTempRiseFromGains ( double val_in
);
90 double getTempRiseFromGains ( );
91 void setBaseTemp ( double val_in
);
92 double getBaseTemp ( );
93 void setDegreeDays ( double val_in
);
94 double getDegreeDays ( );
95 void setSpaceHeatingReq ( double val_in
);
96 double getSpaceHeatingReq ( );
97 double getGainLossRatio ();
98 void setGainLossRatio (double val_in
);
99 double getUtilisationFactor ();
100 void setUtilisationFactor (double val_in
);
101 double getUsefulGains ();
102 void setUsefulGains(double val_in
);
103 double getAnnualLightEnergy();
104 void setAnnualLightEnergy(double val_in
);
110 void createSolarGain(QString gainName
,
123 void calcUsefulSolarGains();
124 void calcLightingEnergy();
125 void calcTotalInternalGains();
126 void calcMeanInternalTemp();
127 void loadSolarGain(const QString
& gainName
);
130 void calcSpaceHeatReq();
131 void calcMeanIntTempLiving();
132 void calctempDiffBetweenZones();
133 void calcDegreeDays();
136 WaterHeating
*ptrWaterHeat
;
137 HeatLosses
*ptrHeatLosses
;
138 DwellingDimensions
*ptrDims
;
140 // Private Attributes
142 double m_lightAppCookMetabolicGains
;
143 double m_lowEnergyLightRed
;
145 double m_waterHeating
;
146 double m_totalIntGains
;
149 double m_solarUtilFactor
;
150 double m_totalSolarGains
;
151 double m_meanTempLivingArea
;
152 double m_tempAdjustment
;
153 double m_adjustForGains
;
154 double m_adjustLivingTemp
;
155 double m_tempDiffZones
;
156 double m_livingAreaFrac
;
157 double m_restOfHouseFrac
;
158 double m_meanIntTemp
;
159 double m_tempRiseFromGains
;
162 double m_spaceHeatingReq
;
163 double m_usefulGains
;
164 double m_gainLossRatio
;
165 double m_utilisationFactor
;
167 double m_annualLightEnergy
;
168 int m_addtnGainsTableVal
;
169 int m_specificFanPower
;
170 int m_heatingTypeControl
;
175 QMap
<QString
,SolarGains
> gainsList
;
176 QMap
<double, QList
<double> > table10
;
177 QMap
<double, QList
<double> > table9
;
178 QMap
<double,QList
<double> > table8
;