Skip to content

IIDM & XIIDM 1.3 evolutions

MioRtia edited this page Jun 30, 2020 · 9 revisions

New features

Shunt compensator

Since release 3.5.0, it is possible for a shunt compensator to be linear or non linear (only linear shunt compensators used to be supported in previous releases).

In order to do this, the notion of ShuntCompensatorModel was introduced: it contains the behavior of the shunt compensator's sections (linear or non linear).

In order to create a linear shunt compensator, you will now have to do:

ShuntCompensator sc = voltageLevel.newShuntCompensator()
                         .setSectionCount(sectionCount)
                         .newLinearModel()
                              .setBPerSection(bPerSection)
                              .setGPerSection(gPerSection) // optional
                              .setMaximumCount(maximumCount)
                              .add()
                         .add();

In order to create a non linear shunt compensator, you will have to do:

ShuntCompensator sc = voltageLevel.newShuntCompensato()
                        .setSectionCount(sectionCount)
                        .newNonLinearModel()
                               .beginSection()
                               .setB(b1)
                               .setG(g1) // optional
                               .endSection()
                               .beginSection()
                               .setB(b2)
                               .setG(g2) // optional
                               .endSection()
                               .add()
                        .add();

Please also note that some methods has been renamed (e.g. getCurrentSection() has been renamed getSection()) and that to access attributes such as bPerSection, specific to linear model, you will have to retrieve the shunt compensator's model:

double bPerSection = shunt.getModel(ShuntCompensatorLinearModel.class).getBPerSection();

For more details, go to the documentation page on powsybl.org.

Clone this wiki locally