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
HeadTool.h
1
9#ifndef TOOLS_SUITE_HEADTOOL_H
10#define TOOLS_SUITE_HEADTOOL_H
11
12#include <string>
13#include <unordered_map>
14
22 public:
23 struct Output {
24 Output(double elevationHead, double pressureHead, double velocityHeadDifferential, double suctionHead,
25 double dischargeHead, double pumpHead)
26 : elevationHead(elevationHead), pressureHead(pressureHead),
27 velocityHeadDifferential(velocityHeadDifferential), suctionHead(suctionHead),
28 dischargeHead(dischargeHead), pumpHead(pumpHead) {}
29
30 Output() = default;
31 double elevationHead = 0, pressureHead = 0, velocityHeadDifferential = 0, suctionHead = 0, dischargeHead = 0,
32 pumpHead = 0;
33 };
56
63
72 double velocity(double diameter, double flow);
73
79 double velocityHead(double velocity, double gravity);
80
82 const double specificGravity;
84 const double flowRate;
86 const double suctionPipeDiameter;
98 const double gravity = 32.1740;
100 const double PI = 3.141592653589793238463;
101};
102
109 public:
127 HeadToolSuctionTank(const double specificGravity, const double flowRate, const double suctionPipeDiameter,
128 const double suctionTankGasOverPressure, const double suctionTankFluidSurfaceElevation,
129 const double suctionLineLossCoefficients, const double dischargePipeDiameter,
130 const double dischargeGaugePressure, const double dischargeGaugeElevation,
135 suctionTankGasOverPressure(suctionTankGasOverPressure),
136 suctionTankFluidSurfaceElevation(suctionTankFluidSurfaceElevation) {}
137
143
144 private:
145 const double suctionTankGasOverPressure, suctionTankFluidSurfaceElevation;
147};
148
154class HeadTool : private HeadToolBase {
155 public:
172 HeadTool(const double specificGravity, const double flowRate, const double suctionPipeDiameter,
173 const double suctionGaugePressure, const double suctionGaugeElevation,
174 const double suctionLineLossCoefficients, const double dischargePipeDiameter,
175 const double dischargeGaugePressure, const double dischargeGaugeElevation,
180 suctionGaugePressure(suctionGaugePressure), suctionGaugeElevation(suctionGaugeElevation) {}
187 // std::unordered_map<std::string, double> calculateThermalResistance() override;
188
189 private:
190 const double suctionGaugePressure, suctionGaugeElevation;
192};
193
194#endif // TOOLS_SUITE_HEADTOOL_H
Contains the entire hierarchy of the HeadTool classes. calculateThermalResistance(): Calculates the o...
Definition HeadTool.h:21
double velocity(double diameter, double flow)
const double dischargePipeDiameter
discharge pipe diameter in inches
Definition HeadTool.h:90
const double dischargeLineLossCoefficients
discharge line loss coefficients - unitless
Definition HeadTool.h:96
const double PI
value of Pi
Definition HeadTool.h:100
const double suctionPipeDiameter
suction pipe diameter in inches
Definition HeadTool.h:86
const double dischargeGaugePressure
discharge gauge pressure in psi
Definition HeadTool.h:92
double velocityHead(double velocity, double gravity)
const double gravity
gravity constant
Definition HeadTool.h:98
virtual HeadToolBase::Output calculate()=0
const double dischargeGaugeElevation
discharge gauge elevation in ft
Definition HeadTool.h:94
const double suctionLineLossCoefficients
suction line loss coefficient - unitless
Definition HeadTool.h:88
const double flowRate
flow rate in gpm
Definition HeadTool.h:84
const double specificGravity
specific gravity - unitless
Definition HeadTool.h:82
HeadToolBase(const double specificGravity, const double flowRate, const double suctionPipeDiameter, const double suctionLineLossCoefficients, const double dischargePipeDiameter, const double dischargeGaugePressure, const double dischargeGaugeElevation, const double dischargeLineLossCoefficients)
Definition HeadTool.h:48
HeadToolSuctionTank(const double specificGravity, const double flowRate, const double suctionPipeDiameter, const double suctionTankGasOverPressure, const double suctionTankFluidSurfaceElevation, const double suctionLineLossCoefficients, const double dischargePipeDiameter, const double dischargeGaugePressure, const double dischargeGaugeElevation, const double dischargeLineLossCoefficients)
Definition HeadTool.h:127
HeadToolBase::Output calculate() override
HeadToolBase::Output calculate() override
HeadTool(const double specificGravity, const double flowRate, const double suctionPipeDiameter, const double suctionGaugePressure, const double suctionGaugeElevation, const double suctionLineLossCoefficients, const double dischargePipeDiameter, const double dischargeGaugePressure, const double dischargeGaugeElevation, const double dischargeLineLossCoefficients)
Definition HeadTool.h:172