Skip to content

powsybl/powsybl-tutorials

PowSyBl Tutorials

Actions Status Quality Gate MPL-2.0 License Join the community on Spectrum Slack

PowSyBl (Power System Blocks) is an open source framework written in Java, that makes it easy to write complex software for power systems’ simulations and analysis. Its modular approach allows developers to extend or customize its features.

PowSyBl is part of the LF Energy Foundation, a project of The Linux Foundation that supports open source innovation projects within the energy and electricity sectors.

PowSyBl Logo

Read more at https://www.powsybl.org !

This project and everyone participates in it is governed by the PowSyBl Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to powsybl.ddl@rte-france.com.

Tutorials

This document describes how to build and run small tutorial projects. For more in depth explanations on each tutorial, please visit the https://www.powsybl.org/pages/documentation/developer/tutorials/ page.

Environment requirements

  • JDK (11 or greater)
  • Maven (3.3.9 or greater)

Most tutorials show simple code and can be run directly from maven using the exec:java goal on them:

$ cd <TUTORIAL-FOLDER>
$ mvn compile exec:java

Example:

$ cd csv-exporter
$ mvn compile exec:java
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building Export Network to CSV 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO] 
[...snip...]
[INFO] --- exec-maven-plugin:1.6.0:java (default-cli) @ powsybl-csv-exporter ---
[com.powsybl.tutorials.csv.export.Main.main()] INFO com.powsybl.tutorials.csv.export.CsvLinesExporter - CSV export done in 8 ms
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS

$ cat /tmp/test.csv
LineId,SubstationId1,SubstationId2,VoltageLevelId1,VoltageLevelId2,BusId1,BusId2,R,X,G1,B1,G2,B2
NHV1_NHV2_1,P1,P2,VLHV1,VLHV2,NHV1,NHV2,3.00000,33.0000,0.00000,0.000193000,0.00000,0.000193000
NHV1_NHV2_2,P1,P2,VLHV1,VLHV2,NHV1,NHV2,3.00000,33.0000,0.00000,0.000193000,0.00000,0.000193000

Alternatively, you can easily launch a tutorial from the root by using mvn compile exec:java -pl <TUTORIAL-FOLDER> or import the projects in you favorite IDE and use its facilities to run code and start experimenting !