PowSyBl Core

repository·main·Indexed 41 days ago

https://github.com/powsybl/powsybl-core

A Java-based open-source framework for power system simulations and analysis. It features a modular grid model, simulation APIs, and the itools packager Maven plugin for creating standardized command-line application distributions. The framework includes the IIDM Technology Compatibility Kit (TCK) for standard verification and a loadflow-validation tool to ensure results are consistent with power systems equations.

Tokens
128.5K
Snippets
281
Records
520
Agent score
51%

What's inside PowSyBl

  1. What is the itools packager Maven plugin?

    main

    The powsybl-itools-packager-maven-plugin is a Maven plugin used to generate an 'itools package'. This package is a structured distribution containing binaries, libraries, configuration files, and documentation (like licenses) required to run PowSyBl tools in a standardized environment.

    The generated package follows this directory layout:

    <package-name>
        bin
            itools
            itools.bat
            powsyblsh
            tools-mpi-task.sh
            <additional binaries>
        lib
            <additional libraries>
        etc
            logback-itools.xml
            itools.conf
            <additional config files>
        share
            java
                <jars of the project classpath>
        <additional files to be placed at package root>
        LICENSE.txt
        THIRD-PARTY.txt
  2. Overview of Short-circuit analysis in PowSyBl

    main

    Short-circuit analysis in PowSyBl is used to simulate faults on a network to calculate the resulting currents and voltages on equipment. This is critical for verifying that short circuits are correctly detected and ensuring that equipment rated values are not exceeded during a fault.

    A primary implementation of the short-circuit API is available in the powsybl-open-sc repository.

  3. Overview of PowSyBl Core

    main

    PowSyBl (Power System Blocks) is an open-source Java library designed for electrical grid modeling, simulation, and visualization. It is licensed under the Mozilla Public License version 2.0 and is part of the LF Energy foundation.

    While the core logic is written in Java, it is primarily consumed via Python scripts using the Pypowsybl library, though it can also be used directly to build standalone Java applications.

  4. Overview of Synthetic Power Grid Test Cases

    main
    Synthetic power grid models provide a large-scale representation of power grids featuring detailed modeling of power system dynamics and protections. These models use statistical metrics to mimic real-world grid complexity while avoiding the use of confidential data. They are intended for researchers to test and validate tools and techniques in a manner similar to using an actual power grid. This specific work is supported by ARPA-E’s GRID DATA program.
  5. Perform dynamic security analysis

    main

    Dynamic security analysis is a type of security analysis that utilizes dynamic models associated with the static equipment of a network. It requires both dynamic models configuration and event models configuration, which follow the same patterns as standard dynamic simulations.

    Currently, the only available implementation is provided by the powsybl-dynawo module, which integrates PowSyBl with the Dynaωo open source suite.

  6. Supported grid exchange formats in PowSyBl

    main

    PowSyBl supports various grid data formats for importing and exporting network data. While IIDM (Internal Integrated Data Model) serves as the core internal representation (available in XML, JSON, and binary formats), the library provides support for several industry standards and software-specific formats.

    Import and Export Capabilities

    | Data format | Description | Import | Export | | :--- | :--- | :---: | ::---: | | CIM-CGMES | Standard format for European grid data exchange | Yes | Yes | | UCTE-DEF | Legacy format for European grid data exchange | Yes | Partial* | | IIDM (XIIDM, JIIDM, BIIDM) | Internal PowSyBl data model (XML / JSON / binary) | Yes | Yes | | IEEE-CDF | IEEE standard format | Yes | No | | PSS®E | Format for Siemens PSS®E power flow analysis | Yes | Yes | | PowerFactory | Format for DIgSILENT PowerFactory software | Yes | No | | Matpower | Format for Matlab Matpower toolbox | Yes | No | | AMPL | Data separated value format for AMPL | No | Yes |

    *Note on UCTE-DEF Export

    Exporting to UCTE-DEF is subject to a 'round-trip' constraint: you can only export to UCTE-DEF if the data was originally imported using the UCTE-DEF format. You cannot export to UCTE-DEF if the data was imported from a different format (e.g., CIM-CGMES).

  7. Supported simulation types in PowSyBl

    main

    PowSyBl is designed to be extensible, allowing users to plug in different simulators or optimization tools for grid calculations. The library currently supports several core types of simulation:

    • Load flow: Steady-state power flow calculations.
    • Dynamic simulation (also called time-domain simulation): Transient analysis over time.
    • Security analysis: Assessing grid stability and contingency scenarios.
    • Dynamic security: Analyzing the grid's ability to withstand disturbances over time.
    • Sensitivity analysis: Evaluating how changes in parameters affect the system.
    • Short-circuit analysis: Calculating fault currents and impacts.

    While PowSyBl provides built-in support for several simulators for each type, the architecture allows you to plug in your own custom simulator within the library.

  8. What is the Action DSL?

    main

    The Action DSL is a Groovy-based domain-specific language used to create strategies for solving network violations during security analyses. A strategy consists of three main components:

    1. Contingencies: The events being simulated (e.g., N-1, N-K, or busbar contingencies).
    2. Actions: Modifications made to the network (topology changes, setpoint adjustments, etc.).
    3. Rules: The logic that determines when specific actions should be applied based on the current state of the network.

    This DSL allows you to automate remedial actions to maintain grid security during contingency simulations.

  9. What is dynamic simulation in PowSyBl

    main
    Dynamic simulation in PowSyBl is used to capture the transient response of a power system rather than just computing a steady-state solution. It allows for the modeling of system behavior over time, including the activation of events such as line disconnections or transformer tap changes.
  10. Configure Slack Distribution and Balancing

    main

    When distributedSlack is set to true, you can control how active power mismatch is managed using the balanceType parameter.

    Available balanceType options:

    • PROPORTIONAL_TO_GENERATION_P_MAX: Participating elements are generators. Participation factor is computed using maximum active power target $MaxP$ and the active power control droop (default droop is 4, or the value from the active power control extension).
    • PROPORTIONAL_TO_GENERATION_P: Participating elements are generators. Participation factor is computed using the active power set point $TargetP$.
    • PROPORTIONAL_TO_GENERATION_REMAINING_MARGIN: Participating elements are generators. Participation factor is computed using the difference between the active power limit and $TargetP$. (Uses $MaxP$ if production needs to increase, $MinP$ if it needs to decrease).
    • PROPORTIONAL_TO_GENERATION_PARTICIPATION_FACTOR: Participating elements are generators. Uses participation factors from the active power control extension.
    • PROPORTIONAL_TO_LOAD: Participating elements are loads. Participation factor is computed using active power $P0$.
    • PROPORTIONAL_TO_CONFORM_LOAD: Participating elements are loads with a conform active power part (via the load detail extension). Slack is distributed only on loads with a variable part.

    Related parameters:

    • countriesToBalance: A list of ISO-3166 country codes. If set, slack distribution is limited to these countries. If not set, it is performed over all countries in the network.
    • readSlackBus: If true, the slack bus is selected via the slack terminal extension (default: true).
    • writeSlackBus: If true, the slack bus is written to the network using the slack terminal extension after computation (default: true).
  11. Configure dynamic simulation inputs

    main

    A dynamic simulation requires several input components:

    • Static Network: The base topology of the system.
    • Dynamic Models: A set of models provided by the simulator.
    • Model Parameters: Specific values associated with each dynamic model.
    • Events (Optional): A description of occurrences during the simulation (e.g., line disconnections, tap changes).
    • Simulator Parameters: Configuration for the simulation engine itself, such as start/stop times and solver parameters.
    • Output Configuration: A configuration file specifying which variables to export at the end of the simulation.