CGMES_3_0_0
Loading...
Searching...
No Matches
GeneratingUnit.hpp
1#ifndef GeneratingUnit_H
2#define GeneratingUnit_H
3/*
4Generated from the CGMES files via cimgen: https://github.com/sogno-platform/cimgen
5*/
6
7#include <list>
8#include <map>
9#include <string>
10#include <unordered_map>
11
12#include "Equipment.hpp"
13#include "BaseClassDefiner.hpp"
14#include "CGMESProfile.hpp"
15#include "CimClassDetails.hpp"
16
17#include "ActivePower.hpp"
18#include "Float.hpp"
19#include "GeneratorControlSource.hpp"
20#include "Money.hpp"
21#include "PerCent.hpp"
22#include "Seconds.hpp"
23
24namespace CIMPP
25{
28 class RotatingMachine;
29
31 class GeneratingUnit : public Equipment
32 {
33 public:
34 /* constructor initialising all attributes to null */
35 GeneratingUnit();
36 ~GeneratingUnit() override;
37
39 std::list<CIMPP::ControlAreaGeneratingUnit*> ControlAreaGeneratingUnit;
40
42 std::list<CIMPP::GrossToNetActivePowerCurve*> GrossToNetActivePowerCurves;
43
45 std::list<CIMPP::RotatingMachine*> RotatingMachine;
46
49
52
55
58
61
64
67
70
72 CIMPP::ActivePower ratedGrossMaxP;
73
76
79
82
85
88
91
94
95 static const char debugName[];
96 const char* debugString() const override;
97
98 const std::list<std::string>& getAttributeNames() const override;
99
100 const std::string& getClassNamespaceUrl() const override;
101 const std::string& getAttributeNamespaceUrl(const std::string& attrName) const override;
102
103 const std::list<CGMESProfile>& getPossibleProfiles() const override;
104 const CGMESProfile& getRecommendedProfile() const override;
105 const std::list<CGMESProfile>& getPossibleAttributeProfiles(const std::string& attrName) const override;
106 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes() const override;
107
108 static void addConstructToMap(std::unordered_map<std::string, BaseClass* (*)()>& factory_map);
109 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
110 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
111 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
112 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map) const override;
113 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
114
115 bool isAssignableFrom(BaseClass* otherObject) const override;
116 static const BaseClassDefiner declare();
117
118 protected:
119 std::map<std::string, AttrDetails> allAttrDetailsMap() const override;
120 };
121
122 BaseClass* GeneratingUnit_factory();
123}
124#endif
Definition BaseClass.hpp:22
Product of RMS value of the voltage and the RMS value of the in-phase component of the current.
Definition ActivePower.hpp:14
Definition BaseClassDefiner.hpp:12
A control area generating unit. This class is needed so that alternate control area definitions may i...
Definition ControlAreaGeneratingUnit.hpp:25
A floating point number. The range is unspecified and not limited.
Definition Float.hpp:14
std::list< CIMPP::RotatingMachine * > RotatingMachine
A synchronous machine may operate as a generator and as such becomes a member of a generating unit....
Definition GeneratingUnit.hpp:45
CIMPP::ActivePower minOperatingP
This is the minimum operating active power limit the dispatcher can enter for this unit....
Definition GeneratingUnit.hpp:63
CIMPP::PerCent totalEfficiency
The efficiency of the unit in converting the fuel into electrical energy. Default: 0....
Definition GeneratingUnit.hpp:90
CIMPP::Money variableCost
The variable cost component of production per unit of ActivePower. Default: 0.0.
Definition GeneratingUnit.hpp:93
CIMPP::Seconds startupTime
Time it takes to get the unit on-line, from the time that the prime mover mechanical power is applied...
Definition GeneratingUnit.hpp:87
CIMPP::ActivePower maxOperatingP
This is the maximum operating active power limit the dispatcher can enter for this unit....
Definition GeneratingUnit.hpp:57
CIMPP::ActivePower nominalP
The nominal power of the generating unit. Used to give precise meaning to percentage based attributes...
Definition GeneratingUnit.hpp:66
CIMPP::Money startupCost
The initial startup cost incurred for each start of the GeneratingUnit. Default: 0....
Definition GeneratingUnit.hpp:84
CIMPP::ActivePower maximumAllowableSpinningReserve
Maximum allowable spinning reserve. Spinning reserve will never be considered greater than this value...
Definition GeneratingUnit.hpp:60
CIMPP::PerCent governorSCD
Governor Speed Changer Droop. This is the change in generator power output divided by the change in f...
Definition GeneratingUnit.hpp:51
CIMPP::ActivePower ratedNetMaxP
The net rated maximum capacity determined by subtracting the auxiliary power used to operate the inte...
Definition GeneratingUnit.hpp:78
CIMPP::Float normalPF
Generating unit economic participation factor. The sum of the participation factors across generating...
Definition GeneratingUnit.hpp:69
std::list< CIMPP::ControlAreaGeneratingUnit * > ControlAreaGeneratingUnit
ControlArea specifications for this generating unit. Default: {}.
Definition GeneratingUnit.hpp:39
CIMPP::Float longPF
Generating unit long term economic participation factor. Default: 0.0.
Definition GeneratingUnit.hpp:54
CIMPP::Float shortPF
Generating unit short term economic participation factor. Default: 0.0.
Definition GeneratingUnit.hpp:81
CIMPP::ActivePower ratedGrossMinP
The unit`s gross rated maximum capacity (book value). The attribute shall be a positive value....
Definition GeneratingUnit.hpp:75
std::list< CIMPP::GrossToNetActivePowerCurve * > GrossToNetActivePowerCurves
A generating unit may have a gross active power to net active power curve, describing the losses and ...
Definition GeneratingUnit.hpp:42
CIMPP::GeneratorControlSource genControlSource
The source of controls for a generating unit. Defines the control status of the generating unit....
Definition GeneratingUnit.hpp:48
The source of controls for a generating unit.
Definition GeneratorControlSource.hpp:14
Relationship between the generating unit's gross active power output on the X-axis (measured at the t...
Definition GrossToNetActivePowerCurve.hpp:24
Amount of money.
Definition Money.hpp:14
Percentage on a defined base. For example, specify as 100 to indicate at the defined base.
Definition PerCent.hpp:14
A rotating machine which may be used as a generator or motor.
Definition RotatingMachine.hpp:30
Time, in seconds.
Definition Seconds.hpp:14