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
SteamReducer.h
1#ifndef TOOLS_SUITE_STEAMREDUCER_H
2#define TOOLS_SUITE_STEAMREDUCER_H
3
4#include <steamModeler/api/TurbineInput.h>
5#include <steamModeler/domain/TurbineFactory.h>
7
8// TODO extract class
10 public:
11 double remainingAdditionalSteamNeeded;
12 std::shared_ptr<Turbine> highToLowPressureTurbineUpdated;
13 std::shared_ptr<Turbine> highToLowPressureTurbineIdealUpdated;
14
15 friend std::ostream& operator<<(std::ostream& stream, const SteamReducerOutput& output) {
16 stream << "Turbine["
17 << "remainingAdditionalSteamNeeded=" << static_cast<int>(output.remainingAdditionalSteamNeeded)
18 << ", highToLowPressureTurbineUpdated=" << output.highToLowPressureTurbineUpdated
19 << ", highToLowPressureTurbineIdealUpdated=" << output.highToLowPressureTurbineIdealUpdated << "]";
20 return stream;
21 }
22};
23
28 public:
34 reduceSteamThroughHighToLowTurbine(const double additionalSteamNeeded, const PressureTurbine& highToLowTurbineInput,
35 const std::shared_ptr<Turbine>& highToLowPressureTurbine,
36 const std::shared_ptr<Turbine>& highToLowPressureTurbineIdeal,
37 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
38 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput) const;
39
40 private:
41 const TurbineFactory turbineFactory = TurbineFactory();
42
44 reduceBalanceHeader(const double additionalSteamNeeded, const PressureTurbine& highToLowTurbineInput,
45 const std::shared_ptr<Turbine>& highToLowPressureTurbine,
46 const std::shared_ptr<Turbine>& highToLowPressureTurbineIdeal,
47 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
48 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput) const;
49
50 SteamReducerOutput reducePowerRange(const double additionalSteamNeeded,
51 const PressureTurbine& highToLowTurbineInput,
52 const std::shared_ptr<Turbine>& highToLowPressureTurbine,
53 const std::shared_ptr<Turbine>& highToLowPressureTurbineIdeal,
54 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
55 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput) const;
56
57 SteamReducerOutput reduceFlowRange(const double additionalSteamNeeded, const PressureTurbine& highToLowTurbineInput,
58 const std::shared_ptr<Turbine>& highToLowPressureTurbine,
59 const std::shared_ptr<Turbine>& highToLowPressureTurbineIdeal,
60 const SteamSystemModelerTool::FluidProperties& highPressureHeaderOutput,
61 const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput) const;
62};
63
64#endif // TOOLS_SUITE_STEAMREDUCER_H
Calculator for turbines for steam systems.
SteamReducerOutput reduceSteamThroughHighToLowTurbine(const double additionalSteamNeeded, const PressureTurbine &highToLowTurbineInput, const std::shared_ptr< Turbine > &highToLowPressureTurbine, const std::shared_ptr< Turbine > &highToLowPressureTurbineIdeal, const SteamSystemModelerTool::FluidProperties &highPressureHeaderOutput, const std::shared_ptr< HeaderNotHighestPressure > &lowPressureHeaderInput) const