Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
all.h
1/*
2** Copyright 2007-2024, 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#ifndef __SOLVER_VARIABLE_ECONOMY_ALL_H__
22#define __SOLVER_VARIABLE_ECONOMY_ALL_H__
23
24#include "antares/solver/variable/variable.h"
25
26#include "../area.h"
27#include "../bindConstraints.h"
28#include "../commons/hydro.h"
29#include "../commons/join.h"
30#include "../commons/load.h"
31#include "../commons/miscGenMinusRowPSP.h"
32#include "../commons/psp.h"
33#include "../commons/rowBalance.h"
34#include "../commons/solar.h"
35#include "../commons/spatial-aggregate.h"
36#include "../commons/wind.h"
37#include "../setofareas.h"
38#include "balance.h"
39#include "price.h"
40
41// For General values
42#include "avail-dispatchable-generation.h"
43#include "dispatchable-generation-margin.h"
44#include "dispatchableGeneration.h"
45#include "domesticUnsuppliedEnergy.h"
46#include "dtgMarginAfterCsr.h"
47#include "hydroCost.h"
48#include "hydrostorage.h"
49#include "inflow.h"
50#include "localMatchingRuleViolations.h"
51#include "lold.h"
52#include "loldCsr.h"
53#include "lolp.h"
54#include "lolpCsr.h"
55#include "max-mrg-csr.h"
56#include "max-mrg.h"
57#include "minDispatchableGenByPlant.h"
58#include "nbOfDispatchedUnits.h"
59#include "nonProportionalCost.h"
60#include "operatingCost.h"
61#include "overallCost.h"
62#include "overallCostCsr.h"
63#include "overflow.h"
64#include "priceCSR.h"
65#include "pumping.h"
66#include "renewableGeneration.h"
67#include "reservoirlevel.h"
68#include "spilledEnergy.h"
69#include "thermalAirPollutantEmissions.h"
70#include "unsupliedEnergy.h"
71#include "unsupliedEnergyCsr.h"
72#include "waterValue.h"
73
74// By thermal plant
75#include "nbOfDispatchedUnitsByPlant.h"
76#include "npCostByDispatchablePlant.h"
77#include "productionByDispatchablePlant.h"
78#include "profitByPlant.h"
79
80// By RES plant
81#include "STSbyGroup.h"
82#include "STStorageCashFlowByCluster.h"
83#include "STStorageInjectionByCluster.h"
84#include "STStorageLevelsByCluster.h"
85#include "STStorageWithdrawalByCluster.h"
86#include "productionByRenewablePlant.h"
87
88// Output variables associated to links
89#include "links.h"
90
91// Output variables associated to binding constraints
92#include "bindingConstraints/bindingConstraintsMarginalCost.h"
93
94namespace Antares::Solver::Variable::Economy
95{
96
100typedef // Prices
101 OverallCost // Overall Cost (Op. Cost + Unsupplied Eng.)
102 <OverallCostCsr // Overall Cost after CSR (adequacy patch Curtailment ShaRing)
103 <OperatingCost // Operating Cost
104 <Price // Marginal price
105 <PriceCSR
106 // Thermal pollutants
107 <ThermalAirPollutantEmissions // Overall pollutant emissions(from all thermal dispatchable
108 // clusters) Production by thermal cluster
109 <ProductionByDispatchablePlant // Energy generated by thermal dispatchable clusters
110 <MinDispatchableGenByPlant // Minimum generation by dispatchable cluster
111 <ProductionByRenewablePlant // Energy generated by renewable clusters (must-run)
112 <Balance // Nodal Energy Balance
113 // Misc Gen.
114 <RowBalance // Misc Gen. Row balance
115 <PSP // PSP
116 <MiscGenMinusRowPSP // Misc Gen. - Row Balance - PSP
117 // Time series
118 <TimeSeriesValuesLoad // Load
119 <TimeSeriesValuesHydro // Hydro
120 <TimeSeriesValuesWind // Wind
121 <TimeSeriesValuesSolar // Solar
122 // Other
123 <DispatchableGeneration // All dispatchable generation
124 // minGenModulation * unit count * nominal capacity)
125 <RenewableGeneration // All renewable generation
126 <HydroStorage // Hydro Storage Generation
127 <Pumping // Pumping generation
128 <ReservoirLevel // Reservoir levels
129 <Inflows // Hydraulic inflows
130 <Overflows // Hydraulic overflows
131 <WaterValue // Water values
132 <HydroCost // Hydro costs
133 <STSbyGroup<STstorageInjectionByCluster<STstorageWithdrawalByCluster<
134 STstorageLevelsByCluster<STstorageCashFlowByCluster<
135 UnsupliedEnergy // Unsuplied Energy
136 <UnsupliedEnergyCSR // Unsupplied energy CSR
137 <DomesticUnsuppliedEnergy // Domestic Unsupplied Energy
138 <LMRViolations // LMR Violations
139 <SpilledEnergy // Spilled Energy
140 <LOLD // LOLD
141 <LOLD_CSR<
142 LOLP // LOLP
143 <LOLP_CSR<AvailableDispatchGen<DispatchableGenMargin<
144 DtgMarginCsr // DTG MRG CSR
145 <Marge<MaxMrgCsr<NonProportionalCost<
146 NonProportionalCostByDispatchablePlant // Startup
147 // cost +
148 // Fixed cost
149 // per
150 // thermal
151 // plant
152 // detail
153 <NbOfDispatchedUnits // Number of Units Dispatched
154 <NbOfDispatchedUnitsByPlant // Number of Units
155 // Dispatched by plant
156 <ProfitByPlant
157 // Links
158 <Variable::Economy::Links // All links
159 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
160 VariablesPerArea;
161
165typedef // Prices
166 Common::SpatialAggregate<
167 OverallCost,
168 Common::SpatialAggregate<
169 OperatingCost,
170 Common::SpatialAggregate<
171 Price,
172 // Thermal pollutants
173 Common::SpatialAggregate<
174 ThermalAirPollutantEmissions,
175 // Production by thermal cluster
176 Common::SpatialAggregate<
177 Balance,
178 // Misc Gen.
179 Common::SpatialAggregate<
180 RowBalance,
181 Common::SpatialAggregate<
182 PSP,
183 Common::SpatialAggregate<
184 MiscGenMinusRowPSP,
185 // Time series
186 Common::SpatialAggregate<
187 TimeSeriesValuesLoad,
188 Common::SpatialAggregate<
189 TimeSeriesValuesHydro,
190 Common::SpatialAggregate<
191 TimeSeriesValuesWind,
192 Common::SpatialAggregate<
193 TimeSeriesValuesSolar,
194 // Other
195 Common::SpatialAggregate<
196 DispatchableGeneration,
197 Common::SpatialAggregate<
198 RenewableGeneration,
199 Common::SpatialAggregate<
200 HydroStorage,
201 Common::SpatialAggregate<
202 Pumping,
203 Common::SpatialAggregate<
204 ReservoirLevel,
205 Common::SpatialAggregate<
206 Inflows,
207 Common::SpatialAggregate<
208 Overflows,
209 Common::SpatialAggregate<
210 WaterValue,
211 Common::SpatialAggregate<
212 HydroCost,
213 Common::SpatialAggregate<
214 UnsupliedEnergy,
215 Common::SpatialAggregate<
216 DomesticUnsuppliedEnergy,
217 Common::SpatialAggregate<
218 LMRViolations,
219 Common::SpatialAggregate<
220 SpilledEnergy,
221 // LOLD
222 Common::SpatialAggregate<
223 LOLD,
224 Common::SpatialAggregate<
225 LOLP,
226 Common::SpatialAggregate<
227 AvailableDispatchGen,
228 Common::SpatialAggregate<
229 DispatchableGenMargin,
230 Common::SpatialAggregate<
231 DtgMarginCsr,
232 Common::SpatialAggregate<
233 Marge,
234
235 // Detail Prices
236 Common::SpatialAggregate<
237 NonProportionalCost, // MBO
238 // 13/05/2014
239 // -
240 // refs:
241 // #21
242
243 // Number Of Dispatched Units
244 Common::SpatialAggregate<
245 NbOfDispatchedUnits // MBO
246 // 25/02/2016
247 // -
248 // refs:
249 // #55
250 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
251 VariablesPerSetOfAreas;
252
253typedef BindingConstMarginCost< // Marginal cost for a binding constraint
254 Container::EndOfList // End of variable list
255 >
256
257 VariablesPerBindingConstraints;
258
259typedef Variable::Join<
260 // Variables for each area / links attached to the areas
261 Variable::Areas<VariablesPerArea>,
262 // Variables for each set of areas
263 Variable::Join<Variable::SetsOfAreas<VariablesPerSetOfAreas>,
264 // Variables for each binding constraint
265 Variable::BindingConstraints<VariablesPerBindingConstraints>>>
266 ItemList;
267
271typedef Container::List<ItemList> AllVariables;
272
273} // namespace Antares::Solver::Variable::Economy
274
275#endif // __SOLVER_VARIABLE_ECONOMY_ALL_H__