Skip to content
This repository has been archived by the owner on Nov 18, 2022. It is now read-only.

powsybl/powsybl-network-area-diagram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PowSyBl Network Area Diagram

Actions Status Coverage Status Quality Gate MPL-2.0 License 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 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 powsybl-tsc@lists.lfenergy.org.

PowSyBl vs PowSyBl Network Area Diagram

PowSyBl Network Area Diagram is a component build on top of the Network model available in the PowSyBl Core repository responsible for generating a concise diagram of the whole network or of a part of the network, showing in particular the interconnections between the different voltage levels. A network area diagram emphasizes the electrical structure of the network, and may differ substantially from the network physical geography. It displays the graph whose nodes are the network voltage levels, and whose edges are the lines and transformers between those voltage levels. Additional information

Getting started

In order to generate a SVG from a given network, we need to add some Maven dependencies:

  • powsybl-network-area-diagram for the network area diagram itself
  • powsybl-iidm-impl for the network model
  • powsybl-config-test and powsybl-ieee-cdf-converter to load the Network example
  • slf4j-simple for simple logging capabilities
<properties>
    <powsybl.nad.version>0.2.0</powsybl.nad.version>
    <powsybl.core.version>4.6.0</powsybl.core.version>
    <slf4j.version>1.7.22</slf4j.version>
</properties>

<dependencies>
    <dependency>
        <groupId>com.powsybl</groupId>
        <artifactId>powsybl-network-area-diagram</artifactId>
        <version>${powsybl.nad.version}</version>
    </dependency>
    <dependency>
        <groupId>com.powsybl</groupId>
        <artifactId>powsybl-iidm-impl</artifactId>
        <version>${powsybl.core.version}</version>
    </dependency>
    <dependency>
        <groupId>com.powsybl</groupId>
        <artifactId>powsybl-config-test</artifactId>
        <version>${powsybl.core.version}</version>
    </dependency>
    <dependency>
        <groupId>com.powsybl</groupId>
        <artifactId>powsybl-ieee-cdf-converter</artifactId>
        <version>${powsybl.core.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>${slf4j.version}</version>
    </dependency>
</dependencies>

Then we simply need to load the example network and then generate the corresponding network area diagram SVG.

Network network = IeeeCdfNetworkFactory.create30();
new NetworkAreaDiagram(network).draw(Path.of("/tmp/diagram.svg"));

We obtain the following SVG:

Diagram demo

If only part of the network is wanted, we can provide a voltage level id and a depth to generate a partial graph of the network, for instance the subgraph centered on voltage level "VL25" with a depth of 2:

new NetworkAreaDiagram(network, "VL25", 2).draw(Path.of("/tmp/partial_diagram.svg"));

This leads to following diagram:

Diagram partial_demo

Note that the chosen example network is the IEEE 30-bus test case, which corresponds to a basic approximation of the American electric power system in December 1961.

About

Generation of network area diagrams

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •