Antares Simulator
Power System Simulator
storage-for-remix-with-levels.h
1 #pragma once
2 
3 #include "storage-for-remix-no-levels.h"
4 
5 namespace Antares::Solver::Simulation
6 {
7 
9 {
10 public:
11  StorageForRemixWithLevels(std::vector<double>& withdrawal,
12  std::vector<double>& unsupE,
13  std::vector<double>& levels,
14  const std::vector<double> Pmax,
15  const std::vector<double> Pmin,
16  const std::vector<double> inflows,
17  const std::vector<double> overflow,
18  const std::vector<double>& injection,
19  const std::vector<double> lowRuleCurve,
20  const std::vector<double> upRuleCurve,
21  const double initLevel,
22  const double withdrawalEff,
23  const double injectionEff,
24  const std::string& name = "");
25 
26  double maxExchange(unsigned hourOfMaxGen, unsigned hourOfMinGen) const override;
27  void update() override;
28 
29 private:
30  void checkLevels();
31  void checkInput(size_t size) override;
32 
33  std::vector<double>& levels_;
34  const std::vector<double> inflows_;
35  const std::vector<double> overflow_;
36  const std::vector<double>& injection_;
37 
38  const std::vector<double> ruleCurveLow_;
39  const std::vector<double> ruleCurveUp_;
40 
41  const double initLevel_;
42  const double withdrawalEff_;
43  const double injectionEff_;
44 };
45 
46 } // namespace Antares::Solver::Simulation
Definition: storage-for-remix-no-levels.h:12
Definition: storage-for-remix-with-levels.h:9