hydrobricks
Loading...
Searching...
No Matches
ProcessRoutingDelay.h
1#ifndef HYDROBRICKS_PROCESS_ROUTING_DELAY_H
2#define HYDROBRICKS_PROCESS_ROUTING_DELAY_H
3
4#include "Includes.h"
5#include "ProcessOutflow.h"
6
27 public:
28 explicit ProcessRoutingDelay(WaterContainer* container);
29
30 ~ProcessRoutingDelay() override = default;
31
37 static void RegisterProcessSettings(SettingsModel* modelSettings);
38
42 [[nodiscard]] bool IsValid() const override;
43
47 void SetParameters(const ProcessSettings& processSettings) override;
48
52 void Reset() override;
53
57 void Finalize() override;
58
65 [[nodiscard]] const vecDouble& GetChangeRates() override {
66 return GetRates();
67 }
68
72 double* GetValuePointer(std::string_view name) override;
73
74 protected:
75 const float* _delay; // translation time [d]
76
77 // Delivery schedule (slot j: water due j time steps from now) and its ordinates.
78 vecDouble _schedule;
79 vecDouble _ordinates;
80 double _lastDelay;
81 double _lastTimeStep;
82
83 // End-of-step content of the previous step (to measure the committed inflow).
84 double _previousContent;
85
86 // In-transit water (scheduled, not yet delivered) for water balance logging.
87 double _processStorage;
88
94 const vecDouble& GetRates() override;
95
100};
101
102#endif // HYDROBRICKS_PROCESS_ROUTING_DELAY_H
Definition ProcessOutflow.h:8
Definition ProcessRoutingDelay.h:26
void Reset() override
Definition ProcessRoutingDelay.cpp:42
const vecDouble & GetChangeRates() override
Definition ProcessRoutingDelay.h:65
void _recomputeOrdinates()
Definition ProcessRoutingDelay.cpp:109
const vecDouble & GetRates() override
Definition ProcessRoutingDelay.cpp:61
bool IsValid() const override
Definition ProcessRoutingDelay.cpp:24
static void RegisterProcessSettings(SettingsModel *modelSettings)
Definition ProcessRoutingDelay.cpp:17
void Finalize() override
Definition ProcessRoutingDelay.cpp:83
double * GetValuePointer(std::string_view name) override
Definition ProcessRoutingDelay.cpp:50
void SetParameters(const ProcessSettings &processSettings) override
Definition ProcessRoutingDelay.cpp:36
Definition SettingsModel.h:74
Definition WaterContainer.h:10
Definition SettingsModel.h:32