This repository contains startup material for dynamic simulation studies with PyRAMSES on a 5-bus system. The material is designed for the Control and Operation of Electric Power Systems (EEN452) course at Cyprus University of Technology.
The assignment focuses on understanding generator and controller behavior during disturbances, and on interpreting dynamic responses (frequency, voltage, rotor angle, and power). The test system includes:
- One synchronous generator with detailed machine, governor, and AVR models
- Composite load behavior (impedance and motors)
- External grid representation for disturbance studies
- Multiple operating points and disturbance scenarios
This material is part of the EEN452 course taught by Dr. Petros Aristidou at the Sustainable Power Systems Lab.
The full assignment brief is provided in:
According to the assignment document, students must submit:
- A report (PDF) addressing all requested case-study questions, or equivalent answers in notebook Markdown cells
- The working notebook implementation (
.ipynb) and all required input files
This assignment contributes 10% of the final grade. Late submissions are penalized according to the assignment rules.
Transient Angle.ipynb: Example notebook for transient angle studiesCase 2.ipynb: Example notebook implementation for Assignment Case 2dyn.dat: Dynamic model datalf1.dat,lf1solv.dat: Operating point 1 load-flow and solved statelf2.dat,lf2solv.dat: Operating point 2 load-flow and solved stateobs.dat: Observable definitions for post-processingsolveroptions.dat: Solver and simulation optionsnothing.dst: Empty disturbance fileassignment.pdf: Official assignment handout
The assignment defines seven case studies (Cases 1-7), including:
- Set-point changes (active power and voltage)
- External system voltage dips
- Fault-and-clear events on line 1-3
- Line tripping scenarios
- Analysis of controllers (governor, AVR, PSS) and load recovery behavior
Use the notebooks as starting points and extend/adapt them to implement all required cases from assignment.pdf.
- Access to the course JupyterHub platform, or local JupyterLab
- PyRAMSES installed and available in the notebook environment
- Basic familiarity with Python and power system dynamics
pip install matplotlib scipy numpy mkl jupyter ipython pyramses- Open this folder in JupyterHub or JupyterLab.
- Start with
Transient Angle.ipynborCase 2.ipynb. - Run cells sequentially.
- Modify operating point files and disturbances to implement each assignment case.
- Plot and comment on the requested observables.
- PyRAMSES documentation
- EEN452 course page
- JupyterHub 5-bus workspace
- Original exercises by Prof. Thierry Van Cutsem
For PyRAMSES technical issues, consult the official documentation. For course-related questions, use the course communication channels.
This material is part of the EEN452 course curriculum at Cyprus University of Technology, developed by the Sustainable Power Systems Lab.