Initial Commit
[HECS.git] / WaterHeatingEnergy.cpp
blob2464b9fb3f16a75ada2f748eebfb213382af0900
1 /***************************************************************************
2 * *
3 * WaterHeatingEnergy.cpp Copyright (C) 2008 by Jon Rumble *
4 * j.w.rumble@reading.ac.uk *
5 * *
6 * *
7 * This file is part of HECS, *
8 * *
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. *
13 * *
14 * *
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. *
19 * *
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)
30 cf = config;
31 ptrWaterHeat = waterHeat;
32 initVars();
33 calcAll();
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() *
113 100 /
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();
130 calcElecForAbove();
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");
144 calcElecForAbove();
147 // END OF WaterHeating.cpp