@@ -45,7 +45,7 @@ void setUp() {
4545 .add ();
4646
4747 VoltageLevel vl2 = s1 .newVoltageLevel ()
48- .setId ("VLGEN2 " )
48+ .setId ("VL2 " )
4949 .setNominalV (24.0 )
5050 .setTopologyKind (TopologyKind .NODE_BREAKER )
5151 .add ();
@@ -55,19 +55,19 @@ void setUp() {
5555 .setNode (1 )
5656 .add ();
5757 vl2 .getNodeBreakerView ().newBusbarSection ()
58- .setId ("BBS2_1 " )
59- .setName ("BBS2_1 " )
58+ .setId ("BBS1_2 " )
59+ .setName ("BBS1_2 " )
6060 .setNode (2 )
6161 .add ();
6262 vl2 .getNodeBreakerView ().newBusbarSection ()
63- .setId ("BBS1_2 " )
64- .setName ("BBS1_2 " )
65- .setNode (3 )
63+ .setId ("BBS2_1 " )
64+ .setName ("BBS2_1 " )
65+ .setNode (4 )
6666 .add ();
6767 vl2 .getNodeBreakerView ().newBusbarSection ()
6868 .setId ("BBS2_2" )
6969 .setName ("BBS2_2" )
70- .setNode (4 )
70+ .setNode (5 )
7171 .add ();
7272
7373 vl2 .getNodeBreakerView ()
@@ -96,20 +96,34 @@ void setUp() {
9696 .add ();
9797
9898 //Fork topology
99- createSwitch (vl2 , "DISC_BBS1.1_BBS1.2" , "DISC_BBS1.1_BBS1.2" , SwitchKind .DISCONNECTOR , false , false , false , 1 , 3 );
100- createSwitch (vl2 , "DISC_BBS2.1_BBS2.2" , "DISC_BBS2.1_BBS2.2" , SwitchKind .DISCONNECTOR , false , true , false , 2 , 4 );
101- createSwitch (vl2 , "DISC_BBS1_2" , "DISC_BBS1_2" , SwitchKind .DISCONNECTOR , false , true , false , 3 , 5 );
102- createSwitch (vl2 , "DISC_BBS2_2" , "DISC_BBS2_2" , SwitchKind .DISCONNECTOR , false , true , false , 4 , 5 );
103- createSwitch (vl2 , "BRK_FORK" , "BRK_FORK" , SwitchKind .BREAKER , false , true , false , 5 , 6 );
104- createSwitch (vl2 , "DISC_LINE_1_2" , "DISC_LINE_1_2" , SwitchKind .DISCONNECTOR , false , false , false , 6 , 7 );
105- createSwitch (vl2 , "DISC_LINE_2_2" , "DISC_LINE_2_2" , SwitchKind .DISCONNECTOR , false , false , false , 6 , 8 );
106- createSwitch (vl2 , "BRK_LINE_1_2" , "BRK_LINE_1_2" , SwitchKind .BREAKER , false , false , false , 7 , 10 );
107- createSwitch (vl2 , "BRK_LINE_2_2" , "BRK_LINE_2_2" , SwitchKind .BREAKER , false , false , false , 8 , 9 );
99+ createSwitch (vl2 , "DISC_BBS1.1_BBS1.2" , "DISC_BBS1.1_BBS1.2" , SwitchKind .DISCONNECTOR , false , false , false , 1 , 2 );
100+ createSwitch (vl2 , "DISC_BBS2.1_BBS2.2" , "DISC_BBS2.1_BBS2.2" , SwitchKind .DISCONNECTOR , false , true , false , 4 , 5 );
101+ createSwitch (vl2 , "DISC_BBS1_2" , "DISC_BBS1_2" , SwitchKind .DISCONNECTOR , false , true , false , 2 , 7 );
102+ createSwitch (vl2 , "DISC_BBS2_2" , "DISC_BBS2_2" , SwitchKind .DISCONNECTOR , false , true , false , 5 , 7 );
103+ createSwitch (vl2 , "BRK_FORK" , "BRK_FORK" , SwitchKind .BREAKER , false , true , false , 7 , 8 );
104+ createSwitch (vl2 , "DISC_LINE_1_2" , "DISC_LINE_1_2" , SwitchKind .DISCONNECTOR , false , false , false , 8 , 9 );
105+ createSwitch (vl2 , "DISC_LINE_2_2" , "DISC_LINE_2_2" , SwitchKind .DISCONNECTOR , false , false , false , 8 , 10 );
106+ createSwitch (vl2 , "BRK_LINE_1_2" , "BRK_LINE_1_2" , SwitchKind .BREAKER , false , false , false , 9 , 11 );
107+ createSwitch (vl2 , "BRK_LINE_2_2" , "BRK_LINE_2_2" , SwitchKind .BREAKER , false , false , false , 10 , 12 );
108+
109+ // Internal Connection
110+ createSwitch (vl2 , "DISC_BUS1_2_TD1" , "DISC_BUS1_2_TD1" , SwitchKind .DISCONNECTOR , false , false , false , 2 , 13 );
111+ createSwitch (vl2 , "DISC_BUS2_2_TD1" , "DISC_BUS2_2_TD1" , SwitchKind .DISCONNECTOR , false , false , false , 5 , 14 );
112+
113+ // BYPASS topology
114+ createSwitch (vl2 , "DISC_BBS1_1" , "DISC_BBS1_1" , SwitchKind .DISCONNECTOR , false , true , false , 1 , 20 );
115+ createSwitch (vl2 , "DISC_BBS2_1" , "DISC_BBS2_1" , SwitchKind .DISCONNECTOR , false , true , false , 4 , 23 );
116+ createSwitch (vl2 , "DISC_BYPASS" , "DISC_BYPASS" , SwitchKind .DISCONNECTOR , false , true , false , 20 , 23 );
117+ createSwitch (vl2 , "DISC_LINE_1_1" , "DISC_LINE_1_1" , SwitchKind .DISCONNECTOR , false , true , false , 20 , 17 );
118+ createSwitch (vl2 , "DISC_LINE_2_1" , "DISC_LINE_2_1" , SwitchKind .DISCONNECTOR , false , true , false , 23 , 26 );
119+ createSwitch (vl2 , "BRK_LINE_1_1" , "BRK_LINE_1_1" , SwitchKind .BREAKER , false , true , false , 17 , 18 );
120+ createSwitch (vl2 , "BRK_LINE_2_1" , "BRK_LINE_2_1" , SwitchKind .BREAKER , false , true , false , 26 , 27 );
121+
108122 network .newLine ()
109123 .setId ("LINE_1_2" )
110124 .setName ("LINE_1_2" )
111- .setVoltageLevel1 ("VLGEN2 " )
112- .setNode1 (10 )
125+ .setVoltageLevel1 ("VL2 " )
126+ .setNode1 (11 )
113127 .setVoltageLevel2 ("VL1" )
114128 .setNode2 (11 )
115129 .setR (2.0 )
@@ -123,33 +137,24 @@ void setUp() {
123137 network .newLine ()
124138 .setId ("LINE_2_2" )
125139 .setName ("LINE_2_2" )
126- .setVoltageLevel1 ("VLGEN2 " )
127- .setNode1 (9 )
140+ .setVoltageLevel1 ("VL2 " )
141+ .setNode1 (12 )
128142 .setVoltageLevel2 ("VL1" )
129- .setNode2 (21 )
143+ .setNode2 (20 )
130144 .setR (2.0 )
131145 .setX (25.0 )
132146 .setG1 (0.0 )
133147 .setB1 (300E-6 / 2 )
134148 .setG2 (0.0 )
135149 .setB2 (300E-6 / 2 )
136150 .add ();
137-
138- // BYPASS topology
139- createSwitch (vl2 , "DISC_BBS1_1" , "DISC_BBS1_1" , SwitchKind .DISCONNECTOR , false , true , false , 1 , 15 );
140- createSwitch (vl2 , "DISC_BBS2_1" , "DISC_BBS2_1" , SwitchKind .DISCONNECTOR , false , true , false , 2 , 18 );
141- createSwitch (vl2 , "DISC_BYPASS" , "DISC_BYPASS" , SwitchKind .DISCONNECTOR , false , true , false , 15 , 18 );
142- createSwitch (vl2 , "DISC_LINE_1_1" , "DISC_LINE_1_1" , SwitchKind .DISCONNECTOR , false , true , false , 15 , 11 );
143- createSwitch (vl2 , "DISC_LINE_2_1" , "DISC_LINE_2_1" , SwitchKind .DISCONNECTOR , false , true , false , 18 , 21 );
144- createSwitch (vl2 , "BRK_LINE_1_1" , "BRK_LINE_1_1" , SwitchKind .BREAKER , false , true , false , 11 , 12 );
145- createSwitch (vl2 , "BRK_LINE_2_1" , "BRK_LINE_2_1" , SwitchKind .BREAKER , false , true , false , 21 , 23 );
146151 network .newLine ()
147152 .setId ("LINE_1_1" )
148153 .setName ("LINE_1_1" )
149- .setVoltageLevel1 ("VLGEN2 " )
150- .setNode1 (12 )
154+ .setVoltageLevel1 ("VL2 " )
155+ .setNode1 (18 )
151156 .setVoltageLevel2 ("VL1" )
152- .setNode2 (3 )
157+ .setNode2 (13 )
153158 .setR (2.0 )
154159 .setX (25.0 )
155160 .setG1 (0.0 )
@@ -161,10 +166,10 @@ void setUp() {
161166 network .newLine ()
162167 .setId ("LINE_2_1" )
163168 .setName ("LINE_2_1" )
164- .setVoltageLevel1 ("VLGEN2 " )
165- .setNode1 (23 )
169+ .setVoltageLevel1 ("VL2 " )
170+ .setNode1 (27 )
166171 .setVoltageLevel2 ("VL1" )
167- .setNode2 (41 )
172+ .setNode2 (14 )
168173 .setR (2.0 )
169174 .setX (25.0 )
170175 .setG1 (0.0 )
@@ -173,6 +178,18 @@ void setUp() {
173178 .setB2 (300E-6 / 2 )
174179 .add ();
175180
181+ s1 .newTwoWindingsTransformer ()
182+ .setId ("TD1" )
183+ .setName ("TD1" )
184+ .setVoltageLevel1 ("VL2" )
185+ .setNode1 (13 )
186+ .setVoltageLevel2 ("VL2" )
187+ .setNode2 (14 )
188+ .setR (0.24 )
189+ .setX (2.4 )
190+ .setG (0.0 )
191+ .setB (0.0 )
192+ .add ();
176193 network .getVariantManager ().setWorkingVariant (VariantManagerConstants .INITIAL_VARIANT_ID );
177194 }
178195
@@ -250,5 +267,22 @@ void testWithAllClosedSwitch() {
250267 assertEquals ("DISC_BBS2_1" , result21 .lastSwitch ().id ());
251268 assertTrue (result21 .allClosedSwitch ());
252269 }
270+
271+ @ Test
272+ void testWithInternalConnection () {
273+ TwoWindingsTransformer td1 = network .getTwoWindingsTransformer ("TD1" );
274+ BusbarSectionFinderTraverser .BusbarSectionResult result1 = BusbarSectionFinderTraverser .getBusbarSectionResult (td1 .getTerminal1 ());
275+ BusbarSectionFinderTraverser .BusbarSectionResult result2 = BusbarSectionFinderTraverser .getBusbarSectionResult (td1 .getTerminal2 ());
276+ assertNotNull (result1 );
277+ assertEquals ("BBS1_2" , result1 .busbarSectionId ());
278+ assertEquals (1 , result1 .depth ());
279+ assertTrue (result1 .allClosedSwitch ());
280+ assertEquals ("DISC_BUS1_2_TD1" , result1 .lastSwitch ().id ());
281+ assertNotNull (result2 );
282+ assertEquals ("BBS2_2" , result2 .busbarSectionId ());
283+ assertEquals (1 , result2 .depth ());
284+ assertEquals ("DISC_BUS2_2_TD1" , result2 .lastSwitch ().id ());
285+ assertTrue (result2 .allClosedSwitch ());
286+ }
253287}
254288
0 commit comments