Welcome! This repository contains sting—Specialized Tool for INverter-based Grids. STING is an open-source software that is able to run:
- AC Power Flow
- Stochastic capacity expansion
- Kron reduction
- Large-scale model reduction
- Small-signal modeling
- Electromagnetic simulation
-
Download STING: Make sure you have python3.13 installed on your computer. Using
pyenvcan be helpful for managing multiple versions of python on your PC. Start by cloning this repository and navigating into the STING directory.$ git clone https://github.com/REAM-lab/sting $ cd stingNext, create a virtual environment and download all required packages.
$ python3.13 -m venv .venv $ source .venv/bin/activate (.venv)$ pip install -e . -
Run sting: To ensure that sting was installed correctly navigate to the examples folder. You will see examples for different modules. Find the file
run.pyand execute it.
Most of modules require commercial or open-source solvers to run various optimization models. Even small-signal modeling requires a solver to run optimal power flow. Make sure you have a solver installed in your computer. We are currently offering support for the following solvers:
| Solver | How to install | Use |
|---|---|---|
| IPOPT | pip install ipopt |
AC OPF |
| Gurobi | pip install ipopt |
Capacity expansion |
| MOSEK | pip install mosek |
Capacity expansion |
Some of our model reduction algorithms use the slycot python wrapper for FORTRAN SLICOT routines. Please refer to the slycot documentation for full installation instructions
For Mac users your can build slycot with support from brew. Run brew install gcc and then add slycot in your virtual environment with pip, pip install slycot.
Currently, we are offering a library of EMT models in Simulink using Specialized Power Systems (SPS) models. Unfortunately MATLAB has dropped support for the SPS library in versions after 2025a. As such, we are actively working to replace these EMT models with pure Python scripts for EMT simulation.
- Open SPS library: Make sure that you have MATLAB R2025a. Go to the folder
sps_library. Open the library, and make sure that it is open while you are running EMT simulation with our testcases.