AMO-Tools-Suite  v.0.9.0
Set of tools for calculating energy efficiency in industrial equipment
All Classes Namespaces Files Functions Variables Enumerations Friends Macros Pages
Results.h
Go to the documentation of this file.
1 
15 #ifndef AMO_LIBRARY_RESULTS_H
16 #define AMO_LIBRARY_RESULTS_H
17 
18 #include <calculator/motor/MotorShaftPower.h>
19 #include <fans/OptimalFanEfficiency.h>
20 #include "InputData.h"
21 
22 class FanResult
23 {
24 public:
25  struct Output
26  {
27  Output(double fanEfficiency, const double motorRatedPower, const double motorShaftPower, const double fanShaftPower,
28  double motorEfficiency, double motorPowerFactor, const double motorCurrent, const double motorPower,
29  const double annualEnergy, const double annualCost, const double fanEnergyIndex, const double loadFactor, double driveEfficiency, const double estimatedFLA = 0)
30  : fanEfficiency(fanEfficiency), motorRatedPower(motorRatedPower), motorShaftPower(motorShaftPower),
31  fanShaftPower(fanShaftPower), motorEfficiency(motorEfficiency), motorPowerFactor(motorPowerFactor),
32  motorCurrent(motorCurrent), motorPower(motorPower), annualEnergy(annualEnergy), annualCost(annualCost),
33  fanEnergyIndex(fanEnergyIndex), loadFactor(loadFactor), driveEfficiency(driveEfficiency), estimatedFLA(estimatedFLA)
34  {
35  }
36 
37  Output(const MotorShaftPower::Output output, double fanEfficiency, const double motorRatedPower,
38  const double fanShaftPower, const double annualEnergy, const double annualCost, const double fanEnergyIndex, const double loadFactor, double driveEfficiency,
39  const double estimatedFLA = 0)
40  : fanEfficiency(fanEfficiency), motorRatedPower(motorRatedPower), motorShaftPower(output.shaftPower),
41  fanShaftPower(fanShaftPower), motorEfficiency(output.efficiency), motorPowerFactor(output.powerFactor),
42  motorCurrent(output.current), motorPower(output.power), annualEnergy(annualEnergy), annualCost(annualCost),
43  fanEnergyIndex(fanEnergyIndex), loadFactor(loadFactor), driveEfficiency(driveEfficiency), estimatedFLA(estimatedFLA)
44  {
45  }
46 
47  double fanEfficiency;
48  const double motorRatedPower, motorShaftPower, fanShaftPower;
49  double motorEfficiency, motorPowerFactor;
50  const double motorCurrent, motorPower, annualEnergy, annualCost, fanEnergyIndex, loadFactor;
51  double driveEfficiency;
52  const double estimatedFLA;
53 
54  // double fanEfficiency, motorEfficiency, motorPowerFactor;
55  // const double motorRatedPower, motorShaftPower, fanShaftPower, motorCurrent;
56  // const double motorPower, annualEnergy, annualCost, fanEnergyIndex;
57  // const double loadFactor, driveEfficiency, estimatedFLA;
58  };
59 
60  FanResult(Fan::Input &fanInput, Motor &motor, double operatingHours, double unitCost)
61  : fanInput(fanInput), motor(motor), operatingHours(operatingHours), unitCost(unitCost)
62  {
63  }
64 
69  Output calculateExisting(Fan::FieldDataBaseline const &fanFieldData);
70 
76  Output calculateModified(Fan::FieldDataModified const &fanFieldData, double fanEfficiency);
77 
78 private:
79  double annualSavingsPotential = 0;
80  double optimizationRating = 0;
81  // In values
82  Fan::Input fanInput;
83  Motor motor;
84  double operatingHours, unitCost;
85 };
86 
92 class PSATResult
93 {
94 public:
103  PSATResult(Pump::Input &pumpInput, Motor &motor, Pump::FieldData &fieldData, double operatingHours, double unitCost)
104  : pumpInput(pumpInput), motor(motor), fieldData(fieldData), operatingHours(operatingHours),
105  unitCost(unitCost){};
106 
110  struct Output
111  {
112 
113  Output(double pumpEfficiency, double motorRatedPower, double motorShaftPower, double pumpShaftPower,
114  double motorEfficiency, double motorPowerFactor, double motorCurrent, double motorPower,
115  double annualEnergy, double annualCost, double loadFactor, double driveEfficiency, double estimatedFLA = 0)
116  : pumpEfficiency(pumpEfficiency), motorRatedPower(motorRatedPower), motorShaftPower(motorShaftPower), pumpShaftPower(pumpShaftPower),
117  motorEfficiency(motorEfficiency), motorPowerFactor(motorPowerFactor), motorCurrent(motorCurrent), motorPower(motorPower),
118  annualEnergy(annualEnergy), annualCost(annualCost), loadFactor(loadFactor), driveEfficiency(driveEfficiency), estimatedFLA(estimatedFLA)
119  {
120  }
121  Output() = default;
122 
123  double pumpEfficiency;
124  double motorRatedPower;
126  double motorShaftPower;
128  double pumpShaftPower;
130  double motorEfficiency;
132  double motorPowerFactor;
134  double motorCurrent;
136  double motorPower;
138  double annualEnergy;
140  double annualCost;
142  double loadFactor;
144  double driveEfficiency;
145  double estimatedFLA;
146  };
147 
153  {
154  return annualSavingsPotential;
155  }
156 
161  double getOptimizationRating() const
162  {
163  return optimizationRating;
164  }
165 
168 
169 private:
170  // Out values
171  Output existing, modified;
172  double annualSavingsPotential = 0.0;
173  double optimizationRating = 0.0;
174  // In values
175  Pump::Input pumpInput;
176  Motor motor;
177  Pump::FieldData fieldData;
178  double operatingHours, unitCost;
179 };
180 
181 #endif //AMO_LIBRARY_RESULTS_H
double getAnnualSavingsPotential()
Definition: Results.h:152
Output calculateModified(Fan::FieldDataModified const &fanFieldData, double fanEfficiency)
Definition: Results.cpp:51
PSATResult(Pump::Input &pumpInput, Motor &motor, Pump::FieldData &fieldData, double operatingHours, double unitCost)
Definition: Results.h:103
Output calculateExisting(Fan::FieldDataBaseline const &fanFieldData)
Definition: Results.cpp:26
Contains InputData for both PSAT and Fan results.
Definition: InputData.h:15
double getOptimizationRating() const
Definition: Results.h:161