Skip to content

Eigenanalysis

The RAMSES Eigenanalysis tool is a MATLAB-based tool for computing eigenvalues and eigenvectors of power system models in descriptor form, extracted from RAMSES simulations.

The tool analyzes small-signal stability by computing eigenvalues of the system Jacobian matrix. It supports both differential-algebraic equation (DAE) systems and provides multiple computational methods.

  • Multiple analysis methods: QZ (standard), ARPACK (sparse), Arnoldi (iterative), JDQR (targeted)
  • Interactive analysis: dominant eigenvalue identification, mode shape analysis, participation factors, damping ratios
  • Automatic Jacobian extraction from RAMSES simulation data
  • MATLAB R2016a or later
  • PyRAMSES for Jacobian matrix extraction
addpath('path/to/RAMSES-Eigenanalysis')
addpath('path/to/RAMSES-Eigenanalysis/scripts')

Use PyRAMSES to run a simulation and export the Jacobian:

import pyramses
ram = pyramses.sim()
case = pyramses.cfg('cmd.txt')
ram.execSim(case)

Ensure the disturbance file includes the Jacobian export command:

time(s) JAC 'jac'

And the solver settings include:

$OMEGA_REF SYN ;
$SCHEME IN ;
ssa('jac_val.dat', 'jac_eqs.dat', 'jac_var.dat', 'jac_struc.dat')

With custom parameters:

ssa('jac_val.dat', 'jac_eqs.dat', 'jac_var.dat', 'jac_struc.dat', ...
real_limit, damp_ratio, method)
ParameterDescriptionDefault
jac_val.datMatrix values in coordinate format
jac_eqs.datEquation descriptions (differential/algebraic)
jac_var.datVariable descriptions (differential/algebraic)
jac_struc.datDecomposed power system structure (optional)
real_limitReal part threshold for dominant eigenvalues-\infty
damp_ratioDamping ratio threshold1.0
methodAnalysis method: 'QZ' or 'ARP''QZ'
  • Uses MATLAB’s eig() function with algebraic variable elimination
  • Suitable for small to medium systems (< 50,000 states)
  • Provides the complete eigenvalue spectrum
  • Supports mode shape and participation factor analysis
  • Sparse descriptor approach using Krylov-Schur algorithm via MATLAB’s eigs()
  • Suitable for large systems
  • Computes a subset of eigenvalues near a specified target
  • Jacobi-Davidson QR method for targeted eigenvalue computation
  • Useful for finding specific eigenvalues (e.g., poorly damped modes)

After computing eigenvalues, the tool provides an interactive menu to:

  1. View dominant eigenvalues
  2. Analyze mode shapes
  3. Calculate participation factors
  4. Examine damping ratios
  5. Explore system structure

Source code: SPS-L/RAMSES-Eigenanalysis