11#include <dpsim-models/Base/Base_Ph1_Switch.h>
12#include <dpsim-models/MNASimPowerComp.h>
13#include <dpsim-models/Solver/MNAInterface.h>
14#include <dpsim-models/Solver/MNASwitchInterface.h>
15#include <dpsim-models/Solver/MNAVariableCompInterface.h>
34 Real mDeltaResClosed = 0;
35 Real mDeltaResOpen = 1.5;
43 void setInitParameters(Real timestep);
47 Logger::Level logLevel = Logger::Level::off);
49 varResSwitch(String name, Logger::Level logLevel = Logger::Level::off)
52 SimPowerComp<Complex>::Ptr
clone(String name)
override;
61 Attribute<Matrix>::Ptr leftVector)
override;
72 Attribute<Matrix>::Ptr &leftVector)
override;
76 AttributeBase::List &attributeDependencies,
77 AttributeBase::List &modifiedAttributes,
78 Attribute<Matrix>::Ptr &leftVector)
override;
85 SparseMatrixRow &systemMatrix,
86 Int freqIdx)
override;
Dynamic Phasor Three-Phase Switch.
String uid()
Returns unique id.
MNASimPowerComp(String uid, String name, Bool hasPreStep, Bool hasPostStep, Logger::Level logLevel)
MNA interface to be used by switching devices.
MNA interface to be used by elements that require recomputing of the system matrix.
Bool mnaIsClosed() override
Check if switch is closed.
void mnaCompApplySystemMatrixStamp(SparseMatrixRow &systemMatrix) override
Stamps system matrix.
void initializeFromNodesAndTerminals(Real frequency) override
Initializes states from power flow data.
void mnaCompApplySwitchSystemMatrixStamp(Bool closed, SparseMatrixRow &systemMatrix, Int freqIdx) override
Stamps system matrix considering the defined switch position.
void mnaCompInitialize(Real omega, Real timeStep, Attribute< Matrix >::Ptr leftVector) override
Initializes MNA specific variables.
SimPowerComp< Complex >::Ptr clone(String name) override
Returns a modified copy of the component with the given suffix added to the name and without.
varResSwitch(String uid, String name, Logger::Level logLevel=Logger::Level::off)
Defines UID, name and log level.
void mnaCompUpdateVoltage(const Matrix &leftVector) override
Update interface voltage from MNA system results.
Bool hasParameterChanged() override
Returns true if one of the element paramters has changed.
void mnaCompAddPostStepDependencies(AttributeBase::List &prevStepDependencies, AttributeBase::List &attributeDependencies, AttributeBase::List &modifiedAttributes, Attribute< Matrix >::Ptr &leftVector) override
add MNA post step dependencies
void mnaCompPostStep(Real time, Int timeStepCount, Attribute< Matrix >::Ptr &leftVector) override
MNA post step operations.
void mnaCompUpdateCurrent(const Matrix &leftVector) override
Update interface current from MNA system results.
Bool supportsPrecomputedSystemMatrices() const override
void mnaCompApplyRightSideVectorStamp(Matrix &rightVector) override
Stamps right side (source) vector.
varResSwitch(String name, Logger::Level logLevel=Logger::Level::off)
Defines name and log level.