This repository contains startup material for learning power system dynamics using PyRAMSES (Python-based RApid Multithreaded Simulation of Electric power Systems) on JupyterHub. The material is designed for the Control and Operation of Electric Power Systems (EEN452) course at Cyprus University of Technology.
PyRAMSES is a time-domain, dynamic simulator for future electric power systems that enables parallel processing of large-scale power system simulations. This tutorial demonstrates voltage collapse analysis on the Nordic test system, a well-known benchmark for power system stability studies.
This material is part of the EEN452 course taught by Prof. Petros Aristidou at the Sustainable Power Systems Lab. The course covers:
- Dynamic behavior and control structures of electric power systems
- Frequency and voltage control mechanisms
- Power system stability analysis (angle/voltage/frequency)
- Economic operation of power systems
The Nordic test system represents a realistic power system with:
- 20 synchronous generators (g1-g20) with detailed dynamic models
- Multi-voltage levels: 15kV, 20kV, 130kV, 220kV, 400kV
- Comprehensive network: 74 buses, 20 transformers, 52 transmission lines
- Dynamic components:
- Synchronous machines with detailed models (d-axis and q-axis dynamics)
- Automatic voltage regulators (AVR) with generic excitation systems
- Turbine-governor systems (hydro-generic type)
- Power system stabilizers (PSS)
Execute.ipynb: Main Jupyter notebook with step-by-step simulation instructionsdyn_B.dat: Dynamic data file containing generator models, controllers, and network topologyvolt_rat_B.dat: Power flow solution (voltage magnitudes and angles)settings1.dat: Solver settings and simulation parametersobs.dat: Observation file defining which variables to monitornothing.dst: Disturbance file (empty for initial simulation)
The tutorial demonstrates a voltage collapse scenario by:
- Initializing the system at a stable operating point
- Tripping generator g7 at t=10.0 seconds
- Observing the system response over 150 seconds
- Analyzing frequency, voltage, and power dynamics
Through this simulation, students will learn to:
- Set up and configure PyRAMSES simulations
- Analyze power system dynamic behavior
- Understand voltage stability mechanisms
- Interpret simulation results and plots
- Use PyRAMSES extractor tools for post-processing
- JupyterLab with PyRAMSES installed
- Basic knowledge of power system dynamics
- Familiarity with Python programming
pip install matplotlib scipy numpy mkl jupyter ipython pyramses- Load the folder in JupyterHub
- Open
Execute.ipynb - Run cells sequentially to:
- Configure the simulation case
- Initialize the system
- Apply the disturbance (generator trip)
- Simulate the dynamic response
- Plot and analyze results
The simulation will show:
- Frequency deviation following the generator trip
- Voltage dynamics at various buses
- Power flow redistribution in the network
- Governor and AVR responses to maintain system stability
The Nordic system operates at 50Hz and includes:
- Total generation capacity: ~10,000 MW
- Network topology: Meshed transmission system
- Control systems: Primary frequency control, voltage control
- Stability margins: Designed to demonstrate voltage collapse phenomena
For technical issues with PyRAMSES, refer to the official documentation. For course-related questions, contact the instructor through the course website.
This material is part of the EEN452 course curriculum at Cyprus University of Technology, developed by the Sustainable Power Systems Lab.