Skip to content

Commit

Permalink
Merge branch 'master' into case-projector
Browse files Browse the repository at this point in the history
  • Loading branch information
Christian Biasuzzi committed Jun 28, 2017
2 parents c067fbd + 3234d3e commit f68ced2
Show file tree
Hide file tree
Showing 22 changed files with 857 additions and 219 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/**
* Copyright (c) 2016, All partners of the iTesla project (http://www.itesla-project.eu/consortium)
* Copyright (c) 2017, RTE (http://www.rte-france.com)
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
Expand All @@ -20,11 +21,11 @@ public class BranchParallelIndexes {

private final Map<String, Character> parallelIndexes;

public static BranchParallelIndexes build(Network network, EurostagEchExportConfig config) {
public static BranchParallelIndexes build(Network network, EurostagEchExportConfig config, EurostagFakeNodes fakeNodes) {
Multimap<String, Identifiable> map = HashMultimap.create();
for (TwoTerminalsConnectable ttc: Iterables.concat(network.getLines(), network.getTwoWindingsTransformers())) {
ConnectionBus bus1 = ConnectionBus.fromTerminal(ttc.getTerminal1(), config, EchUtil.FAKE_NODE_NAME1);
ConnectionBus bus2 = ConnectionBus.fromTerminal(ttc.getTerminal2(), config, EchUtil.FAKE_NODE_NAME2);
for (TwoTerminalsConnectable ttc : Iterables.concat(network.getLines(), network.getTwoWindingsTransformers())) {
ConnectionBus bus1 = ConnectionBus.fromTerminal(ttc.getTerminal1(), config, fakeNodes);
ConnectionBus bus2 = ConnectionBus.fromTerminal(ttc.getTerminal2(), config, fakeNodes);
if (bus1.getId().compareTo(bus2.getId()) < 0) {
map.put(bus1.getId() + bus2.getId(), ttc);
} else {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/**
* Copyright (c) 2016, All partners of the iTesla project (http://www.itesla-project.eu/consortium)
* Copyright (c) 2017, RTE (http://www.rte-france.com)
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
Expand All @@ -10,12 +11,11 @@
import eu.itesla_project.iidm.network.Terminal;

/**
*
* @author Geoffroy Jamgotchian <geoffroy.jamgotchian at rte-france.com>
*/
public class ConnectionBus {

public static ConnectionBus fromTerminal(Terminal t, EurostagEchExportConfig config, String fakeNode) {
public static ConnectionBus fromTerminal(Terminal t, EurostagEchExportConfig config, EurostagFakeNodes fakeNodes) {
if (config.isNoSwitch()) {
Bus bus = t.getBusView().getBus();
boolean connected;
Expand All @@ -24,6 +24,7 @@ public static ConnectionBus fromTerminal(Terminal t, EurostagEchExportConfig con
} else {
connected = false;
// fake node...
String fakeNode = (fakeNodes != null) ? fakeNodes.getEsgIdAndIncCounter(t) : null;
return new ConnectionBus(false, fakeNode);
}
return new ConnectionBus(connected, bus.getId());
Expand All @@ -37,6 +38,7 @@ public static ConnectionBus fromTerminal(Terminal t, EurostagEchExportConfig con
bus = t.getBusBreakerView().getConnectableBus();
if (bus == null) {
// fake node...
String fakeNode = (fakeNodes != null) ? fakeNodes.getEsgIdAndIncCounter(t) : null;
return new ConnectionBus(false, fakeNode);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ public DicoEurostagNamingStrategy(Path dicoFile) {
String iidmId = row.get(0).trim();
String esgId = row.get(1).trim();
if (esgId.length() > NameType.GENERATOR.getLength()) {
String errMsg = "esgId: " + esgId + " 's length > " + NameType.GENERATOR.getLength() + ". Line " + count + " in " + dicoFile.toString();
throw new RuntimeException(errMsg);
LOGGER.warn("Skipping mapping iidmId: " + iidmId + ", esgId: " + esgId + ". esgId's length > " + NameType.GENERATOR.getLength() + ". Line " + count + " in " + dicoFile.toString());
continue;
}
if ("".equals(iidmId) || "".equals(esgId)) {
String errMsg = "either iidmId or esgId or both are empty strings. Line " + count + " in " + dicoFile.toString();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,12 @@ public class EurostagDictionary {

private final EurostagEchExportConfig config;

public static EurostagDictionary create(Network network, BranchParallelIndexes parallelIndexes, EurostagEchExportConfig config) {
public static EurostagDictionary create(Network network, BranchParallelIndexes parallelIndexes, EurostagEchExportConfig config, EurostagFakeNodes fakeNodes) {
EurostagDictionary dictionary = new EurostagDictionary(config);

dictionary.addIfNotExist(EchUtil.FAKE_NODE_NAME1, EchUtil.FAKE_NODE_NAME1);
dictionary.addIfNotExist(EchUtil.FAKE_NODE_NAME2, EchUtil.FAKE_NODE_NAME2);
fakeNodes.esgIdsAsStream().forEach(esgId -> {
dictionary.addIfNotExist(esgId, esgId);
});

Set<String> busIds = Identifiables.sort(EchUtil.getBuses(network, config)).stream().map(Bus::getId).collect(Collectors.toSet());
Set<String> loadIds = new LinkedHashSet<>();
Expand All @@ -58,7 +59,7 @@ public static EurostagDictionary create(Network network, BranchParallelIndexes p
NAMING_STRATEGY.fillDictionary(dictionary, EurostagNamingStrategy.NameType.SVC, svcIds);

for (DanglingLine dl : Identifiables.sort(network.getDanglingLines())) {
ConnectionBus bus1 = ConnectionBus.fromTerminal(dl.getTerminal(), config, EchUtil.FAKE_NODE_NAME1);
ConnectionBus bus1 = ConnectionBus.fromTerminal(dl.getTerminal(), config, fakeNodes);
ConnectionBus bus2 = new ConnectionBus(true, EchUtil.getBusId(dl));
dictionary.addIfNotExist(dl.getId(), new EsgBranchName(new Esg8charName(dictionary.getEsgId(bus1.getId())),
new Esg8charName(dictionary.getEsgId(bus2.getId())),
Expand All @@ -77,16 +78,17 @@ public static EurostagDictionary create(Network network, BranchParallelIndexes p
}

for (Line l : Identifiables.sort(network.getLines())) {
ConnectionBus bus1 = ConnectionBus.fromTerminal(l.getTerminal1(), config, EchUtil.FAKE_NODE_NAME1);
ConnectionBus bus2 = ConnectionBus.fromTerminal(l.getTerminal2(), config, EchUtil.FAKE_NODE_NAME2);
dictionary.addIfNotExist(l.getId(), new EsgBranchName(new Esg8charName(dictionary.getEsgId(bus1.getId())),
ConnectionBus bus1 = ConnectionBus.fromTerminal(l.getTerminal1(), config, fakeNodes);
ConnectionBus bus2 = ConnectionBus.fromTerminal(l.getTerminal2(), config, fakeNodes);
EsgBranchName ebname = new EsgBranchName(new Esg8charName(dictionary.getEsgId(bus1.getId())),
new Esg8charName(dictionary.getEsgId(bus2.getId())),
parallelIndexes.getParallelIndex(l.getId())).toString());
parallelIndexes.getParallelIndex(l.getId()));
dictionary.addIfNotExist(l.getId(), ebname.toString());
}

for (TwoWindingsTransformer twt : Identifiables.sort(network.getTwoWindingsTransformers())) {
ConnectionBus bus1 = ConnectionBus.fromTerminal(twt.getTerminal1(), config, EchUtil.FAKE_NODE_NAME1);
ConnectionBus bus2 = ConnectionBus.fromTerminal(twt.getTerminal2(), config, EchUtil.FAKE_NODE_NAME2);
ConnectionBus bus1 = ConnectionBus.fromTerminal(twt.getTerminal1(), config, fakeNodes);
ConnectionBus bus2 = ConnectionBus.fromTerminal(twt.getTerminal2(), config, fakeNodes);
dictionary.addIfNotExist(twt.getId(), new EsgBranchName(new Esg8charName(dictionary.getEsgId(bus1.getId())),
new Esg8charName(dictionary.getEsgId(bus2.getId())),
parallelIndexes.getParallelIndex(twt.getId())).toString());
Expand Down

0 comments on commit f68ced2

Please sign in to comment.