1 /***************************************************************************
3 * WaterHeatingEnergy.cpp Copyright (C) 2008 by Jon Rumble *
4 * j.w.rumble@reading.ac.uk *
7 * This file is part of HECS, *
9 * HECS is free software: you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation, either version 2 of the License, or *
12 * (at your option) any later version. *
15 * HECS is distributed in the hope that it will be useful, *
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
18 * GNU General Public License for more details. *
20 * You should have received a copy of the GNU General Public License *
21 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
22 ***************************************************************************/
25 #include "WaterHeatingEnergy.h"
28 WaterHeatingEnergy::WaterHeatingEnergy (const ConfigParser
& config
, WaterHeating
*waterHeat
)
31 ptrWaterHeat
= waterHeat
;
36 WaterHeatingEnergy::~WaterHeatingEnergy () { }
38 void WaterHeatingEnergy::setEffcyOfWaterHeater ( int val_in
) {
39 m_effcyOfWaterHeater
= val_in
;
42 int WaterHeatingEnergy::getEffcyOfWaterHeater ( ) {
43 return m_effcyOfWaterHeater
;
46 void WaterHeatingEnergy::setEnergyReqdForWaterHeat ( double val_in
) {
47 m_energyReqdForWaterHeat
= val_in
;
50 double WaterHeatingEnergy::getEnergyReqdForWaterHeat ( ) {
51 return m_energyReqdForWaterHeat
;
54 void WaterHeatingEnergy::setElecForCentralHeatingPumps ( double val_in
) {
55 m_elecForCentralHeatingPumps
= val_in
;
58 double WaterHeatingEnergy::getElecForCentralHeatingPumps ( ) {
59 return m_elecForCentralHeatingPumps
;
62 void WaterHeatingEnergy::setElecForFanAssitFlue ( double val_in
) {
63 m_elecForFanAssitFlue
= val_in
;
66 double WaterHeatingEnergy::getElecForFanAssitFlue ( ) {
67 return m_elecForFanAssitFlue
;
70 void WaterHeatingEnergy::setElecForWarmHeatingSysFans ( double val_in
) {
71 m_elecForWarmHeatingSysFans
= val_in
;
74 double WaterHeatingEnergy::getElecForWarmHeatingSysFans ( ) {
75 return m_elecForWarmHeatingSysFans
;
78 void WaterHeatingEnergy::setElecForMechVentilation ( double val_in
) {
79 m_elecForMechVentilation
= val_in
;
82 double WaterHeatingEnergy::getElecForMechVentilation ( ) {
83 return m_elecForMechVentilation
;
86 void WaterHeatingEnergy::setElecForKeepHotGasCombi ( double val_in
) {
87 m_elecForKeepHotGasCombi
= val_in
;
90 double WaterHeatingEnergy::getElecForKeepHotGasCombi ( ) {
91 return m_elecForKeepHotGasCombi
;
94 void WaterHeatingEnergy::setElecForSolarWaterPump ( double val_in
) {
95 m_elecForSolarWaterPump
= val_in
;
98 double WaterHeatingEnergy::getElecForSolarWaterPump ( ) {
99 return m_elecForSolarWaterPump
;
102 void WaterHeatingEnergy::setTotalForAboveElec ( double val_in
) {
103 m_totalForAboveElec
= val_in
;
106 double WaterHeatingEnergy::getTotalForAboveElec ( ) {
107 return m_totalForAboveElec
;
110 void WaterHeatingEnergy::calcEnergyReqWaterHeating()
112 m_energyReqdForWaterHeat
= ptrWaterHeat
->getWaterHeaterOutput() *
114 m_effcyOfWaterHeater
;
117 void WaterHeatingEnergy::calcElecForAbove ()
119 m_totalForAboveElec
= m_elecForCentralHeatingPumps
+
120 m_elecForFanAssitFlue
+
121 m_elecForWarmHeatingSysFans
+
122 m_elecForMechVentilation
+
123 m_elecForKeepHotGasCombi
+
124 m_elecForSolarWaterPump
;
127 void WaterHeatingEnergy::calcAll()
129 calcEnergyReqWaterHeating();
133 void WaterHeatingEnergy::initVars()
135 m_effcyOfWaterHeater
= cf
.getValueInt("EnergyRequirements:effcyOfWaterHeater");
136 m_energyReqdForWaterHeat
= cf
.getValueDouble("EnergyRequirements:energyReqdForWaterHeat");
137 m_elecForCentralHeatingPumps
= cf
.getValueDouble("EnergyRequirements:elecForCentralHeatingPumps");
138 m_elecForFanAssitFlue
= cf
.getValueDouble("EnergyRequirements:elecForFanAssitFlue");
139 m_elecForWarmHeatingSysFans
= cf
.getValueDouble("EnergyRequirements:elecForFanAssitFlue");
140 m_elecForMechVentilation
= cf
.getValueDouble("EnergyRequirements:elecForMechVentilation");
141 m_elecForKeepHotGasCombi
= cf
.getValueDouble("EnergyRequirements:elecForKeepHotGasCombi");
142 m_elecForSolarWaterPump
= cf
.getValueDouble("EnergyRequirements:elecForKeepHotGasCombi");
143 m_totalForAboveElec
= cf
.getValueDouble("EnergyRequirements:totalForAboveElec");
147 // END OF WaterHeating.cpp