-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Florian Dupuy edited this page Oct 22, 2024
·
10 revisions
Welcome to the powsybl-dynawo wiki!
Please visit our documentation website to get started.
Models are listed in models.json.
The list is divided in categories each linked to a dedicated builder.
- 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.
- 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
- BaseStaticVarCompensatorBuilder
- HvdcPBuilder
- HvdcVscBuilder
- GeneratorFictitiousBuilder
- SynchronizedGeneratorBuilder
- SynchronousGeneratorBuilder
- WeccBuilder
- GridFormingConverterBuilder
- LineBuilder
- StandardBusBuilder
- InfiniteBusBuilder
- TransformerFixedRatioBuilder
- BaseLoadBuilder
- LoadOneTransformerBuilder
- LoadTwoTransformersBuilder
- LoadOneTransformerTapChangerBuilder
- LoadTwoTransformersTapChangersBuilder
- TapChangerAutomationSystemBuilder
- TapChangerBlockingAutomationSystemBuilder
- UnderVoltageAutomationSystemBuilder
- DynamicOverloadManagementSystemBuilder
- DynamicTwoLevelsOverloadManagementSystemBuilder
- PhaseShifterPAutomationSystemBuilder
- PhaseShifterIAutomationSystemBuilder
- 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
In models.json add the new lib in the libs array (see supported models)
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 a new model category with the new lib(s) and defaultLib in models.json
- Add the following classes in models package:
- A new builder linked to the new category extending AbstractEquipmentModelBuilder or AbstractAutomationSystemModelBuilder
- in ModelConfigLoaderImpl::BUILDER_CONFIGS add a new BuilderConfig
- add a new test case in DefaultLibBuilderTest
- A new model extending AbstractEquipmentBlackBoxModel or AbstractPureDynamicBlackBoxModel
- add a new test in xml package
- A new builder linked to the new category extending AbstractEquipmentModelBuilder or AbstractAutomationSystemModelBuilder
- if the new model is an equipment, add the following classes:
- Default model extending at least AbstractDefaultModel
- Common interface between the default and dynamic model extending at least Model
- New DefaultModelConfiguration enum type