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.
Read more at https://www.powsybl.org !
This project and everyone participating in it is governed by the PowSyBl Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].
This document describes how to build the code of PowSyBl GSE. If you just want to run PowSyBl demos, please visit https://www.powsybl.org/ where downloads will be available soon. If you want guidance on how to start building your own application based on PowSyBl, please visit the http://www.powsybl.org/docs/tutorials/ page.
The PowSyBl GSE is not a standalone project. Read on to learn how to modify the GSE code, be it for fun, for diagnosing bugs, for improving your understanding of the framework, or for preparing pull requests to suggest improvements! GSE stands for "Grid Study Environment". PowSyBl GSE provides JavaFX components, a base for JavaFX applications and a build system to create standalone distributable GUI applications. A basic demo application is also provided:
- JDK (1.8 or greater) with JavaFX (e.g. the oracle JDK 1.8)
- Maven (3.3.9 or greater)
- PowSyBl Core : https://github.com/powsybl/powsybl-core
A simple way to build this project is to install the PowSyBl Core artifacts in your local maven repository. To do this, checkout the powsybl-core repository and run the following command from the powsybl-core directory
$ mvn install
You can then run the following command from the powsybl-gse directory
$ mvn package -Pnative-package
It will build the demo application. The resulting application is a distributable application image (a directory containing all necessary resources and a binary to run the application) available in gse-demo/target/jfx/native/gse . You can run the application by launching the included binary (gse.exe on windows, gse on other systems). Because it's distributable, you can also move this folder to a more permanent place, the application will still run from the new location.
If you want to avoid putting artifacts in your maven repository, create an aggregator pom in a separate directory referencing powsybl-gse and powsybl-core as modules and run the folliwng command from the aggregator's directory
$ mvn clean package -pl :powsybl-gse-demo -am -Pnative-package
If you want to avoid having to clone and build the powsybl-core repository, you can checkout the latest release version of the powsybl-gse repository which will download the PowSyBl Core dependencies from maven central. For example:
$ git checkout v1.4.0
$ mvn package -Pnative-package
# And you can modify code and experiment!