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
MediumPressureHeaderCalculationsDomain.h
1#ifndef TOOLS_SUITE_MEDIUMPRESSUREHEADERCALCULATIONSDOMAIN_H
2#define TOOLS_SUITE_MEDIUMPRESSUREHEADERCALCULATIONSDOMAIN_H
3
4#include <iostream>
5#include <memory>
6
8#include <steamModeler/PRV.h>
9#include <steamModeler/SteamSystemModelerTool.h>
11
13 public:
14 std::shared_ptr<PrvWithoutDesuperheating> highToMediumPressurePrv;
15 std::shared_ptr<FlashTank> highPressureCondensateFlashTank;
16 HeatLoss mediumPressureHeaderHeatLoss;
17 SteamSystemModelerTool::FluidProperties mediumPressureHeaderOutput;
18 SteamSystemModelerTool::FluidProperties mediumPressureCondensate;
19 std::shared_ptr<Turbine> mediumToLowPressureTurbine;
20 std::shared_ptr<Turbine> mediumToLowPressureTurbineIdeal;
21 std::shared_ptr<Turbine> highToLowPressureTurbineUpdated;
22 std::shared_ptr<Turbine> highToLowPressureTurbineIdealUpdated;
23
24 friend std::ostream& operator<<(std::ostream& stream, const MediumPressureHeaderCalculationsDomain& domain) {
25 const std::shared_ptr<PrvWithoutDesuperheating>& prvWithoutPtr = domain.highToMediumPressurePrv;
26
27 stream << "MediumPressureHeaderCalculationsDomain[";
28
29 if (prvWithoutPtr->isWithDesuperheating()) {
30 std::shared_ptr<PrvWithDesuperheating> prvWithPtr =
31 std::static_pointer_cast<PrvWithDesuperheating>(prvWithoutPtr);
32 stream << "highToMediumPressurePrv=" << prvWithPtr;
33 }
34 else {
35 stream << "highToMediumPressurePrv=" << prvWithoutPtr;
36 }
37
38 stream << ", highPressureCondensateFlashTank=" << domain.highPressureCondensateFlashTank
39 << ", mediumPressureHeaderHeatLoss=" << domain.mediumPressureHeaderHeatLoss
40 << ", mediumPressureHeaderOutput=" << domain.mediumPressureHeaderOutput
41 << ", mediumPressureCondensate=" << domain.mediumPressureCondensate
42 << ", mediumToLowPressureTurbine=" << domain.mediumToLowPressureTurbine
43 << ", mediumToLowPressureTurbineIdeal=" << domain.mediumToLowPressureTurbineIdeal
44 << ", highToLowPressureTurbineUpdated=" << domain.highToLowPressureTurbineUpdated
45 << ", highToLowPressureTurbineIdealUpdated=" << domain.highToLowPressureTurbineIdealUpdated << "]";
46
47 return stream;
48 }
49
50 friend std::ostream& operator<<(std::ostream& stream,
51 const std::shared_ptr<MediumPressureHeaderCalculationsDomain>& domain) {
52 if (domain == nullptr) {
53 stream << "MediumPressureHeaderCalculationsDomain[nullptr]";
54 }
55 else {
56 stream << *domain;
57 }
58 return stream;
59 }
60};
61
62#endif // TOOLS_SUITE_MEDIUMPRESSUREHEADERCALCULATIONSDOMAIN_H
Calculator for the flash tank for steam systems.
Calculator for the steam properties after after a pressure drop for steam systems.
Calculator for turbines for steam systems.