116 double savingsEnergy)
117 : baselinePower(baselinePower), baselineEnergy(baselineEnergy), modPower(modPower), modEnergy(modEnergy),
118 savingsEnergy(savingsEnergy) {}
121 double baselinePower = 0, baselineEnergy = 0, modPower = 0, modEnergy = 0, savingsEnergy = 0;
149 const double ratedTempDryBulb,
const double ratedWindSpeed,
150 const double operatingTempDryBulb,
const double operatingWindSpeed,
151 const double operatingHours,
const double baselineTempSetPoint,
152 const double modTempSetPoint,
const double panLossRatio) {
154 ratedCapacity * 4.394960445356 * panLossRatio /
155 (ratedTempSetPoint - ratedTempDryBulb) / pow((ratedTempSetPoint + ratedTempDryBulb) / 2, -0.181) /
156 pow((ratedTempSetPoint - ratedTempDryBulb), 0.266) / pow((1.277 * ratedWindSpeed + 1), 0.5) *
157 pow((1.277 * operatingWindSpeed + 1), 0.5);
159 double baselinePower = CalculatePower(operatingTempDryBulb, baselineTempSetPoint, calc1);
160 double modPower = CalculatePower(operatingTempDryBulb, modTempSetPoint, calc1);
162 const double baselineEnergy = baselinePower * operatingHours;
163 const double modEnergy = modPower * operatingHours;
166 baselineEnergy - modEnergy);
192 FanEnergyConsumption(
const double ratedFanPower,
const double waterLeavingTemp,
const double waterEnteringTemp,
193 const double operatingTempWetBulb,
const double operatingHours,
194 const FanControlSpeedType baselineSpeedType,
const FanControlSpeedType modSpeedType) {
195 const double a = -0.09646816;
196 const double b = 1.04669762;
198 0.04976825 - CalculateFactor(std::vector<double> {0.08352359, 0.11247273, -0.00135847, 0.00003417,
199 0.00003125, -0.00034001},
200 operatingTempWetBulb, waterEnteringTemp - waterLeavingTemp) /
201 CalculateFactor(std::vector<double> {0.50061393, 0.00588251, 0.0002163, -0.01913189,
202 0.00022360, 0.00106108},
203 operatingTempWetBulb, waterLeavingTemp - operatingTempWetBulb);
204 const double airFlow = (-b + sqrt(b * b - 4 * a * c)) / (2 * a);
206 const double powerFactorFlow = CalculatePowerFactor(airFlow);
207 const double powerFactorFull = CalculatePowerFactor(1);
208 const double powerFactorHalf = CalculatePowerFactor(0.5);
209 const double powerFactorZero = CalculatePowerFactor(0);
211 const double highSpeedTime = airFlow < 0.5 ? airFlow / 0.5 : (airFlow - 0.5) / 0.5;
212 const double twoSpeedPower = airFlow < 0.5 ? ratedFanPower * powerFactorHalf * highSpeedTime +
213 ratedFanPower * powerFactorZero * (1 - highSpeedTime)
214 : ratedFanPower * powerFactorFull * highSpeedTime +
215 ratedFanPower * powerFactorHalf * (1 - highSpeedTime);
217 const double oneSpeedPower =
218 ratedFanPower * powerFactorFull * airFlow + ratedFanPower * powerFactorZero * (1 - airFlow);
220 const double vfdPower = ratedFanPower * powerFactorFlow;
222 const double baselinePower = baselineSpeedType == FanControlSpeedType::Variable ? vfdPower
223 : baselineSpeedType == FanControlSpeedType::Two ? twoSpeedPower
224 : baselineSpeedType == FanControlSpeedType::One ? oneSpeedPower
226 const double modPower = modSpeedType == FanControlSpeedType::Variable ? vfdPower
227 : modSpeedType == FanControlSpeedType::Two ? twoSpeedPower
228 : modSpeedType == FanControlSpeedType::One ? oneSpeedPower
231 const double baselineEnergy = baselinePower * 0.746 * operatingHours;
232 const double modEnergy = modPower * 0.746 * operatingHours;
235 baselineEnergy - modEnergy);