1#ifndef GeneratingUnit_H
2#define GeneratingUnit_H
10#include <unordered_map>
12#include "Equipment.hpp"
13#include "BaseClassDefiner.hpp"
14#include "CGMESProfile.hpp"
15#include "CimClassDetails.hpp"
17#include "ActivePower.hpp"
19#include "GeneratorControlSource.hpp"
31 class GeneratingUnit :
public Equipment
36 ~GeneratingUnit()
override;
95 static const char debugName[];
96 const char* debugString()
const override;
98 const std::list<std::string>& getAttributeNames()
const override;
100 const std::string& getClassNamespaceUrl()
const override;
101 const std::string& getAttributeNamespaceUrl(
const std::string& attrName)
const override;
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;
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;
115 bool isAssignableFrom(
BaseClass* otherObject)
const override;
119 std::map<std::string, AttrDetails> allAttrDetailsMap()
const override;
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