DPsim
Loading...
Searching...
No Matches
StateSpaceModalAnalysis.h
1// SPDX-FileCopyrightText: 2026 Institute for Automation of Complex Power Systems, EONERC, RWTH Aachen University
2// SPDX-License-Identifier: MPL-2.0
3
4#pragma once
5
6#include <dpsim/Definitions.h>
7#include <dpsim/MNAStateSpaceExtractor.h>
8
9namespace DPsim {
10
18class StateSpaceModalAnalysis {
19public:
20 explicit StateSpaceModalAnalysis(const MNAStateSpaceExtractor &extractor);
21
23 void update();
24
26 const CPS::VectorComp &getDiscreteEigenvalues() const {
27 return mDiscreteEigenvalues;
28 }
29
31 const CPS::VectorComp &getContinuousEigenvalues() const {
32 return mContinuousEigenvalues;
33 }
34
35private:
36 Complex mapDiscreteToContinuous(const Complex &z) const;
37
38 const MNAStateSpaceExtractor &mExtractor;
39
40 CPS::VectorComp mDiscreteEigenvalues;
41
42 CPS::VectorComp mContinuousEigenvalues;
43};
44
45} // namespace DPsim
const CPS::VectorComp & getContinuousEigenvalues() const
Continuous-time EMT eigenvalues reconstructed from discrete eigenvalues.
const CPS::VectorComp & getDiscreteEigenvalues() const
Eigenvalues of the extracted discrete-time state matrix Ad.
void update()
Update modal quantities from the current extracted state matrix.