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