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