Antares Simulator
Power System Simulator
VariableManagement.h
1 #pragma once
2 
3 #include "antares/solver/simulation/sim_structure_probleme_economique.h"
4 
5 namespace VariableManagement
6 {
7 
11 class VariableManager final
12 {
13 public:
14  VariableManager(std::vector<CORRESPONDANCES_DES_VARIABLES>& CorrespondanceVarNativesVarOptim,
15  std::vector<int>& NumeroDeVariableStockFinal,
16  std::vector<std::vector<int>>& NumeroDeVariableDeTrancheDeStock,
17  const int32_t& NombreDePasDeTempsPourUneOptimisation);
18 
19  int& DispatchableProduction(unsigned int index,
20  unsigned int hourInWeek,
21  int offset = 0,
22  int delta = 0);
23 
24  int& NumberOfDispatchableUnits(unsigned int index,
25  unsigned int hourInWeek,
26  int offset = 0,
27  int delta = 0);
28 
29  int& NumberStoppingDispatchableUnits(unsigned int index,
30  unsigned int hourInWeek,
31  int offset = 0,
32  int delta = 0);
33  int& NumberStartingDispatchableUnits(unsigned int index,
34  unsigned int hourInWeek,
35  int offset = 0,
36  int delta = 0);
37 
38  int& NumberBreakingDownDispatchableUnits(unsigned int index,
39  unsigned int hourInWeek,
40  int offset = 0,
41  int delta = 0);
42 
43  int& NTCDirect(unsigned int index, unsigned int hourInWeek, int offset = 0, int delta = 0);
44 
45  int& IntercoDirectCost(unsigned int index,
46  unsigned int hourInWeek,
47  int offset = 0,
48  int delta = 0);
49 
50  int& IntercoIndirectCost(unsigned int index,
51  unsigned int hourInWeek,
52  int offset = 0,
53  int delta = 0);
54 
55  int& ShortTermStorageInjection(unsigned int index,
56  unsigned int hourInWeek,
57  int offset = 0,
58  int delta = 0);
59 
60  int& ShortTermStorageWithdrawal(unsigned int index,
61  unsigned int hourInWeek,
62  int offset = 0,
63  int delta = 0);
64 
65  int& ShortTermStorageLevel(unsigned int index,
66  unsigned int hourInWeek,
67  int offset = 0,
68  int delta = 0);
69 
70  int& ShortTermStorageOverflow(unsigned int index,
71  unsigned int hourInWeek,
72  int offset = 0,
73  int delta = 0);
74 
75  int& ShortTermStorageCostVariationInjection(unsigned int index,
76  unsigned int hourInWeek,
77  int offset = 0,
78  int delta = 0);
79  int& ShortTermStorageCostVariationWithdrawal(unsigned int index,
80  unsigned int hourInWeek,
81  int offset = 0,
82  int delta = 0);
83 
84  int& HydProd(unsigned int index, unsigned int hourInWeek, int offset = 0, int delta = 0);
85 
86  int& HydProdDown(unsigned int index, unsigned int hourInWeek, int offset = 0, int delta = 0);
87 
88  int& HydProdUp(unsigned int index, unsigned int hourInWeek, int offset = 0, int delta = 0);
89 
90  int& Pumping(unsigned int index, unsigned int hourInWeek, int offset = 0, int delta = 0);
91 
92  int& HydroLevel(unsigned int index, unsigned int hourInWeek, int offset = 0, int delta = 0);
93 
94  int& Overflow(unsigned int index, unsigned int hourInWeek, int offset = 0, int delta = 0);
95 
96  int& FinalStorage(unsigned int index);
97 
98  int& LayerStorage(unsigned area, unsigned layer);
99 
100  int& PositiveUnsuppliedEnergy(unsigned int index,
101  unsigned int hourInWeek,
102  int offset = 0,
103  int delta = 0);
104 
105  int& NegativeUnsuppliedEnergy(unsigned int index,
106  unsigned int hourInWeek,
107  int offset = 0,
108  int delta = 0);
109 
110 private:
111  std::vector<CORRESPONDANCES_DES_VARIABLES>& CorrespondanceVarNativesVarOptim_;
112  std::vector<int>& NumeroDeVariableStockFinal_;
113  std::vector<std::vector<int>>& NumeroDeVariableDeTrancheDeStock_;
114  const int32_t& NombreDePasDeTempsPourUneOptimisation_;
115  int GetShiftedTimeStep(int offset, int delta, unsigned int hourInWeek) const;
116 };
117 
118 } // namespace VariableManagement
Definition: ShortTermStorageLevel.h:26
Definition: VariableManagement.h:12