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
PowerFactor.h
1#pragma once
2
27#include <cmath>
28
30 public:
31 enum Mode {
32 ApparentPower_RealPower,
33 ApparentPower_ReactivePower,
34 ApparentPower_PhaseAngle,
35 ApparentPower_PowerFactor,
36 RealPower_ReactivePower,
37 RealPower_PhaseAngle,
38 RealPower_PowerFactor,
39 ReactivePower_PhaseAngle,
40 ReactivePower_PowerFactor,
41 };
42 struct Output {
43 Output(double realPower, double reactivePower, double apparentPower, double powerFactor, double phaseAngle,
44 double realDemand, double demandPenalty, double proposedReactivePower, double proposedCapacitance)
45 : realPower(realPower), reactivePower(reactivePower), apparentPower(apparentPower),
46 powerFactor(powerFactor), phaseAngle(phaseAngle), realDemand(realDemand), demandPenalty(demandPenalty),
47 proposedReactivePower(proposedReactivePower), proposedCapacitance(proposedCapacitance) {}
48
49 Output() = default;
50 double realPower = 0, reactivePower = 0, apparentPower = 0, powerFactor = 0, phaseAngle = 0, realDemand = 0,
51 demandPenalty = 0, proposedReactivePower = 0, proposedCapacitance = 0;
52 };
53
57 PowerFactor() = default;
58
84 Output calculate(Mode mode, double input1, double input2, double inputPowerFactor = 0.95);
85
86 private:
87 double realPower = 0, reactivePower = 0, apparentPower = 0, powerFactor = 0, phaseAngle = 0;
88};
89
Output calculate(Mode mode, double input1, double input2, double inputPowerFactor=0.95)
PowerFactor()=default