Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
properties.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 <map>
24#include <optional>
25#include <string>
26
27#include <antares/inifile/inifile.h>
28
29namespace Antares::Data::ShortTermStorage
30{
32{
33public:
34 bool validate();
35 bool loadKey(const IniFile::Property* p);
36 void save(IniFile& ini) const;
37
39 std::optional<double> injectionNominalCapacity;
41 std::optional<double> withdrawalNominalCapacity;
43 std::optional<double> reservoirCapacity;
44
46 double initialLevel = initiallevelDefault;
48 bool initialLevelOptim = false;
49
54
55 // Used to sort outputs
56 std::string groupName = "OTHER1";
58 std::string name;
59
60 bool penalizeVariationWithdrawal = false;
61 bool penalizeVariationInjection = false;
62
64 bool enabled = true;
65
66private:
67 static constexpr double initiallevelDefault = .5;
68};
69} // namespace Antares::Data::ShortTermStorage
std::optional< double > withdrawalNominalCapacity
Not optional Withdrawal nominal capacity, >= 0.
Definition properties.h:41
double injectionEfficiency
Efficiency factor for injection between 0 and 1.
Definition properties.h:51
double withdrawalEfficiency
Efficiency factor for withdrawal between 0 and 1.
Definition properties.h:53
std::optional< double > reservoirCapacity
Not optional Reservoir capacity in MWh, >= 0.
Definition properties.h:43
double initialLevel
Initial level, <= 1.
Definition properties.h:46
std::string name
cluster name
Definition properties.h:58
bool initialLevelOptim
Bool to optimise or not initial level.
Definition properties.h:48
std::optional< double > injectionNominalCapacity
Not optional Injection nominal capacity, >= 0.
Definition properties.h:39
bool enabled
Enabled ?
Definition properties.h:64
A single entry in an INI file.
Definition inifile.h:43
Data for an INI file.
Definition inifile.h:34