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
PneumaticValve.h
Go to the documentation of this file.
1
10#ifndef TOOLS_SUITE_PNEUMATICVALVE_H
11#define TOOLS_SUITE_PNEUMATICVALVE_H
12
13#include <cmath>
14#include <functional>
15#include <stdexcept>
16#include <vector>
17
19 public:
25 PneumaticValve(double inletPressure, double outletPressure)
26 : inletPressure(inletPressure), outletPressure(outletPressure),
27 flowRate(0.6875 * std::sqrt(inletPressure - outletPressure) * std::sqrt(inletPressure + outletPressure)),
28 flowRateKnown(false) {}
29
36 PneumaticValve(double inletPressure, double outletPressure, double flowRate)
37 : inletPressure(inletPressure), outletPressure(outletPressure), flowRate(flowRate), flowRateKnown(true) {}
38
42 double calculate() {
43 if (!flowRateKnown) {
44 return flowRate;
45 }
46 return flowRate /
47 (0.6875 * std::sqrt(inletPressure - outletPressure) * std::sqrt(inletPressure + outletPressure));
48 }
49
50 private:
51 double inletPressure, outletPressure, flowRate;
52 bool flowRateKnown;
53};
54
55#endif
PneumaticValve(double inletPressure, double outletPressure)
PneumaticValve(double inletPressure, double outletPressure, double flowRate)