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
HeaderFactory.h
1#pragma once
2
3#include <memory>
4
5#include <steamModeler/api/BoilerInput.h>
6#include <steamModeler/api/HeaderInput.h>
7#include <steamModeler/api/TurbineInput.h>
10#include <steamModeler/Header.h>
11#include <steamModeler/HeatExchanger.h>
12#include <steamModeler/PRV.h>
14
15#include "HighPressureHeaderCalculationsDomain.h"
16#include "InletFactory.h"
17#include "LowPressureFlashedSteamIntoHeaderCalculatorDomain.h"
18#include "LowPressureHeaderCalculationsDomain.h"
19#include "MediumPressureHeaderCalculationsDomain.h"
20
22 public:
23 const Header make(const double& headerPressure, const Boiler& boiler) const;
24
25 const Header make(const std::shared_ptr<HeaderNotHighestPressure>& mediumPressureHeaderInput,
26 const std::shared_ptr<PrvWithoutDesuperheating>& prvWithoutDesuperheating,
27 const PressureTurbine& highToMediumTurbineInput,
28 const std::shared_ptr<Turbine>& highToMediumPressureTurbine,
29 const std::shared_ptr<FlashTank>& highPressureCondensateFlashTank) const;
30
31 const Header make(const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput,
32 const std::shared_ptr<FlashTank>& highPressureCondensateFlashTank,
33 const SteamSystemModelerTool::FluidProperties& mediumPressureCondensate) const;
34
35 const Header make(const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput,
36 const SteamSystemModelerTool::FluidProperties& highPressureCondensate,
37 const SteamSystemModelerTool::FluidProperties& mediumPressureCondensate) const;
38
39 const Header
40 make(const double headerCountInput, const std::shared_ptr<HeaderNotHighestPressure>& lowPressureHeaderInput,
41 const PressureTurbine& highToLowTurbineInput, const PressureTurbine& mediumToLowTurbineInput,
42 const BoilerInput& boilerInput,
43 const std::shared_ptr<PrvWithoutDesuperheating>& lowPressurePrvWithoutDesuperheating,
44 const std::shared_ptr<Turbine>& highToLowPressureTurbine, const std::shared_ptr<FlashTank>& blowdownFlashTank,
45 const LowPressureFlashedSteamIntoHeaderCalculatorDomain& lowPressureFlashedSteamIntoHeaderCalculatorDomain,
46 const std::shared_ptr<MediumPressureHeaderCalculationsDomain>& mediumPressureHeaderCalculationsDomain) const;
47
48 const Header
49 make(const int headerCountInput, const double headerPressure,
50 const std::shared_ptr<FlashTank>& highPressureCondensateFlashTank,
51 const HighPressureHeaderCalculationsDomain& highPressureHeaderCalculationsDomain,
52 const std::shared_ptr<MediumPressureHeaderCalculationsDomain>& mediumPressureHeaderCalculationsDomain,
53 const std::shared_ptr<LowPressureHeaderCalculationsDomain>& lowPressureHeaderCalculationsDomain) const;
54
55 const Header make(const double headerPressure, const SteamSystemModelerTool::FluidProperties& returnCondensate,
56 const BoilerInput& boilerInput, const std::shared_ptr<HeatExchanger::Output>& heatExchangerOutput,
58 const CondensingTurbine& condensingTurbineInput,
59 const std::shared_ptr<Turbine>& condensingTurbine) const;
60
61 const Header
62 make(const int headerCountInput, const HighPressureHeaderCalculationsDomain& highPressureHeaderCalculationsDomain,
63 const std::shared_ptr<MediumPressureHeaderCalculationsDomain>& mediumPressureHeaderCalculationsDomain,
64 const std::shared_ptr<LowPressureHeaderCalculationsDomain>& lowPressureHeaderCalculationsDomain) const;
65
66 double determineLowHeaderPressure(
67 const int headerCountInput, const HighPressureHeaderCalculationsDomain& highPressureHeaderCalculationsDomain,
68 const std::shared_ptr<LowPressureHeaderCalculationsDomain>& lowPressureHeaderCalculationsDomain) const;
69
70 const std::shared_ptr<FlashTank> selectHighPressureCondensateFlashTank(
71 const std::shared_ptr<MediumPressureHeaderCalculationsDomain>& mediumPressureHeaderCalculationsDomain,
72 const std::shared_ptr<LowPressureHeaderCalculationsDomain>& lowPressureHeaderCalculationsDomain) const;
73
74 private:
75 const InletFactory inletFactory = InletFactory();
76
77 bool isMediumPressureCondensateFlashTankNull(
78 const std::shared_ptr<LowPressureHeaderCalculationsDomain>& lowPressureHeaderCalculationsDomain) const;
79};
80
Calculator for boiler.
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.