Single line diagram color configuration

Color configuration utilities for single line diagram

License

License

GroupId

GroupId

com.powsybl
ArtifactId

ArtifactId

powsybl-single-line-diagram-color
Last Version

Last Version

1.8.0
Release Date

Release Date

Type

Type

jar
Description

Description

Single line diagram color configuration
Color configuration utilities for single line diagram

Download powsybl-single-line-diagram-color

How to add to project

<!-- https://jarcasting.com/artifacts/com.powsybl/powsybl-single-line-diagram-color/ -->
<dependency>
    <groupId>com.powsybl</groupId>
    <artifactId>powsybl-single-line-diagram-color</artifactId>
    <version>1.8.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.powsybl/powsybl-single-line-diagram-color/
implementation 'com.powsybl:powsybl-single-line-diagram-color:1.8.0'
// https://jarcasting.com/artifacts/com.powsybl/powsybl-single-line-diagram-color/
implementation ("com.powsybl:powsybl-single-line-diagram-color:1.8.0")
'com.powsybl:powsybl-single-line-diagram-color:jar:1.8.0'
<dependency org="com.powsybl" name="powsybl-single-line-diagram-color" rev="1.8.0">
  <artifact name="powsybl-single-line-diagram-color" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.powsybl', module='powsybl-single-line-diagram-color', version='1.8.0')
)
libraryDependencies += "com.powsybl" % "powsybl-single-line-diagram-color" % "1.8.0"
[com.powsybl/powsybl-single-line-diagram-color "1.8.0"]

Dependencies

compile (1)

Group / Artifact Type Version
com.powsybl : powsybl-commons jar 3.8.0

test (1)

Group / Artifact Type Version
junit : junit jar 4.13.1

Project Modules

There are no modules declared in this project.

PowSyBl Single Line Diagram

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

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 Single Line Diagram

PowSyBl Single Line Diagram is a component build on top of the Network model available in the PowSyBl Core repository responsible for generating a single line diagram.

The main features are:

  • Node/Breaker and bus/breaker topology.
  • SVG diagram to be used in various front-end technologies.
  • Voltage level and substation diagram (and zone diagram soon).
  • Highly customizable rendering using equipment component libraries, CSS and configurable labels (position and content).
  • Multiple layout modes: fully automatic, semi-automatic (using relative positions for busbar sections and feeders), CGMES DL.

Diagram demo

Getting started

To generate a SVG single line diagram from a voltage level, we first need to add a Maven dependency for the Network model and additionally for this example two other ones for the Network test case and simple logging capabilities:

<dependency>
    <groupId>com.powsybl</groupId>
    <artifactId>powsybl-iidm-impl</artifactId>
    <version>3.7.0</version>
</dependency>
<dependency>
    <groupId>com.powsybl</groupId>
    <artifactId>powsybl-iidm-test</artifactId>
    <version>3.7.0</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.30</version>
</dependency>

We can now load a node/breaker test Network:

Network network = FictitiousSwitchFactory.create();

After adding the single line diagram core module dependency:

<dependency>
    <groupId>com.powsybl</groupId>
    <artifactId>powsybl-single-line-diagram-core</artifactId>
    <version>1.7.1</version>
</dependency>

We can generate a SVG for the voltage level "C":

// "Convergence" style component library
ComponentLibrary componentLibrary = new ResourcesComponentLibrary("/ConvergenceLibrary");

// fully automatic layout
VoltageLevelLayoutFactory voltageLevelLayoutFactory = new PositionVoltageLevelLayoutFactory(new PositionByClustering());

// create diagram for the voltage level "C"
VoltageLevelDiagram voltageLevelDiagram = VoltageLevelDiagram.build(new NetworkGraphBuilder(network), "C", voltageLevelLayoutFactory, false, false);

// create default parameters for the SVG layout
LayoutParameters layoutParameters = new LayoutParameters();

// generate SVG
voltageLevelDiagram.writeSvg("",
                             new DefaultSVGWriter(componentLibrary, layoutParameters),
                             new DefaultDiagramLabelProvider(network, componentLibrary, layoutParameters),
                             new NominalVoltageDiagramStyleProvider(),
                             Paths.get("/tmp/c.svg"));
com.powsybl

powsybl

Power System Blocks

Versions

Version
1.8.0
1.7.2
1.7.1
1.7.0
1.6.0
1.5.0
1.4.0
1.3.0
1.2.0
1.1.0
1.0.0