Skip to content
Florian Dupuy edited this page Oct 22, 2024 · 10 revisions

Welcome to the powsybl-dynawo wiki!

Migration guides

Getting started - Documentation

Please visit our documentation website to get started.

Developer's Guide

Dynamic Simulation

Supported models

Models are listed in models.json.
The list is divided in categories each linked to a dedicated builder.

Categories properties

  • defaultLib : name of the default library
  • libs : list of dynawo libraries supported for this category

The list is statically loaded via ModelConfigLoader services and thus can be extended.

Library properties

  • lib: library name used in dynawo
  • alias: name used in powsybl-dynawo instead of lib
  • properties: dynamic model properties (synchronized, dangling, etc.)
  • internalModelPrefix: used for dyd file creation

Dynamic model Builder List

Equipments

  • BaseStaticVarCompensatorBuilder
  • HvdcPBuilder
  • HvdcVscBuilder
  • GeneratorFictitiousBuilder
  • SynchronizedGeneratorBuilder
  • SynchronousGeneratorBuilder
  • WeccBuilder
  • GridFormingConverterBuilder
  • LineBuilder
  • StandardBusBuilder
  • InfiniteBusBuilder
  • TransformerFixedRatioBuilder
  • BaseLoadBuilder
  • LoadOneTransformerBuilder
  • LoadTwoTransformersBuilder
  • LoadOneTransformerTapChangerBuilder
  • LoadTwoTransformersTapChangersBuilder

Automation Systems

  • TapChangerAutomationSystemBuilder
  • TapChangerBlockingAutomationSystemBuilder
  • UnderVoltageAutomationSystemBuilder
  • DynamicOverloadManagementSystemBuilder
  • DynamicTwoLevelsOverloadManagementSystemBuilder
  • PhaseShifterPAutomationSystemBuilder
  • PhaseShifterIAutomationSystemBuilder

Java classes naming convention

  • Equipment: a dynamic model matching an IIDM equipment (generator, load, ...)
  • Pure dynamic: a dynamic model without IIDM equipment (automation system or event)
  • DefaultXXX: default dynamic model used when no dynamic model has been specified for an equipment required for macro connection
  • XXXModel: dynamic model interface used for macro connection creation

Add a new dynamic model

Add a model with an existing category and model creating the expected dyd info:

In models.json add the new lib in the libs array (see supported models)

Add a new model with a existing category

If only some dyd properties differ from the existing models, it's easier to add a subclass model without creating a new category. For example controllable load differ from base load on DeltaP properties but use the same category and builder.

Add an all new model