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#pragma once
2
11#include <string>
12#include <unordered_map>
13
21 public:
22 struct Output {
23 Output(double elevationHead, double pressureHead, double velocityHeadDifferential, double suctionHead,
24 double dischargeHead, double pumpHead)
25 : elevationHead(elevationHead), pressureHead(pressureHead),
26 velocityHeadDifferential(velocityHeadDifferential), suctionHead(suctionHead),
27 dischargeHead(dischargeHead), pumpHead(pumpHead) {}
28
29 Output() = default;
30 double elevationHead = 0, pressureHead = 0, velocityHeadDifferential = 0, suctionHead = 0, dischargeHead = 0,
31 pumpHead = 0;
32 };
55
62
71 double velocity(double diameter, double flow);
72
78 double velocityHead(double velocity, double gravity);
79
81 const double specificGravity;
83 const double flowRate;
85 const double suctionPipeDiameter;
97 const double gravity = 32.1740;
99 const double PI = 3.141592653589793238463;
100};
101
108 public:
126 HeadToolSuctionTank(const double specificGravity, const double flowRate, const double suctionPipeDiameter,
127 const double suctionTankGasOverPressure, const double suctionTankFluidSurfaceElevation,
128 const double suctionLineLossCoefficients, const double dischargePipeDiameter,
129 const double dischargeGaugePressure, const double dischargeGaugeElevation,
134 suctionTankGasOverPressure(suctionTankGasOverPressure),
135 suctionTankFluidSurfaceElevation(suctionTankFluidSurfaceElevation) {}
136
142
143 private:
144 const double suctionTankGasOverPressure, suctionTankFluidSurfaceElevation;
146};
147
153class HeadTool : private HeadToolBase {
154 public:
171 HeadTool(const double specificGravity, const double flowRate, const double suctionPipeDiameter,
172 const double suctionGaugePressure, const double suctionGaugeElevation,
173 const double suctionLineLossCoefficients, const double dischargePipeDiameter,
174 const double dischargeGaugePressure, const double dischargeGaugeElevation,
179 suctionGaugePressure(suctionGaugePressure), suctionGaugeElevation(suctionGaugeElevation) {}
186 // std::unordered_map<std::string, double> calculateThermalResistance() override;
187
188 private:
189 const double suctionGaugePressure, suctionGaugeElevation;
191};
192
Contains the entire hierarchy of the HeadTool classes. calculateThermalResistance(): Calculates the o...
Definition HeadTool.h:20
double velocity(double diameter, double flow)
const double dischargePipeDiameter
discharge pipe diameter in inches
Definition HeadTool.h:89
const double dischargeLineLossCoefficients
discharge line loss coefficients - unitless
Definition HeadTool.h:95
const double PI
value of Pi
Definition HeadTool.h:99
const double suctionPipeDiameter
suction pipe diameter in inches
Definition HeadTool.h:85
const double dischargeGaugePressure
discharge gauge pressure in psi
Definition HeadTool.h:91
double velocityHead(double velocity, double gravity)
const double gravity
gravity constant
Definition HeadTool.h:97
virtual HeadToolBase::Output calculate()=0
const double dischargeGaugeElevation
discharge gauge elevation in ft
Definition HeadTool.h:93
const double suctionLineLossCoefficients
suction line loss coefficient - unitless
Definition HeadTool.h:87
const double flowRate
flow rate in gpm
Definition HeadTool.h:83
const double specificGravity
specific gravity - unitless
Definition HeadTool.h:81
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:47
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:126
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:171