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
include
compressedAir
DecibelsMethod.h
Go to the documentation of this file.
1
#pragma once
2
12
class
DecibelsMethod
{
13
public
:
14
struct
Output
{
15
Output
(
const
double
leakRateEstimate,
const
double
annualConsumption)
16
: leakRateEstimate(leakRateEstimate), annualConsumption(annualConsumption) {}
17
18
const
double
leakRateEstimate, annualConsumption;
19
};
20
36
DecibelsMethod
(
const
double
operatingTime,
const
double
linePressure,
const
double
decibels,
37
const
double
decibelRatingA,
const
double
pressureA,
const
double
firstFlowA,
38
const
double
secondFlowA,
const
double
decibelRatingB,
const
double
pressureB,
39
const
double
firstFlowB,
const
double
secondFlowB)
40
: operatingTime(operatingTime), linePressure(linePressure), decibels(decibels), decibelRatingA(decibelRatingA),
41
pressureA(pressureA), firstFlowA(firstFlowA), secondFlowA(secondFlowA), decibelRatingB(decibelRatingB),
42
pressureB(pressureB), firstFlowB(firstFlowB), secondFlowB(secondFlowB) {}
43
47
Output
calculate
() {
48
/*
49
double operatingTime;
50
double linePressure; // X
51
double decibels; // Y
52
double decibelRatingA; // Y1
53
double pressureA; // X1
54
double firstFlowA; // Q11
55
double secondFlowA; // Q21
56
double decibelRatingB; // Y2
57
double pressureB; // X2
58
double firstFlowB; // Q12
59
double secondFlowB; // Q22
60
*/
61
62
const
double
denominator = (pressureB - pressureA) * (decibelRatingB - decibelRatingA);
63
const
double
leakRateEstimate =
64
((pressureB - linePressure) * (decibelRatingB - decibels)) / denominator * firstFlowA +
65
((linePressure - pressureA) * (decibelRatingB - decibels)) / denominator * secondFlowA +
66
((pressureB - linePressure) * (decibels - decibelRatingA)) / denominator * firstFlowB +
67
((linePressure - pressureA) * (decibels - decibelRatingA)) / denominator * secondFlowB;
68
const
double
annualConsumption = (leakRateEstimate * operatingTime * 60) / 1000;
69
DecibelsMethod::Output
output(leakRateEstimate, annualConsumption);
70
71
return
output;
72
}
73
74
private
:
75
double
operatingTime;
76
double
linePressure;
// X
77
double
decibels;
// Y
78
double
decibelRatingA;
// Y1
79
double
pressureA;
// X1
80
double
firstFlowA;
// Q11
81
double
secondFlowA;
// Q21
82
double
decibelRatingB;
// Y2
83
double
pressureB;
// X2
84
double
firstFlowB;
// Q12
85
double
secondFlowB;
// Q22
86
};
87
DecibelsMethod
Definition
DecibelsMethod.h:12
DecibelsMethod::DecibelsMethod
DecibelsMethod(const double operatingTime, const double linePressure, const double decibels, const double decibelRatingA, const double pressureA, const double firstFlowA, const double secondFlowA, const double decibelRatingB, const double pressureB, const double firstFlowB, const double secondFlowB)
Definition
DecibelsMethod.h:36
DecibelsMethod::calculate
Output calculate()
Definition
DecibelsMethod.h:47
DecibelsMethod::Output
Definition
DecibelsMethod.h:14
Generated by
1.9.8