@enervance/insight-cim-model 0.0.10 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/etl-neplan/etl-neplan-feederline.d.ts +1 -0
- package/dist/etl-neplan/etl-neplan-feederline.js +38 -30
- package/dist/etl-neplan/etl-neplan-feederline.js.map +1 -1
- package/dist/etl-neplan/neplan-contingency-analysis.js +17 -5
- package/dist/etl-neplan/neplan-contingency-analysis.js.map +1 -1
- package/package.json +1 -1
- package/src/etl-neplan/etl-neplan-feederline.ts +42 -34
- package/src/etl-neplan/neplan-contingency-analysis.ts +21 -39
- package/test/apache-jena-fuseki-interface/apache-jena-fuseki-neplan-1.tests.sp-ec.ts +2 -2
- package/test/apache-jena-fuseki-interface/apache-jena-fuseki-neplan-katarina-ruhrau.tests.spec.ts +223 -0
- package/test/apache-jena-fuseki-interface/data/xml/ruhrau-katharina/Ruhrau_Katharina_Rootnet_Area 1_EQ_V1.xml +24517 -24494
- package/test/apache-jena-fuseki-interface/data/xml/ruhrau-katharina/Ruhrau_Katharina_Rootnet_Area 1_SSH_V1.xml +4910 -4903
- package/test/apache-jena-fuseki-interface/data/xml/ruhrau-katharina/Ruhrau_Katharina_Rootnet_Area 1_SV_V1.xml +2497 -2492
- package/test/apache-jena-fuseki-interface/data/apache-jena-fuseki-3.12.0/run/system/tdb.lock +0 -1
- /package/test/apache-jena-fuseki-interface/{apache-jena-fuseki-neplan-2.tests.spec.ts → apache-jena-fuseki-neplan-2.tests.sp-ec.ts} +0 -0
|
@@ -5,4 +5,5 @@ export declare function createFeederLines(cimModel: Model, basiIRI: string): str
|
|
|
5
5
|
export declare function determineFeederLinesElements(cimModel: Model, grid: IIdentifiedObject[], slackSubstationElements: IIdentifiedObject[][]): IIdentifiedObject[][];
|
|
6
6
|
export declare function determineHeadTerminals(gridElements: IIdentifiedObject[], slackSubstationElements: IIdentifiedObject[][], additionalslackSubstationElements: IIdentifiedObject[]): ITerminal[];
|
|
7
7
|
export declare function determineStartHeadTerminals(terminals: ITerminal[], additionalslackSubstationElements: IIdentifiedObject[]): ITerminal;
|
|
8
|
+
export declare function determineMultiStartHeadTerminals(terminals: ITerminal[], additionalslackSubstationElements: IIdentifiedObject[]): ITerminal[];
|
|
8
9
|
export declare function determineStartHeadTerminalsTemporary(terminals: ITerminal[], additionalslackSubstationElements: IIdentifiedObject[]): ITerminal;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.determineStartHeadTerminalsTemporary = exports.determineStartHeadTerminals = exports.determineHeadTerminals = exports.determineFeederLinesElements = exports.createFeederLines = void 0;
|
|
3
|
+
exports.determineStartHeadTerminalsTemporary = exports.determineMultiStartHeadTerminals = exports.determineStartHeadTerminals = exports.determineHeadTerminals = exports.determineFeederLinesElements = exports.createFeederLines = void 0;
|
|
4
4
|
const util_topology_1 = require("../util/util-topology");
|
|
5
5
|
const WNFeeder_1 = require("../model/extensions/neplan-westnetz/core/WNFeeder");
|
|
6
6
|
const utils_1 = require("../util/utils");
|
|
@@ -18,20 +18,13 @@ function createFeederLines(cimModel, basiIRI) {
|
|
|
18
18
|
const computableGridsSlackElements = util_topology_1.determineNetworksSlackElements(cimModel, computableGrids);
|
|
19
19
|
const substationElements = util_topology_1.determineSubstations(cimModel, computableGridsSlackElements);
|
|
20
20
|
const computableGridsSlackElementsForFeeder = [...computableGridsSlackElements, substationElements];
|
|
21
|
-
const cn1 = cimModel.getConnectivityNode('9fafa042-b9d1-4052-ace2-9bfbefeb0134');
|
|
22
|
-
const cn2 = cimModel.getConnectivityNode('59f7d40a-36c9-4b39-95e4-657976e50b12');
|
|
23
|
-
for (const s of computableGridsSlackElementsForFeeder) {
|
|
24
|
-
if (s.indexOf(cn1) !== -1)
|
|
25
|
-
console.log('9fafa042-b9d1-4052-ace2-9bfbefeb0134');
|
|
26
|
-
if (s.indexOf(cn2) !== -1)
|
|
27
|
-
console.log('59f7d40a-36c9-4b39-95e4-657976e50b12');
|
|
28
|
-
}
|
|
29
21
|
const insertObjectSPARQL = [];
|
|
30
22
|
for (const grid of computableGrids) {
|
|
31
23
|
const networkFeederElements = determineFeederLinesElements(cimModel, grid, computableGridsSlackElementsForFeeder);
|
|
32
24
|
for (const feederObjects of networkFeederElements) {
|
|
33
25
|
const headTerminals = determineHeadTerminals(feederObjects, computableGridsSlackElements, substationElements);
|
|
34
|
-
const
|
|
26
|
+
const headTerminalsMulti = determineMultiStartHeadTerminals(headTerminals, substationElements);
|
|
27
|
+
const headTerminal = headTerminalsMulti[0];
|
|
35
28
|
const startCN = headTerminal === null || headTerminal === void 0 ? void 0 : headTerminal.connectivityNode;
|
|
36
29
|
console.log(startCN.name);
|
|
37
30
|
const substation = (_a = startCN === null || startCN === void 0 ? void 0 : startCN.getVoltageLevel()) === null || _a === void 0 ? void 0 : _a.getSubstation();
|
|
@@ -56,8 +49,10 @@ function createFeederLines(cimModel, basiIRI) {
|
|
|
56
49
|
}
|
|
57
50
|
insertObjectSPARQL.push(feeder.setNormalEnergizingSubstation(substation));
|
|
58
51
|
substation.addNormalEnergizingFeeder(feeder);
|
|
59
|
-
|
|
60
|
-
|
|
52
|
+
for (const hTerminal of headTerminalsMulti) {
|
|
53
|
+
feeder.addNormalHeadTerminal(hTerminal);
|
|
54
|
+
insertObjectSPARQL.push(hTerminal.setNormalHeadFeeder(feeder));
|
|
55
|
+
}
|
|
61
56
|
cimModel.addFeeder(feeder);
|
|
62
57
|
}
|
|
63
58
|
else {
|
|
@@ -65,15 +60,15 @@ function createFeederLines(cimModel, basiIRI) {
|
|
|
65
60
|
console.log(substation + ' ' + startCN);
|
|
66
61
|
}
|
|
67
62
|
}
|
|
68
|
-
return insertObjectSPARQL;
|
|
69
63
|
}
|
|
64
|
+
return insertObjectSPARQL;
|
|
70
65
|
}
|
|
71
66
|
exports.createFeederLines = createFeederLines;
|
|
72
67
|
function determineFeederLinesElements(cimModel, grid, slackSubstationElements) {
|
|
73
68
|
const networkFeederLineElements = [];
|
|
74
69
|
for (let i = 0; i < grid.length; i++) {
|
|
75
70
|
const gridElement = grid[i];
|
|
76
|
-
if (gridElement instanceof ConductingEquipment_1.ConductingEquipment) {
|
|
71
|
+
if (gridElement instanceof ConductingEquipment_1.ConductingEquipment && gridElement.constructor.name.includes('ACLineSegment') || gridElement.constructor.name === 'PowerTransformer') {
|
|
77
72
|
const feederLineElements = [];
|
|
78
73
|
gridElement.determineMidVoltageLineElements(feederLineElements, slackSubstationElements);
|
|
79
74
|
if (feederLineElements.length > 0) {
|
|
@@ -90,19 +85,7 @@ function determineHeadTerminals(gridElements, slackSubstationElements, additiona
|
|
|
90
85
|
for (const object of gridElements) {
|
|
91
86
|
if (object instanceof ConductingEquipment_1.ConductingEquipment) {
|
|
92
87
|
const ce = object;
|
|
93
|
-
if (ce.mrid === '6d21f61c-e0cc-44f7-9382-026b7663bf9f' ||
|
|
94
|
-
ce.mrid === '6ad74c2d-4194-4537-9d0a-96b27bea096c' ||
|
|
95
|
-
ce.mrid === '871c91f0-9abb-49e5-9d38-fcbc58633ddb' ||
|
|
96
|
-
ce.mrid === 'a9b2f23b-c799-4edf-9972-8f594d67446b') {
|
|
97
|
-
console.log();
|
|
98
|
-
}
|
|
99
88
|
for (const terminal of ce.terminals.values()) {
|
|
100
|
-
if (terminal.connectivityNode.mrid === '9fafa042-b9d1-4052-ace2-9bfbefeb0134' ||
|
|
101
|
-
terminal.connectivityNode.mrid === '59f7d40a-36c9-4b39-95e4-657976e50b12' ||
|
|
102
|
-
terminal.connectivityNode.mrid === '871c91f0-9abb-49e5-9d38-fcbc58633ddb' ||
|
|
103
|
-
terminal.connectivityNode.mrid === 'a9b2f23b-c799-4edf-9972-8f594d67446b') {
|
|
104
|
-
console.log();
|
|
105
|
-
}
|
|
106
89
|
if (utils_1.isInArray(terminal.connectivityNode, slackSubstationElements)) {
|
|
107
90
|
headTerminals.push(terminal);
|
|
108
91
|
}
|
|
@@ -131,12 +114,37 @@ function determineStartHeadTerminals(terminals, additionalslackSubstationElement
|
|
|
131
114
|
}
|
|
132
115
|
}
|
|
133
116
|
}
|
|
134
|
-
const trm = determineStartHeadTerminalsTemporary(terminals, additionalslackSubstationElements);
|
|
135
|
-
if (trm)
|
|
136
|
-
return trm;
|
|
137
|
-
return terminals[0];
|
|
138
117
|
}
|
|
139
118
|
exports.determineStartHeadTerminals = determineStartHeadTerminals;
|
|
119
|
+
function determineMultiStartHeadTerminals(terminals, additionalslackSubstationElements) {
|
|
120
|
+
const headTerminals = [];
|
|
121
|
+
const headNodes = [];
|
|
122
|
+
for (const terminal of terminals) {
|
|
123
|
+
const cnc = terminal.connectivityNode.connectivityNodeContainer;
|
|
124
|
+
let voltageLevel;
|
|
125
|
+
if (cnc instanceof VoltageLevel_1.VoltageLevel) {
|
|
126
|
+
voltageLevel = cnc;
|
|
127
|
+
}
|
|
128
|
+
else if (cnc instanceof Bay_1.Bay) {
|
|
129
|
+
voltageLevel = cnc.voltageLevel;
|
|
130
|
+
}
|
|
131
|
+
for (const equip of voltageLevel === null || voltageLevel === void 0 ? void 0 : voltageLevel.equipments) {
|
|
132
|
+
if (equip instanceof ExternalNetworkInjection_1.ExternalNetworkInjection) {
|
|
133
|
+
if (headNodes.indexOf(terminal.connectivityNode) === -1) {
|
|
134
|
+
headTerminals.push(terminal);
|
|
135
|
+
headNodes.push(terminal.connectivityNode);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
if (!headTerminals.length) {
|
|
141
|
+
const trm = determineStartHeadTerminalsTemporary(terminals, additionalslackSubstationElements);
|
|
142
|
+
if (trm)
|
|
143
|
+
headTerminals.push(trm);
|
|
144
|
+
}
|
|
145
|
+
return headTerminals;
|
|
146
|
+
}
|
|
147
|
+
exports.determineMultiStartHeadTerminals = determineMultiStartHeadTerminals;
|
|
140
148
|
function determineStartHeadTerminalsTemporary(terminals, additionalslackSubstationElements) {
|
|
141
149
|
for (const terminal of terminals) {
|
|
142
150
|
if (additionalslackSubstationElements.indexOf(terminal.connectivityNode) !== -1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"etl-neplan-feederline.js","sourceRoot":"","sources":["../../src/etl-neplan/etl-neplan-feederline.ts"],"names":[],"mappings":";;;AAEA,yDAI+B;AAE/B,gFAA6E;AAG7E,yCAAwD;AACxD,uDAAoD;AACpD,oGAAiG;AACjG,8EAA2E;AAE3E,2EAAwE;AACxE,6DAA0D;AAC1D,2CAAwC;AACxC,sFAAmF;AAQnF,SAAgB,iBAAiB,CAAC,QAAe,EAAE,OAAe;;IAEhE,MAAM,QAAQ,GAA0B,2CAA2B,CAAC,QAAQ,CAAC,CAAC;IAG9E,MAAM,eAAe,GAA0B,uCAAuB,CAAC,QAAQ,CAAC,CAAC;IAIjF,MAAM,4BAA4B,GAA0B,8CAA8B,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAGtH,MAAM,kBAAkB,GAAG,oCAAoB,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IAExF,MAAM,qCAAqC,GAAG,CAAC,GAAG,4BAA4B,EAAE,kBAAkB,CAAC,CAAA;IAInG,MAAM,
|
|
1
|
+
{"version":3,"file":"etl-neplan-feederline.js","sourceRoot":"","sources":["../../src/etl-neplan/etl-neplan-feederline.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ const EVTerminal_1 = require("../model/extensions/enervance/core/EVTerminal");
|
|
|
24
24
|
const WNFaultConnectivityNode_1 = require("../model/extensions/neplan-westnetz/faults/WNFaultConnectivityNode");
|
|
25
25
|
const SwitchAction_1 = require("../model/operations/SwitchAction");
|
|
26
26
|
function performContingencyAnalysisV2(cimModel) {
|
|
27
|
+
var _a, _b, _c, _d;
|
|
27
28
|
const networks = util_topology_1.determineTopologicalIslands(cimModel);
|
|
28
29
|
const computableGrids = util_topology_1.determineComputableGrid(networks);
|
|
29
30
|
const computableGridsSlackElements = util_topology_1.determineNetworksSlackElements(cimModel, computableGrids);
|
|
@@ -53,8 +54,14 @@ function performContingencyAnalysisV2(cimModel) {
|
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
for (const terminal of terminals) {
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
if (!terminal.connectivityNode) {
|
|
58
|
+
console.log(`Terminal ${terminal.mrid} hat keinen CN`);
|
|
59
|
+
}
|
|
60
|
+
if (!terminal.conductingEquipment) {
|
|
61
|
+
console.log(`Terminal ${terminal.mrid} hat keinen CE`);
|
|
62
|
+
}
|
|
63
|
+
const node = graph.nodes.get((_a = terminal.connectivityNode) === null || _a === void 0 ? void 0 : _a.mrid);
|
|
64
|
+
const edge = graph.edges.get((_b = terminal.conductingEquipment) === null || _b === void 0 ? void 0 : _b.mrid);
|
|
58
65
|
if (node && edge) {
|
|
59
66
|
const term = new connection_1.Connection(terminal.mrid, terminal.connected, node, edge);
|
|
60
67
|
node.addTerminal(term);
|
|
@@ -76,12 +83,12 @@ function performContingencyAnalysisV2(cimModel) {
|
|
|
76
83
|
const ce = equip;
|
|
77
84
|
for (const terminal of ce.terminals.values()) {
|
|
78
85
|
if (!terminal.isClosed()) {
|
|
79
|
-
if (!wnFeeder.normalEnergizedConnectivityNodes.has(terminal.connectivityNode.mrid)) {
|
|
86
|
+
if (!wnFeeder.normalEnergizedConnectivityNodes.has((_c = terminal.connectivityNode) === null || _c === void 0 ? void 0 : _c.mrid)) {
|
|
80
87
|
if (terminal.connectivityNode && terminal.connectivityNode.additionalConnectivityNodeContainer) {
|
|
81
88
|
disconnectedTerminalCNs.push([terminal]);
|
|
82
89
|
}
|
|
83
90
|
}
|
|
84
|
-
else if (wnFeeder.normalEnergizedConnectivityNodes.has(terminal.connectivityNode.mrid)) {
|
|
91
|
+
else if (wnFeeder.normalEnergizedConnectivityNodes.has((_d = terminal.connectivityNode) === null || _d === void 0 ? void 0 : _d.mrid)) {
|
|
85
92
|
if (!graph_util_1.isSwitchObjectInArray(terminal, disconnectedSelfTerminalCN))
|
|
86
93
|
disconnectedSelfTerminalCN.push([terminal]);
|
|
87
94
|
}
|
|
@@ -233,10 +240,15 @@ function performContingencyAnalysisV2(cimModel) {
|
|
|
233
240
|
for (const terminal of faultCN.terminals.values()) {
|
|
234
241
|
insertSPARQL.push(switchingActionDeEnergise.addTerminal(terminal));
|
|
235
242
|
}
|
|
243
|
+
const switchingPlanRestore = createSwitchingPlan(utils_1.generateUUID(), wnFeeder.baseIRI, `Schaltmaßnahme-Restore`, 0, 'restore', outageNew, insertSPARQL);
|
|
244
|
+
const switchingActionRestore = createTerminalAction(utils_1.generateUUID(), wnFeeder.baseIRI, `Schaltung-Restore`, SwitchActionKind_1.SwitchActionKind.close, switchingPlanRestore, insertSPARQL);
|
|
245
|
+
for (const terminal of faultCN.terminals.values()) {
|
|
246
|
+
insertSPARQL.push(switchingActionRestore.addTerminal(terminal));
|
|
247
|
+
}
|
|
236
248
|
for (let i = 0; i < switchActionsFullyReenergised.length; i++) {
|
|
237
249
|
const switchAction = switchActionsFullyReenergised[i];
|
|
238
250
|
console.log('\tActions ' + switchAction.switchObjects);
|
|
239
|
-
const switchingPlanRestore = createSwitchingPlan(utils_1.generateUUID(), wnFeeder.baseIRI, `Schaltmaßnahme-Restore`, i, '
|
|
251
|
+
const switchingPlanRestore = createSwitchingPlan(utils_1.generateUUID(), wnFeeder.baseIRI, `Schaltmaßnahme-Restore`, (i + 1), 'energise', outageNew, insertSPARQL);
|
|
240
252
|
for (const switchObjectUUID of switchAction.switchObjects) {
|
|
241
253
|
const cimSwitchObject = cimModel.getObject(switchObjectUUID);
|
|
242
254
|
if (cimSwitchObject) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neplan-contingency-analysis.js","sourceRoot":"","sources":["../../src/etl-neplan/neplan-contingency-analysis.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"neplan-contingency-analysis.js","sourceRoot":"","sources":["../../src/etl-neplan/neplan-contingency-analysis.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -41,14 +41,7 @@ export function createFeederLines(cimModel: Model, basiIRI: string): string [] {
|
|
|
41
41
|
|
|
42
42
|
const computableGridsSlackElementsForFeeder = [...computableGridsSlackElements, substationElements]
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
//_59f7d40a-36c9-4b39-95e4-657976e50b12
|
|
46
|
-
const cn1 = cimModel.getConnectivityNode('9fafa042-b9d1-4052-ace2-9bfbefeb0134');
|
|
47
|
-
const cn2 = cimModel.getConnectivityNode('59f7d40a-36c9-4b39-95e4-657976e50b12');
|
|
48
|
-
for (const s of computableGridsSlackElementsForFeeder) {
|
|
49
|
-
if (s.indexOf(cn1) !== -1) console.log('9fafa042-b9d1-4052-ace2-9bfbefeb0134')
|
|
50
|
-
if (s.indexOf(cn2) !== -1) console.log('59f7d40a-36c9-4b39-95e4-657976e50b12')
|
|
51
|
-
}
|
|
44
|
+
|
|
52
45
|
|
|
53
46
|
const insertObjectSPARQL = [];
|
|
54
47
|
/** bestimmt ALLE elektrisch zusammenhängende Abgänge (eine Art Stromkreis für Mittelspannungsnetze) */
|
|
@@ -61,8 +54,8 @@ export function createFeederLines(cimModel: Model, basiIRI: string): string [] {
|
|
|
61
54
|
|
|
62
55
|
const headTerminals = determineHeadTerminals(feederObjects, computableGridsSlackElements, substationElements);
|
|
63
56
|
|
|
64
|
-
const
|
|
65
|
-
|
|
57
|
+
const headTerminalsMulti = determineMultiStartHeadTerminals(headTerminals, substationElements);
|
|
58
|
+
const headTerminal = headTerminalsMulti[0];
|
|
66
59
|
const startCN = headTerminal?.connectivityNode;
|
|
67
60
|
console.log(startCN.name);
|
|
68
61
|
const substation = startCN?.getVoltageLevel()?.getSubstation();
|
|
@@ -93,9 +86,11 @@ export function createFeederLines(cimModel: Model, basiIRI: string): string [] {
|
|
|
93
86
|
insertObjectSPARQL.push(feeder.setNormalEnergizingSubstation(substation));
|
|
94
87
|
substation.addNormalEnergizingFeeder(feeder);
|
|
95
88
|
// HeadTerminal setzen
|
|
96
|
-
feeder.addNormalHeadTerminal(headTerminal);
|
|
97
|
-
insertObjectSPARQL.push(headTerminal.setNormalHeadFeeder(feeder));
|
|
98
89
|
|
|
90
|
+
for (const hTerminal of headTerminalsMulti) {
|
|
91
|
+
feeder.addNormalHeadTerminal(hTerminal);
|
|
92
|
+
insertObjectSPARQL.push(hTerminal.setNormalHeadFeeder(feeder));
|
|
93
|
+
}
|
|
99
94
|
cimModel.addFeeder(feeder);
|
|
100
95
|
|
|
101
96
|
} else {
|
|
@@ -103,10 +98,9 @@ export function createFeederLines(cimModel: Model, basiIRI: string): string [] {
|
|
|
103
98
|
console.log(substation + ' ' + startCN);
|
|
104
99
|
}
|
|
105
100
|
}
|
|
106
|
-
return insertObjectSPARQL;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
101
|
|
|
102
|
+
}
|
|
103
|
+
return insertObjectSPARQL;
|
|
110
104
|
}
|
|
111
105
|
|
|
112
106
|
/**Es wird ein FeederLine-Objekt bestimmt
|
|
@@ -120,7 +114,7 @@ export function determineFeederLinesElements(cimModel: Model, grid: IIdentifiedO
|
|
|
120
114
|
const networkFeederLineElements: IIdentifiedObject[][] = [];
|
|
121
115
|
for (let i = 0; i < grid.length; i++) {
|
|
122
116
|
const gridElement = grid[i];
|
|
123
|
-
if (gridElement instanceof ConductingEquipment
|
|
117
|
+
if (gridElement instanceof ConductingEquipment && gridElement.constructor.name.includes('ACLineSegment')|| gridElement.constructor.name === 'PowerTransformer') {
|
|
124
118
|
const feederLineElements: IIdentifiedObject[] = [];
|
|
125
119
|
gridElement.determineMidVoltageLineElements(feederLineElements, slackSubstationElements);
|
|
126
120
|
if (feederLineElements.length > 0) {
|
|
@@ -147,21 +141,10 @@ export function determineHeadTerminals(gridElements: IIdentifiedObject[],
|
|
|
147
141
|
/*if (object.constructor.name.includes('ACLineSegment')) {*/
|
|
148
142
|
if (object instanceof ConductingEquipment) {
|
|
149
143
|
const ce = object as unknown as ConductingEquipment;
|
|
150
|
-
|
|
151
|
-
ce.mrid === '6ad74c2d-4194-4537-9d0a-96b27bea096c' ||
|
|
152
|
-
ce.mrid === '871c91f0-9abb-49e5-9d38-fcbc58633ddb' ||
|
|
153
|
-
ce.mrid === 'a9b2f23b-c799-4edf-9972-8f594d67446b') {
|
|
154
|
-
console.log();
|
|
155
|
-
}
|
|
144
|
+
|
|
156
145
|
//_9fafa042-b9d1-4052-ace2-9bfbefeb0134
|
|
157
146
|
//_59f7d40a-36c9-4b39-95e4-657976e50b12
|
|
158
147
|
for (const terminal of ce.terminals.values()) {
|
|
159
|
-
if (terminal.connectivityNode.mrid === '9fafa042-b9d1-4052-ace2-9bfbefeb0134' ||
|
|
160
|
-
terminal.connectivityNode.mrid === '59f7d40a-36c9-4b39-95e4-657976e50b12' ||
|
|
161
|
-
terminal.connectivityNode.mrid === '871c91f0-9abb-49e5-9d38-fcbc58633ddb' ||
|
|
162
|
-
terminal.connectivityNode.mrid === 'a9b2f23b-c799-4edf-9972-8f594d67446b') {
|
|
163
|
-
console.log();
|
|
164
|
-
}
|
|
165
148
|
|
|
166
149
|
if (isInArray(terminal.connectivityNode, slackSubstationElements)) { /** gehört der CN zur Substation mit Slack */
|
|
167
150
|
headTerminals.push(terminal);
|
|
@@ -197,14 +180,40 @@ export function determineStartHeadTerminals(terminals: ITerminal[], additionalsl
|
|
|
197
180
|
}
|
|
198
181
|
}
|
|
199
182
|
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/** HeadTerminals bestimmen
|
|
186
|
+
* HeadTerminal gehört zu der Station mit dem Slack
|
|
187
|
+
* falls der 2 Headterminals mit je einem Slack existieren, werden alle Instanzen als Head festgelegt */
|
|
188
|
+
export function determineMultiStartHeadTerminals(terminals: ITerminal[], additionalslackSubstationElements: IIdentifiedObject[]): ITerminal[] {
|
|
189
|
+
const headTerminals = [];
|
|
190
|
+
const headNodes = [];
|
|
191
|
+
for (const terminal of terminals) {
|
|
192
|
+
const cnc = terminal.connectivityNode.connectivityNodeContainer;
|
|
193
|
+
let voltageLevel;
|
|
194
|
+
if (cnc instanceof VoltageLevel) {
|
|
195
|
+
voltageLevel = cnc as VoltageLevel;
|
|
196
|
+
} else if (cnc instanceof Bay) {
|
|
197
|
+
voltageLevel = (cnc as Bay).voltageLevel;
|
|
198
|
+
}
|
|
199
|
+
for (const equip of voltageLevel?.equipments) {
|
|
200
|
+
if (equip instanceof ExternalNetworkInjection) {
|
|
201
|
+
if (headNodes.indexOf(terminal.connectivityNode) === -1) {
|
|
202
|
+
headTerminals.push(terminal);
|
|
203
|
+
headNodes.push(terminal.connectivityNode);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
200
208
|
|
|
201
209
|
/** Wenn keine Kriterien erfüllt werden,
|
|
202
210
|
* dann überprüfe additionalslackSubstationElements */
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
211
|
+
if (!headTerminals.length) {
|
|
212
|
+
const trm = determineStartHeadTerminalsTemporary(terminals, additionalslackSubstationElements);
|
|
213
|
+
if(trm) headTerminals.push(trm);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
return headTerminals;
|
|
208
217
|
}
|
|
209
218
|
|
|
210
219
|
/** Übergangslösung, Schwerpunktstationen ohne Slack */
|
|
@@ -218,4 +227,3 @@ export function determineStartHeadTerminalsTemporary(terminals: ITerminal[], add
|
|
|
218
227
|
* dann nehme den ersten Terminal*/
|
|
219
228
|
return terminals[0];
|
|
220
229
|
}
|
|
221
|
-
|
|
@@ -74,44 +74,17 @@ export function performContingencyAnalysisV2(cimModel: Model): string[] {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
/* for (const network of networks) {
|
|
78
|
-
for (const element of network) {
|
|
79
|
-
if (element instanceof ConnectivityNode) {
|
|
80
|
-
graph.addNode(new Node(element.mrid));
|
|
81
|
-
} else if (element instanceof Terminal) {
|
|
82
|
-
terminals.push(element as Terminal);
|
|
83
|
-
} else if (element instanceof ConductingEquipment) {
|
|
84
|
-
if (element instanceof ExternalNetworkInjection) {
|
|
85
|
-
graph.addEdge(new Edge(element.mrid, Type.ExternalNetworkinjection, true));
|
|
86
|
-
slackUUIDs.push(element.mrid);
|
|
87
|
-
}
|
|
88
|
-
else if (element instanceof Switch) {
|
|
89
|
-
graph.addEdge(new Edge(element.mrid, Type.Switch, (element as Switch).open));
|
|
90
|
-
} else {
|
|
91
|
-
graph.addEdge(new Edge(element.mrid, Type.ConductingEquipment, false));
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}*/
|
|
96
|
-
|
|
97
|
-
/* // Spannunsglose Schaltelemente bestimmen und dem Graph hinzufügen
|
|
98
|
-
for (const trm of cimModel.terminals.values()) {
|
|
99
|
-
if (!graph.terminals.has(trm.mrid) && !graph.edges.has(trm.conductingEquipment.mrid)) {
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
if (!graph.edges.has(trm.conductingEquipment.mrid) && trm.conductingEquipment instanceof Switch) {
|
|
103
|
-
if (trm.connectivityNode && ) {
|
|
104
|
-
const swtch = trm.conductingEquipment as Switch;
|
|
105
|
-
const cn = trm.connectivityNode;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
}*/
|
|
110
|
-
|
|
111
77
|
/** Konnektivität durch terminals herstellen */
|
|
112
78
|
for (const terminal of terminals) {
|
|
113
|
-
|
|
114
|
-
|
|
79
|
+
if (!terminal.connectivityNode) {
|
|
80
|
+
console.log(`Terminal ${terminal.mrid} hat keinen CN`);
|
|
81
|
+
}
|
|
82
|
+
if (!terminal.conductingEquipment) {
|
|
83
|
+
console.log(`Terminal ${terminal.mrid} hat keinen CE`);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const node = graph.nodes.get(terminal.connectivityNode?.mrid);
|
|
87
|
+
const edge = graph.edges.get(terminal.conductingEquipment?.mrid);
|
|
115
88
|
if (node && edge) {
|
|
116
89
|
const term = new Connection(terminal.mrid, terminal.connected, node, edge);
|
|
117
90
|
node.addTerminal(term);
|
|
@@ -148,11 +121,11 @@ export function performContingencyAnalysisV2(cimModel: Model): string[] {
|
|
|
148
121
|
/** Offene Terminals */
|
|
149
122
|
if (!terminal.isClosed()) {
|
|
150
123
|
/** verbindungen zu anderen Angängen */
|
|
151
|
-
if (!wnFeeder.normalEnergizedConnectivityNodes.has(terminal.connectivityNode
|
|
124
|
+
if (!wnFeeder.normalEnergizedConnectivityNodes.has(terminal.connectivityNode?.mrid)) {
|
|
152
125
|
if (terminal.connectivityNode && (terminal.connectivityNode as WNConnectivityNode).additionalConnectivityNodeContainer) {
|
|
153
126
|
disconnectedTerminalCNs.push([terminal as Terminal]);
|
|
154
127
|
}
|
|
155
|
-
} else if (wnFeeder.normalEnergizedConnectivityNodes.has(terminal.connectivityNode
|
|
128
|
+
} else if (wnFeeder.normalEnergizedConnectivityNodes.has(terminal.connectivityNode?.mrid)) {
|
|
156
129
|
/** offene Verbindungen zu sich selbst */
|
|
157
130
|
if (!isSwitchObjectInArray(terminal as Terminal, disconnectedSelfTerminalCN)) disconnectedSelfTerminalCN.push([terminal as Terminal]);
|
|
158
131
|
}
|
|
@@ -393,12 +366,21 @@ export function performContingencyAnalysisV2(cimModel: Model): string[] {
|
|
|
393
366
|
insertSPARQL.push(switchingActionDeEnergise.addTerminal(terminal as EVTerminal));
|
|
394
367
|
}
|
|
395
368
|
|
|
369
|
+
/** SwitchingPlan restore*/
|
|
370
|
+
const switchingPlanRestore = createSwitchingPlan(generateUUID(), wnFeeder.baseIRI, `Schaltmaßnahme-Restore`, 0, 'restore', outageNew, insertSPARQL);
|
|
371
|
+
/** SwitchingAction de-energise*/
|
|
372
|
+
const switchingActionRestore = createTerminalAction(generateUUID(), wnFeeder.baseIRI, `Schaltung-Restore`, SwitchActionKind.close, switchingPlanRestore, insertSPARQL);
|
|
373
|
+
// Alle terminals des Ausfallknotens
|
|
374
|
+
for (const terminal of faultCN.terminals.values()) {
|
|
375
|
+
insertSPARQL.push(switchingActionRestore.addTerminal(terminal as EVTerminal));
|
|
376
|
+
}
|
|
377
|
+
|
|
396
378
|
//Wiederversorgungsmaßnahmen
|
|
397
379
|
for (let i = 0; i < switchActionsFullyReenergised.length; i++) {
|
|
398
380
|
const switchAction = switchActionsFullyReenergised[i];
|
|
399
381
|
console.log('\tActions ' + switchAction.switchObjects);
|
|
400
382
|
/** SwitchingPlan restore*/
|
|
401
|
-
const switchingPlanRestore = createSwitchingPlan(generateUUID(), wnFeeder.baseIRI, `Schaltmaßnahme-Restore`, i, '
|
|
383
|
+
const switchingPlanRestore = createSwitchingPlan(generateUUID(), wnFeeder.baseIRI, `Schaltmaßnahme-Restore`, (i + 1), 'energise', outageNew, insertSPARQL);
|
|
402
384
|
/** SwitchingAction restore*/
|
|
403
385
|
for (const switchObjectUUID of switchAction.switchObjects) {
|
|
404
386
|
const cimSwitchObject = cimModel.getObject(switchObjectUUID);
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
getEnergyConsumerByName,
|
|
14
14
|
getObjectByProperty,
|
|
15
15
|
IConnectivityNode,
|
|
16
|
-
Model, PROPERTY_HANDLER_WESTNETZNEPLAN_CONFIG,
|
|
16
|
+
Model, performContingencyAnalysisV2, PROPERTY_HANDLER_WESTNETZNEPLAN_CONFIG,
|
|
17
17
|
SwitchActionKind,
|
|
18
18
|
SwitchingPlan,
|
|
19
19
|
transformEnergyConsumers,
|
|
@@ -546,7 +546,7 @@ describe('Apache Jena Fuseki Interface Neplan Test', () => {
|
|
|
546
546
|
expect(baseIRI).toBeDefined();
|
|
547
547
|
|
|
548
548
|
// SwitchActions
|
|
549
|
-
const insertSPARQL =
|
|
549
|
+
const insertSPARQL = performContingencyAnalysisV2(cimModel);
|
|
550
550
|
const queryCreateSwitchActions = `
|
|
551
551
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
|
552
552
|
PREFIX cim: <http://iec.ch/TC57/2013/CIM-schema-cim16#>
|