@enervance/insight-cim-model 0.0.11 → 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.
@@ -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 headTerminal = determineStartHeadTerminals(headTerminals, substationElements);
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
- feeder.addNormalHeadTerminal(headTerminal);
60
- insertObjectSPARQL.push(headTerminal.setNormalHeadFeeder(feeder));
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":"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"}
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
- const node = graph.nodes.get(terminal.connectivityNode.mrid);
57
- const edge = graph.edges.get(terminal.conductingEquipment.mrid);
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
  }
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enervance/insight-cim-model",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "description": "CIM data model",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -41,14 +41,7 @@ export function createFeederLines(cimModel: Model, basiIRI: string): string [] {
41
41
 
42
42
  const computableGridsSlackElementsForFeeder = [...computableGridsSlackElements, substationElements]
43
43
 
44
- //_9fafa042-b9d1-4052-ace2-9bfbefeb0134
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 headTerminal = determineStartHeadTerminals(headTerminals, substationElements);
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 /*gridElement.constructor.name.includes('ACLineSegment')|| networkElement.constructor.name === 'PowerTransformer'*/) {
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
- if (ce.mrid === '6d21f61c-e0cc-44f7-9382-026b7663bf9f' ||
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
- const trm = determineStartHeadTerminalsTemporary(terminals, additionalslackSubstationElements);
204
- if(trm) return trm;
205
- /** Wenn keine Kriterien erfüllt werden,
206
- * dann nehme den ersten Terminal*/
207
- return terminals[0];
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
- const node = graph.nodes.get(terminal.connectivityNode.mrid);
114
- const edge = graph.edges.get(terminal.conductingEquipment.mrid);
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.mrid)) {
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.mrid)) {
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
  }
@@ -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 = performContingencyAnalysis(cimModel);
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#>