Antares Simulator
Power System Simulator
ShortTermStorageCostVariation.h
1 /*
2  * Copyright 2007-2025, RTE (https://www.rte-france.com)
3  * See AUTHORS.txt
4  * SPDX-License-Identifier: MPL-2.0
5  * This file is part of Antares-Simulator,
6  * Adequacy and Performance assessment for interconnected energy networks.
7  *
8  * Antares_Simulator is free software: you can redistribute it and/or modify
9  * it under the terms of the Mozilla Public Licence 2.0 as published by
10  * the Mozilla Foundation, either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * Antares_Simulator is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * Mozilla Public Licence 2.0 for more details.
17  *
18  * You should have received a copy of the Mozilla Public Licence 2.0
19  * along with Antares_Simulator. If not, see <https://opensource.org/license/mpl-2-0/>.
20  */
21 
22 #pragma once
23 #include "ConstraintBuilder.h"
24 
26 {
27 public:
29  ConstraintFactory(builder),
30  data(data)
31  {
32  }
33 
34  virtual void add(unsigned int pdt, unsigned int pays) = 0;
35 
37 
38 protected:
39  virtual void buildConstraint(int index) = 0;
40 
41  virtual bool IsConstraintEnabled(const PROPERTIES& properties) = 0;
42 
43  virtual int& TargetConstraintIndex(int pdt, int index) = 0;
44 
45  void addStorageConstraint(const std::string& constraintName, int pdt, int pays);
46 };
47 
49 {
50 public:
51  using ShortTermStorageCostVariation::ShortTermStorageCostVariation;
52 
53  void add(unsigned int pdt, unsigned int pays) override;
54 
55  bool IsConstraintEnabled(const PROPERTIES& properties) override;
56 
57  int& TargetConstraintIndex(int pdt, int index) override;
58 
59  void buildConstraint(int index) override;
60 };
61 
63 {
64 public:
65  using ShortTermStorageCostVariation::ShortTermStorageCostVariation;
66 
67  void add(unsigned int pdt, unsigned int pays) override;
68 
69  bool IsConstraintEnabled(const PROPERTIES& properties) override;
70 
71  int& TargetConstraintIndex(int pdt, int index) override;
72 
73  void buildConstraint(int index) override;
74 };
75 
77 {
78 public:
79  using ShortTermStorageCostVariation::ShortTermStorageCostVariation;
80 
81  void add(unsigned int pdt, unsigned int pays) override;
82 
83  bool IsConstraintEnabled(const PROPERTIES& properties) override;
84 
85  int& TargetConstraintIndex(int pdt, int index) override;
86 
87  void buildConstraint(int index) override;
88 };
89 
91 {
92 public:
93  using ShortTermStorageCostVariation::ShortTermStorageCostVariation;
94 
95  void add(unsigned int pdt, unsigned int pays) override;
96 
97  bool IsConstraintEnabled(const PROPERTIES& properties) override;
98 
99  int& TargetConstraintIndex(int pdt, int index) override;
100 
101  void buildConstraint(int index) override;
102 };
Definition: ConstraintBuilder.h:66
Definition: ConstraintBuilder.h:255
Definition: ShortTermStorageCostVariation.h:49
Definition: ShortTermStorageCostVariation.h:63
Definition: ShortTermStorageCostVariation.h:77
Definition: ShortTermStorageCostVariation.h:91
Definition: ShortTermStorageCostVariation.h:26
Definition: sim_structure_probleme_economique.h:173
Definition: ConstraintBuilder.h:304