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
CompressedAirReduction.h
1#ifndef TOOLS_SUITE_COMPRESSEDAIRREDUCTION_H
2#define TOOLS_SUITE_COMPRESSEDAIRREDUCTION_H
3
4#include <exception>
5#include <stdexcept>
6#include <vector>
7
9
11 public:
12 CompressedAirFlowMeterMethodData(const double meterReading) : meterReading(meterReading) {}
13
14 double getMeterReading() const { return meterReading; }
15
16 private:
17 double meterReading;
18};
19
21 public:
22 BagMethodData(const double height, const double diameter, const double fillTime)
23 : height(height), diameter(diameter), fillTime(fillTime) {}
24
25 double getHeight() const { return height; }
26 double getDiameter() const { return diameter; }
27 double getFillTime() const { return fillTime; }
28
29 private:
30 double height, diameter, fillTime;
31};
32
34 public:
35 PressureMethodData(const int nozzleType, const int numberOfNozzles, const double supplyPressure)
36 : nozzleType(nozzleType), numberOfNozzles(numberOfNozzles), supplyPressure(supplyPressure) {}
37
38 int getNumberOfNozzles() const { return numberOfNozzles; }
39
40 double calculate();
41
42 private:
43 int nozzleType, numberOfNozzles;
44 double supplyPressure;
45};
46
48 public:
49 CompressedAirOtherMethodData(const double consumption) : consumption(consumption) {}
50
51 double getConsumption() const { return consumption; }
52
53 private:
54 double consumption;
55};
56
57// calculates electricity use for a compressor if utilityType == electricity
59 public:
60 CompressorElectricityData(const double compressorControlAdjustment, const double compressorSpecificPower)
61 : compressorControlAdjustment(compressorControlAdjustment), compressorSpecificPower(compressorSpecificPower) {}
62
63 double calculate();
64
65 private:
66 double compressorControlAdjustment, compressorSpecificPower;
67};
68
70
71 public:
72 CompressedAirReductionInput(const int hoursPerYear, const int utilityType, const double utilityCost,
73 const int measurementMethod, const CompressedAirFlowMeterMethodData flowMeterMethodData,
74 const BagMethod bagMethod, const PressureMethodData pressureMethodData,
75 const CompressedAirOtherMethodData otherMethodData,
76 const CompressorElectricityData compressorElectricityData, const int units)
77 : hoursPerYear(hoursPerYear), utilityType(utilityType), utilityCost(utilityCost),
78 measurementMethod(measurementMethod), flowMeterMethodData(flowMeterMethodData), bagMethod(bagMethod),
79 pressureMethodData(pressureMethodData), otherMethodData(otherMethodData),
80 compressorElectricityData(compressorElectricityData), units(units) {}
81
82 int getHoursPerYear() const { return hoursPerYear; }
83 int getUtilityType() const { return utilityType; }
84 int getMeasurementMethod() const { return measurementMethod; }
85 int getUnits() const { return units; }
86 double getUtilityCost() const { return utilityCost; }
87 CompressedAirFlowMeterMethodData getFlowMeterMethodData() const { return flowMeterMethodData; }
88 BagMethod getBagMethod() const { return bagMethod; }
89 PressureMethodData getPressureMethodData() const { return pressureMethodData; }
90 CompressedAirOtherMethodData getOtherMethodData() const { return otherMethodData; }
91 CompressorElectricityData getCompressorElectricityData() const { return compressorElectricityData; }
92
93 private:
94 int hoursPerYear, utilityType;
95 double utilityCost;
96 int measurementMethod;
97 CompressedAirFlowMeterMethodData flowMeterMethodData;
98 BagMethod bagMethod;
99 PressureMethodData pressureMethodData;
100 CompressedAirOtherMethodData otherMethodData;
101 CompressorElectricityData compressorElectricityData;
102 int units;
103};
104
106 public:
107 struct Output {
108 Output(double energyUse, double energyCost, double flowRate, double singleNozzleFlowRate, double consumption)
109 : energyUse(energyUse), energyCost(energyCost), flowRate(flowRate),
110 singleNozzleFlowRate(singleNozzleFlowRate), consumption(consumption) {}
111
112 Output() = default;
113 double energyUse = 0, energyCost = 0, flowRate = 0, singleNozzleFlowRate = 0, consumption = 0;
114 };
115
116 CompressedAirReduction(std::vector<CompressedAirReductionInput> compressedAirReductionInputVec)
117 : compressedAirReductionInputVec(compressedAirReductionInputVec) {}
118
120
121 private:
122 std::vector<CompressedAirReductionInput> compressedAirReductionInputVec;
124};
125
126#endif // TOOLS_SUITE_COMPRESSEDAIRREDUCTION_H
Implementations of Bag Method of a compressed air system.