18 ProcessWaterUseOutput(
double recirculatedWater,
double incomingWater,
double wasteDischargedAndRecycledOther)
19 : recirculatedWater(recirculatedWater), incomingWater(incomingWater),
20 wasteDischargedAndRecycledOther(wasteDischargedAndRecycledOther) {}
23 double recirculatedWater = 0, incomingWater = 0, wasteDischargedAndRecycledOther = 0;
28 double makeupWater,
double blowdownLoss)
29 : grossWaterUse(grossWaterUse), evaporationLoss(evaporationLoss),
30 cycleOfConcentration(cycleOfConcentration), makeupWater(makeupWater), blowdownLoss(blowdownLoss) {}
33 double grossWaterUse = 0, evaporationLoss = 0, cycleOfConcentration = 0, makeupWater = 0, blowdownLoss = 0;
37 BoilerWaterLossOutput(
double cycleOfConcentration,
double grossWaterUse,
double makeupWater,
double steamLoss,
38 double blowdownLoss,
double condensateReturn,
double rateOfRecirculation)
39 : cycleOfConcentration(cycleOfConcentration), grossWaterUse(grossWaterUse), makeupWater(makeupWater),
40 steamLoss(steamLoss), blowdownLoss(blowdownLoss), condensateReturn(condensateReturn),
41 rateOfRecirculation(rateOfRecirculation) {}
44 double cycleOfConcentration = 0, grossWaterUse = 0, makeupWater = 0, steamLoss = 0, blowdownLoss = 0,
45 condensateReturn = 0, rateOfRecirculation = 0;
66 double fractionGrossWaterRecirculated) {
67 const double recirculatedWater = waterRequired * fractionGrossWaterRecirculated;
68 const double incomingWater = waterRequired - recirculatedWater;
69 const double wasteDischargedAndRecycledOther = incomingWater - waterConsumed - waterLoss;
71 return {recirculatedWater, incomingWater, wasteDischargedAndRecycledOther};
92 double evaporationRateDegree,
double temperatureDrop,
93 double makeupConductivity,
double blowdownConductivity) {
94 const double grossWaterUse = 3 * tonnage * loadFactor * 60 * hoursPerYear;
95 const double evaporationLoss = (evaporationRateDegree / 10) * temperatureDrop * grossWaterUse;
96 const double cycleOfConcentration = blowdownConductivity / makeupConductivity;
97 const double makeupWater = evaporationLoss / (1 - (1 / cycleOfConcentration));
98 const double blowdownLoss = makeupWater - evaporationLoss;
100 return {grossWaterUse, evaporationLoss, cycleOfConcentration, makeupWater, blowdownLoss};
123 double steamPerPower,
double feedWaterConductivity,
124 double makeupConductivity,
double blowdownConductivity) {
125 const double cycleOfConcentration = blowdownConductivity / feedWaterConductivity;
126 const double grossWaterUse =
127 hoursPerYear * power * loadFactor * 0.002 * 60 * steamPerPower / (1 - (1 / cycleOfConcentration));
128 const double makeupWater = (feedWaterConductivity / makeupConductivity) * grossWaterUse;
129 const double blowdownLoss = (1 / cycleOfConcentration) * grossWaterUse;
130 const double steamLoss = makeupWater - blowdownLoss;
131 const double condensateReturn = (1 - (feedWaterConductivity / makeupConductivity)) * grossWaterUse;
132 const double rateOfRecirculation = makeupWater / grossWaterUse;
134 return {cycleOfConcentration, grossWaterUse, makeupWater, steamLoss,
135 blowdownLoss, condensateReturn, rateOfRecirculation};
147 double dailyUsePerEmployee) {
148 return employeeCount * workdaysPerYear * dailyUsePerEmployee;
159 return areaIrrigated * yearlyInchesIrrigated;
172 double wasteWaterDischarge) {
173 return wasteWaterDischarge * (outgoingTemp - incomingTemp) * 1 * 8.3454 * heatingEfficiency / 1000000;
187 double systemEfficiency) {
188 return ratedPower * numberUnits * loadFactor * hoursPerYear / systemEfficiency;
double calculateAddedMotorEnergyUse(double numberUnits, double hoursPerYear, double ratedPower, double loadFactor, double systemEfficiency)
ProcessWaterUseOutput calculateProcessWaterUse(double waterRequired, double waterConsumed, double waterLoss, double fractionGrossWaterRecirculated)
CoolingTowerLossOutput calculateCoolingTowerLoss(double hoursPerYear, double tonnage, double loadFactor, double evaporationRateDegree, double temperatureDrop, double makeupConductivity, double blowdownConductivity)
double calculateLandscapingGrossWaterUse(double areaIrrigated, double yearlyInchesIrrigated)
double calculateHeatEnergyInDischarge(double incomingTemp, double outgoingTemp, double heatingEfficiency, double wasteWaterDischarge)
double calculateKitchenRestroomGrossWaterUse(double employeeCount, double workdaysPerYear, double dailyUsePerEmployee)
BoilerWaterLossOutput calculateBoilerWaterLosses(double hoursPerYear, double power, double loadFactor, double steamPerPower, double feedWaterConductivity, double makeupConductivity, double blowdownConductivity)
WaterAssessment()=default