MEASUR-Tools-Suite v1.0.11
The MEASUR Tools Suite is a collection of industrial efficiency calculations written in C++ and with bindings for compilation to WebAssembly.
Loading...
Searching...
No Matches
FanResult.h
Go to the documentation of this file.
1#pragma once
2
17
18namespace Fan {
19struct Input {
20 Input(const double fanSpeed, const double airDensity, const Motor::Drive drive, double specifiedEfficiency)
21 : fanSpeed(fanSpeed), airDensity(airDensity), drive(drive), specifiedEfficiency(specifiedEfficiency) {}
22
23 double fanSpeed, airDensity;
24 Motor::Drive drive;
25 double specifiedEfficiency;
26};
27
38 FieldDataModified(const double measuredVoltage, const double measuredAmps, const double flowRate,
39 const double inletPressure, const double outletPressure, const double compressibilityFactor,
40 const double velocityPressure)
41 : measuredVoltage(measuredVoltage), measuredAmps(measuredAmps), flowRate(flowRate),
42 inletPressure(inletPressure), outletPressure(outletPressure), compressibilityFactor(compressibilityFactor),
43 velocityPressure(velocityPressure) {}
44
45 double measuredVoltage, measuredAmps, flowRate, inletPressure, outletPressure, compressibilityFactor,
46 velocityPressure;
47};
48
61 FieldDataBaseline(const double measuredPower, const double measuredVoltage, const double measuredAmps,
62 const double flowRate, const double inletPressure, const double outletPressure,
63 const double compressibilityFactor, Motor::LoadEstimationMethod loadEstimationMethod,
64 const double velocityPressure)
65 : FieldDataModified(measuredVoltage, measuredAmps, flowRate, inletPressure, outletPressure,
66 compressibilityFactor, velocityPressure),
67 measuredPower(measuredPower), loadEstimationMethod(loadEstimationMethod) {}
68
69 double measuredPower;
70 Motor::LoadEstimationMethod loadEstimationMethod;
71};
72} // namespace Fan
73
74class FanResult {
75 public:
76 struct Output {
77 Output(double fanEfficiency, const double motorRatedPower, const double motorShaftPower,
78 const double fanShaftPower, double motorEfficiency, double motorPowerFactor, const double motorCurrent,
79 const double motorPower, const double annualEnergy, double annualCost, const double fanEnergyIndex,
80 const double loadFactor, double driveEfficiency, const double estimatedFLA = 0)
81 : fanEfficiency(fanEfficiency), motorRatedPower(motorRatedPower), motorShaftPower(motorShaftPower),
82 fanShaftPower(fanShaftPower), motorEfficiency(motorEfficiency), motorPowerFactor(motorPowerFactor),
83 motorCurrent(motorCurrent), motorPower(motorPower), annualEnergy(annualEnergy), annualCost(annualCost),
84 fanEnergyIndex(fanEnergyIndex), loadFactor(loadFactor), driveEfficiency(driveEfficiency),
85 estimatedFLA(estimatedFLA) {}
86
87 Output(const MotorShaftPower::Output output, double fanEfficiency, const double motorRatedPower,
88 const double fanShaftPower, const double annualEnergy, double annualCost, const double fanEnergyIndex,
89 const double loadFactor, double driveEfficiency, const double estimatedFLA = 0)
90 : fanEfficiency(fanEfficiency), motorRatedPower(motorRatedPower), motorShaftPower(output.shaftPower),
91 fanShaftPower(fanShaftPower), motorEfficiency(output.efficiency), motorPowerFactor(output.powerFactor),
92 motorCurrent(output.current), motorPower(output.power), annualEnergy(annualEnergy),
93 annualCost(annualCost), fanEnergyIndex(fanEnergyIndex), loadFactor(loadFactor),
94 driveEfficiency(driveEfficiency), estimatedFLA(estimatedFLA) {}
95
96 double fanEfficiency;
97 const double motorRatedPower, motorShaftPower, fanShaftPower;
98 double motorEfficiency, motorPowerFactor;
99 const double motorCurrent, motorPower, annualEnergy;
100 double annualCost;
101 const double fanEnergyIndex, loadFactor;
102 double driveEfficiency;
103 const double estimatedFLA;
104
105 // double fanEfficiency, motorEfficiency, motorPowerFactor;
106 // const double motorRatedPower, motorShaftPower, fanShaftPower, motorCurrent;
107 // const double motorPower, annualEnergy, annualCost, fanEnergyIndex;
108 // const double loadFactor, driveEfficiency, estimatedFLA;
109 };
110
111 FanResult(Fan::Input fanInput, Motor motor, double operatingHours, double unitCost)
112 : fanInput(fanInput), motor(motor), operatingHours(operatingHours), unitCost(unitCost) {}
113
119
125 Output calculateModified(Fan::FieldDataModified const fanFieldData, double fanEfficiency);
126
127 private:
128 double annualSavingsPotential = 0;
129 double optimizationRating = 0;
130 // In values
131 Fan::Input fanInput;
132 Motor motor;
133 double operatingHours, unitCost;
134};
135
MotorShaftPower class This contains the prototypes for the MotorShaftPower.
Output calculateModified(Fan::FieldDataModified const fanFieldData, double fanEfficiency)
Output calculateExisting(Fan::FieldDataBaseline const fanFieldData)
FieldDataBaseline(const double measuredPower, const double measuredVoltage, const double measuredAmps, const double flowRate, const double inletPressure, const double outletPressure, const double compressibilityFactor, Motor::LoadEstimationMethod loadEstimationMethod, const double velocityPressure)
Definition FanResult.h:61
FieldDataModified(const double measuredVoltage, const double measuredAmps, const double flowRate, const double inletPressure, const double outletPressure, const double compressibilityFactor, const double velocityPressure)
Definition FanResult.h:38