Python Software for Symbolic Power System Modeling and Numerical Analysis


ANDES is a Python-based free software package for power system simulation, control and analysis. It establishes a unique hybrid symbolic-numeric framework for modeling differential algebraic equations (DAEs) for numerical analysis. Main features of ANDES include

  • a unique hybrid symbolic-numeric approach to modeling and simulation that enables descriptive DAE modeling and automatic numerical code generation
  • a rich library of transfer functions and discontinuous components (including limiters, dead-bands, and saturation) available for prototyping models, which can be readily instantiated as multiple devices for system analysis
  • industry-grade second-generation renewable models (solar PV, type 3 and type 4 wind), distributed PV and energy storage model
  • comes with the Newton method for power flow calculation, the implicit trapezoidal method for time-domain simulation, and full eigenvalue calculation
  • strictly verified models with commercial software. ANDES obtains identical time-domain simulation results for IEEE 14-bus and NPCC system with GENROU and multiple controller models. See the verification link for details.
  • developed with performance in mind. While written in Python, ANDES comes with a performance package and can finish a 20-second transient simulation of a 2000-bus system in a few seconds on a typical desktop computer
  • out-of-the-box PSS/E raw and dyr file support for available models. Once a model is developed, inputs from a dyr file can be readily supported
  • an always up-to-date equation documentation of implemented models

ANDES is currently under active development. To get involved,

This work was supported in part by the Engineering Research Center Program of the National Science Foundation and the Department of Energy under NSF Award Number EEC-1041877 and the CURENT Industry Partnership Program. ANDES is made open source as part of the CURENT Large Scale Testbed project.

ANDES is developed and actively maintained by Hantao Cui. See the GitHub repository for a full list of contributors.

Indices and tables