PowSyBl can be used as a plain Java library to develop your own application. Depending on the features you need, you would select artifacts in the list below. This page aims at listing them, summarizing their purpose and helping you to figure out what you need in your ‘pom.xml’ file.
The PowSyBl artifacts are available at Maven Central within the groudId
- Configuration management
- Data management
- Single line diagram
- Grid Study Environment (Deprecated)
The following artifacts provide the grid model that is at the heart of PowSyBl.
This module provides the API of the network core model and some utilities.
This module provides an in-memory implementation of the network core model API.
This module provides usual extensions for equipments of the grid model.
This module provides extensions for equipments of the grid model used in ENTSO-E business processes.
The following artifacts provide a common API to convert network files from one format to another. PowSyBl provides several implementations of this API to support common grid exchange formats.
This module provides a common API that has to be implemented to support a new grid exchange format.
This module provides an implementation of the converter API to allow a user to load/save a network from/to an XML file.
The following artifacts provide the support of the UCTE-DEF format.
This module provides classes to model the network regarding the UCTE-DEF format.
This module provides an implementation of the converter API to allow a user to load/save a network from/to a UCTE file.
The following artifacts provide the support of the CIM-CGMES format.
This module provides classes to model the network regarding the CIM-CGMES format.
This module provides an implementation of the converter API to allow a user to load/save a network from/to a CIM-CGMES file.
This module provides a common API to access to the CIM-CGMES from a triple store. Several implementations are available but we suggest to use Eclipse RDF4J one that offers the best performance.
This module provides SPARQL queries to access to a triple store based on Eclipse RDF4J.
This module provides SPARQL queries to access to a triple store based on Blazegraph.
This module provides SPARQL queries to access to a triple store based on Jena.
This module implements the ENTSO-E conformity tests.
This module provides a tool to anonymize identifier of a CIM-CGMES file.
The following artifacts provide the support of the IEEE-CDF format.
This module provides classes to model the network regarding the IEEE-CDF format.
This module provides an implementation of the converter API to allow a user to load/save a network from/to a IEEE-CDF file.
This module provides an implementation of the converter API to allow a user to export a network to a set of tabular text files. As the format is really simple to parse, it’s commonly used to integrate PowSyBl with an optimal power flow using an AMPL model or with Matlab.
Network additional features
The following artifacts provide additional features around the network.
This module provides functions to help to compare IIDM networks.
This module provides an alternative way to merge several networks, keeping the underlying networks unchanged.
This module provides classes to extract a sub area of a network.
This module provides additional features around the network.
This module provides factories to create simple networks.
This module provides a common API for power flow computation. You have to implement this API to use your power flow simulator through PowSyBl.
This module provides an implementation of the load flow API.
This module implements power flow equations to initialize the P, Q, V and \(\theta\) from the characteristics of the equipments. This module can be used as a post processor of the import or with the load flow validation tool.
This module provides functions to check the consistency of a power flow result. It can be use as a java library, but the easiest way to use it is through the iTools CLI.
The following artifacts are used to model contingencies. Contingencies can then be used to run security analyses with or without remedial actions, sensitivity analysis…
This module provides an API to model and create contingencies.
This module provides classes to load a contingency list from a groovy script. This is a powerful way to create contingencies.
This module provides a common API for security analyses computation. You have to implement this API to use your simulator through PowSyBl. We also provide an simple implementation that relies on a power flow simulator.
This module provides the action DSL, a domain specific language to describe a strategy to solve violation issues, used in the action simulation.
This module provides an SPI to extend the action a user can use in an action script.
This module provides an API to run security analyses with remedial actions. It also provides an implementation based on a power flow simulator.
This module provides a set of common remedial actions an user would like to use in his action script.
This module provides a common API for sensitivity analysis. You have to implement this API to use your own simulator through PowSyBl.
This module has been replaced by
powsybl-sensitivity-analysis-api since powsybl-core v3.7.0.
Time domain simulation
This module provides a common API for time domain simulation. You have to implement this API to use your own simulator through PowSyBl.
This module provides a legacy API for time domain simulation. This module is not maintained anymore and will be replaced by the powsybl-dynamic-simulation-api.
The following artifacts define how PowSyBl features access to the user configuration.
This module allows you to access to the configuration defined in a configuration file stored in the home directory of the user. This is the classic way to configure PowSyBl.
This module should be used for unit testing only. It allows you to access to the configuration stored in the classpath.
The following artifacts are used by PowSyBl to know where the computation are really executed, locally or remotely for high performance computing.
This module provides the API to manage computations in PowSyBl.
This module is an implementation of the computation API that allows a user to run computation locally. This is the simplest way to do calculation using PowSyBl.
This module is an implementation of the computation API that allows a user to run computation on a computation grid using MPI.
powsybl-computation-slurm (Advanced user)
This module is an implementation of the computation API that allows a user to run computation using on servers manage by Slurm, a workload manager.
The following artifacts described below provide classes to model data in our data management system called AFS (Application File System).
This module provides the core classes to model a file system (Node, File, Folder…). You have to extend these base classes if you want to store custom data in AFS.
This module provides classes to manage common powsybl concepts in AFS (cases, networks, scripts…).
This module provides classes to manage contingency lists in AFS.
This module provides classes to run security analyses on networks stored in AFS.
This module provides classes to run security analyses locally.
This module provides classes to manage scripts for the simulation of remedial actions.
This module provides a common API for the storage layer. This API have to be implemented if you want to store your data in a database. PowSyBl provides several implementation to store data on the file system.
This module provides an implementation of the storage API to read/store data from/to the local file system.
This module provides an implementation of the
AppFileSystem interface based on MapDB.
This module provides an implementation of the storage API to read/store data using MapDB.
This module provides an implementation of the storage API based on Apache Cassandra.
This module provides an implementation of the storage API to expose a remote AFS.
This module provides utility classes shared between the client part and the server part (JSON serialization…).
This module provides a facade to expose a remote AFS through a Rest API.
This module provides utility classes for the backend part (authentication…).
This module provides the client code to access to a remove AFS.
This module provides utility classes for the client part (session management, configuration…).
This module provides a Rest API to query a network stored in AFS.
This module provides the client code of the network query Rest API.
This module provides a CLI tool to create groovy script based on PowSyBl. It is designed to be fully extendable and offers a complete access to the whole framework, without any limitation.
This modules provides extensions to access to the network. It is mainly used to maintain the compatibility with existing scripts.
This module provides extensions to run power flow from groovy scripts.
This module provides an extension to access to an AFS from groovy scripts.
This module provides mathematical utility classes to work with matrix or graphs.
This module provides a model of time series and a DSL to perform basic operations.
This module provides a lot of really basic and technical utilities used everywhere in PowSyBl such as XML or JSON helpers, configuration, exceptions…
This module provides classes to define a new domain specific language (DSL). It provides logical expression support and a facade to access and manipulate a network.
This module provides a CLI tool to run simulations.
This module provides a maven plugin to create a standalone distribution based on iTools.
Single line diagram
This module provides a demo app to view diagrams of substations and voltage levels of network files.
This module enables to generate svg images of voltage levels and substations.
This module provides a javafx component to display interactive network diagrams.
This module should be used to create svgs from the CIM-CGMES DL (Diagram Layout) profile.
This module is used to define colors from a
This module defines extensions to attach diagram information to networks.
This module gathers the network core model extensions for CIM-CGMES networks.
This module is used to convert the CIM-CGMES DL profile to the network core model extensions.
Grid Study Environment (Deprecated)
The following artifacts are part of a generic desktop application you can easily customize with plugins.
This module provides the base classes for the GSE front-end. If you want to create a standalone application based on GSE, you have to use this module.
This module provides a GUI to manage objects defined in the powsybl-afs-ext-base module.
This module provides utility functions to manage the copy/paste of data stored in AFS.
This module contains the entry point of a demo based on the GSE.
This module provides a plugin to visualize the hierarchy and the characteristics of the equipments of a network.
This module provides a plugin to display a network on a map.
This module provides a GUI to manage objects related to the security analyses.
This module provides an SPI to extend and customize the GSE, creating your own plugins.