Build Status Chat on Slack. Get your Slack invitation. Code on Github.

PowerDynamics.jl - Dynamic Power System Analysis in Julia

This package provides all the tools you need to create a dynamic power grid model and analyze it.

The source code is licensed under GPLv3 and published on github.

These Docs have been built

on 2024-01-22 at 10:43

Installation

The installation can be done via the new package manager. Either use

]add PowerDynamics

or copy

using Pkg; Pkg.add("PowerDynamics")

Please note that PowerDynamics.jl is a fast developing library whose API is not settled yet. In order to ensure that your old code will still work in the future while using the latest version of PowerDynamics.jl for your new code, we strongly recommend the usage of environments. Please check out this video from the introduction of Pkg3, where environments are introduced, too.

Compatibility

PowerDynamics.jl is written for Julia 1.6 and above. We will quickly switch to new Julia version as they come out, but support older versions and enable long transition periods for users. Julia versions 0.x are not supported.

Usage

Generally, we distinguish three types of user for PowerDynamics.jl:

Grid Modeler

Your Goal is to use PowerDynamics.jl to model your grid of preference. You don't want to implement new types of nodes.

We recommend you to choose your favorite example from PowerDynamicsExamples, read Node Types and try to understand it. That should give you the kickstart you need. If you have any questions, contact us.

Grid Component Developer

Your Goal is to use PowerDynamics.jl to develop types of nodes, e.g. new control schemes for inverters or new descriptions of synchronous machines.

After going through the introduction for a Grid Modeler, we recommend that you read through PowerGrid model and Custom Node Types and try to implement a new node type for an example grid. With that, you should have all the tools you need. If you have any questions, contact us.

PowerDynamics.jl Developer

Your Goal is to extend PowerDynamics.jl with new fundamental functionalities.

After going throught the introduction for a Grid Modeler and a Grid Component Developer, read through the code where hopefully all of this documentation will helpful for you. Afterwards, it's probably best to open an issue explaining the idea you want to implement and we can discuss how you can transform your idea into a pull request.