DPsim
Loading...
Searching...
No Matches
DPsim::StateSpaceModalAnalysis Class Reference

#include <StateSpaceModalAnalysis.h>

Public Member Functions

 StateSpaceModalAnalysis (const MNAStateSpaceExtractor &extractor)
 
void setAnalysisFrame (StateSpaceAnalysisFrame frame)
 
void setGlobalDq0Frame (Real omega, Real theta0=0.0)
 
void update ()
 Update modal quantities from the current extracted state matrix.
 
const CPS::VectorComp & getDiscreteEigenvalues () const
 Eigenvalues of the extracted discrete-time state matrix in the selected analysis frame.
 
const CPS::VectorComp & getContinuousEigenvalues () const
 Continuous-time equivalent eigenvalues reconstructed from discrete eigenvalues.
 
const CPS::MatrixComp & getRightEigenvectors () const
 
const CPS::MatrixComp & getLeftEigenvectors () const
 
const CPS::MatrixComp & getParticipationFactors () const
 
const std::vector< String > & getStateNames () const
 

Detailed Description

Performs modal analysis of an extracted discrete-time state-space model.

The analysis uses the state matrix provided by MNAStateSpaceExtractor and maps discrete-time eigenvalues to continuous-time equivalent eigenvalues with the trapezoidal-rule relation:

lambda = 2 / dt * (z - 1) / (z + 1)

Definition at line 24 of file StateSpaceModalAnalysis.h.

Constructor & Destructor Documentation

◆ StateSpaceModalAnalysis()

DPsim::StateSpaceModalAnalysis::StateSpaceModalAnalysis ( const MNAStateSpaceExtractor & extractor)
explicit

Definition at line 40 of file StateSpaceModalAnalysis.cpp.

Member Function Documentation

◆ getContinuousEigenvalues()

const CPS::VectorComp & DPsim::StateSpaceModalAnalysis::getContinuousEigenvalues ( ) const
inline

Continuous-time equivalent eigenvalues reconstructed from discrete eigenvalues.

Definition at line 54 of file StateSpaceModalAnalysis.h.

◆ getDiscreteEigenvalues()

const CPS::VectorComp & DPsim::StateSpaceModalAnalysis::getDiscreteEigenvalues ( ) const
inline

Eigenvalues of the extracted discrete-time state matrix in the selected analysis frame.

Definition at line 49 of file StateSpaceModalAnalysis.h.

◆ getLeftEigenvectors()

const CPS::MatrixComp & DPsim::StateSpaceModalAnalysis::getLeftEigenvectors ( ) const
inline

Left eigenvectors of the selected discrete analysis state matrix.

Rows correspond to modes and are normalized such that getLeftEigenvectors() * getRightEigenvectors() = I.

Definition at line 70 of file StateSpaceModalAnalysis.h.

◆ getParticipationFactors()

const CPS::MatrixComp & DPsim::StateSpaceModalAnalysis::getParticipationFactors ( ) const
inline

Participation factors of the selected discrete analysis state matrix.

P(state, mode) = rightEigenvectors(state, mode)

  • leftEigenvectors(mode, state)

Rows correspond to states, columns correspond to modes. Columns follow the same mode order as getDiscreteEigenvalues() and getContinuousEigenvalues().

Definition at line 81 of file StateSpaceModalAnalysis.h.

◆ getRightEigenvectors()

const CPS::MatrixComp & DPsim::StateSpaceModalAnalysis::getRightEigenvectors ( ) const
inline

Right eigenvectors of the selected discrete analysis state matrix.

Columns correspond to modes in the same order as getDiscreteEigenvalues(). These eigenvectors represent mode shapes in the selected analysis frame.

Definition at line 62 of file StateSpaceModalAnalysis.h.

◆ getStateNames()

const std::vector< String > & DPsim::StateSpaceModalAnalysis::getStateNames ( ) const
inline

State names in the selected analysis frame.

In Native frame, registered abc states keep their native abc names. In GlobalDQ0 frame, registered abc state blocks are labelled as dq0 states.

Definition at line 89 of file StateSpaceModalAnalysis.h.

◆ setAnalysisFrame()

void DPsim::StateSpaceModalAnalysis::setAnalysisFrame ( StateSpaceAnalysisFrame frame)
inline

Select the coordinate frame used for modal analysis.

Native uses the extracted state matrix directly. GlobalDQ0 transforms registered abc state blocks to a global dq0 frame.

Definition at line 32 of file StateSpaceModalAnalysis.h.

◆ setGlobalDq0Frame()

void DPsim::StateSpaceModalAnalysis::setGlobalDq0Frame ( Real omega,
Real theta0 = 0.0 )
inline

Set the global dq0 frame.

omega is the constant synchronous angular speed. theta0 is the global frame angle at t = 0.

Definition at line 40 of file StateSpaceModalAnalysis.h.

◆ update()

void DPsim::StateSpaceModalAnalysis::update ( )

Update modal quantities from the current extracted state matrix.

Definition at line 44 of file StateSpaceModalAnalysis.cpp.


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