9#include <dpsim-models/SP/SP_Ph1_SynchronGenerator.h>
14 Logger::Level logLevel)
23 "Q_max", std::numeric_limits<Real>::infinity())),
25 "Q_min", -std::numeric_limits<Real>::infinity())),
27 "Q_max_pu", std::numeric_limits<Real>::infinity())),
29 "Q_min_pu", -std::numeric_limits<Real>::infinity())) {
31 SPDLOG_LOGGER_INFO(
mSLog,
"Create {} of type {}", name, this->
type());
38 Real ratedApparentPower, Real ratedVoltage, Real setPointActivePower,
39 Real setPointVoltage, PowerflowBusType powerflowBusType,
40 Real setPointReactivePower, Real qLimMax, Real qLimMin) {
48 SPDLOG_LOGGER_INFO(
mSLog,
"Rated Apparent Power={} [VA] Rated Voltage={} [V]",
49 ratedApparentPower, ratedVoltage);
50 SPDLOG_LOGGER_INFO(
mSLog,
51 "Active Power Set Point={} [W] Voltage Set Point={} [V]",
53 SPDLOG_LOGGER_INFO(
mSLog,
"Reactive Power Limits Qmin={} Qmax={} [VAr]",
60Real SP::Ph1::SynchronGenerator::getBaseVoltage()
const {
return mBaseVoltage; }
63 mBaseVoltage = baseVoltage;
67 Real baseApparentPower, Real baseOmega) {
68 SPDLOG_LOGGER_INFO(
mSLog,
"#### Calculate Per Unit Parameters for {}",
70 mBaseApparentPower = baseApparentPower;
71 SPDLOG_LOGGER_INFO(
mSLog,
"Base Power={} [VA] Base Omega={} [1/s]",
72 mBaseApparentPower, baseOmega);
81 SPDLOG_LOGGER_INFO(
mSLog,
82 "Active Power Set Point={} [pu] Voltage Set Point={} [pu]",
88 PowerflowBusType powerflowBusType) {
89 switch (powerflowBusType) {
90 case CPS::PowerflowBusType::PV:
93 case CPS::PowerflowBusType::PQ:
96 case CPS::PowerflowBusType::VD:
99 case CPS::PowerflowBusType::None:
102 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].
const Attribute< Real >::Ptr mReactivePowerMax
Maximum reactive power limit [VAr] (default +inf = unlimited)
void modifyPowerFlowBusType(PowerflowBusType powerflowBusType) override
Modify powerflow bus type.
const Attribute< Real >::Ptr mSetPointReactivePowerPerUnit
Reactive power set point of the machine [pu].
const Attribute< Real >::Ptr mReactivePowerMin
Minimum reactive power limit [VAr] (default -inf = unlimited)
const Attribute< Real >::Ptr mReactivePowerMinPerUnit
Minimum reactive power limit [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)
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 mReactivePowerMaxPerUnit
Maximum reactive power limit [pu].
const Attribute< Real >::Ptr mSetPointVoltage
Voltage set point of the machine [V].
void setParameters(Real ratedApparentPower, Real ratedVoltage, Real setPointActivePower, Real setPointVoltage, PowerflowBusType powerflowBusType, Real setPointReactivepower=0, Real qLimMax=std::numeric_limits< Real >::infinity(), Real qLimMin=-std::numeric_limits< Real >::infinity())
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.