9#include <dpsim-models/SP/SP_Ph1_SynchronGenerator.h>
14 Logger::Level logLevel)
23 SPDLOG_LOGGER_INFO(
mSLog,
"Create {} of type {}", name, this->
type());
30 Real ratedApparentPower, Real ratedVoltage, Real setPointActivePower,
31 Real setPointVoltage, PowerflowBusType powerflowBusType,
32 Real setPointReactivePower) {
38 SPDLOG_LOGGER_INFO(
mSLog,
"Rated Apparent Power={} [VA] Rated Voltage={} [V]",
39 ratedApparentPower, ratedVoltage);
40 SPDLOG_LOGGER_INFO(
mSLog,
41 "Active Power Set Point={} [W] Voltage Set Point={} [V]",
48Real SP::Ph1::SynchronGenerator::getBaseVoltage()
const {
return mBaseVoltage; }
51 mBaseVoltage = baseVoltage;
55 Real baseApparentPower, Real baseOmega) {
56 SPDLOG_LOGGER_INFO(
mSLog,
"#### Calculate Per Unit Parameters for {}",
58 mBaseApparentPower = baseApparentPower;
59 SPDLOG_LOGGER_INFO(
mSLog,
"Base Power={} [VA] Base Omega={} [1/s]",
60 mBaseApparentPower, baseOmega);
66 SPDLOG_LOGGER_INFO(
mSLog,
67 "Active Power Set Point={} [pu] Voltage Set Point={} [pu]",
73 PowerflowBusType powerflowBusType) {
74 switch (powerflowBusType) {
75 case CPS::PowerflowBusType::PV:
78 case CPS::PowerflowBusType::PQ:
79 throw std::invalid_argument(
80 "Setting Synchronous Generator as PQNode is currently not supported.");
82 case CPS::PowerflowBusType::VD:
85 case CPS::PowerflowBusType::None:
88 throw std::invalid_argument(
" Invalid power flow bus type ");
const Attribute< String >::Ptr mName
Human readable name.
String uid()
Returns unique id.
String type()
Get component type (cross-platform)
AttributeList::Ptr mAttributes
Attribute List.
PowerflowBusType mPowerflowBusType
Define the type of bus the component is modelled by.
const Attribute< Real >::Ptr mSetPointReactivePower
Reactive power set point of the machine [VAr].
void modifyPowerFlowBusType(PowerflowBusType powerflowBusType) override
Modify powerflow bus type.
const Attribute< Real >::Ptr mSetPointReactivePowerPerUnit
Reactive power set point of the machine [pu].
Complex getApparentPower() const
Get Apparent power of Powerflow solution.
void setBaseVoltage(Real baseVoltage)
Set base voltage.
void calculatePerUnitParameters(Real baseApparentPower, Real baseOmega)
Initializes component from power flow data.
const Attribute< Real >::Ptr mSetPointActivePower
Active power set point of the machine [W].
SynchronGenerator(String uid, String name, Logger::Level logLevel=Logger::Level::off)
Defines UID, name and logging level.
void updateReactivePowerInjection(Complex powerInj)
Update reactive power injection (PV Bus)
void setParameters(Real ratedApparentPower, Real ratedVoltage, Real setPointActivePower, Real setPointVoltage, PowerflowBusType powerflowBusType, Real setPointReactivepower=0)
Setter for synchronous generator parameters.
const Attribute< Real >::Ptr mSetPointVoltagePerUnit
Voltage set point of the machine [pu].
void updatePowerInjection(Complex powerInj)
Update active & reactive power injection (VD bus)
const Attribute< Real >::Ptr mSetPointVoltage
Voltage set point of the machine [V].
const Attribute< Real >::Ptr mSetPointActivePowerPerUnit
Active power set point of the machine [pu].
SimPowerComp(String uid, String name, Logger::Level logLevel=Logger::Level::off)
Logger::Log mSLog
Component logger.