9#include <dpsim-models/SP/SP_Ph1_Shunt.h>
20 SPDLOG_LOGGER_INFO(
mSLog,
"Create {} of type {}", this->
type(), name);
27 SPDLOG_LOGGER_INFO(
mSLog,
"Conductance={} [S] Susceptance={} [Ohm] ",
28 conductance, susceptance);
34 mBaseVoltage = baseVoltage;
39 SPDLOG_LOGGER_INFO(
mSLog,
"#### Calculate Per Unit Parameters for {}",
41 SPDLOG_LOGGER_INFO(
mSLog,
"Base Power={} [VA] Base Omega={} [1/s]",
42 baseApparentPower, baseOmega);
44 auto baseImpedance = (mBaseVoltage * mBaseVoltage) / baseApparentPower;
45 auto baseAdmittance = 1.0 / baseImpedance;
46 SPDLOG_LOGGER_INFO(
mSLog,
"Base Voltage={} [V] Base Admittance={} [S]",
47 mBaseVoltage, baseAdmittance);
51 SPDLOG_LOGGER_INFO(
mSLog,
"Susceptance={} [pu] Conductance={} [pu]",
56 int bus1 = this->matrixNodeIndex(0);
59 if (std::isinf(Y_element.real()) || std::isinf(Y_element.imag())) {
60 std::cout <<
"Y:" << Y_element << std::endl;
62 ss <<
"Shunt>>" << this->name()
63 <<
": infinite or nan values at node: " << bus1;
64 throw std::invalid_argument(ss.str());
68 Y.coeffRef(bus1, bus1) += Y_element;
69 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.
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.