8#include <dpsim-models/Base/Base_Ph3_PiLine.h>
9#include <dpsim-models/CompositePowerComp.h>
10#include <dpsim-models/DP/DP_Ph3_Capacitor.h>
11#include <dpsim-models/DP/DP_Ph3_Inductor.h>
12#include <dpsim-models/DP/DP_Ph3_Resistor.h>
13#include <dpsim-models/Solver/MNATearInterface.h>
35 std::shared_ptr<Capacitor> mSubParallelCapacitor0;
45 PiLine(String
uid, String name, Logger::Level logLevel = Logger::Level::off);
47 PiLine(String name, Logger::Level logLevel = Logger::Level::off)
48 :
PiLine(name, name, logLevel) {}
50 SimPowerComp<Complex>::Ptr
clone(String copySuffix)
override;
65 void mnaParentPostStep(Real time, Int timeStepCount,
66 Attribute<Matrix>::Ptr &leftVector)
override;
69 AttributeBase::List &prevStepDependencies,
70 AttributeBase::List &attributeDependencies,
71 AttributeBase::List &modifiedAttributes)
override;
73 mnaParentAddPostStepDependencies(AttributeBase::List &prevStepDependencies,
74 AttributeBase::List &attributeDependencies,
75 AttributeBase::List &modifiedAttributes,
76 Attribute<Matrix>::Ptr &leftVector)
override;
78 MNAInterface::List mnaTearGroundComponents()
override;
79 void mnaTearInitialize(Real omega, Real timeStep)
override;
80 void mnaTearApplyMatrixStamp(SparseMatrixRow &tearMatrix)
override;
81 void mnaTearApplyVoltageStamp(Matrix &voltageVector)
override;
82 void mnaTearPostStep(MatrixComp voltage, MatrixComp current)
override;
CompositePowerComp(String uid, String name, Bool hasPreStep, Bool hasPostStep, Logger::Level logLevel)
void mnaParentPreStep(Real time, Int timeStepCount) override
MNA pre and post step operations.
std::shared_ptr< Resistor > mSubSeriesResistor
Series Resistor submodel.
void mnaCompUpdateCurrent(const Matrix &leftVector) override
Updates internal current variable of the component.
PiLine(String uid, String name, Logger::Level logLevel=Logger::Level::off)
Defines UID, name and logging level.
std::shared_ptr< Capacitor > mSubParallelCapacitor1
Parallel capacitor submodel at Terminal 1.
void mnaCompUpdateVoltage(const Matrix &leftVector) override
Updates internal voltage variable of the component.
std::vector< const Matrix * > mRightVectorStamps
Right side vectors of subcomponents.
SimPowerComp< Complex >::Ptr clone(String copySuffix) override
DEPRECATED: Remove method.
std::shared_ptr< Inductor > mSubSeriesInductor
std::shared_ptr< Resistor > mSubParallelResistor0
Parallel Resistor submodel at Terminal 0.
void mnaParentAddPreStepDependencies(AttributeBase::List &prevStepDependencies, AttributeBase::List &attributeDependencies, AttributeBase::List &modifiedAttributes) override
add MNA pre and post step dependencies
void initializeParentFromNodesAndTerminals(Real frequency) override
Derives values from power flow data and pushes them to subcomponents.
void createSubComponents() override
Constructs and registers MNA subcomponents; idempotent.
std::shared_ptr< Resistor > mSubParallelResistor1
Parallel resistor submodel at Terminal 1.
PiLine(String name, Logger::Level logLevel=Logger::Level::off)
Defines name and logging level.
String uid()
Returns unique id.