Skip to content

Commit

Permalink
Merge branch 'master' into ampl_export_unit_test
Browse files Browse the repository at this point in the history
  • Loading branch information
geofjamg committed Oct 12, 2016
2 parents b5b41b2 + 0630396 commit 6fa89d7
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 34 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@

import eu.itesla_project.iidm.network.*;

import java.util.List;
import java.util.Objects;

/**
*
* @author Geoffroy Jamgotchian <geoffroy.jamgotchian at rte-france.com>
Expand Down Expand Up @@ -203,4 +206,33 @@ public void visitEquipments(TopologyVisitor visitor) {
AbstractBus.visitEquipments(getTerminals(), visitor);
}

protected static void addNextTerminals(TerminalExt otherTerminal, List<TerminalExt> nextTerminals) {
Objects.requireNonNull(otherTerminal);
Objects.requireNonNull(nextTerminals);
Connectable otherConnectable = otherTerminal.getConnectable();
if (otherConnectable instanceof TwoTerminalsConnectable) {
TwoTerminalsConnectable ttc = (TwoTerminalsConnectable) otherConnectable;
if (ttc.getTerminal1() == otherTerminal) {
nextTerminals.add((TerminalExt) ttc.getTerminal2());
} else if (ttc.getTerminal2() == otherTerminal) {
nextTerminals.add(((TerminalExt) ttc.getTerminal1()));
} else {
throw new AssertionError();
}
} else if (otherConnectable instanceof ThreeWindingsTransformer) {
ThreeWindingsTransformer ttc = (ThreeWindingsTransformer) otherConnectable;
if (ttc.getLeg1().getTerminal() == otherTerminal) {
nextTerminals.add(((TerminalExt) ttc.getLeg2().getTerminal()));
nextTerminals.add(((TerminalExt) ttc.getLeg3().getTerminal()));
} else if (ttc.getLeg2().getTerminal() == otherTerminal) {
nextTerminals.add(((TerminalExt) ttc.getLeg1().getTerminal()));
nextTerminals.add(((TerminalExt) ttc.getLeg3().getTerminal()));
} else if (ttc.getLeg3().getTerminal() == otherTerminal) {
nextTerminals.add(((TerminalExt) ttc.getLeg1().getTerminal()));
nextTerminals.add(((TerminalExt) ttc.getLeg2().getTerminal()));
} else {
throw new AssertionError();
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -712,15 +712,15 @@ void traverse(BusTerminal terminal, VoltageLevel.TopologyTraverser traverser, Se

// check if we are allowed to traverse the terminal itself
if (traverser.traverse(terminal, terminal.isConnected())) {
NodeBreakerVoltageLevel.addNextTerminals(terminal, nextTerminals);
addNextTerminals(terminal, nextTerminals);

// then check we can traverse terminal connected to same bus
int v = getVertex(terminal.getConnectableBusId(), true);
ConfiguredBus bus = graph.getVertexObject(v);
for (BusTerminal otherTerminal : bus.getTerminals()) {
if (otherTerminal != terminal) {
if (traverser.traverse(otherTerminal, otherTerminal.isConnected())) {
NodeBreakerVoltageLevel.addNextTerminals(otherTerminal, nextTerminals);
addNextTerminals(otherTerminal, nextTerminals);
}
}
}
Expand All @@ -732,7 +732,7 @@ void traverse(BusTerminal terminal, VoltageLevel.TopologyTraverser traverser, Se
if (traverser.traverse(aSwitch)) {
for (BusTerminal otherTerminal : otherBus.getTerminals()) {
if (traverser.traverse(otherTerminal, otherTerminal.isConnected())) {
NodeBreakerVoltageLevel.addNextTerminals(otherTerminal, nextTerminals);
addNextTerminals(otherTerminal, nextTerminals);
return TraverseResult.CONTINUE;
} else {
return TraverseResult.TERMINATE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -912,34 +912,6 @@ void traverse(NodeTerminal terminal, VoltageLevel.TopologyTraverser traverser) {
traverse(terminal, traverser, new HashSet<>());
}

static void addNextTerminals(TerminalExt otherTerminal, List<TerminalExt> nextTerminals) {
Connectable otherConnectable = otherTerminal.getConnectable();
if (otherConnectable instanceof TwoTerminalsConnectable) {
TwoTerminalsConnectable ttc = (TwoTerminalsConnectable) otherConnectable;
if (ttc.getTerminal1() == otherTerminal) {
nextTerminals.add((TerminalExt) ttc.getTerminal2());
} else if (ttc.getTerminal2() == otherTerminal) {
nextTerminals.add(((TerminalExt) ttc.getTerminal1()));
} else {
throw new AssertionError();
}
} else if (otherConnectable instanceof ThreeWindingsTransformer) {
ThreeWindingsTransformer ttc = (ThreeWindingsTransformer) otherConnectable;
if (ttc.getLeg1().getTerminal() == otherTerminal) {
nextTerminals.add(((TerminalExt) ttc.getLeg2().getTerminal()));
nextTerminals.add(((TerminalExt) ttc.getLeg3().getTerminal()));
} else if (ttc.getLeg2().getTerminal() == otherTerminal) {
nextTerminals.add(((TerminalExt) ttc.getLeg1().getTerminal()));
nextTerminals.add(((TerminalExt) ttc.getLeg3().getTerminal()));
} else if (ttc.getLeg3().getTerminal() == otherTerminal) {
nextTerminals.add(((TerminalExt) ttc.getLeg1().getTerminal()));
nextTerminals.add(((TerminalExt) ttc.getLeg2().getTerminal()));
} else {
throw new AssertionError();
}
}
}

void traverse(NodeTerminal terminal, VoltageLevel.TopologyTraverser traverser, Set<String> traversedVoltageLevelsIds) {
Objects.requireNonNull(terminal);
Objects.requireNonNull(traverser);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ private Network createMixedNodeBreakerBusBreakerNetwork() {
return network;
}

@Test
@Test
public void test1() {
Network network = createNodeBreakerNetwork();

Expand All @@ -179,8 +179,6 @@ public boolean traverse(Switch aSwitch) {
}
});
Assert.assertEquals(traversed, Arrays.asList("G", "BBS1", "L1", "L1", "BBS2", "LD"));


}

@Test
Expand Down

0 comments on commit 6fa89d7

Please sign in to comment.