diff --git a/matpower/matpower-converter/src/main/java/com/powsybl/matpower/converter/MatpowerImporter.java b/matpower/matpower-converter/src/main/java/com/powsybl/matpower/converter/MatpowerImporter.java index ab9da3340bf..31f5bbbd2a3 100644 --- a/matpower/matpower-converter/src/main/java/com/powsybl/matpower/converter/MatpowerImporter.java +++ b/matpower/matpower-converter/src/main/java/com/powsybl/matpower/converter/MatpowerImporter.java @@ -119,6 +119,9 @@ private static void createBuses(MatpowerModel model, ContainersMapping container context.getSlackBuses().add(bus); } + // create voltage limits + createVoltageLimits(mBus, voltageLevel); + // create load createLoad(mBus, voltageLevel); @@ -130,6 +133,22 @@ private static void createBuses(MatpowerModel model, ContainersMapping container } } + private static void createVoltageLimits(MBus mBus, VoltageLevel voltageLevel) { + // as in IIDM, we only have one min and one max voltage level by voltage level we keep only the most severe ones + if (mBus.getMinimumVoltageMagnitude() != 0) { + double lowVoltageLimit = mBus.getMinimumVoltageMagnitude() * voltageLevel.getNominalV(); + if (Double.isNaN(voltageLevel.getLowVoltageLimit()) || lowVoltageLimit > voltageLevel.getLowVoltageLimit()) { + voltageLevel.setLowVoltageLimit(lowVoltageLimit); + } + } + if (mBus.getMaximumVoltageMagnitude() != 0) { + double highVoltageLimit = mBus.getMaximumVoltageMagnitude() * voltageLevel.getNominalV(); + if (Double.isNaN(voltageLevel.getHighVoltageLimit()) || highVoltageLimit < voltageLevel.getHighVoltageLimit()) { + voltageLevel.setHighVoltageLimit(highVoltageLimit); + } + } + } + private static void createGenerators(MatpowerModel model, MBus mBus, VoltageLevel voltageLevel) { for (MGen mGen : model.getGeneratorsByBusNum(mBus.getNumber())) { String busId = getId(BUS_PREFIX, mGen.getNumber()); diff --git a/matpower/matpower-converter/src/test/resources/ieee118.xiidm b/matpower/matpower-converter/src/test/resources/ieee118.xiidm index 0644f846bf5..d3296d33b9d 100644 --- a/matpower/matpower-converter/src/test/resources/ieee118.xiidm +++ b/matpower/matpower-converter/src/test/resources/ieee118.xiidm @@ -1,7 +1,7 @@ - + @@ -12,7 +12,7 @@ - + @@ -20,7 +20,7 @@ - + @@ -28,7 +28,7 @@ - + @@ -39,7 +39,7 @@ - + @@ -47,7 +47,7 @@ - + @@ -59,7 +59,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -78,14 +78,14 @@ - + - + @@ -95,7 +95,7 @@ - + @@ -103,7 +103,7 @@ - + @@ -114,7 +114,7 @@ - + @@ -122,7 +122,7 @@ - + @@ -130,7 +130,7 @@ - + @@ -141,7 +141,7 @@ - + @@ -149,13 +149,13 @@ - + - + @@ -163,7 +163,7 @@ - + @@ -174,7 +174,7 @@ - + @@ -185,7 +185,7 @@ - + @@ -193,7 +193,7 @@ - + @@ -201,7 +201,7 @@ - + @@ -209,7 +209,7 @@ - + @@ -217,7 +217,7 @@ - + @@ -228,7 +228,7 @@ - + @@ -236,7 +236,7 @@ - + @@ -247,7 +247,7 @@ - + @@ -258,7 +258,7 @@ - + @@ -266,7 +266,7 @@ - + @@ -274,7 +274,7 @@ - + @@ -285,7 +285,7 @@ - + @@ -296,7 +296,7 @@ - + @@ -304,7 +304,7 @@ - + @@ -318,7 +318,7 @@ - + @@ -326,7 +326,7 @@ - + @@ -337,7 +337,7 @@ - + @@ -345,7 +345,7 @@ - + @@ -353,7 +353,7 @@ - + @@ -361,7 +361,7 @@ - + @@ -372,7 +372,7 @@ - + @@ -380,7 +380,7 @@ - + @@ -391,7 +391,7 @@ - + @@ -399,7 +399,7 @@ - + @@ -410,7 +410,7 @@ - + @@ -421,7 +421,7 @@ - + @@ -435,7 +435,7 @@ - + @@ -443,7 +443,7 @@ - + @@ -454,7 +454,7 @@ - + @@ -465,7 +465,7 @@ - + @@ -473,7 +473,7 @@ - + @@ -481,7 +481,7 @@ - + @@ -489,7 +489,7 @@ - + @@ -497,7 +497,7 @@ - + @@ -508,7 +508,7 @@ - + @@ -519,7 +519,7 @@ - + @@ -530,7 +530,7 @@ - + @@ -538,7 +538,7 @@ - + @@ -546,7 +546,7 @@ - + @@ -555,7 +555,7 @@ - + @@ -563,7 +563,7 @@ - + @@ -571,7 +571,7 @@ - + @@ -579,7 +579,7 @@ - + @@ -587,7 +587,7 @@ - + @@ -598,7 +598,7 @@ - + @@ -606,7 +606,7 @@ - + @@ -618,7 +618,7 @@ - + @@ -626,12 +626,12 @@ - + - + @@ -642,7 +642,7 @@ - + @@ -653,14 +653,14 @@ - + - + @@ -671,7 +671,7 @@ - + @@ -682,7 +682,7 @@ - + @@ -696,7 +696,7 @@ - + @@ -704,7 +704,7 @@ - + @@ -715,7 +715,7 @@ - + @@ -726,7 +726,7 @@ - + @@ -734,7 +734,7 @@ - + @@ -745,7 +745,7 @@ - + @@ -754,7 +754,7 @@ - + @@ -762,7 +762,7 @@ - + @@ -773,7 +773,7 @@ - + @@ -784,7 +784,7 @@ - + @@ -792,7 +792,7 @@ - + @@ -803,7 +803,7 @@ - + @@ -811,7 +811,7 @@ - + @@ -821,7 +821,7 @@ - + @@ -829,7 +829,7 @@ - + @@ -839,7 +839,7 @@ - + @@ -850,7 +850,7 @@ - + @@ -861,7 +861,7 @@ - + @@ -872,7 +872,7 @@ - + @@ -880,7 +880,7 @@ - + @@ -888,7 +888,7 @@ - + @@ -896,7 +896,7 @@ - + @@ -904,7 +904,7 @@ - + @@ -912,7 +912,7 @@ - + @@ -920,7 +920,7 @@ - + @@ -931,7 +931,7 @@ - + @@ -942,7 +942,7 @@ - + @@ -950,7 +950,7 @@ - + @@ -958,7 +958,7 @@ - + @@ -969,7 +969,7 @@ - + @@ -980,7 +980,7 @@ - + @@ -994,7 +994,7 @@ - + @@ -1002,7 +1002,7 @@ - + @@ -1016,7 +1016,7 @@ - + @@ -1024,7 +1024,7 @@ - + @@ -1032,7 +1032,7 @@ - + @@ -1046,7 +1046,7 @@ - + @@ -1056,7 +1056,7 @@ - + @@ -1067,7 +1067,7 @@ - + @@ -1078,7 +1078,7 @@ - + @@ -1086,7 +1086,7 @@ - + @@ -1094,7 +1094,7 @@ - + @@ -1105,7 +1105,7 @@ - + @@ -1113,7 +1113,7 @@ - + diff --git a/matpower/matpower-converter/src/test/resources/ieee14-phase-shifter.xiidm b/matpower/matpower-converter/src/test/resources/ieee14-phase-shifter.xiidm index bb7c5c9b186..feed8a8655e 100644 --- a/matpower/matpower-converter/src/test/resources/ieee14-phase-shifter.xiidm +++ b/matpower/matpower-converter/src/test/resources/ieee14-phase-shifter.xiidm @@ -1,7 +1,7 @@ - + @@ -11,7 +11,7 @@ - + @@ -22,7 +22,7 @@ - + @@ -33,18 +33,18 @@ - + - + - + @@ -61,13 +61,13 @@ - + - + @@ -79,7 +79,7 @@ - + @@ -89,7 +89,7 @@ - + @@ -97,7 +97,7 @@ - + @@ -105,7 +105,7 @@ - + @@ -113,7 +113,7 @@ - + @@ -121,7 +121,7 @@ - + diff --git a/matpower/matpower-converter/src/test/resources/ieee14.xiidm b/matpower/matpower-converter/src/test/resources/ieee14.xiidm index 77617ecc014..aa0e075f7dc 100644 --- a/matpower/matpower-converter/src/test/resources/ieee14.xiidm +++ b/matpower/matpower-converter/src/test/resources/ieee14.xiidm @@ -1,7 +1,7 @@ - + @@ -11,7 +11,7 @@ - + @@ -22,7 +22,7 @@ - + @@ -33,18 +33,18 @@ - + - + - + @@ -57,13 +57,13 @@ - + - + @@ -75,7 +75,7 @@ - + @@ -85,7 +85,7 @@ - + @@ -93,7 +93,7 @@ - + @@ -101,7 +101,7 @@ - + @@ -109,7 +109,7 @@ - + @@ -117,7 +117,7 @@ - + diff --git a/matpower/matpower-converter/src/test/resources/ieee30.xiidm b/matpower/matpower-converter/src/test/resources/ieee30.xiidm index f438d52a3fc..7ca24e8853d 100644 --- a/matpower/matpower-converter/src/test/resources/ieee30.xiidm +++ b/matpower/matpower-converter/src/test/resources/ieee30.xiidm @@ -1,7 +1,7 @@ - + @@ -11,7 +11,7 @@ - + @@ -22,7 +22,7 @@ - + @@ -30,13 +30,13 @@ - + - + @@ -45,7 +45,7 @@ - + @@ -56,17 +56,17 @@ - + - + - + @@ -79,7 +79,7 @@ - + @@ -87,7 +87,7 @@ - + @@ -98,7 +98,7 @@ - + @@ -108,7 +108,7 @@ - + @@ -118,7 +118,7 @@ - + @@ -126,7 +126,7 @@ - + @@ -134,7 +134,7 @@ - + @@ -142,7 +142,7 @@ - + @@ -150,7 +150,7 @@ - + @@ -158,7 +158,7 @@ - + @@ -166,7 +166,7 @@ - + @@ -174,7 +174,7 @@ - + @@ -182,14 +182,14 @@ - + - + @@ -197,7 +197,7 @@ - + @@ -208,14 +208,14 @@ - + - + @@ -223,12 +223,12 @@ - + - + @@ -236,7 +236,7 @@ - + @@ -244,7 +244,7 @@ - + diff --git a/matpower/matpower-converter/src/test/resources/ieee300.xiidm b/matpower/matpower-converter/src/test/resources/ieee300.xiidm index 022a6838927..ba6ce19d110 100644 --- a/matpower/matpower-converter/src/test/resources/ieee300.xiidm +++ b/matpower/matpower-converter/src/test/resources/ieee300.xiidm @@ -1,30 +1,30 @@ - + - + - + - + - + @@ -32,7 +32,7 @@ - + @@ -40,7 +40,7 @@ - + @@ -56,19 +56,19 @@ - + - + - + @@ -77,7 +77,7 @@ - + @@ -88,7 +88,7 @@ - + @@ -96,7 +96,7 @@ - + @@ -105,18 +105,18 @@ - + - + - + @@ -124,7 +124,7 @@ - + @@ -138,7 +138,7 @@ - + @@ -146,7 +146,7 @@ - + @@ -154,24 +154,24 @@ - + - + - + - + @@ -184,14 +184,14 @@ - + - + @@ -200,7 +200,7 @@ - + @@ -209,7 +209,7 @@ - + @@ -217,18 +217,18 @@ - + - + - + @@ -236,7 +236,7 @@ - + @@ -249,7 +249,7 @@ - + @@ -257,7 +257,7 @@ - + @@ -265,7 +265,7 @@ - + @@ -273,7 +273,7 @@ - + @@ -281,19 +281,19 @@ - + - + - + @@ -301,23 +301,23 @@ - + - + - + - + @@ -327,7 +327,7 @@ - + @@ -335,12 +335,12 @@ - + - + @@ -351,7 +351,7 @@ - + @@ -359,7 +359,7 @@ - + @@ -367,14 +367,14 @@ - + - + @@ -382,23 +382,23 @@ - + - + - + - + @@ -411,7 +411,7 @@ - + @@ -419,7 +419,7 @@ - + @@ -427,13 +427,13 @@ - + - + @@ -444,7 +444,7 @@ - + @@ -452,7 +452,7 @@ - + @@ -460,7 +460,7 @@ - + @@ -468,7 +468,7 @@ - + @@ -476,13 +476,13 @@ - + - + @@ -493,13 +493,13 @@ - + - + @@ -510,7 +510,7 @@ - + @@ -518,7 +518,7 @@ - + @@ -526,25 +526,25 @@ - + - + - + - + @@ -552,7 +552,7 @@ - + @@ -565,7 +565,7 @@ - + @@ -574,7 +574,7 @@ - + @@ -582,12 +582,12 @@ - + - + @@ -596,7 +596,7 @@ - + @@ -604,13 +604,13 @@ - + - + @@ -621,7 +621,7 @@ - + @@ -629,13 +629,13 @@ - + - + @@ -643,7 +643,7 @@ - + @@ -654,7 +654,7 @@ - + @@ -662,14 +662,14 @@ - + - + @@ -677,7 +677,7 @@ - + @@ -685,12 +685,12 @@ - + - + @@ -698,7 +698,7 @@ - + @@ -709,12 +709,12 @@ - + - + @@ -723,12 +723,12 @@ - + - + @@ -737,12 +737,12 @@ - + - + @@ -751,7 +751,7 @@ - + @@ -759,7 +759,7 @@ - + @@ -767,7 +767,7 @@ - + @@ -778,7 +778,7 @@ - + @@ -789,7 +789,7 @@ - + @@ -797,7 +797,7 @@ - + @@ -808,14 +808,14 @@ - + - + @@ -823,7 +823,7 @@ - + @@ -831,7 +831,7 @@ - + @@ -839,7 +839,7 @@ - + @@ -847,7 +847,7 @@ - + @@ -858,7 +858,7 @@ - + @@ -866,7 +866,7 @@ - + @@ -874,7 +874,7 @@ - + @@ -882,7 +882,7 @@ - + @@ -890,13 +890,13 @@ - + - + @@ -905,12 +905,12 @@ - + - + @@ -919,12 +919,12 @@ - + - + @@ -933,7 +933,7 @@ - + @@ -942,7 +942,7 @@ - + @@ -950,7 +950,7 @@ - + @@ -959,7 +959,7 @@ - + @@ -967,7 +967,7 @@ - + @@ -975,7 +975,7 @@ - + @@ -984,7 +984,7 @@ - + @@ -993,7 +993,7 @@ - + @@ -1002,13 +1002,13 @@ - + - + @@ -1017,7 +1017,7 @@ - + @@ -1025,7 +1025,7 @@ - + @@ -1036,7 +1036,7 @@ - + @@ -1044,7 +1044,7 @@ - + @@ -1052,36 +1052,36 @@ - + - + - + - + - + - + @@ -1094,17 +1094,17 @@ - + - + - + @@ -1117,21 +1117,21 @@ - + - + - + @@ -1139,7 +1139,7 @@ - + @@ -1147,13 +1147,13 @@ - + - + @@ -1162,7 +1162,7 @@ - + @@ -1173,19 +1173,19 @@ - + - + - + @@ -1197,7 +1197,7 @@ - + @@ -1205,7 +1205,7 @@ - + @@ -1214,7 +1214,7 @@ - + @@ -1222,13 +1222,13 @@ - + - + @@ -1237,7 +1237,7 @@ - + @@ -1246,12 +1246,12 @@ - + - + @@ -1261,13 +1261,13 @@ - + - + @@ -1276,7 +1276,7 @@ - + @@ -1286,7 +1286,7 @@ - + @@ -1296,7 +1296,7 @@ - + @@ -1306,7 +1306,7 @@ - + @@ -1317,7 +1317,7 @@ - + @@ -1325,7 +1325,7 @@ - + @@ -1334,7 +1334,7 @@ - + @@ -1345,13 +1345,13 @@ - + - + @@ -1360,7 +1360,7 @@ - + @@ -1372,14 +1372,14 @@ - + - + @@ -1387,7 +1387,7 @@ - + @@ -1395,14 +1395,14 @@ - + - + @@ -1410,7 +1410,7 @@ - + @@ -1421,7 +1421,7 @@ - + @@ -1429,21 +1429,21 @@ - + - + - + @@ -1454,7 +1454,7 @@ - + @@ -1462,7 +1462,7 @@ - + @@ -1473,7 +1473,7 @@ - + @@ -1484,7 +1484,7 @@ - + @@ -1495,7 +1495,7 @@ - + @@ -1503,7 +1503,7 @@ - + @@ -1514,7 +1514,7 @@ - + @@ -1522,7 +1522,7 @@ - + @@ -1530,7 +1530,7 @@ - + @@ -1540,7 +1540,7 @@ - + @@ -1551,7 +1551,7 @@ - + @@ -1562,7 +1562,7 @@ - + @@ -1570,13 +1570,13 @@ - + - + @@ -1584,7 +1584,7 @@ - + @@ -1597,7 +1597,7 @@ - + @@ -1608,7 +1608,7 @@ - + @@ -1616,12 +1616,12 @@ - + - + @@ -1630,31 +1630,31 @@ - + - + - + - + - + @@ -1664,7 +1664,7 @@ - + @@ -1672,7 +1672,7 @@ - + @@ -1681,7 +1681,7 @@ - + @@ -1690,7 +1690,7 @@ - + @@ -1698,13 +1698,13 @@ - + - + @@ -1716,7 +1716,7 @@ - + @@ -1724,13 +1724,13 @@ - + - + @@ -1738,7 +1738,7 @@ - + @@ -1746,7 +1746,7 @@ - + @@ -1754,7 +1754,7 @@ - + @@ -1762,7 +1762,7 @@ - + @@ -1770,7 +1770,7 @@ - + @@ -1779,7 +1779,7 @@ - + @@ -1787,7 +1787,7 @@ - + @@ -1795,7 +1795,7 @@ - + @@ -1803,13 +1803,13 @@ - + - + @@ -1817,7 +1817,7 @@ - + @@ -1828,7 +1828,7 @@ - + @@ -1839,7 +1839,7 @@ - + @@ -1848,12 +1848,12 @@ - + - + @@ -1865,13 +1865,13 @@ - + - + @@ -1880,7 +1880,7 @@ - + @@ -1888,14 +1888,14 @@ - + - + @@ -1904,7 +1904,7 @@ - + @@ -1916,7 +1916,7 @@ - + @@ -1924,13 +1924,13 @@ - + - + @@ -1941,7 +1941,7 @@ - + @@ -1949,7 +1949,7 @@ - + @@ -1960,13 +1960,13 @@ - + - + @@ -1977,7 +1977,7 @@ - + @@ -1985,7 +1985,7 @@ - + @@ -1997,7 +1997,7 @@ - + @@ -2008,7 +2008,7 @@ - + @@ -2018,7 +2018,7 @@ - + @@ -2028,7 +2028,7 @@ - + @@ -2039,14 +2039,14 @@ - + - + @@ -2054,7 +2054,7 @@ - + @@ -2062,7 +2062,7 @@ - + @@ -2070,7 +2070,7 @@ - + @@ -2078,7 +2078,7 @@ - + @@ -2086,7 +2086,7 @@ - + @@ -2094,7 +2094,7 @@ - + @@ -2102,7 +2102,7 @@ - + @@ -2110,7 +2110,7 @@ - + @@ -2118,7 +2118,7 @@ - + @@ -2126,7 +2126,7 @@ - + @@ -2134,7 +2134,7 @@ - + @@ -2142,7 +2142,7 @@ - + @@ -2150,7 +2150,7 @@ - + @@ -2158,7 +2158,7 @@ - + @@ -2166,7 +2166,7 @@ - + @@ -2174,7 +2174,7 @@ - + @@ -2182,7 +2182,7 @@ - + @@ -2190,14 +2190,14 @@ - + - + @@ -2206,7 +2206,7 @@ - + @@ -2215,7 +2215,7 @@ - + @@ -2224,25 +2224,25 @@ - + - + - + - + @@ -2251,25 +2251,25 @@ - + - + - + - + @@ -2285,25 +2285,25 @@ - + - + - + - + @@ -2314,12 +2314,12 @@ - + - + @@ -2328,13 +2328,13 @@ - + - + @@ -2343,7 +2343,7 @@ - + @@ -2351,7 +2351,7 @@ - + @@ -2359,7 +2359,7 @@ - + @@ -2373,18 +2373,18 @@ - + - + - + @@ -2394,13 +2394,13 @@ - + - + @@ -2409,18 +2409,18 @@ - + - + - + @@ -2430,14 +2430,14 @@ - + - + diff --git a/matpower/matpower-converter/src/test/resources/ieee57.xiidm b/matpower/matpower-converter/src/test/resources/ieee57.xiidm index 559869ee2b9..d8d58537d76 100644 --- a/matpower/matpower-converter/src/test/resources/ieee57.xiidm +++ b/matpower/matpower-converter/src/test/resources/ieee57.xiidm @@ -1,7 +1,7 @@ - + @@ -12,7 +12,7 @@ - + @@ -23,7 +23,7 @@ - + @@ -34,12 +34,12 @@ - + - + @@ -52,7 +52,7 @@ - + @@ -60,7 +60,7 @@ - + @@ -71,12 +71,12 @@ - + - + @@ -85,7 +85,7 @@ - + @@ -96,7 +96,7 @@ - + @@ -105,7 +105,7 @@ - + @@ -114,13 +114,13 @@ - + - + @@ -129,18 +129,18 @@ - + - + - + @@ -150,7 +150,7 @@ - + @@ -161,13 +161,13 @@ - + - + @@ -176,13 +176,13 @@ - + - + @@ -190,13 +190,13 @@ - + - + @@ -204,7 +204,7 @@ - + @@ -212,7 +212,7 @@ - + @@ -220,7 +220,7 @@ - + @@ -228,13 +228,13 @@ - + - + @@ -242,14 +242,14 @@ - + - + @@ -257,12 +257,12 @@ - + - + @@ -270,7 +270,7 @@ - + @@ -281,7 +281,7 @@ - + @@ -289,7 +289,7 @@ - + @@ -297,7 +297,7 @@ - + @@ -305,7 +305,7 @@ - + @@ -313,13 +313,13 @@ - + - + @@ -327,7 +327,7 @@ - + @@ -335,7 +335,7 @@ - + @@ -343,21 +343,21 @@ - + - + - + @@ -365,12 +365,12 @@ - + - + @@ -379,12 +379,12 @@ - + - + @@ -393,7 +393,7 @@ - + @@ -401,7 +401,7 @@ - + @@ -409,7 +409,7 @@ - + @@ -417,14 +417,14 @@ - + - + @@ -432,7 +432,7 @@ - + @@ -440,7 +440,7 @@ - + @@ -451,7 +451,7 @@ - + diff --git a/matpower/matpower-converter/src/test/resources/ieee9.xiidm b/matpower/matpower-converter/src/test/resources/ieee9.xiidm index 76baf2dfc87..3fcdd465b2d 100644 --- a/matpower/matpower-converter/src/test/resources/ieee9.xiidm +++ b/matpower/matpower-converter/src/test/resources/ieee9.xiidm @@ -1,7 +1,7 @@ - + @@ -11,7 +11,7 @@ - + @@ -21,7 +21,7 @@ - + @@ -31,14 +31,14 @@ - + - + @@ -46,7 +46,7 @@ - + @@ -54,14 +54,14 @@ - + - + @@ -69,7 +69,7 @@ - + diff --git a/matpower/matpower-converter/src/test/resources/ieee9_limits.xiidm b/matpower/matpower-converter/src/test/resources/ieee9_limits.xiidm index 47da0fd1dfd..4f6b990f69a 100644 --- a/matpower/matpower-converter/src/test/resources/ieee9_limits.xiidm +++ b/matpower/matpower-converter/src/test/resources/ieee9_limits.xiidm @@ -1,7 +1,7 @@ - + @@ -11,7 +11,7 @@ - + @@ -21,7 +21,7 @@ - + @@ -31,14 +31,14 @@ - + - + @@ -46,7 +46,7 @@ - + @@ -54,14 +54,14 @@ - + - + @@ -69,7 +69,7 @@ - +