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
MotorEfficiency.h
1
11#ifndef TOOLS_SUITE_MOTOREFFICIENCY_H
12#define TOOLS_SUITE_MOTOREFFICIENCY_H
13
14#include <array>
15#include <exception>
16#include <stdexcept>
17
18#include "MotorData.h"
19
21 public:
29 MotorEfficiency(Motor::LineFrequency lineFrequency, double motorRpm, Motor::EfficiencyClass efficiencyClass,
30 double motorRatedPower)
31 : lineFrequency(lineFrequency), motorRpm(motorRpm), efficiencyClass(efficiencyClass),
32 motorRatedPower(motorRatedPower) {};
33
40 double calculate(double loadFactor, double specifiedEfficiency = -1);
41
46 std::array<double, 5> calculate25intervals();
47
52 Motor::LineFrequency getLineFrequency() const { return lineFrequency; }
53
58 void setLineFrequency(Motor::LineFrequency lineFrequency) { this->lineFrequency = lineFrequency; }
59
64 double getMotorRpm() const { return motorRpm; }
65
70 void setMotorRpm(double motorRpm) { this->motorRpm = motorRpm; }
71
76 Motor::EfficiencyClass getEfficiencyClass() const { return efficiencyClass; }
77
82 void setEfficiencyClass(Motor::EfficiencyClass efficiencyClass) { this->efficiencyClass = efficiencyClass; }
83
88 double getHp() const { return hp; }
89
94 void setHp(double hp) { this->hp = hp; }
95
100 double getMotorKwh() const { return motorKwh; }
101
106 void setMotorKwh(double motorKwh) { this->motorKwh = motorKwh; }
107
112 double getMotorAmps() const { return motorAmps; }
113
118 void setMotorAmps(double motorAmps) { this->motorAmps = motorAmps; }
119
124 double getActualEfficiency() const { return actualEfficiency; }
125
130 void setActualEfficiency(double actualEfficiency) { this->actualEfficiency = actualEfficiency; }
131
136 double getKWloss0() const { return kWloss0; }
137
138 private:
139 const std::array<std::array<double, 4>, 5> determinePartialLoadCoefficients(std::size_t pole) const;
140
141 Motor::LineFrequency lineFrequency;
142 double motorEff = 0.0;
143 double motorRpm;
144 Motor::EfficiencyClass efficiencyClass;
145 double hp;
146 double motorKwh;
147 double motorAmps;
148 double kWloss0 = 0.0;
149 double actualEfficiency;
150 double motorRatedPower;
151};
152
153#endif // TOOLS_SUITE_MOTOREFFICIENCY_H
Contains the declaration of MotorEfficiency class including the getters and setters as well as the ca...
MotorEfficiency(Motor::LineFrequency lineFrequency, double motorRpm, Motor::EfficiencyClass efficiencyClass, double motorRatedPower)
void setEfficiencyClass(Motor::EfficiencyClass efficiencyClass)
void setMotorRpm(double motorRpm)
Motor::LineFrequency getLineFrequency() const
std::array< double, 5 > calculate25intervals()
double getKWloss0() const
void setHp(double hp)
double getMotorKwh() const
void setActualEfficiency(double actualEfficiency)
double getMotorAmps() const
void setLineFrequency(Motor::LineFrequency lineFrequency)
Motor::EfficiencyClass getEfficiencyClass() const
double getHp() const
void setMotorKwh(double motorKwh)
double getMotorRpm() const
void setMotorAmps(double motorAmps)
double calculate(double loadFactor, double specifiedEfficiency=-1)
double getActualEfficiency() const