117 double savingsEnergy)
118 : baselinePower(baselinePower), baselineEnergy(baselineEnergy), modPower(modPower), modEnergy(modEnergy),
119 savingsEnergy(savingsEnergy) {}
122 double baselinePower = 0, baselineEnergy = 0, modPower = 0, modEnergy = 0, savingsEnergy = 0;
150 const double ratedTempDryBulb,
const double ratedWindSpeed,
151 const double operatingTempDryBulb,
const double operatingWindSpeed,
152 const double operatingHours,
const double baselineTempSetPoint,
153 const double modTempSetPoint,
const double panLossRatio) {
155 ratedCapacity * 4.394960445356 * panLossRatio /
156 (ratedTempSetPoint - ratedTempDryBulb) / pow((ratedTempSetPoint + ratedTempDryBulb) / 2, -0.181) /
157 pow((ratedTempSetPoint - ratedTempDryBulb), 0.266) / pow((1.277 * ratedWindSpeed + 1), 0.5) *
158 pow((1.277 * operatingWindSpeed + 1), 0.5);
160 double baselinePower = CalculatePower(operatingTempDryBulb, baselineTempSetPoint, calc1);
161 double modPower = CalculatePower(operatingTempDryBulb, modTempSetPoint, calc1);
163 const double baselineEnergy = baselinePower * operatingHours;
164 const double modEnergy = modPower * operatingHours;
167 baselineEnergy - modEnergy);
193 FanEnergyConsumption(
const double ratedFanPower,
const double waterLeavingTemp,
const double waterEnteringTemp,
194 const double operatingTempWetBulb,
const double operatingHours,
195 const FanControlSpeedType baselineSpeedType,
const FanControlSpeedType modSpeedType) {
196 const double a = -0.09646816;
197 const double b = 1.04669762;
199 0.04976825 - CalculateFactor(std::vector<double> {0.08352359, 0.11247273, -0.00135847, 0.00003417,
200 0.00003125, -0.00034001},
201 operatingTempWetBulb, waterEnteringTemp - waterLeavingTemp) /
202 CalculateFactor(std::vector<double> {0.50061393, 0.00588251, 0.0002163, -0.01913189,
203 0.00022360, 0.00106108},
204 operatingTempWetBulb, waterLeavingTemp - operatingTempWetBulb);
205 const double airFlow = (-b + sqrt(b * b - 4 * a * c)) / (2 * a);
207 const double powerFactorFlow = CalculatePowerFactor(airFlow);
208 const double powerFactorFull = CalculatePowerFactor(1);
209 const double powerFactorHalf = CalculatePowerFactor(0.5);
210 const double powerFactorZero = CalculatePowerFactor(0);
212 const double highSpeedTime = airFlow < 0.5 ? airFlow / 0.5 : (airFlow - 0.5) / 0.5;
213 const double twoSpeedPower = airFlow < 0.5 ? ratedFanPower * powerFactorHalf * highSpeedTime +
214 ratedFanPower * powerFactorZero * (1 - highSpeedTime)
215 : ratedFanPower * powerFactorFull * highSpeedTime +
216 ratedFanPower * powerFactorHalf * (1 - highSpeedTime);
218 const double oneSpeedPower =
219 ratedFanPower * powerFactorFull * airFlow + ratedFanPower * powerFactorZero * (1 - airFlow);
221 const double vfdPower = ratedFanPower * powerFactorFlow;
223 const double baselinePower = baselineSpeedType == FanControlSpeedType::Variable ? vfdPower
224 : baselineSpeedType == FanControlSpeedType::Two ? twoSpeedPower
225 : baselineSpeedType == FanControlSpeedType::One ? oneSpeedPower
227 const double modPower = modSpeedType == FanControlSpeedType::Variable ? vfdPower
228 : modSpeedType == FanControlSpeedType::Two ? twoSpeedPower
229 : modSpeedType == FanControlSpeedType::One ? oneSpeedPower
232 const double baselineEnergy = baselinePower * 0.746 * operatingHours;
233 const double modEnergy = modPower * 0.746 * operatingHours;
236 baselineEnergy - modEnergy);