Quick Start
You drive STEPSS one of two ways, and both are covered here.
| Edition | Dynamic Simulator (RAMSES) | Power Flow (Helios) | CODEGEN | Use it for |
|---|---|---|---|---|
| STEPSS GUI | yes | yes | yes | Interactive work: load a case, run it, watch curves, build models |
| STEPSS in Python | yes | yes | Scripting, parameter sweeps, and the scientific Python stack |
Those two are what you install; see Installation. Pick the GUI if you want to see the system respond, Python if you want to automate. Neither wraps the other, so a case built in one runs unchanged in the other.
New to STEPSS? First Run opens a bundled test system and simulates it without your having to prepare any data.
The engines can also be invoked directly from a shell, which is what the Command line tab on each section below documents. It is not a third thing to install and most readers will not need it: the executables are not published separately, they ship inside STEPSS GUI, which unpacks them while it runs. It matters when you are wiring STEPSS into a job scheduler or another program.
Watch it
Section titled “Watch it”Episode 2 of the video series, Your First Power Flow and Dynamic Simulation, covers this page.
Dynamic Simulation (RAMSES)
Section titled “Dynamic Simulation (RAMSES)”The window is six tabs, used left to right:
-
Launch STEPSS, from your applications if you used an installer, or by double-clicking
stepss.jar -
Get a case. File, then Open Examples ships three complete test systems and fills in every file slot. Otherwise load your own on the System Data tab, which takes the system data files and the disturbance file
-
On Observables, tick what to record, and optionally set a quantity to plot live while the run proceeds
-
On Power Flow Simulation, Run power flow to get the operating point
-
On Dynamic Simulation, Run dynamic simulation
-
On Analysis, Extract curves to plot the result
The GUI coordinates the power flow and RAMSES through lock files (.lock_RAMSES, .kill_RAMSES) for graceful process management.
For the full walkthrough on a real case, see Running a Simulation.
-
Install stepss:
Terminal window pip install stepss -
Run a simulation:
import stepss# Configure the casecase = stepss.cfg()case.addData("data.dat")case.addData("volt_rat.dat")case.addData("settings.dat")case.addObs("obs.obs")case.addDst("disturbance.dst")# Runram = stepss.sim()ram.execSim(case, 150.0) -
Extract and plot results:
ext = stepss.extractor(case.getTrj())# Plot bus voltage magnitudeext.getBus('1041').mag.plot()# Plot synchronous machine speedext.getSync('g1').S.plot()
See the Python API Reference for the complete interface.
Power Flow (Helios)
Section titled “Power Flow (Helios)”-
Launch STEPSS and load the network and power-flow data files on the System Data tab
-
Go to Power Flow Simulation and click Run power flow. The pane reports bus voltages and angles, the generator table with its limits, and the system power balance
-
Inspect the result through Bus overview, Branch flows, Generators & SVCs, Adjustable transformers and Global power balance, which enable once the run succeeds
-
Add Helios results to data feeds the solution back into the loaded case, ready for the dynamic simulation
See The Interface for what each control does.
HeliosSession follows load, then modify, then solve, then query:
from stepss.helios import HeliosSession
with HeliosSession() as pf: pf.load_file('network.dat') pf.load_file('powerflow.dat') converged = pf.solve()
v, angle = pf.get_bus_voltage('1041') pf.export_voltages('volt_rat.dat') # the LFRESV file RAMSES initialises fromexport_voltages writes the same LFRESV file the GUI’s Add Helios results
to data feeds back into the case. See
Power Flow with Helios for the full interface, including
redispatch and contingency screening.
Typical Workflow
Section titled “Typical Workflow”- Define the network: Specify buses, lines, transformers, and shunts
- Set up power flow data: Define generators, loads, and the slack bus
- Run the power flow: compute the initial operating point and export the LFRESV file
- Add dynamic models: Specify synchronous machines, excitation systems, speed governors, loads, and controllers
- Configure solver: Set integration method, time steps, and tolerances
- Define disturbances: Specify faults, line trips, parameter changes, etc.
- Run the dynamic simulation: from Dynamic Simulation in the GUI, or
sim.execSim(case)in Python - Analyze results: Extract and visualize trajectories of voltages, frequencies, and powers
Next Steps
Section titled “Next Steps”- First Run, Open a bundled test system in STEPSS GUI
- Running a Simulation, A complete run, start to finish
- Python Examples, The same ground in a script
- File Formats, Learn about data file syntax
- Network Modeling, Define your power system network
- Power Flow, Power flow data and control parameters
- Dynamic Data Records, Add generators, loads, and controllers