-
Notifications
You must be signed in to change notification settings - Fork 43
IIDM & XIIDM 1.3 evolutions
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.