DynaFlow

DynaFlow is a new steady-state simulation tool that aims at calculating the steady-state point by using a simplified time-domain simulation, guaranteeing the correctness of the solution found. You can find more information about it here.

Installation

You may download DynaFlow release packages from here.

Configuration

You need to tell powsybl where to find DynaFlow, by adding this into you configuration file:

dynaflow:
    homeDir: /path/to/dynaflow  # Directory obtained by unzipping the package, should contain "bin"
    debug: false

To use DynaFlow as a default for all power flow computations, you may configure the load-flow module in your configuration file:

load-flow:
    default-impl-name: "DynaFlow"

Specific parameters

svcRegulationOn
The svcRegulationOn is an optional boolean property that defines if SVCs (Static Var Compensator) take part in the voltage regulation.

shuntRegulationOn
The shuntRegulationOn is an optional boolean property that defines if Shunts take part in the voltage regulation.

automaticSlackBusOn
The automaticSlackbusOn is an optional boolean property that defines if DynaFlow computes the slack bus (phase reference bus) by itself or if the slack bus is provided.

dsoVoltageLevel
The dsoVoltageLevel is an optional double property that defines the minimum voltage of level of loads.

activePowerCompensation
The activePowerCompensation is an optional property that defines which type of power compensation applies.
Values available (TODO: describe them) :

  • P
  • TARGET_P
  • PMAX

settingPath
The settingPath is an optional property, it is used to indicates the file which defines the model settings values.

assemblingPath
The assemblingPath is an optional property, it is used to indicates the file which defines the models’ association.

startTime
The startTime is an optional property that defines the simulation start time (in s).

stopTime
The stopTime is an optional property that defines the simulation stop time (in s).

precision
The precision is an optional property that defines (TODO: description)

timeOfEvent
The timeOfEvent is an optional property that defines (TODO: description)

chosenOutputs
The chosenOutputs is an optional array property that defines (TODO: description)
Values available (TODO: describe them) :

  • STEADYSTATE
  • LOSTEQ
  • TIMELINE
  • CONSTRAINTS

timeStep
The timeStep is an optional parameter (TODO: description)

mergeLoads
The mergeLoads is an optional parameter, it is used to indicates if loads connected to the same bus are merged

startingPointMode
The startingPointMode is an optional parameter, (TODO: description) Values available (TODO: describe them) :

  • WARM
  • FLAT

Generic parameters

Furthermore, DynaFlow only supports useReactiveLimits generic parameter. You may have a description of this parameter here. The other parameters are ignored.

Example

You may define those parameters in your configuration file:

dynaflow-default-parameters:
    svcRegulationOn: true
    shuntRegulationOn: false
    automaticSlackBusOn: true
    dsoVoltageLevel: 987.6,
    activePowerCompensation: "P"
    settingPath: "path/to/settingFile"
    assemblingPath: "path/to/assemblingFile"
    startTime: 0.0
    stopTime: 100.0
    precision: 1.0
    timeOfEvent: 10.0
    chosenOutputs: [ "STEADYSTATE", "LOSTEQ", "TIMELINE", "CONSTRAINTS" ],
    timeStep: 2.6
    mergeLoads: true,
    startingPointMode: "WARM"
    

Alternatively, you can provide parameters as a JSON file where supported (for example when using itools loadflow command):

{
  "version" : "1.9",
  "useReactiveLimits" : true,
  "extensions" : {
    "DynaflowParameters" : {
      "svcRegulationOn" : true,
      "shuntRegulationOn" : false,
      "automaticSlackBusOn" : true,
      "dsoVoltageLevel" : 987.6,
      "activePowerCompensation" : "P",
      "settingPath" : "path/to/settingFile",
      "assemblingPath" : "path/to/assemblingFile",
      "startTime" : 0.0,
      "stopTime" : 100.0,
      "precision" : 1.0,
      "sa" : {
        "timeOfEvent" : 10.0
      },
      "chosenOutputs" : [ "STEADYSTATE", "LOSTEQ", "TIMELINE", "CONSTRAINTS" ],
      "timeStep" : 2.6,
      "mergeLoads" : true,
      "startingPointMode" : "WARM"
    }
  }
}