MEASUR-Tools-Suite v1.2.4
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
39 FieldDataModified(const double measuredVoltage, const double measuredAmps, const double flowRate,
40 const double inletPressure, const double outletPressure, const double compressibilityFactor,
41 const double velocityPressure)
42 : measuredVoltage(measuredVoltage), measuredAmps(measuredAmps), flowRate(flowRate),
43 inletPressure(inletPressure), outletPressure(outletPressure), compressibilityFactor(compressibilityFactor),
44 velocityPressure(velocityPressure) {}
45
46 double measuredVoltage, measuredAmps, flowRate, inletPressure, outletPressure, compressibilityFactor,
47 velocityPressure;
48};
49
63 FieldDataBaseline(const double measuredPower, const double measuredVoltage, const double measuredAmps,
64 const double flowRate, const double inletPressure, const double outletPressure,
65 const double compressibilityFactor, Motor::LoadEstimationMethod loadEstimationMethod,
66 const double velocityPressure)
67 : FieldDataModified(measuredVoltage, measuredAmps, flowRate, inletPressure, outletPressure,
68 compressibilityFactor, velocityPressure),
69 measuredPower(measuredPower), loadEstimationMethod(loadEstimationMethod) {}
70
71 double measuredPower;
72 Motor::LoadEstimationMethod loadEstimationMethod;
73};
74} // namespace Fan
75
76class FanResult {
77 public:
78 struct Output {
79 Output(const double fanEfficiency, const double motorRatedPower, const double motorShaftPower,
80 const double fanShaftPower, const double motorEfficiency, const double motorPowerFactor, const double motorCurrent,
81 const double motorPower, const double annualEnergy, const double annualCost, const double fanEnergyIndex,
82 const double loadFactor, const double driveEfficiency, const double estimatedFLA = 0)
83 : fanEfficiency(fanEfficiency), motorRatedPower(motorRatedPower), motorShaftPower(motorShaftPower),
84 fanShaftPower(fanShaftPower), motorEfficiency(motorEfficiency), motorPowerFactor(motorPowerFactor),
85 motorCurrent(motorCurrent), motorPower(motorPower), annualEnergy(annualEnergy), annualCost(annualCost),
86 fanEnergyIndex(fanEnergyIndex), loadFactor(loadFactor), driveEfficiency(driveEfficiency),
87 estimatedFLA(estimatedFLA) {}
88
89 Output(const MotorShaftPower::Output& output, const double fanEfficiency, const double motorRatedPower,
90 const double fanShaftPower, const double annualEnergy, const double annualCost, const double fanEnergyIndex,
91 const double loadFactor, const double driveEfficiency, const double estimatedFLA = 0)
92 : fanEfficiency(fanEfficiency), motorRatedPower(motorRatedPower), motorShaftPower(output.shaftPower),
93 fanShaftPower(fanShaftPower), motorEfficiency(output.efficiency), motorPowerFactor(output.powerFactor),
94 motorCurrent(output.current), motorPower(output.power), annualEnergy(annualEnergy),
95 annualCost(annualCost), fanEnergyIndex(fanEnergyIndex), loadFactor(loadFactor),
96 driveEfficiency(driveEfficiency), estimatedFLA(estimatedFLA) {}
97
98 double fanEfficiency;
99 const double motorRatedPower, motorShaftPower, fanShaftPower;
100 double motorEfficiency, motorPowerFactor;
101 const double motorCurrent, motorPower, annualEnergy;
102 double annualCost;
103 const double fanEnergyIndex, loadFactor;
104 double driveEfficiency;
105 const double estimatedFLA;
106
107 // double fanEfficiency, motorEfficiency, motorPowerFactor;
108 // const double motorRatedPower, motorShaftPower, fanShaftPower, motorCurrent;
109 // const double motorPower, annualEnergy, annualCost, fanEnergyIndex;
110 // const double loadFactor, driveEfficiency, estimatedFLA;
111 };
112
113 FanResult(const Fan::Input& fanInput, const Motor& motor, const double operatingHours, const double unitCost)
114 : fanInput(fanInput), motor(motor), operatingHours(operatingHours), unitCost(unitCost) {}
115
121
127 Output calculateModified(Fan::FieldDataModified fanFieldData, double fanEfficiency);
128
129 private:
130 double annualSavingsPotential = 0;
131 double optimizationRating = 0;
132 // In values
133 Fan::Input fanInput;
134 Motor motor;
135 double operatingHours, unitCost;
136};
137
MotorShaftPower class This contains the prototypes for the MotorShaftPower.
Output calculateModified(Fan::FieldDataModified fanFieldData, double fanEfficiency)
Output calculateExisting(Fan::FieldDataBaseline 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:63
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:39