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