9#include <dpsim-models/DP/DP_Ph1_RXLoad.h>
20 SPDLOG_LOGGER_INFO(
mSLog,
"Create {} {}", this->
type(), name);
26 :
RXLoad(name, name, logLevel) {}
29 auto copy = RXLoad::make(name,
mLogLevel);
39 std::abs(
mTerminals[0]->initialSingleVoltage()));
49 mSubResistor->initializeFromNodesAndTerminals(frequency);
51 MNA_SUBCOMP_TASK_ORDER::TASK_BEFORE_PARENT,
false);
68 mSubInductor->initializeFromNodesAndTerminals(frequency);
70 MNA_SUBCOMP_TASK_ORDER::TASK_BEFORE_PARENT,
true);
80 MNA_SUBCOMP_TASK_ORDER::TASK_BEFORE_PARENT,
81 MNA_SUBCOMP_TASK_ORDER::TASK_BEFORE_PARENT,
true);
84 (**mIntfVoltage)(0, 0) =
mTerminals[0]->initialSingleVoltage();
88 SPDLOG_LOGGER_INFO(
mSLog,
89 "\n--- Initialization from powerflow ---"
90 "\nVoltage across: {:s}"
92 "\nTerminal 0 voltage: {:s}"
95 "\n--- Initialization from powerflow finished ---",
98 Logger::phasorToString(initialSingleVoltage(0)),
109 SPDLOG_LOGGER_INFO(
mSLog,
"Active Power={} [W] Reactive Power={} [VAr]",
115 (**mIntfVoltage)(0, 0) =
116 Math::complexFromVectorElement(leftVector, matrixNodeIndex(0));
120 (**mIntfCurrent)(0, 0) = 0;
123 (**mIntfCurrent)(0, 0) += subComp->intfCurrent()(0, 0);
128 AttributeBase::List &prevStepDependencies,
129 AttributeBase::List &attributeDependencies,
130 AttributeBase::List &modifiedAttributes) {
139 AttributeBase::List &prevStepDependencies,
140 AttributeBase::List &attributeDependencies,
141 AttributeBase::List &modifiedAttributes,
142 Attribute<Matrix>::Ptr &leftVector) {
143 attributeDependencies.push_back(leftVector);
149 Attribute<Matrix>::Ptr &leftVector) {
void addMNASubComponent(typename SimPowerComp< Complex >::Ptr subc, MNA_SUBCOMP_TASK_ORDER preStepOrder, MNA_SUBCOMP_TASK_ORDER postStepOrder, Bool contributeToRightVector)
void mnaCompApplyRightSideVectorStamp(Matrix &rightVector) override
CompositePowerComp(String uid, String name, Bool hasPreStep, Bool hasPostStep, Logger::Level logLevel)
std::shared_ptr< DP::Ph1::Inductor > mSubInductor
Internal inductor.
RXLoad(String uid, String name, Logger::Level logLevel=Logger::Level::off)
Defines UID, name and logging level.
SimPowerComp< Complex >::Ptr clone(String name) override
Returns a modified copy of the component with the given suffix added to the name and without.
Real mInductance
Inductance [H].
void mnaParentPostStep(Real time, Int timeStepCount, Attribute< Matrix >::Ptr &leftVector) override
MNA post step operations.
const Attribute< Real >::Ptr mActivePower
Active power [Watt].
Real mReactance
Reactance [Ohm].
const Attribute< Real >::Ptr mReactivePower
Reactive power [VAr].
Real mCapacitance
Capacitance [F].
void mnaParentAddPostStepDependencies(AttributeBase::List &prevStepDependencies, AttributeBase::List &attributeDependencies, AttributeBase::List &modifiedAttributes, Attribute< Matrix >::Ptr &leftVector) override
Add MNA post step dependencies.
std::shared_ptr< DP::Ph1::Capacitor > mSubCapacitor
Internal capacitor.
const Attribute< Real >::Ptr mNomVoltage
Nominal voltage [V].
void setParameters(Real activePower, Real ReactivePower, Real volt)
Set model specific parameters.
std::shared_ptr< DP::Ph1::Resistor > mSubResistor
Internal resistance.
void mnaParentAddPreStepDependencies(AttributeBase::List &prevStepDependencies, AttributeBase::List &attributeDependencies, AttributeBase::List &modifiedAttributes) override
Add MNA pre step dependencies.
void mnaParentPreStep(Real time, Int timeStepCount) override
MNA pre step operations.
void mnaCompUpdateVoltage(const Matrix &leftVector) override
Update interface voltage from MNA system result.
void initializeFromNodesAndTerminals(Real frequency) override
Initialize component from power flow data.
void mnaCompUpdateCurrent(const Matrix &leftVector) override
Update interface current from MNA system result.
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.
Attribute< Matrix >::Ptr mRightVector
const Attribute< MatrixVar< Complex > >::Ptr mIntfCurrent
SimTerminal< Complex >::List mTerminals
const Attribute< MatrixVar< Complex > >::Ptr mIntfVoltage
std::vector< std::shared_ptr< SimPowerComp< Complex > > > mSubComponents
Logger::Level mLogLevel
Component logger control for internal variables.
bool mParametersSet
Flag indicating that parameters are set via setParameters() function.
Logger::Log mSLog
Component logger.