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