9#include <dpsim-models/MathUtils.h>
10#include <dpsim-models/SP/SP_Ph1_Shunt.h>
21 SPDLOG_LOGGER_INFO(
mSLog,
"Create {} of type {}", this->
type(), name);
28 SPDLOG_LOGGER_INFO(
mSLog,
"Conductance={} [S] Susceptance={} [Ohm] ",
29 conductance, susceptance);
37 mBaseVoltage = baseVoltage;
42 SPDLOG_LOGGER_INFO(
mSLog,
"#### Calculate Per Unit Parameters for {}",
44 SPDLOG_LOGGER_INFO(
mSLog,
"Base Power={} [VA] Base Omega={} [1/s]",
45 baseApparentPower, baseOmega);
47 auto baseImpedance = (mBaseVoltage * mBaseVoltage) / baseApparentPower;
48 auto baseAdmittance = 1.0 / baseImpedance;
49 SPDLOG_LOGGER_INFO(
mSLog,
"Base Voltage={} [V] Base Admittance={} [S]",
50 mBaseVoltage, baseAdmittance);
54 SPDLOG_LOGGER_INFO(
mSLog,
"Susceptance={} [pu] Conductance={} [pu]",
59 int bus1 = this->matrixNodeIndex(0);
62 if (!Math::isFinite(Y_element)) {
63 SPDLOG_LOGGER_ERROR(
mSLog,
64 "Shunt {}: non-finite per-unit admittance {} at "
66 this->name(), Logger::complexToString(Y_element), bus1);
71 Y.coeffRef(bus1, bus1) += Y_element;
72 SPDLOG_LOGGER_INFO(
mSLog,
"#### Y matrix stamping: {}", Y_element);
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.
const Attribute< Real >::Ptr mConductance
Conductance [S].
const Attribute< Real >::Ptr mSusceptance
Susceptance [S].
void setBaseVoltage(Real baseVoltage)
Set base voltage.
Real getBaseVoltage() const
Get base voltage.
void pfApplyAdmittanceMatrixStamp(SparseMatrixCompRow &Y)
Stamps admittance matrix.
Shunt(String uid, String name, Logger::Level logLevel=Logger::Level::off)
Defines UID, name, component parameters and logging level.
const Attribute< Real >::Ptr mSusceptancePerUnit
Susceptance [pu].
const Attribute< Real >::Ptr mConductancePerUnit
Conductance [pu].
void calculatePerUnitParameters(Real baseApparentPower, Real baseOmega)
Initializes component from power flow data.
void setParameters(Real conductance, Real susceptance)
Set shunt specific parameters.
SimPowerComp(String uid, String name, Logger::Level logLevel=Logger::Level::off)
bool mParametersSet
Flag indicating that parameters are set via setParameters() function.
Logger::Log mSLog
Component logger.