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
TurbineCalculator.h
1 #ifndef AMO_TOOLS_SUITE_TURBINCALCULATOR_H
2 #define AMO_TOOLS_SUITE_TURBINCALCULATOR_H
3 
4 #include <ssmt/Header.h>
5 #include <ssmt/SteamSystemModelerTool.h>
6 #include <ssmt/Turbine.h>
7 #include <ssmt/api/HeaderInput.h>
8 #include <ssmt/api/TurbineInput.h>
9 #include <ssmt/domain/TurbineFactory.h>
10 
11 class TurbineCalculator {
12 public:
13  Turbine calc(const SteamSystemModelerTool::FluidProperties &headerProperties,
14  const HeaderWithHighestPressure &highPressureHeaderInput, const int headerCountInput,
15  const double connectedHeaderProcessSteamUsage,
16  const std::shared_ptr<HeaderNotHighestPressure> &headerWithNotHighPressure,
17  const PressureTurbine &pressureTurbine) const;
18 
19  Turbine calc(const std::shared_ptr<HeaderNotHighestPressure> &mediumPressureHeaderInput,
20  const SteamSystemModelerTool::FluidProperties &mediumPressureHeaderOutput,
21  const PressureTurbine &mediumToLowTurbineInput,
22  const std::shared_ptr<HeaderNotHighestPressure> &lowPressureHeaderInput) const;
23 
24 private:
25  const TurbineFactory turbineFactory = TurbineFactory();
26 
27  Turbine::TurbineProperty determineTurbineProperty(const PressureTurbine &pressureTurbine) const;
28 
29  double calcMassFlowOrPowerOut(const SteamSystemModelerTool::FluidProperties &headerProperties,
30  const HeaderWithHighestPressure &highPressureHeaderInput, const int headerCountInput,
31  const double connectedHeaderProcessSteamUsage) const;
32 
33  double adjustMassFlowOrPowerOut(const double massFlowOrPowerOut, const PressureTurbine &pressureTurbine) const;
34 
35  double calcMassFlowOrPowerOut(const std::shared_ptr<HeaderNotHighestPressure> &mediumPressureHeaderInput,
36  const SteamSystemModelerTool::FluidProperties &mediumPressureHeaderOutput) const;
37 };
38 
39 #endif //AMO_TOOLS_SUITE_TURBINCALCULATOR_H
TurbineProperty
enum class for TurbineProperty
Definition: Turbine.h:31