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 under the Linux Foundation Energy governance principles and must respect the PowSyBl Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to powsybl-tsc@lists.lfenergy.org.
PowSyBl Optimizer provides production-ready optimal power flow optimizers:
- OpenReac is a reactive optimal power flow that gives a set of hypotheses for voltage and reactive controls by network equipment such as generators, shunt compensators and transformers. OpenReac can be used for network planning or in operation as well.
PowSyBl-optimizer project is partly written in Java, so you need few requirements:
- JDK (21 or greater)
- Maven (3.8.1 or greater, 3.9.x recommended)
For this project, you must also have AMPL installed. AMPL is a proprietary tool that works as an optimization modeling language. It can be interfaced with many solvers.
AMPL is provided free of charge to academic users. For commercial use, keys can be purchased from several vendors.
You must add in your ~/.itools/config.yml an ampl section like this:
ampl:
# Change to the ampl folder path that contains the ampl executable
homeDir: /home/user/amplTo run the model implemented in AMPL, you’ll need a non-linear optimization solver. By default, the AMPL code is configured to run Knitro, which is a proprietary non-linear solver, but you are free to configure a different one.
If you chose to run Knitro, you must have knitroampl in your path, after the installation of the solver is done and that you got a valid licence.
To run all the tests, simply launch the following command from the root of the repository:
$> mvn package
Latest version of the documentation is available here.
See Contributing.md for explanations on how to contribute to the code.
See documentation README to find out how to contribute to the documentation.
See Security.md to read about the security policy.