AMO-Tools-Suite  v.0.9.0
Set of tools for calculating energy efficiency in industrial equipment
All Classes Namespaces Files Functions Variables Enumerations Friends Macros Pages
Header.h
1 #ifndef AMO_TOOLS_SUITE_HEADER_H
2 #define AMO_TOOLS_SUITE_HEADER_H
3 
4 #include <iostream>
5 #include <string>
6 #include <vector>
7 #include "SteamProperties.h"
8 
9 class Inlet {
10 public:
19  Inlet(double pressure, SteamProperties::ThermodynamicQuantity quantityType, double quantityValue, double massFlow);
20 
21  double getPressure() const { return pressure; }
22  double getQuantityValue() const { return quantityValue; }
23  double getMassFlow() const { return massFlow; }
24  SteamProperties::ThermodynamicQuantity getQuantityType() const { return quantityType; }
25  double getInletEnergyFlow() const { return inletEnergyFlow; }
26  SteamSystemModelerTool::SteamPropertiesOutput const & getInletProperties() const { return inletProperties; }
27 
28  friend std::ostream &operator<<(std::ostream &stream, const Inlet &inlet);
29 
30  void setPressure(double pressure);
31  void setQuantityValue(double quantityValue);
32  void setMassFlow(double massFlow);
33  void setQuantityType(SteamProperties::ThermodynamicQuantity quantityType);
34 
35 private:
36  void calculate();
37 
38  double pressure, quantityValue, massFlow;
40  double inletEnergyFlow;
42 };
43 
44 class Header {
45 public:
52  Header(double headerPressure, std::vector<Inlet> & inletVec);
53 
54  friend std::ostream &operator<<(std::ostream &stream, const Header &header);
58  double getHeaderPressure() const { return headerPressure; }
59 
63  double getSpecificEnthalpy() const { return specificEnthalpy; }
64 
68  double getInletEnergyFlow() const { return inletEnergyFlow; }
69 
73  double getInletMassFlow() const { return inletMassFlow; }
74 
78  std::vector<Inlet> const & getInlets() const { return inlets; }
79 
83  SteamSystemModelerTool::SteamPropertiesOutput const & getHeaderProperties() const { return headerProperties; }
84 
88  void setHeaderPressure(double headerPressure);
89 
93  void setInlets(std::vector<Inlet> & inlets);
94 
95 private:
96  void calculate();
97  double headerPressure, specificEnthalpy, inletEnergyFlow, inletMassFlow;
98  std::vector<Inlet> inlets;
100 };
101 
102 #endif //AMO_TOOLS_SUITE_HEADER_H
double getSpecificEnthalpy() const
Definition: Header.h:63
double getHeaderPressure() const
Definition: Header.h:58
std::vector< Inlet > const & getInlets() const
Definition: Header.h:78
Definition: Header.h:9
SteamSystemModelerTool::SteamPropertiesOutput const & getHeaderProperties() const
Definition: Header.h:83
ThermodynamicQuantity
enum class for ThermodynamicQuantity
Definition: Header.h:44
Inlet(double pressure, SteamProperties::ThermodynamicQuantity quantityType, double quantityValue, double massFlow)
Definition: Header.cpp:3
double getInletMassFlow() const
Definition: Header.h:73
double getInletEnergyFlow() const
Definition: Header.h:68