DPsim
Loading...
Searching...
No Matches
CPS::MNAInterface Class Referenceabstract

Interface to be implemented by all models used by the MNA solver. More...

#include <MNAInterface.h>

Inheritance diagram for CPS::MNAInterface:
[legend]

Public Types

typedef std::shared_ptr< MNAInterfacePtr
 
typedef std::vector< Ptr > List
 

Public Member Functions

virtual void mnaInitialize (Real omega, Real timeStep)=0
 Initializes variables of components.
 
virtual void mnaInitialize (Real omega, Real timeStep, Attribute< Matrix >::Ptr leftVector)=0
 
virtual void mnaApplySystemMatrixStamp (SparseMatrixRow &systemMatrix)=0
 Stamps system matrix.
 
virtual void mnaApplyRightSideVectorStamp (Matrix &rightVector)=0
 Stamps right side (source) vector.
 
virtual void mnaUpdateVoltage (const Matrix &leftVector)=0
 Update interface voltage from MNA system result.
 
virtual void mnaUpdateCurrent (const Matrix &leftVector)=0
 Update interface current from MNA system result.
 
virtual void mnaPreStep (Real time, Int timeStepCount)=0
 MNA pre step operations.
 
virtual void mnaPostStep (Real time, Int timeStepCount, Attribute< Matrix >::Ptr &leftVector)=0
 MNA post step operations.
 
virtual void mnaAddPreStepDependencies (AttributeBase::List &prevStepDependencies, AttributeBase::List &attributeDependencies, AttributeBase::List &modifiedAttributes)=0
 Add MNA pre step dependencies.
 
virtual void mnaAddPostStepDependencies (AttributeBase::List &prevStepDependencies, AttributeBase::List &attributeDependencies, AttributeBase::List &modifiedAttributes, Attribute< Matrix >::Ptr &leftVector)=0
 Add MNA post step dependencies.
 
virtual void mnaInitializeHarm (Real omega, Real timeStep, std::vector< Attribute< Matrix >::Ptr > leftVector)=0
 Initializes variables of components.
 
virtual void mnaApplySystemMatrixStampHarm (SparseMatrixRow &systemMatrix, Int freqIdx)=0
 Stamps system matrix considering the frequency index.
 
virtual void mnaApplyRightSideVectorStampHarm (Matrix &sourceVector)=0
 Stamps right side (source) vector considering the frequency index.
 
virtual void mnaApplyRightSideVectorStampHarm (Matrix &sourceVector, Int freqIdx)=0
 
virtual const Task::List & mnaTasks () const =0
 Return list of MNA tasks.
 
virtual Attribute< Matrix >::Ptr getRightVector () const =0
 

Detailed Description

Interface to be implemented by all models used by the MNA solver.

Definition at line 18 of file MNAInterface.h.

Member Typedef Documentation

◆ List

typedef std::vector<Ptr> CPS::MNAInterface::List

Definition at line 21 of file MNAInterface.h.

◆ Ptr

typedef std::shared_ptr<MNAInterface> CPS::MNAInterface::Ptr

Definition at line 20 of file MNAInterface.h.

Member Function Documentation

◆ mnaAddPreStepDependencies()

virtual void CPS::MNAInterface::mnaAddPreStepDependencies ( AttributeBase::List & prevStepDependencies,
AttributeBase::List & attributeDependencies,
AttributeBase::List & modifiedAttributes )
pure virtual

◆ mnaApplyRightSideVectorStamp()

virtual void CPS::MNAInterface::mnaApplyRightSideVectorStamp ( Matrix & rightVector)
pure virtual

Stamps right side (source) vector.

Implemented in CPS::MNASimPowerComp< VarType >, CPS::MNASimPowerComp< Complex >, and CPS::MNASimPowerComp< Real >.

◆ mnaApplyRightSideVectorStampHarm()

virtual void CPS::MNAInterface::mnaApplyRightSideVectorStampHarm ( Matrix & sourceVector)
pure virtual

Stamps right side (source) vector considering the frequency index.

Implemented in CPS::MNASimPowerComp< VarType >, CPS::MNASimPowerComp< Complex >, and CPS::MNASimPowerComp< Real >.

◆ mnaApplySystemMatrixStamp()

virtual void CPS::MNAInterface::mnaApplySystemMatrixStamp ( SparseMatrixRow & systemMatrix)
pure virtual

◆ mnaApplySystemMatrixStampHarm()

virtual void CPS::MNAInterface::mnaApplySystemMatrixStampHarm ( SparseMatrixRow & systemMatrix,
Int freqIdx )
pure virtual

Stamps system matrix considering the frequency index.

Implemented in CPS::MNASimPowerComp< VarType >, CPS::MNASimPowerComp< Complex >, and CPS::MNASimPowerComp< Real >.

◆ mnaInitialize()

virtual void CPS::MNAInterface::mnaInitialize ( Real omega,
Real timeStep )
pure virtual

Initializes variables of components.

Implemented in CPS::MNASimPowerComp< VarType >, CPS::MNASimPowerComp< Complex >, and CPS::MNASimPowerComp< Real >.

◆ mnaPreStep()

virtual void CPS::MNAInterface::mnaPreStep ( Real time,
Int timeStepCount )
pure virtual

◆ mnaTasks()

virtual const Task::List & CPS::MNAInterface::mnaTasks ( ) const
pure virtual

◆ mnaUpdateCurrent()

virtual void CPS::MNAInterface::mnaUpdateCurrent ( const Matrix & leftVector)
pure virtual

Update interface current from MNA system result.

Implemented in CPS::MNASimPowerComp< VarType >, CPS::MNASimPowerComp< Complex >, and CPS::MNASimPowerComp< Real >.

◆ mnaUpdateVoltage()

virtual void CPS::MNAInterface::mnaUpdateVoltage ( const Matrix & leftVector)
pure virtual

Update interface voltage from MNA system result.

Implemented in CPS::MNASimPowerComp< VarType >, CPS::MNASimPowerComp< Complex >, and CPS::MNASimPowerComp< Real >.


The documentation for this class was generated from the following file: