Antares Simulator
Power System Simulator
shave-peaks-by-remix-help.h
1 #pragma once
2 
3 #include <memory>
4 #include <optional>
5 #include <set>
6 #include <vector>
7 
8 #include "storage-for-remix-interface.h"
9 
10 namespace Antares::Solver::Simulation
11 {
12 
13 struct Exchange
14 {
15  bool isPossible() const;
16 
17  std::optional<unsigned> hourOfMinGen;
18  std::optional<unsigned> hourOfMaxGen;
19  double amount = 0;
20 };
21 
22 std::set<unsigned> ValidHours(const std::vector<double>& Spillage,
23  const std::vector<double>& DTG_MRG);
24 
25 void updateValidHours(std::set<unsigned>& validHours,
26  const IStorageForRemix& storage,
27  const std::vector<double>& UnsupEinit);
28 
29 double computeExchange(const unsigned hourOfMinGen,
30  const unsigned hourOfMaxGen,
31  const double maxVariationGen,
32  const IStorageForRemix& storage);
33 
34 Exchange searchForExhange(const std::set<unsigned>& validHours,
35  const std::vector<double>& TotalGen,
36  const std::vector<double>& UnsupE,
37  const IStorageForRemix& storage);
38 
39 void update(const Exchange& exchange,
40  IStorageForRemix& storage,
41  std::vector<double>& UnsupE,
42  std::vector<double>& TotalGen);
43 
44 } // namespace Antares::Solver::Simulation
Definition: storage-for-remix-interface.h:31
Definition: shave-peaks-by-remix-help.h:14