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
HighToMediumSteamTurbineCalculator.h
1#ifndef TOOLS_SUITE_HIGHTOMEDIUMSTEAMTURBINECALCULATOR_H
2#define TOOLS_SUITE_HIGHTOMEDIUMSTEAMTURBINECALCULATOR_H
3
4#include <memory>
5
6#include <steamModeler/api/HeaderInput.h>
7#include <steamModeler/api/TurbineInput.h>
9#include <steamModeler/domain/HighToMediumSteamTurbineCalculationsDomain.h>
10#include <steamModeler/domain/TurbineFactory.h>
11#include <steamModeler/service/medium_pressure_header/SteamBalanceCheckerService.h>
12#include <steamModeler/service/RestarterService.h>
13#include <steamModeler/service/SteamBalanceException.h>
14#include <steamModeler/service/SteamReducer.h>
15#include <steamModeler/SteamSystemModelerTool.h>
17
19 public:
21 calc(const int headerCountInput, const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
22 const HeaderWithHighestPressure& highPressureHeaderInput, const CondensingTurbine& condensingTurbineInput,
23 const std::shared_ptr<Turbine>& condensingTurbine, const PressureTurbine& highToLowTurbineInput,
24 const std::shared_ptr<Turbine>& highToLowPressureTurbine,
25 const std::shared_ptr<Turbine>& highToLowPressureTurbineIdeal, const PressureTurbine& highToMediumTurbineInput,
26 const std::shared_ptr<HeaderNotHighestPressure>& mediumPressureHeaderInput,
27 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput, const Boiler& boiler) const;
28
29 private:
30 TurbineFactory turbineFactory = TurbineFactory();
31 SteamBalanceCheckerService steamBalanceCheckerService = SteamBalanceCheckerService();
32
34 calc(const double availableMassFlow, const PressureTurbine& highToLowTurbineInput,
35 const std::shared_ptr<Turbine>& highToLowPressureTurbine,
36 const std::shared_ptr<Turbine>& highToLowPressureTurbineIdeal, const PressureTurbine& highToMediumTurbineInput,
37 const std::shared_ptr<HeaderNotHighestPressure>& mediumPressureHeaderInput,
38 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
39 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput, const Boiler& boiler) const;
40
42 calcFlowRange(const double availableMassFlow, const PressureTurbine& highToLowTurbineInput,
43 const std::shared_ptr<Turbine>& highToLowPressureTurbine,
44 const std::shared_ptr<Turbine>& highToLowPressureTurbineIdeal,
45 const PressureTurbine& highToMediumTurbineInput,
46 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
47 const std::shared_ptr<HeaderNotHighestPressure>& mediumPressureHeaderInput,
48 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput, const Boiler& boiler) const;
49
51 calcPowerRange(const double availableMassFlow, const PressureTurbine& highToLowTurbineInput,
52 const std::shared_ptr<Turbine>& highToLowPressureTurbine,
53 const std::shared_ptr<Turbine>& highToLowPressureTurbineIdeal,
54 const PressureTurbine& highToMediumTurbineInput,
55 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
56 const std::shared_ptr<HeaderNotHighestPressure>& mediumPressureHeaderInput,
57 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput, const Boiler& boiler) const;
58
60 const double availableMassFlow, const PressureTurbine& highToLowTurbineInput,
61 const std::shared_ptr<Turbine>& highToLowPressureTurbine,
62 const std::shared_ptr<Turbine>& highToLowPressureTurbineIdeal, const PressureTurbine& highToMediumTurbineInput,
63 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
64 const std::shared_ptr<HeaderNotHighestPressure>& mediumPressureHeaderInput,
65 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput, const Boiler& boiler) const;
66
68 calcSteamFlow(const double availableMassFlow, const PressureTurbine& highToLowTurbineInput,
69 const std::shared_ptr<Turbine>& highToLowPressureTurbine,
70 const std::shared_ptr<Turbine>& highToLowPressureTurbineIdeal,
71 const PressureTurbine& highToMediumTurbineInput,
72 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
73 const std::shared_ptr<HeaderNotHighestPressure>& mediumPressureHeaderInput,
74 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput, const Boiler& boiler) const;
75
77 calcBalanceHeader(const double availableMassFlow, const std::shared_ptr<Turbine>& highToLowPressureTurbine,
78 const std::shared_ptr<Turbine>& highToLowPressureTurbineIdeal,
79 const PressureTurbine& highToMediumTurbineInput,
80 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
81 const std::shared_ptr<HeaderNotHighestPressure>& mediumPressureHeaderInput) const;
82
83 double calcAvailableMassFlow(const HeaderWithHighestPressure& highPressureHeaderInput,
84 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
85 const CondensingTurbine& condensingTurbineInput,
86 const std::shared_ptr<Turbine>& condensingTurbine,
87 const PressureTurbine& highToLowTurbineInput,
88 const std::shared_ptr<Turbine>& highToLowPressureTurbine) const;
89};
90
91#endif // TOOLS_SUITE_HIGHTOMEDIUMSTEAMTURBINECALCULATOR_H
Calculator for boiler.
Calculator for turbines for steam systems.