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
TurbineFactory.h
1 #ifndef AMO_TOOLS_SUITE_TURBINEFACTORY_H
2 #define AMO_TOOLS_SUITE_TURBINEFACTORY_H
3 
4 #include <ssmt/Header.h>
5 #include <ssmt/Turbine.h>
6 #include <ssmt/api/TurbineInput.h>
7 #include <ssmt/api/HeaderInput.h>
8 
9 class TurbineFactory {
10 public:
11  Turbine make(const SteamSystemModelerTool::FluidProperties &headerProperties,
12  const Turbine::TurbineProperty &turbineProperty,
13  const PressureTurbine &highToLowTurbine, const double massFlowOrPowerOut,
14  const std::shared_ptr<HeaderNotHighestPressure> &headerWithLowPressure) const;
15 
16  Turbine makeIdeal(const SteamSystemModelerTool::FluidProperties &headerProperties,
17  const Turbine::TurbineProperty &turbineProperty, const PressureTurbine &highToLowTurbine,
18  const double massFlowOrPowerOut,
19  const std::shared_ptr<HeaderNotHighestPressure> &headerWithLowPressure) const;
20 
21  Turbine make(const SteamSystemModelerTool::FluidProperties &headerProperties,
22  const Turbine::TurbineProperty &turbineProperty, const PressureTurbine &highToLowTurbine,
23  const double massFlowOrPowerOut,
24  const std::shared_ptr<HeaderNotHighestPressure> &headerWithLowPressure,
25  const double isentropicEfficiency) const;
26 
27  Turbine
28  make(const SteamSystemModelerTool::FluidProperties &headerProperties, const CondensingTurbine &condensingTurbine,
29  const bool isCalcIdeal) const;
30 
31  Turbine
32  make(const SteamSystemModelerTool::FluidProperties &headerProperties, const CondensingTurbine &condensingTurbine,
33  const double isentropicEfficiency) const;
34 
35  Turbine makeWithMassFlow(const SteamSystemModelerTool::FluidProperties &headerProperties,
36  const PressureTurbine &pressureTurbine, const double massFlow,
37  const std::shared_ptr<HeaderNotHighestPressure> &headerWithLowPressure,
38  const bool isCalcIdeal) const;
39 
40  std::shared_ptr<Turbine>
41  makePtrWithMassFlow(const SteamSystemModelerTool::FluidProperties &headerProperties,
42  const PressureTurbine &pressureTurbine, double massFlow,
43  const std::shared_ptr<HeaderNotHighestPressure> &headerWithLowPressure,
44  const bool isCalcIdeal) const;
45 
46  Turbine makeWithPowerOut(const SteamSystemModelerTool::FluidProperties &headerProperties,
47  const PressureTurbine &pressureTurbine, const double powerOut,
48  const std::shared_ptr<HeaderNotHighestPressure> &headerWithLowPressure,
49  const bool isCalcIdeal) const;
50 
51  std::shared_ptr<Turbine>
52  makePtrWithPowerOut(const SteamSystemModelerTool::FluidProperties &headerProperties,
53  const PressureTurbine &pressureTurbine, const double massFlow,
54  const std::shared_ptr<HeaderNotHighestPressure> &headerWithLowPressure,
55  const bool isCalcIdeal) const;
56 
57 private:
58  Turbine make(const SteamSystemModelerTool::FluidProperties &headerProperties,
59  const CondensingTurbine &condensingTurbine) const;
60 
61  Turbine makeIdeal(const SteamSystemModelerTool::FluidProperties &headerProperties,
62  const CondensingTurbine &condensingTurbine) const;
63 
65  convertCondensingTurbineOperationToTurbineProperty(const CondensingTurbineOperation &operationType) const;
66 };
67 
68 #endif //AMO_TOOLS_SUITE_TURBINEFACTORY_H
TurbineProperty
enum class for TurbineProperty
Definition: Turbine.h:31