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
HighToLowSteamTurbineCalculator.h
1#ifndef TOOLS_SUITE_HIGHTOLOWSTEAMTURBINECALCULATOR_H
2#define TOOLS_SUITE_HIGHTOLOWSTEAMTURBINECALCULATOR_H
3
4#include <steamModeler/api/HeaderInput.h>
5#include <steamModeler/api/TurbineInput.h>
7#include <steamModeler/domain/TurbineFactory.h>
8#include <steamModeler/service/medium_pressure_header/SteamBalanceCheckerService.h>
9#include <steamModeler/service/RestarterService.h>
10#include <steamModeler/service/SteamBalanceException.h>
11#include <steamModeler/SteamSystemModelerTool.h>
13
15 public:
16 std::shared_ptr<Turbine> calc(const int headerCountInput, const PressureTurbine& highToLowTurbineInput,
17 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
18 const HeaderWithHighestPressure& highPressureHeaderInput,
19 const CondensingTurbine& condensingTurbineInput,
20 const std::shared_ptr<Turbine>& condensingTurbine,
21 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput,
22 const Boiler& boiler, const bool isCalcIdeal) const;
23
24 private:
26 SteamBalanceCheckerService steamBalanceCheckerService = SteamBalanceCheckerService();
27 TurbineFactory turbineFactory = TurbineFactory();
28
29 std::shared_ptr<Turbine>
30 calcHighToLowPressureTurbine(const double availableMassFlow, const PressureTurbine& highToLowTurbineInput,
31 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
32 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput,
33 const Boiler& boiler, const bool isCalcIdeal) const;
34
35 std::shared_ptr<Turbine> calcFlowRange(const double availableMassFlow, const PressureTurbine& highToLowTurbineInput,
36 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
37 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput,
38 const Boiler& boiler, const bool isCalcIdeal) const;
39
40 std::shared_ptr<Turbine> calcPowerRange(const double availableMassFlow,
41 const PressureTurbine& highToLowTurbineInput,
42 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
43 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput,
44 const Boiler& boiler, const bool isCalcIdeal) const;
45
46 std::shared_ptr<Turbine>
47 calcPowerGeneration(const double availableMassFlow, const PressureTurbine& highToLowTurbineInput,
48 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
49 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput, const Boiler& boiler,
50 const bool isCalcIdeal) const;
51
52 std::shared_ptr<Turbine> calcSteamFlow(const double availableMassFlow, const PressureTurbine& highToLowTurbineInput,
53 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
54 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput,
55 const Boiler& boiler, const bool isCalcIdeal) const;
56
57 std::shared_ptr<Turbine> calcBalanceHeader(const double availableMassFlow,
58 const PressureTurbine& highToLowTurbineInput,
59 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
60 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput,
61 const bool isCalcIdeal) const;
62
63 double calcAvailableMassFlow(const HeaderWithHighestPressure& highPressureHeaderInput,
64 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
65 const CondensingTurbine& condensingTurbineInput,
66 const std::shared_ptr<Turbine>& condensingTurbine) const;
67};
68
69#endif // TOOLS_SUITE_HIGHTOLOWSTEAMTURBINECALCULATOR_H
Calculator for boiler.
Calculator for turbines for steam systems.