Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
post_process_commands.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
#pragma once
22
23
#include "antares/solver/simulation/base_post_process.h"
24
25
namespace
Antares::Solver::Simulation
26
{
27
class
DispatchableMarginPostProcessCmd
:
public
basePostProcessCommand
28
{
29
public
:
30
DispatchableMarginPostProcessCmd
(
PROBLEME_HEBDO
* problemeHebdo,
31
unsigned
int
numSpace,
32
AreaList
& areas);
33
void
execute(
const
optRuntimeData
& opt_runtime_data)
override
;
34
35
private
:
36
unsigned
int
numSpace_ = 0;
37
const
AreaList
& area_list_;
38
};
39
40
class
RemixHydroPostProcessCmd
:
public
basePostProcessCommand
41
{
42
public
:
43
RemixHydroPostProcessCmd
(
PROBLEME_HEBDO
* problemeHebdo,
44
AreaList
& areas,
45
SheddingPolicy sheddingPolicy,
46
SimplexOptimization simplexOptimization,
47
unsigned
int
numSpace);
48
void
execute(
const
optRuntimeData
& opt_runtime_data)
override
;
49
50
private
:
51
const
AreaList
& area_list_;
52
unsigned
int
numSpace_ = 0;
53
SheddingPolicy shedding_policy_;
54
SimplexOptimization splx_optimization_;
55
};
56
57
class
UpdateMrgPriceAfterCSRcmd
:
public
basePostProcessCommand
58
{
59
public
:
60
UpdateMrgPriceAfterCSRcmd
(
PROBLEME_HEBDO
* problemeHebdo,
61
AreaList
& areas,
62
unsigned
int
numSpace);
63
void
execute(
const
optRuntimeData
&)
override
;
64
65
private
:
66
const
AreaList
& area_list_;
67
unsigned
int
numSpace_ = 0;
68
};
69
70
class
DTGnettingAfterCSRcmd
:
public
basePostProcessCommand
71
{
72
public
:
73
DTGnettingAfterCSRcmd
(
PROBLEME_HEBDO
* problemeHebdo,
AreaList
& areas,
unsigned
int
numSpace);
74
void
execute(
const
optRuntimeData
&)
override
;
75
76
private
:
77
const
AreaList
& area_list_;
78
unsigned
int
numSpace_ = 0;
79
};
80
81
class
InterpolateWaterValuePostProcessCmd
:
public
basePostProcessCommand
82
{
83
public
:
84
InterpolateWaterValuePostProcessCmd
(
PROBLEME_HEBDO
* problemeHebdo,
85
AreaList
& areas,
86
const
Date::Calendar
& calendar);
87
88
void
execute(
const
optRuntimeData
& opt_runtime_data)
override
;
89
90
private
:
91
const
AreaList
& area_list_;
92
const
Date::Calendar
& calendar_;
93
};
94
95
class
HydroLevelsFinalUpdatePostProcessCmd
:
public
basePostProcessCommand
96
{
97
public
:
98
HydroLevelsFinalUpdatePostProcessCmd
(
PROBLEME_HEBDO
* problemeHebdo,
AreaList
& areas);
99
100
void
execute(
const
optRuntimeData
& opt_runtime_data)
override
;
101
102
private
:
103
const
AreaList
& area_list_;
104
};
105
106
class
CurtailmentSharingPostProcessCmd
:
public
basePostProcessCommand
107
{
108
public
:
109
CurtailmentSharingPostProcessCmd
(
const
AdqPatchParams
& adqPatchParams,
110
PROBLEME_HEBDO
* problemeHebdo,
111
AreaList
& areas,
112
unsigned
int
numSpace);
113
114
void
execute(
const
optRuntimeData
& opt_runtime_data)
override
;
115
116
private
:
117
double
calculateDensNewAndTotalLmrViolation();
118
std::vector<double> calculateENSoverAllAreasForEachHour()
const
;
119
std::set<int> identifyHoursForCurtailmentSharing(
const
std::vector<double>& sumENS)
const
;
120
std::set<int> getHoursRequiringCurtailmentSharing()
const
;
121
122
using
AdqPatchParams
=
Antares::Data::AdequacyPatch::AdqPatchParams
;
123
const
AreaList
& area_list_;
124
const
AdqPatchParams
& adqPatchParams_;
125
unsigned
int
numSpace_ = 0;
126
};
127
128
}
// namespace Antares::Solver::Simulation
Antares::Data::AreaList
A list of areas.
Definition
area.h:366
Antares::Date::Calendar
Definition
date.h:180
Antares::Solver::Simulation::CurtailmentSharingPostProcessCmd
Definition
post_process_commands.h:107
Antares::Solver::Simulation::DTGnettingAfterCSRcmd
Definition
post_process_commands.h:71
Antares::Solver::Simulation::DispatchableMarginPostProcessCmd
Definition
post_process_commands.h:28
Antares::Solver::Simulation::HydroLevelsFinalUpdatePostProcessCmd
Definition
post_process_commands.h:96
Antares::Solver::Simulation::InterpolateWaterValuePostProcessCmd
Definition
post_process_commands.h:82
Antares::Solver::Simulation::RemixHydroPostProcessCmd
Definition
post_process_commands.h:41
Antares::Solver::Simulation::UpdateMrgPriceAfterCSRcmd
Definition
post_process_commands.h:58
Antares::Solver::Simulation::basePostProcessCommand
Definition
base_post_process.h:50
Antares::Data::AdequacyPatch::AdqPatchParams
Definition
adq-patch-params.h:91
Antares::Solver::Simulation::optRuntimeData
Definition
base_post_process.h:36
PROBLEME_HEBDO
Definition
sim_structure_probleme_economique.h:403
src
solver
optimisation
include
antares
solver
optimisation
post_process_commands.h
Generated by
1.12.0