Overview

CII Best Practices Actions Status Coverage Status Quality Gate MPL-2.0 License Slack Javadocs OpenSSF Scorecard

PowSyBl (Power System Blocks) is an open source framework written in Java, dedicated to electrical grid modelling and simulation, licensed under the Mozilla Public License version 2.0. It is part of LF Energy, an open source foundation focused on the power systems sector, hosted within The Linux Foundation.

The power system blocks may be used through Python scripts for a quick implementation (or prototyping), but also be assembled to build state-of-the-art applications. Indeed, one major aim of the project is to make it easy to write complex software for power system simulation and analysis. For example, using PowSyBl one can create applications able to:

  • handle a variety of formats, such as CIM-CGMES for European data exchanges,
  • perform power flow simulations, security analyses and sensitivity analyses on the network,
  • perform dynamic simulations on the network,
  • create visual representations of the network,
  • etc.

Another key characteristic of PowSyBl is its modular design, at the core of the open source approach. It enables developers to extend or customize its features by providing their own plugins.

Check the Getting started and Configuration pages to learn how to install and configure PowSyBl.

Features

PowSyBl provides a complete internal grid model with substations, voltage levels, AC and DC lines, two and three windings transformers, batteries, generators, loads, shunt and static VAR compensators, etc. The grid model can also be enhanced with extensions that complete the equipment modeling (short-circuit profile, measurements, position information, etc.).

Node breaker topology

PowSyBl also provides importers and exporters for several common pan-european exchange formats (Entso-E CIM/CGMES, UCTE-DEF, etc.).

PowSyBl as a library provides several APIs for power systems’ simulation and analysis (power flows, security analysis, sensitivity analysis, time domain simulation, etc.). These simulations can run either on a personal computer or on a server, but they can also run on a supercomputer like in the iTesla project with the Curie supercomputer. The separation of the simulation API and the implementations allows developers to provide their own implementations if necessary, which makes the framework very flexible.

PowSyBl enables users to display network graph diagrams and single-line diagrams of a network in a highly customizable way.

The PyPowSyBl project gives access to PowSyBl framework to Python developers. This Python integration relies on GraalVM to compile Java code to a native library.

All PowSyBl features are exposed as web services, to make it easy to build web-based applications on top of the framework. As an example of integration, please visit the web-site of GridSuite.

Projects

GitHub logo

Release train Java libraries

  • powsybl-core provides the core feature of the PowSyBl framework such as the grid modelling, network extensions, the support of several data exchange formats (CIM-CGMES, UCTE, Matpower, PSSE, PowerFactory…), computation APIs (load flow, security analysis, sensitivity analysis, dynamic simulation…), time series, etc.

  • powsybl-open-loadflow provides an implementation of the LoadFlow, the security analysis and the sensitivity analysis APIs based on the powsybl-math-native project.

  • powsybl-dynawo provides an implementation of the dynamic simulation API for the Dynaωo time domain simulation tool.

  • powsybl-diagram provides modules to generate single-line diagrams and network graph diagrams.

  • powsybl-entsoe provides components specific for ENTSO-E-orientated processes, such as Generator and Load Shift Keys (GLSK) importers, control areas, balances adjustment, etc.

  • powsybl-open-rao provides a modular engine for remedial actions optimization.

Pypowsybl

Pypowsybl provides an GraalVM integration of some PowSyBl Java libraries for Python developers. The PyPowSyBl’s user documentation details the integrated features.