Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
LinkProfile.h
1#ifndef ANTARESXPANSION_LINKPROFILE_H
2#define ANTARESXPANSION_LINKPROFILE_H
3
4constexpr int NUMBER_OF_HOUR_PER_YEAR = 8760;
5#include <array>
6#include <exception>
7
8#include "antares-xpansion/xpansion_interfaces/LogUtils.h"
9#include "antares-xpansion/lpnamer/helper/ProblemGenerationLogger.h"
10#include "antares-xpansion/xpansion_interfaces/StringManip.h"
11
19 public:
24 explicit LinkProfile(
25 std::shared_ptr<ProblemGenerationLog::ProblemGenerationLogger> logger)
26 : logger_(logger) {}
27
34 double getDirectProfile(size_t hour) const;
35
42 double getIndirectProfile(size_t hour) const;
43
45 // ADR
46 std::vector<double> direct_link_profile =
47 std::vector<double>(NUMBER_OF_HOUR_PER_YEAR, 1);
49 std::vector<double> indirect_link_profile =
50 std::vector<double>(NUMBER_OF_HOUR_PER_YEAR, 1);
51
52 bool operator==(const LinkProfile& rhs) const {
55 }
56
58 : public LogUtils::XpansionError<std::invalid_argument> {
59 using LogUtils::XpansionError<std::invalid_argument>::XpansionError;
60 };
61
62 private:
63 std::shared_ptr<ProblemGenerationLog::ProblemGenerationLogger> logger_;
64};
65
66#endif // ANTARESXPANSION_LINKPROFILE_H
Definition LinkProfile.h:58
LinkProfile structure.
Definition LinkProfile.h:18
double getIndirectProfile(size_t hour) const
returns the value of a direct link profile
Definition LinkProfile.cpp:18
LinkProfile(std::shared_ptr< ProblemGenerationLog::ProblemGenerationLogger > logger)
LinkProfile default constructor.
Definition LinkProfile.h:24
std::vector< double > direct_link_profile
direct linkprofile values
Definition LinkProfile.h:46
double getDirectProfile(size_t hour) const
returns the value of a direct link profile
Definition LinkProfile.cpp:7
std::vector< double > indirect_link_profile
indirect linkprofile values if different from direct linkprofile
Definition LinkProfile.h:49