@enervance/insight-cim-model 0.0.365 → 0.0.366

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.
@@ -0,0 +1,41 @@
1
+ import { ConnectivityNode } from '../../model/core/ConnectivityNode.js';
2
+ import { EVModelContainer } from '../../model-container/model/EVModelContainer.js';
3
+ import { Switch } from '../../model/wires/Switch.js';
4
+ import { Terminal } from '../../model/core/Terminal.js';
5
+ import { Feeder } from '../../model/core/Feeder.js';
6
+ import { ExternalNetworkInjection } from '../../model/wires/ExternalNetworkInjection.js';
7
+ import { ModelContainer } from '../../model-container/model/ModelContainer.js';
8
+ import { EVSwitchingPlanKind } from '../../model/extensions/enervance/operations/EVSwitchingPlanKind.js';
9
+ export declare class ContingencyAnalysisNeplanWestnetz {
10
+ static performContingencyAnalysis(modelContainer: ModelContainer): string[];
11
+ static findRessuplySwitchingActions(outageConnectivityNodes: Array<ConnectivityNode>, baseModel: EVModelContainer): Map<string, Array<IResupplyResult>>;
12
+ static hasCycleInFeeder(feeder: Feeder, terminals: Terminal[], switches: Switch[]): boolean;
13
+ static buildSupplyCombinations<T>(arr: T[]): T[][];
14
+ static disconnectTerminals(faultConnectivityNode: ConnectivityNode): Array<Terminal>;
15
+ static applySwitchCombination(switchElements: Array<{
16
+ swtch: Switch;
17
+ terminals: Array<Terminal>;
18
+ }>): void;
19
+ static isNodeSupplied(startNode: ConnectivityNode, terminals: Terminal[], switches: Switch[], externalInjections: ExternalNetworkInjection[]): boolean;
20
+ static findOpenedSwitchesToOtherFeeders(connectivityNodes: Array<ConnectivityNode>, failedFeeder: Feeder, baseModel: EVModelContainer): Array<{
21
+ swtch: Switch;
22
+ terminals: Array<Terminal>;
23
+ }>;
24
+ static findOpenedTerminalsToOtherFeeders(connectivityNodes: Array<ConnectivityNode>, failedFeeder: Feeder, baseModel: EVModelContainer): Array<{
25
+ swtch: Switch;
26
+ terminals: Array<Terminal>;
27
+ }>;
28
+ }
29
+ export interface IResupplyResult {
30
+ uuid: string;
31
+ faultConnectivityNode: ConnectivityNode;
32
+ deenergizedActions: Array<Terminal>;
33
+ cycle: boolean;
34
+ switchElements: Array<{
35
+ swtch: Switch;
36
+ terminals: Array<Terminal>;
37
+ }>;
38
+ deenergezedConnectivityNodes: Array<ConnectivityNode>;
39
+ resuppledConnectivityNodes: Array<ConnectivityNode>;
40
+ resupplyType: EVSwitchingPlanKind;
41
+ }
@@ -0,0 +1,445 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContingencyAnalysisNeplanWestnetz = void 0;
4
+ const Switch_1 = require("../../model/wires/Switch.js");
5
+ const ExternalNetworkInjection_1 = require("../../model/wires/ExternalNetworkInjection.js");
6
+ const common_utils_1 = require("../../utils2/common.utils.js");
7
+ const ACLineSegment_1 = require("../../model/wires/ACLineSegment.js");
8
+ const EVSwitchingPlanKind_1 = require("../../model/extensions/enervance/operations/EVSwitchingPlanKind.js");
9
+ const WNConnectivityNode_1 = require("../../model/extensions/westnetz-neplan/core/WNConnectivityNode.js");
10
+ const WNOutage_1 = require("../../model/extensions/westnetz-neplan/operations/WNOutage.js");
11
+ const ConductingEquipment_1 = require("../../model/core/ConductingEquipment.js");
12
+ const EVTerminal_1 = require("../../model/extensions/enervance/core/EVTerminal.js");
13
+ const WNFaultConnectivityNode_1 = require("../../model/extensions/westnetz-neplan/faults/WNFaultConnectivityNode.js");
14
+ const neplan_contingency_analysis_1 = require("../../etl/etl-neplan/neplan-contingency-analysis.js");
15
+ const SwitchActionKind_1 = require("../../model/operations/SwitchActionKind.js");
16
+ const sparql_utils_1 = require("../../util/sparql/sparql-utils.js");
17
+ class ContingencyAnalysisNeplanWestnetz {
18
+ static performContingencyAnalysis(modelContainer) {
19
+ var _a, _b, _c;
20
+ const insertSPARQL = new Array;
21
+ for (const feeder of modelContainer.feeders.values()) {
22
+ const wnFeeder = feeder;
23
+ /** relevante Ausfälle
24
+ * 1 Ausfall des ersten ConnectivityNodes im Abgang
25
+ * 2 Alle ConnectivityNodes mit drei und mehr ACLineSegments */
26
+ const outageNodes = (_a = Array.from(feeder.normalHeadTerminal.values())) === null || _a === void 0 ? void 0 : _a.map(it => it.connectivityNode);
27
+ for (const cn of wnFeeder.normalEnergizedConnectivityNodes.values()) {
28
+ // Muffen sind für N-1-Betrachtung nicht relevant
29
+ // if (cn.getType() === CimAssetAliasNames.Muffe) continue;
30
+ const connectedACLineSegments = Array.from(cn.terminals.values())
31
+ .filter(t => t.isClosed() && t.conductingEquipment instanceof ACLineSegment_1.ACLineSegment)
32
+ .length;
33
+ /** ab 3 ACLineSegments ist der Knoten für die Ausfallanalyse relevant */
34
+ if (connectedACLineSegments >= 3)
35
+ outageNodes.push(cn);
36
+ }
37
+ const resupplyResults = ContingencyAnalysisNeplanWestnetz.findRessuplySwitchingActions(outageNodes, modelContainer);
38
+ for (const resupplyResult of resupplyResults.values()) {
39
+ // Ausfall
40
+ const outageNode = (_b = resupplyResult.find(it => it.faultConnectivityNode)) === null || _b === void 0 ? void 0 : _b.faultConnectivityNode;
41
+ // Freischaltungsmaßnahme
42
+ const deenergizedAction = (_c = resupplyResult.find(it => it.deenergizedActions)) === null || _c === void 0 ? void 0 : _c.deenergizedActions;
43
+ // Schaltmaßnahmen mit vollständiger Wiederversorgung
44
+ const fullyResuppliedActions = resupplyResult.filter(it => !it.cycle && it.resupplyType === EVSwitchingPlanKind_1.EVSwitchingPlanKind.fullyResupply);
45
+ // Schaltmaßnahmen mit partieller Wiederversorgung
46
+ const partiallyResuppliedActions = resupplyResult.filter(it => !it.cycle && it.resupplyType === EVSwitchingPlanKind_1.EVSwitchingPlanKind.partiallyResupply);
47
+ console.log(`Ausfall ${outageNode.getUUID()} | ${outageNode.name}\n
48
+ \tSchaltmaßnahmen mit vollständiger Wiederversorgung: ${fullyResuppliedActions.length}\n
49
+ \tSchaltmaßnahmen mit partieller Wiederversorgung: ${partiallyResuppliedActions.length}`);
50
+ if (fullyResuppliedActions.length === 0)
51
+ continue;
52
+ /** Ausfallschaltmaßnahme anlegen */
53
+ const faultCN = outageNode;
54
+ for (const fullyResuppliedAction of fullyResuppliedActions) {
55
+ const outageNew = new WNOutage_1.WNOutage(common_utils_1.CommonUtils.generateUUID(), `Ausfall-${faultCN.name}`, `${wnFeeder.shortName}`, '', wnFeeder.baseIRI);
56
+ modelContainer.addOutage(outageNew);
57
+ insertSPARQL.push(outageNew.createNewStatementSPARQL());
58
+ /** Equipments */
59
+ for (const object of wnFeeder.additionalGroupedEquipment.values()) {
60
+ if (object instanceof ConductingEquipment_1.ConductingEquipment) {
61
+ insertSPARQL.push(outageNew.addOutageIsolationEquipment(object));
62
+ }
63
+ else if (object instanceof WNConnectivityNode_1.WNConnectivityNode) {
64
+ insertSPARQL.push(outageNew.addOutageIsolationConnectivityNodes(object));
65
+ }
66
+ else if (object instanceof EVTerminal_1.EVTerminal) {
67
+ // TBD
68
+ }
69
+ }
70
+ /** WNConnectivityNodes */
71
+ for (const object of wnFeeder.normalEnergizedConnectivityNodes.values()) {
72
+ insertSPARQL.push(outageNew.addOutageIsolationConnectivityNodes(object));
73
+ }
74
+ /** Fault */
75
+ const cnFaultNew = new WNFaultConnectivityNode_1.WNFaultConnectivityNode(common_utils_1.CommonUtils.generateUUID(), `${faultCN.name}`, '', '', wnFeeder.baseIRI);
76
+ modelContainer.addCustomFault(cnFaultNew);
77
+ insertSPARQL.push(cnFaultNew.createNewStatementSPARQL());
78
+ insertSPARQL.push(cnFaultNew.setConnectivityNode(faultCN));
79
+ insertSPARQL.push(cnFaultNew.setOutage(outageNew));
80
+ /** SwitchingPlan de-energise*/
81
+ const switchingPlanDeEnergise = (0, neplan_contingency_analysis_1.createSwitchingPlan)(common_utils_1.CommonUtils.generateUUID(), wnFeeder.baseIRI, `Schaltmaßnahme-Ausfall`, -1, 'de-energise', outageNew, insertSPARQL);
82
+ modelContainer.addSwitchingPlan(switchingPlanDeEnergise);
83
+ /** SwitchingAction de-energise*/
84
+ const switchingActionDeEnergise = (0, neplan_contingency_analysis_1.createTerminalAction)(common_utils_1.CommonUtils.generateUUID(), wnFeeder.baseIRI, `Schaltung-Ausfall`, SwitchActionKind_1.SwitchActionKind.open, switchingPlanDeEnergise, insertSPARQL);
85
+ modelContainer.addSwitchingAction(switchingActionDeEnergise);
86
+ /** Alle Terminals zur Freischaltung des Ausfallknotens */
87
+ for (const terminal of fullyResuppliedAction.deenergizedActions) {
88
+ insertSPARQL.push(switchingActionDeEnergise.addTerminal(terminal));
89
+ }
90
+ /** SwitchingPlan restore*/
91
+ const switchingPlanRestore = (0, neplan_contingency_analysis_1.createSwitchingPlan)(common_utils_1.CommonUtils.generateUUID(), wnFeeder.baseIRI, `Schaltmaßnahme-Restore`, 0, 'restore', outageNew, insertSPARQL);
92
+ modelContainer.addSwitchingPlan(switchingPlanRestore);
93
+ /** SwitchingAction re-energise*/
94
+ const switchingActionRestore = (0, neplan_contingency_analysis_1.createTerminalAction)(common_utils_1.CommonUtils.generateUUID(), wnFeeder.baseIRI, `Schaltung-Restore`, SwitchActionKind_1.SwitchActionKind.close, switchingPlanRestore, insertSPARQL);
95
+ modelContainer.addSwitchingAction(switchingActionRestore);
96
+ /** Alle terminals des Ausfallknotens */
97
+ for (const terminal of fullyResuppliedAction.deenergizedActions) {
98
+ insertSPARQL.push(switchingActionRestore.addTerminal(terminal));
99
+ }
100
+ /** Wiederversorgungsmaßnahmen */
101
+ for (let i = 0; i < fullyResuppliedAction.switchElements.length; i++) {
102
+ const switchAction = fullyResuppliedAction.switchElements[i];
103
+ /** SwitchingPlan restore*/
104
+ const switchingPlanRestore = (0, neplan_contingency_analysis_1.createSwitchingPlan)(common_utils_1.CommonUtils.generateUUID(), wnFeeder.baseIRI, `Schaltmaßnahme-Restore`, (i + 1), 'energise', outageNew, insertSPARQL);
105
+ insertSPARQL.push(switchingPlanRestore.setKind(fullyResuppliedAction.resupplyType));
106
+ modelContainer.addSwitchingPlan(switchingPlanRestore);
107
+ /** Switch-Element */
108
+ if (switchAction.swtch) {
109
+ const switchingActionRestore = (0, neplan_contingency_analysis_1.createSwitchAction)(common_utils_1.CommonUtils.generateUUID(), wnFeeder.baseIRI, `Schaltung-Restore`, SwitchActionKind_1.SwitchActionKind.close, switchingPlanRestore, insertSPARQL);
110
+ modelContainer.addSwitchingAction(switchingActionRestore);
111
+ insertSPARQL.push(switchingActionRestore.setSwitch(switchAction.swtch));
112
+ }
113
+ /** Switch-Element */
114
+ for (const terminal of switchAction.terminals) {
115
+ const switchingActionRestore = (0, neplan_contingency_analysis_1.createTerminalAction)(common_utils_1.CommonUtils.generateUUID(), wnFeeder.baseIRI, `Schaltung-Restore`, SwitchActionKind_1.SwitchActionKind.close, switchingPlanRestore, insertSPARQL);
116
+ modelContainer.addSwitchingAction(switchingActionRestore);
117
+ insertSPARQL.push(switchingActionRestore.addTerminal(terminal));
118
+ }
119
+ }
120
+ }
121
+ }
122
+ }
123
+ const length = insertSPARQL.length;
124
+ const graphURI = modelContainer.getGraphURI();
125
+ return length === 0 ? [] : [
126
+ `
127
+ PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
128
+ PREFIX cim: <http://iec.ch/TC57/2013/CIM-schema-cim16#>
129
+ PREFIX entsoe: <http://entsoe.eu/CIM/SchemaExtension/3/1#>
130
+ PREFIX westnetzneplan: <http://westnetzneplan.de/CIM/Extensions#>
131
+ PREFIX enervance: <http://enervance.com/CIM/Extensions#>
132
+ ${(0, sparql_utils_1.getInsertDataPartStatement)(graphURI, insertSPARQL)}
133
+ `
134
+ ];
135
+ }
136
+ static findRessuplySwitchingActions(outageConnectivityNodes, baseModel) {
137
+ var _a, _b, _c;
138
+ const evaluatedResupplyActions = new Map();
139
+ const terminals = (Array.from(baseModel.terminals.values()));
140
+ const allCNs = (Array.from(baseModel.connectivityNodes.values()));
141
+ const externalNetworkInjections = (Array.from(baseModel.externalNetworkInjections.values()));
142
+ const switches = [...baseModel.switches.values(), ...baseModel.loadBreakSwitches.values(), ...baseModel.disconnectors.values(), ...baseModel.breakers.values()];
143
+ for (const faultConnectivityNode of outageConnectivityNodes) {
144
+ const changedTerminals = ContingencyAnalysisNeplanWestnetz.disconnectTerminals(faultConnectivityNode);
145
+ const failedSubstation = faultConnectivityNode.getSubstation();
146
+ const feederHeadNode = ((_a = failedSubstation.getPsrType()) === null || _a === void 0 ? void 0 : _a.getName()) === 'Umspannanlage';
147
+ // 1. CNs der ausgefallenen Station ignorieren
148
+ const failedCNs = feederHeadNode ? [faultConnectivityNode] : allCNs.filter(cn => cn.getSubstation().getUUID() === failedSubstation.getUUID());
149
+ const failedFeeder = feederHeadNode ? (_c = (_b = Array.from(faultConnectivityNode.terminals.values()).find(it => { var _a; return (_a = it.conductingEquipment) === null || _a === void 0 ? void 0 : _a.getAdditionalEquipmentContainer(); })) === null || _b === void 0 ? void 0 : _b.conductingEquipment) === null || _c === void 0 ? void 0 : _c.getAdditionalEquipmentContainer() : failedSubstation.getNormalEnergizingFeeder();
150
+ // CNs der Ortsnetzstationen (nicht Umspannanlage, nicht failed)
151
+ const candidateCNs = allCNs.filter(cn => {
152
+ var _a, _b;
153
+ return (((_a = cn.getSubstation().getPsrType()) === null || _a === void 0 ? void 0 : _a.getName()) !== 'Umspannanlage' && // alle CNs von Umspannanlagen
154
+ cn.getSubstation().getUUID() !== failedSubstation.getUUID()) && // alle CNs der ausgefallenen ONS
155
+ ((_b = cn.getSubstation()) === null || _b === void 0 ? void 0 : _b.getNormalEnergizingFeeder()); // Substation muss einen Abgang besitzen
156
+ });
157
+ // 3. Suche nach CNs, die spannungslos sind
158
+ const disconnectedCNs = candidateCNs.filter(cn => !ContingencyAnalysisNeplanWestnetz.isNodeSupplied(cn, terminals.filter(t => !failedCNs.includes(t.connectivityNode)), switches, externalNetworkInjections));
159
+ const openTerminals = ContingencyAnalysisNeplanWestnetz.findOpenedTerminalsToOtherFeeders([faultConnectivityNode], failedFeeder, baseModel);
160
+ const openSwitches = ContingencyAnalysisNeplanWestnetz.findOpenedSwitchesToOtherFeeders([faultConnectivityNode], failedFeeder, baseModel);
161
+ const possibleActions = [...openTerminals, ...openSwitches];
162
+ // 4. Finde alle Kombinationen (1er, 2er, 3er etc.)
163
+ const combinations = ContingencyAnalysisNeplanWestnetz.buildSupplyCombinations(possibleActions).filter(set => set.length > 0);
164
+ const results = [];
165
+ const resupplyResults = new Array();
166
+ for (const combo of combinations) {
167
+ // Schaltzustand anwenden
168
+ const s = new Array();
169
+ for (const c of combo) {
170
+ c.terminals.forEach(it => s.push(it.name));
171
+ }
172
+ ContingencyAnalysisNeplanWestnetz.applySwitchCombination(combo);
173
+ // Abgang auf Zyklen prüfen
174
+ const cycle = ContingencyAnalysisNeplanWestnetz.hasCycleInFeeder(failedFeeder, terminals, switches);
175
+ const resupplyResult = {
176
+ uuid: common_utils_1.CommonUtils.generateUUID(),
177
+ faultConnectivityNode: faultConnectivityNode,
178
+ deenergizedActions: changedTerminals,
179
+ cycle: cycle,
180
+ switchElements: combo,
181
+ deenergezedConnectivityNodes: disconnectedCNs,
182
+ resuppledConnectivityNodes: new Array(),
183
+ resupplyType: EVSwitchingPlanKind_1.EVSwitchingPlanKind.noResupply
184
+ };
185
+ resupplyResults.push(resupplyResult);
186
+ for (const cn of disconnectedCNs) {
187
+ const reachable = ContingencyAnalysisNeplanWestnetz.isNodeSupplied(cn, terminals, switches, externalNetworkInjections);
188
+ if (reachable) {
189
+ resupplyResult.resuppledConnectivityNodes.push(cn);
190
+ results.push({ restoredCN: cn, actions: combo });
191
+ }
192
+ }
193
+ // resupplyType
194
+ if (resupplyResult.deenergezedConnectivityNodes.length === resupplyResult.resuppledConnectivityNodes.length) {
195
+ resupplyResult.resupplyType = EVSwitchingPlanKind_1.EVSwitchingPlanKind.fullyResupply;
196
+ }
197
+ else if (resupplyResult.resuppledConnectivityNodes.length > 0) {
198
+ resupplyResult.resupplyType = EVSwitchingPlanKind_1.EVSwitchingPlanKind.partiallyResupply;
199
+ }
200
+ // Schaltzustand rückgängig machen
201
+ ContingencyAnalysisNeplanWestnetz.applySwitchCombination(combo);
202
+ console.log(`${combinations.indexOf(combo) + 1} ${s.join(' ')}
203
+ \n cycle ${cycle}
204
+ \n resupplyResult ${resupplyResult.resupplyType}
205
+ \n ${resupplyResult.resuppledConnectivityNodes.map(it => it.name).join(' -> ')}`);
206
+ console.log();
207
+ }
208
+ // Schaltzustand wiederherstellen
209
+ changedTerminals.forEach(it => it.connected = true);
210
+ evaluatedResupplyActions.set(faultConnectivityNode.getUUID(), resupplyResults);
211
+ }
212
+ return evaluatedResupplyActions;
213
+ }
214
+ static hasCycleInFeeder(feeder, terminals, switches) {
215
+ // 1. Relevante ACLineSegment-Terminals filtern
216
+ const relevantTerminals = terminals.filter(t => {
217
+ var _a;
218
+ return ((_a = t.getConnectivityNode().getSubstation().getPsrType()) === null || _a === void 0 ? void 0 : _a.getName()) !== "Umspannanlage" &&
219
+ t.connected &&
220
+ (t.conductingEquipment instanceof ACLineSegment_1.ACLineSegment || t.conductingEquipment instanceof Switch_1.Switch);
221
+ });
222
+ // 2. Geschlossene Switches mit einem Feeder
223
+ const closedSwitches = switches.filter(sw => !sw.open && sw.getAdditionalEquipmentContainer());
224
+ // 3. Union-Find Struktur für ConnectivityNodes (Komponentenbildung über Switches)
225
+ const parent = new Map();
226
+ function find(u) {
227
+ if (!parent.has(u))
228
+ parent.set(u, u);
229
+ if (parent.get(u) === u)
230
+ return u;
231
+ const root = find(parent.get(u));
232
+ parent.set(u, root); // Pfadkompression
233
+ return root;
234
+ }
235
+ function union(u, v) {
236
+ const rootU = find(u);
237
+ const rootV = find(v);
238
+ if (rootU !== rootV) {
239
+ parent.set(rootU, rootV);
240
+ // parent.set(rootV, rootU);
241
+ }
242
+ }
243
+ // 4. Union aller über Switches verbundenen ConnectivityNodes
244
+ for (const sw of closedSwitches) {
245
+ const swTerminals = terminals.filter(t => t.conductingEquipment.getUUID() === sw.getUUID() &&
246
+ t.connected);
247
+ if (swTerminals.length === 2) {
248
+ const [a, b] = swTerminals.map(t => t.getConnectivityNode().getUUID());
249
+ union(a, b);
250
+ }
251
+ }
252
+ // 5. Adjazenzliste basierend auf den "komprimierten" Knoten
253
+ const adjacency = new Map();
254
+ function addEdgeCompressed(a, b) {
255
+ const u = find(a);
256
+ const v = find(b);
257
+ if (u === v)
258
+ return; // kein echter Kantenübergang, gleiches Cluster
259
+ if (!adjacency.has(u))
260
+ adjacency.set(u, new Set());
261
+ if (!adjacency.has(v))
262
+ adjacency.set(v, new Set());
263
+ adjacency.get(u).add(v);
264
+ adjacency.get(v).add(u);
265
+ }
266
+ // 6. ACLineSegment-Verbindungen hinzufügen
267
+ const switchFeeders = closedSwitches.map(it => it.getAdditionalEquipmentContainer());
268
+ const feeders = new Set([feeder, ...switchFeeders]);
269
+ for (const feeder of feeders) {
270
+ for (const eq of feeder.getAdditionalGroupedEquipments().values()) {
271
+ if (!(eq instanceof ACLineSegment_1.ACLineSegment || eq instanceof Switch_1.Switch))
272
+ continue;
273
+ const lineTerminals = relevantTerminals.filter(t => t.conductingEquipment.getUUID() === eq.getUUID());
274
+ if (lineTerminals.length === 2) {
275
+ const [a, b] = lineTerminals.map(t => t.connectivityNode.getUUID());
276
+ addEdgeCompressed(a, b);
277
+ }
278
+ }
279
+ }
280
+ // 7. DFS-Zyklusprüfung auf dem komprimierten Graph
281
+ const visited = new Set();
282
+ function dfs(node, parent) {
283
+ visited.add(node);
284
+ for (const neighbor of adjacency.get(node) || []) {
285
+ if (neighbor === parent)
286
+ continue;
287
+ if (visited.has(neighbor))
288
+ return true;
289
+ if (dfs(neighbor, node))
290
+ return true;
291
+ }
292
+ return false;
293
+ }
294
+ for (const node of adjacency.keys()) {
295
+ if (!visited.has(node)) {
296
+ if (dfs(node, null))
297
+ return true;
298
+ }
299
+ }
300
+ return false;
301
+ }
302
+ static buildSupplyCombinations(arr) {
303
+ const result = [];
304
+ const n = arr.length;
305
+ const max = 1 << n;
306
+ for (let i = 1; i < max; i++) {
307
+ const subset = [];
308
+ for (let j = 0; j < n; j++) {
309
+ if ((i & (1 << j)) !== 0) {
310
+ subset.push(arr[j]);
311
+ }
312
+ }
313
+ result.push(subset);
314
+ }
315
+ return result;
316
+ }
317
+ static disconnectTerminals(faultConnectivityNode) {
318
+ const changedTerminals = new Array();
319
+ for (const terminal of faultConnectivityNode.terminals.values()) {
320
+ if (terminal.connected) {
321
+ terminal.connected = false;
322
+ changedTerminals.push(terminal);
323
+ }
324
+ }
325
+ return changedTerminals;
326
+ }
327
+ static applySwitchCombination(switchElements) {
328
+ for (const switchElement of switchElements) {
329
+ for (const terminal of switchElement.terminals) {
330
+ terminal.connected = !terminal.connected;
331
+ }
332
+ if (switchElement.swtch)
333
+ switchElement.swtch.open = !switchElement.swtch.open;
334
+ }
335
+ }
336
+ static isNodeSupplied(startNode, terminals, switches, externalInjections) {
337
+ var _a;
338
+ const visitedCN = new Set();
339
+ const visitedEquipments = new Set();
340
+ const equipmentIsOpen = new Set();
341
+ for (const sw of switches) {
342
+ if (sw.open)
343
+ equipmentIsOpen.add(sw.getUUID());
344
+ }
345
+ const cnToTerminals = new Map();
346
+ for (const t of terminals) {
347
+ if (!t.connected)
348
+ continue;
349
+ const cnUUID = t.connectivityNode.getUUID();
350
+ if (!cnToTerminals.has(cnUUID))
351
+ cnToTerminals.set(cnUUID, []);
352
+ cnToTerminals.get(cnUUID).push(t);
353
+ }
354
+ const stack = [startNode];
355
+ while (stack.length > 0) {
356
+ const currentCN = stack.pop();
357
+ const currentId = currentCN.getUUID();
358
+ if (visitedCN.has(currentId))
359
+ continue;
360
+ visitedCN.add(currentId);
361
+ const cnTerminals = (_a = cnToTerminals.get(currentId)) !== null && _a !== void 0 ? _a : [];
362
+ for (const terminal of cnTerminals) {
363
+ const eq = terminal.conductingEquipment;
364
+ const eqId = eq.getUUID();
365
+ if (equipmentIsOpen.has(eqId))
366
+ continue;
367
+ if (visitedEquipments.has(eqId))
368
+ continue;
369
+ visitedEquipments.add(eqId);
370
+ // Prüfe: Ist das Equipment ein ExternalNetworkInjection?
371
+ if (eq instanceof ExternalNetworkInjection_1.ExternalNetworkInjection) {
372
+ const isExternalNetworkInjection = externalInjections.some(ext => ext.getUUID() === eq.getUUID());
373
+ if (isExternalNetworkInjection)
374
+ return true;
375
+ }
376
+ // Traverse zu anderen Terminals
377
+ for (const otherTerminal of eq.terminals.values()) {
378
+ if (otherTerminal.getUUID() === terminal.getUUID())
379
+ continue;
380
+ if (!otherTerminal.connected)
381
+ continue;
382
+ const nextCN = otherTerminal.connectivityNode;
383
+ const nextId = nextCN.getUUID();
384
+ if (!visitedCN.has(nextId) && !stack.includes(nextCN)) {
385
+ stack.push(nextCN);
386
+ }
387
+ }
388
+ }
389
+ }
390
+ return false;
391
+ }
392
+ static findOpenedSwitchesToOtherFeeders(connectivityNodes, failedFeeder, baseModel) {
393
+ var _a;
394
+ const results = new Array();
395
+ // Relevante Switches finden
396
+ const switches = [...baseModel.switches.values(), ...baseModel.loadBreakSwitches.values(), ...baseModel.disconnectors.values(), ...baseModel.breakers.values()];
397
+ for (const swtch of switches) {
398
+ // Nur nicht verbundene Switsches
399
+ if (!swtch.open)
400
+ continue;
401
+ const ceFeeder = swtch.getAdditionalEquipmentContainer();
402
+ const cnFeeders = Array.from(swtch.terminals.values()).map(it => { var _a, _b, _c; return (_c = (_b = (_a = it.connectivityNode) === null || _a === void 0 ? void 0 : _a.getSubstation()) === null || _b === void 0 ? void 0 : _b.getNormalEnergizingFeeder()) === null || _c === void 0 ? void 0 : _c.getUUID(); });
403
+ // sind an der Switch-Kombination ACLineSegments von anderen Abgängen angeschlossen
404
+ const switchConnectivityNodes = Array.from(swtch.terminals.values()).map(it => it.connectivityNode);
405
+ const switchConductingEquipments = (_a = switchConnectivityNodes.map(it => {
406
+ return Array.from(it.terminals.values()).map(it => it.conductingEquipment);
407
+ })) === null || _a === void 0 ? void 0 : _a.flat();
408
+ cnFeeders.push(...switchConductingEquipments.map(it => { var _a; return (_a = it.getAdditionalEquipmentContainer()) === null || _a === void 0 ? void 0 : _a.getUUID(); }));
409
+ if ((ceFeeder === null || ceFeeder === void 0 ? void 0 : ceFeeder.getUUID()) !== failedFeeder.getUUID() && !cnFeeders.includes(failedFeeder.getUUID()))
410
+ continue;
411
+ results.push({
412
+ swtch,
413
+ terminals: Array.from(swtch.terminals.values()).filter(it => !it.connected)
414
+ });
415
+ }
416
+ return results;
417
+ }
418
+ static findOpenedTerminalsToOtherFeeders(connectivityNodes, failedFeeder, baseModel) {
419
+ var _a, _b, _c;
420
+ // Relevante Terminals finden
421
+ const results = new Array();
422
+ for (const terminal of baseModel.terminals.values()) {
423
+ // Nur nicht verbundene Terminals
424
+ if (terminal.connected)
425
+ continue;
426
+ // Verbundungen zu Switches werden übersprungen
427
+ if (terminal.conductingEquipment instanceof Switch_1.Switch)
428
+ continue;
429
+ if (connectivityNodes.includes(terminal.connectivityNode))
430
+ continue;
431
+ // Nur Terminals, die eine Verbindung zum Feeder des betrachteten ConnectivityNodes
432
+ const ceFeeder = (_a = terminal.conductingEquipment) === null || _a === void 0 ? void 0 : _a.getAdditionalEquipmentContainer();
433
+ const cnFeeder = (_c = (_b = terminal.connectivityNode) === null || _b === void 0 ? void 0 : _b.getSubstation()) === null || _c === void 0 ? void 0 : _c.getNormalEnergizingFeeder();
434
+ if ((ceFeeder === null || ceFeeder === void 0 ? void 0 : ceFeeder.getUUID()) !== failedFeeder.getUUID() && (cnFeeder === null || cnFeeder === void 0 ? void 0 : cnFeeder.getUUID()) !== failedFeeder.getUUID())
435
+ continue;
436
+ results.push({
437
+ swtch: null,
438
+ terminals: new Array(terminal)
439
+ });
440
+ }
441
+ return results;
442
+ }
443
+ }
444
+ exports.ContingencyAnalysisNeplanWestnetz = ContingencyAnalysisNeplanWestnetz;
445
+ //# sourceMappingURL=contingency-analysis.neplan.westnetz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contingency-analysis.neplan.westnetz.js","sourceRoot":"","sources":["../../../src/analysis/analysis-neplan/contingency-analysis.neplan.westnetz.ts"],"names":[],"mappings":";;;AAEA,qDAAkD;AAGlD,yFAAsF;AACtF,4DAAwD;AACxD,mEAAgE;AAGhE,yGAAsG;AACtG,uGAAoG;AACpG,yFAAsF;AACtF,8EAA2E;AAC3E,iFAA8E;AAC9E,mHAAgH;AAChH,kGAI0D;AAC1D,8EAA2E;AAC3E,iEAA4E;AAE5E,MAAa,iCAAiC;IAErC,MAAM,CAAC,0BAA0B,CAAC,cAA8B;;QACrE,MAAM,YAAY,GAAG,IAAI,KAAa,CAAC;QAEvC,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;YACpD,MAAM,QAAQ,GAAG,MAA6B,CAAC;YAC/C;;4EAEgE;YAChE,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,0CAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAA4B,CAAC;YAE9H,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,gCAAgC,CAAC,MAAM,EAAE,EAAE;gBACnE,iDAAiD;gBACjD,2DAA2D;gBAC3D,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;qBAC9D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,mBAAmB,YAAY,6BAAa,CAAC;qBAC3E,MAAM,CAAC;gBACV,yEAAyE;gBACzE,IAAI,uBAAuB,IAAI,CAAC;oBAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACxD;YAED,MAAM,eAAe,GAAwC,iCAAiC,CAAC,4BAA4B,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAEzJ,KAAK,MAAM,cAAc,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE;gBACrD,UAAU;gBACV,MAAM,UAAU,GAAG,MAAA,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,qBAAqB,CAAC,0CAAE,qBAAqB,CAAC;gBAE9F,yBAAyB;gBACzB,MAAM,iBAAiB,GAAG,MAAA,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC,0CAAE,kBAAkB,CAAC;gBAE/F,qDAAqD;gBACrD,MAAM,sBAAsB,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,YAAY,KAAK,yCAAmB,CAAC,aAAa,CAAC,CAAC;gBAE/H,kDAAkD;gBAClD,MAAM,0BAA0B,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,YAAY,KAAK,yCAAmB,CAAC,iBAAiB,CAAC,CAAC;gBACvI,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,CAAC,OAAO,EAAE,MAAM,UAAU,CAAC,IAAI;4EACI,sBAAsB,CAAC,MAAM;yEAChC,0BAA0B,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEtG,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAElD,oCAAoC;gBACpC,MAAM,OAAO,GAAG,UAA2C,CAAC;gBAE5D,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE;oBAC1D,MAAM,SAAS,GAAG,IAAI,mBAAQ,CAAC,0BAAW,CAAC,YAAY,EAAE,EAAE,WAAW,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACrI,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBACpC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,CAAC,CAAC;oBAExD,iBAAiB;oBACjB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,0BAA0B,CAAC,MAAM,EAAE,EAAE;wBACjE,IAAI,MAAM,YAAY,yCAAmB,EAAE;4BACzC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,MAA6B,CAAC,CAAC,CAAC;yBAEzF;6BAAM,IAAI,MAAM,YAAY,uCAAkB,EAAE;4BAC/C,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,mCAAmC,CAAC,MAA4B,CAAC,CAAC,CAAC;yBAChG;6BAAM,IAAI,MAAM,YAAY,uBAAU,EAAE;4BACvC,MAAM;yBACP;qBACF;oBACD,0BAA0B;oBAC1B,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,gCAAgC,CAAC,MAAM,EAAE,EAAE;wBACvE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,mCAAmC,CAAC,MAAM,CAAC,CAAC,CAAC;qBAC1E;oBAED,YAAY;oBACZ,MAAM,UAAU,GAAG,IAAI,iDAAuB,CAAC,0BAAW,CAAC,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACxH,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;oBAE1C,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;oBAEzD,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC3D,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;oBAEnD,+BAA+B;oBAC/B,MAAM,uBAAuB,GAAG,IAAA,iDAAmB,EAAC,0BAAW,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;oBACxK,cAAc,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;oBAEzD,iCAAiC;oBACjC,MAAM,yBAAyB,GAAG,IAAA,kDAAoB,EAAC,0BAAW,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,EAAE,mCAAgB,CAAC,IAAI,EAAE,uBAAuB,EAAE,YAAY,CAAC,CAAC;oBACxL,cAAc,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC;oBAE7D,0DAA0D;oBAC1D,KAAK,MAAM,QAAQ,IAAI,qBAAqB,CAAC,kBAAkB,EAAE;wBAC/D,YAAY,CAAC,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,QAAsB,CAAC,CAAC,CAAC;qBAClF;oBAED,2BAA2B;oBAC3B,MAAM,oBAAoB,GAAG,IAAA,iDAAmB,EAAC,0BAAW,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,wBAAwB,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;oBAChK,cAAc,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;oBAEtD,iCAAiC;oBACjC,MAAM,sBAAsB,GAAG,IAAA,kDAAoB,EAAC,0BAAW,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,EAAE,mCAAgB,CAAC,KAAK,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC;oBACnL,cAAc,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;oBAE1D,wCAAwC;oBACxC,KAAK,MAAM,QAAQ,IAAI,qBAAqB,CAAC,kBAAkB,EAAE;wBAC/D,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,QAAsB,CAAC,CAAC,CAAC;qBAC/E;oBAED,iCAAiC;oBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACpE,MAAM,YAAY,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;wBAC7D,2BAA2B;wBAC3B,MAAM,oBAAoB,GAAG,IAAA,iDAAmB,EAAC,0BAAW,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;wBACvK,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC;wBACpF,cAAc,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;wBAEtD,qBAAqB;wBACrB,IAAI,YAAY,CAAC,KAAK,EAAE;4BACtB,MAAM,sBAAsB,GAAG,IAAA,gDAAkB,EAAC,0BAAW,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,EAAE,mCAAgB,CAAC,KAAK,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC;4BACjL,cAAc,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;4BAC1D,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;yBACzE;wBAED,qBAAqB;wBACrB,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,SAAS,EAAE;4BAC7C,MAAM,sBAAsB,GAAG,IAAA,kDAAoB,EAAC,0BAAW,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,EAAE,mCAAgB,CAAC,KAAK,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC;4BACnL,cAAc,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;4BAC1D,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,QAAsB,CAAC,CAAC,CAAC;yBAC/E;qBAGF;iBAEF;aAEF;SACF;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QACnC,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;QAE9C,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzB;;;;;;0BAMoB,IAAA,yCAA0B,EAAC,QAAQ,EAAE,YAAY,CAAC;SACnE;SAAC,CAAC;IACT,CAAC;IAEM,MAAM,CAAC,4BAA4B,CAAC,uBAAgD,EAAE,SAA2B;;QAEtH,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAkC,CAAC;QAC3E,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAoB,CAAC;QAChF,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAA4B,CAAC;QAC7F,MAAM,yBAAyB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,CAAC,CAAoC,CAAC;QAChI,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAEhK,KAAK,MAAM,qBAAqB,IAAI,uBAAuB,EAAE;YAC3D,MAAM,gBAAgB,GAAG,iCAAiC,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;YACtG,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,aAAa,EAAE,CAAC;YAC/D,MAAM,cAAc,GAAG,CAAA,MAAA,gBAAgB,CAAC,UAAU,EAAE,0CAAE,OAAO,EAAE,MAAK,eAAe,CAAC;YAEpF,8CAA8C;YAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9I,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,MAAA,MAAA,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,WAAC,OAAA,MAAA,EAAE,CAAC,mBAAmB,0CAAE,+BAA+B,EAAE,CAAA,EAAA,CAAC,0CAAE,mBAAmB,0CAAE,+BAA+B,EAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,CAAC;YAElR,gEAAgE;YAChE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;;gBACtC,OAAO,CACH,CAAA,MAAA,EAAE,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,0CAAE,OAAO,EAAE,MAAK,eAAe,IAAI,8BAA8B;oBAChG,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC,IAAI,iCAAiC;qBACnG,MAAA,EAAE,CAAC,aAAa,EAAE,0CAAE,yBAAyB,EAAE,CAAA,CAAA,CAAC,wCAAwC;YAC5F,CAAC,CAAC,CAAC;YAEH,2CAA2C;YAC3C,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAC/C,CAAC,iCAAiC,CAAC,cAAc,CAC/C,EAAE,EACF,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAC9D,QAAQ,EACR,yBAAyB,CAC1B,CAAC,CAAC;YAEL,MAAM,aAAa,GAAG,iCAAiC,CAAC,iCAAiC,CAAC,CAAC,qBAAqB,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YAC5I,MAAM,YAAY,GAAG,iCAAiC,CAAC,gCAAgC,CAAC,CAAC,qBAAqB,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YAE1I,MAAM,eAAe,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,YAAY,CAAC,CAAC;YAE5D,mDAAmD;YACnD,MAAM,YAAY,GAAG,iCAAiC,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE9H,MAAM,OAAO,GAGP,EAAE,CAAC;YAET,MAAM,eAAe,GAAG,IAAI,KAAK,EAAmB,CAAC;YAErD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;gBAChC,yBAAyB;gBACzB,MAAM,CAAC,GAAG,IAAI,KAAK,EAAU,CAAC;gBAC9B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;oBACrB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC5C;gBAED,iCAAiC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAEhE,2BAA2B;gBAC3B,MAAM,KAAK,GAAG,iCAAiC,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAEpG,MAAM,cAAc,GAAoB;oBACtC,IAAI,EAAE,0BAAW,CAAC,YAAY,EAAE;oBAChC,qBAAqB,EAAE,qBAAqB;oBAC5C,kBAAkB,EAAE,gBAAgB;oBACpC,KAAK,EAAE,KAAK;oBACZ,cAAc,EAAE,KAAK;oBACrB,4BAA4B,EAAE,eAAe;oBAC7C,0BAA0B,EAAE,IAAI,KAAK,EAAoB;oBACzD,YAAY,EAAE,yCAAmB,CAAC,UAAU;iBAC7C,CAAC;gBACF,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACrC,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE;oBAChC,MAAM,SAAS,GAAG,iCAAiC,CAAC,cAAc,CAChE,EAAE,EACF,SAAS,EACT,QAAQ,EACR,yBAAyB,CAC1B,CAAC;oBAEF,IAAI,SAAS,EAAE;wBACb,cAAc,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACnD,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;qBAClD;iBACF;gBACD,eAAe;gBACf,IAAI,cAAc,CAAC,4BAA4B,CAAC,MAAM,KAAK,cAAc,CAAC,0BAA0B,CAAC,MAAM,EAAE;oBAC3G,cAAc,CAAC,YAAY,GAAG,yCAAmB,CAAC,aAAa,CAAC;iBACjE;qBAAM,IAAI,cAAc,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/D,cAAc,CAAC,YAAY,GAAG,yCAAmB,CAAC,iBAAiB,CAAC;iBACrE;gBAED,kCAAkC;gBAClC,iCAAiC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAEhE,OAAO,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;6BACxC,KAAK;sCACI,cAAc,CAAC,YAAY;uBAC1C,cAAc,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5F,OAAO,CAAC,GAAG,EAAE,CAAA;aACd;YAED,iCAAiC;YACjC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;YAEpD,wBAAwB,CAAC,GAAG,CAAC,qBAAqB,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;SAChF;QAED,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,MAAc,EAAE,SAAqB,EAAE,QAAkB;QACtF,+CAA+C;QAC/C,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;;YAC7C,OAAA,CAAA,MAAA,CAAC,CAAC,mBAAmB,EAAE,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,0CAAE,OAAO,EAAE,MAAK,eAAe;gBACnF,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,mBAAmB,YAAY,6BAAa,IAAI,CAAC,CAAC,mBAAmB,YAAY,eAAM,CAAC,CAAA;SAAA,CAC5F,CAAC;QAEF,4CAA4C;QAC5C,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,+BAA+B,EAAE,CAAC,CAAC;QAE/F,kFAAkF;QAClF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEzC,SAAS,IAAI,CAAC,CAAS;YACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAE,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,kBAAkB;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,SAAS,KAAK,CAAC,CAAS,EAAE,CAAS;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,KAAK,KAAK,KAAK,EAAE;gBACnB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACzB,4BAA4B;aAC7B;QACH,CAAC;QAED,6DAA6D;QAC7D,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE;YAC/B,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE;gBAChD,CAAC,CAAC,SAAS,CACZ,CAAC;YAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACb;SACF;QAED,4DAA4D;QAC5D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;QAEjD,SAAS,iBAAiB,CAAC,CAAS,EAAE,CAAS;YAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,+CAA+C;YACpE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YACnD,SAAS,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,2CAA2C;QAC3C,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,+BAA+B,EAAE,CAAkB,CAAC;QAEtG,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC;QAC5D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,8BAA8B,EAAE,CAAC,MAAM,EAAE,EAAE;gBACjE,IAAI,CAAC,CAAC,EAAE,YAAY,6BAAa,IAAI,EAAE,YAAY,eAAM,CAAC;oBAAE,SAAS;gBAErE,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACjD,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,CACjD,CAAC;gBAEF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC9B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;oBACpE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACzB;aACF;SACF;QAED,mDAAmD;QACnD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,SAAS,GAAG,CAAC,IAAY,EAAE,MAAqB;YAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAElB,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;gBAChD,IAAI,QAAQ,KAAK,MAAM;oBAAE,SAAS;gBAClC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACvC,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC;aACtC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACtB,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC;aAClC;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM,CAAC,uBAAuB,CAAI,GAAQ;QAC/C,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;QACrB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAQ,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC1B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;oBACxB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBACrB;aACF;YACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAAC,qBAAuC;QACvE,MAAM,gBAAgB,GAAG,IAAI,KAAK,EAAY,CAAC;QAC/C,KAAK,MAAM,QAAQ,IAAI,qBAAqB,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;YAC/D,IAAI,QAAQ,CAAC,SAAS,EAAE;gBACtB,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC3B,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACjC;SACF;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAAC,cAAoE;QACvG,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;YAC1C,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,SAAS,EAAE;gBAC9C,QAAQ,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;aAC1C;YACD,IAAI,aAAa,CAAC,KAAK;gBAAE,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;SAC/E;IACH,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,SAA2B,EAAE,SAAqB,EAAE,QAAkB,EAAE,kBAA8C;;QACjJ,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE5C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE;YACzB,IAAI,EAAE,CAAC,IAAI;gBAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;SAChD;QAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAsB,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;YACzB,IAAI,CAAC,CAAC,CAAC,SAAS;gBAAE,SAAS;YAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9D,aAAa,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACpC;QAED,MAAM,KAAK,GAAuB,CAAC,SAAS,CAAC,CAAC;QAE9C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;YAC/B,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAS;YACvC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEzB,MAAM,WAAW,GAAG,MAAA,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAI,EAAE,CAAC;YACvD,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE;gBAClC,MAAM,EAAE,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBACxC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;gBAE1B,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACxC,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC1C,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAE5B,yDAAyD;gBACzD,IAAI,EAAE,YAAY,mDAAwB,EAAE;oBAC1C,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClG,IAAI,0BAA0B;wBAAE,OAAO,IAAI,CAAC;iBAC7C;gBAED,gCAAgC;gBAChC,KAAK,MAAM,aAAa,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;oBACjD,IAAI,aAAa,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,OAAO,EAAE;wBAAE,SAAS;oBAC7D,IAAI,CAAC,aAAa,CAAC,SAAS;wBAAE,SAAS;oBACvC,MAAM,MAAM,GAAG,aAAa,CAAC,gBAAgB,CAAC;oBAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;oBAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAA0B,CAAC,EAAE;wBACzE,KAAK,CAAC,IAAI,CAAC,MAA0B,CAAC,CAAC;qBACxC;iBACF;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM,CAAC,gCAAgC,CAAC,iBAA0C,EAAE,YAAoB,EAAE,SAA2B;;QAK1I,MAAM,OAAO,GAAG,IAAI,KAAK,EAAiD,CAAC;QAC3E,4BAA4B;QAE5B,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAChK,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;YAC5B,iCAAiC;YACjC,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,SAAS;YAG1B,MAAM,QAAQ,GAAG,KAAK,CAAC,+BAA+B,EAAE,CAAC;YACzD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,mBAAC,OAAA,MAAA,MAAA,MAAA,EAAE,CAAC,gBAAgB,0CAAE,aAAa,EAAE,0CAAE,yBAAyB,EAAE,0CAAE,OAAO,EAAE,CAAA,EAAA,CAAC,CAAC;YAC/I,mFAAmF;YACnF,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;YACpG,MAAM,0BAA0B,GAAG,MAAA,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAClE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;YAC7E,CAAC,CAAC,0CAAE,IAAI,EAAE,CAAC;YACX,SAAS,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,WAAC,OAAA,MAAA,EAAE,CAAC,+BAA+B,EAAE,0CAAE,OAAO,EAAE,CAAA,EAAA,CAAC,CAAC,CAAC;YAEzG,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,EAAE,MAAK,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAAE,SAAS;YAG5G,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK;gBACL,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAoB;aAC/F,CAAC,CAAC;SAEJ;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,iCAAiC,CAAC,iBAA0C,EAAE,YAAoB,EAAE,SAA2B;;QAK3I,6BAA6B;QAC7B,MAAM,OAAO,GAAG,IAAI,KAAK,EAAiD,CAAC;QAC3E,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;YACnD,iCAAiC;YACjC,IAAI,QAAQ,CAAC,SAAS;gBAAE,SAAS;YAEjC,+CAA+C;YAC/C,IAAI,QAAQ,CAAC,mBAAmB,YAAY,eAAM;gBAAE,SAAS;YAE7D,IAAI,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAoC,CAAC;gBAAE,SAAS;YAExF,mFAAmF;YACnF,MAAM,QAAQ,GAAG,MAAA,QAAQ,CAAC,mBAAmB,0CAAE,+BAA+B,EAAY,CAAC;YAC3F,MAAM,QAAQ,GAAG,MAAA,MAAA,QAAQ,CAAC,gBAAgB,0CAAE,aAAa,EAAE,0CAAE,yBAAyB,EAAE,CAAC;YAEzF,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,EAAE,MAAK,YAAY,CAAC,OAAO,EAAE,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,EAAE,MAAK,YAAY,CAAC,OAAO,EAAE;gBAAE,SAAS;YAE/G,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,IAAI,KAAK,CAAW,QAAoB,CAAC;aACrD,CAAC,CAAC;SACJ;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAjgBD,8EAigBC"}
@@ -334,9 +334,6 @@ function performContingencyAnalysisV2(modelContainer) {
334
334
  insertSPARQL.push(switchingPlanRestore.setKind(switchAction.kind));
335
335
  modelContainer.addSwitchingPlan(switchingPlanRestore);
336
336
  /** SwitchingAction restore*/
337
- if (!switchAction.switchObjects) {
338
- console.log();
339
- }
340
337
  for (const cimSwitchObject of switchAction.switchObjects) {
341
338
  //const cimSwitchObject = modelContainer.getObject(switchObjectUUID);
342
339
  if (cimSwitchObject) {
@@ -1 +1 @@
1
- {"version":3,"file":"neplan-contingency-analysis.js","sourceRoot":"","sources":["../../../src/etl/etl-neplan/neplan-contingency-analysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"neplan-contingency-analysis.js","sourceRoot":"","sources":["../../../src/etl/etl-neplan/neplan-contingency-analysis.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -332,6 +332,7 @@ export * from './rdf/rdf-interfaces.js';
332
332
  export * from './utils2/fuseki.utils.js';
333
333
  export { rateDigiONS, IDigiOnsValuation, IDigiOnsValuationVector, IDigiOnsResult, IStationanbindung, IDigiOnsReport } from './analysis/analysis-neplan/digi-ons.js';
334
334
  export { getInsertDataPartStatement, getDeleteDataPartStatement } from './util/sparql/sparql-utils.js';
335
+ export { ContingencyAnalysisNeplanWestnetz } from './analysis/analysis-neplan/contingency-analysis.neplan.westnetz.js';
335
336
  export { SwitchingPlanPurpose } from './constants/cim-constants.js';
336
337
  export { LoadTypes } from './constants/cim-constants.js';
337
338
  export { ZuWoNames } from './constants/cim-constants.js';
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ exports.EVStationInfo = exports.EVWireInfo = exports.OverheadWireInfo = exports.
6
6
  exports.AMPRIONBay = exports.INTEGRALSubstation = exports.AMPRIONErpProjectStructure = exports.AMPRIONErpProject = exports.AMPRIONConstructionProjectPlan = exports.AMPRIONConstructionProjectBundle = exports.AMPRIONDerivedErpProjectPhase = exports.AMPRIONErpProjectPhase = exports.AMPRIONConstructionProject = exports.AMPRIONModelContainer = exports.Status = exports.UnitSymbol = exports.UnitMultiplier = exports.CapacitancePerLength = exports.ReactancePerLength = exports.ResistancePerLength = exports.ApparentPower = exports.CurrentFlow = exports.Voltage = exports.SwitchActionKind = exports.EVTerminalAction = exports.SwitchAction = exports.SwitchingPlan = exports.Outage = exports.WNFaultConnectivityNode = exports.Fault = exports.ModelOperation = exports.IncrementalDatasetArg = exports.IncrementalDatasetArgDescription = exports.ModelOperationDescription = exports.ChangeSetMember = exports.ChangeSet = exports.ObjectReverseModification = exports.ObjectModification = exports.ObjectDeletion = exports.ObjectCreation = exports.DataSet = exports.ShuntCompensatorInfo = exports.SwitchInfo = exports.TransformerEndInfo = exports.INTEGRALEquivalentInjection = exports.AMPRIONLocation = exports.AMPRIONAddress = exports.AMPRIONShuntCompensatorInfo = exports.AMPRIONSwitchInfo = exports.INTEGRALTapChangerInfo = exports.INTEGRALPetersenCoilInfo = exports.INTEGRALPowerTransformerEndInfo = exports.PowerTransformerInfo = exports.WNWireInfo = void 0;
7
7
  exports.NS_PREFIX_AMPRION = exports.NS_PREFIX_ENERVANCE = exports.NS_PREFIX_CIM = exports.CommonUtils = exports.ImportUtils = exports.RdfModelUtils = exports.GeodataUtil = exports.SparqlType = exports.SparqlUtils = exports.RdfProperty = exports.RdfClass = exports.RdfBase = exports.RdfEnum = exports.RdfModel = exports.INTEGRALMultiplierFactor = exports.INTEGRALModelContainer = exports.AMPRIONThermalConnectionCurrentLimit = exports.AMPRIONThermalCurrentLimit = exports.AMPRIONProtectionCurrentLimit = exports.AMPRIONMaxInstrumentalCurrentLimit = exports.AMPRIONACLineSegment = exports.AMPRIONLine = exports.AMPRIONStatusTypeKind = exports.AMPRIONLineDistrict = exports.AMPRIONContractingAuthority = exports.AMPRIONServiceProvider = exports.AMPRIONLeaseholder = exports.AMPRIONAssetCommunicationEquipment = exports.AMPRIONAssetConstructionMaintenance = exports.AMPRIONAuxiliaryDeviceInfo = exports.AMPRIONAssetPrimaryEquipment = exports.AMPRIONAssetSecondaryEquipment = exports.AMPRIONTeam = exports.AMPRIONPowerTransformerInfo = exports.AMPRIONAdditionalBayValue = exports.AMPRIONAdditionalAuxiliaryDeviceValue = exports.AMPRIONAdditionalRotatingPhaseShifterValue = exports.AMPRIONAddtitionalShuntCapacitorValue = exports.AMPRIONAdditionalStatcomValue = exports.AMPRIONAdditionalShuntReactorValue = exports.AMPRIONAdditionalCompensatorValue = exports.AMPRIONAdditionalTransformerValue = exports.AMPRIONAdditionalAssetValue = exports.AMPRIONFacility = exports.AMPRIONTower = exports.AMPRIONWire = exports.AMPRIONSpanField = exports.AMPRIONConstructionContainer = exports.AMPRIONState = exports.AMPRIONCountry = void 0;
8
8
  exports.Type = exports.GraphObject = exports.Graph = exports.createTempDirPath = exports.ConverterPowerSystemDataModel = exports.performContingencyAnalysisV2 = exports.performContingencyAnalysis = exports.createFeederLines = exports.processNetzlastenData = exports.cutACLineSegmentsGeom = exports.neplanGeoJSON2CIM = exports.determineEnergySourceTypesPSDM = exports.getObjectByClass = exports.getObjectByProperty = exports.getActivityRecordEventByTypeName = exports.createNewFacilityStatement = exports.createRatioTapChangerTablePoint = exports.createSvStatus = exports.createConnection = exports.createBaseVoltageIfNotExists = exports.getSubgeoregionByName = exports.getGeoregionByName = exports.createSubgeoregion = exports.createGeoregion = exports.splitArrayIntoChunks = exports.postNodeFetchData = exports.SPARQL_COMPOUND_HANDLER = exports.checkGraphName = exports.getNewInsertSPARQL = exports.WNSwitchTypeKind = exports.validateACLineSegments = exports.ObjectFactory = exports.RegulatingCondEq = exports.WNEnergyConsumer = exports.WNZUWOPriority = exports.WNZUWOImportanceScore = exports.WNZUWOHealthScore = exports.WNOutage = exports.ICircleShapeInfo = exports.ITransformerShapeInfo = exports.IRectangleShapeInfo = exports.RDF_XML = exports.DiagramLayoutTypes = exports.ClassNames = exports.PROPERTY_HANDLER_WESTNETZNEPLAN_CONFIG = exports.CimModelUtils = exports.NS_PREFIX_AFN = exports.NS_PREFIX_APF = exports.NS_PREFIX_RDF = exports.NS_PREFIX_ENTSOE = void 0;
9
- exports.EVAssetOriginKind = exports.ContingencyUtil = exports.BusinessType = exports.CimAssetAliasNames = exports.ZuWoNames = exports.LoadTypes = exports.SwitchingPlanPurpose = exports.getDeleteDataPartStatement = exports.getInsertDataPartStatement = exports.rateDigiONS = exports.GraphTreeObject = exports.GraphTreeNode = exports.GraphTreeEdge = exports.GraphTree = exports.GraphNode = exports.GraphEdge = exports.Connection = void 0;
9
+ exports.EVAssetOriginKind = exports.ContingencyUtil = exports.BusinessType = exports.CimAssetAliasNames = exports.ZuWoNames = exports.LoadTypes = exports.SwitchingPlanPurpose = exports.ContingencyAnalysisNeplanWestnetz = exports.getDeleteDataPartStatement = exports.getInsertDataPartStatement = exports.rateDigiONS = exports.GraphTreeObject = exports.GraphTreeNode = exports.GraphTreeEdge = exports.GraphTree = exports.GraphNode = exports.GraphEdge = exports.Connection = void 0;
10
10
  const tslib_1 = require("tslib");
11
11
  var EVWireObject_1 = require("./model/extensions/enervance/assets/EVWireObject.js");
12
12
  Object.defineProperty(exports, "EVWireObject", { enumerable: true, get: function () { return EVWireObject_1.EVWireObject; } });
@@ -641,6 +641,8 @@ Object.defineProperty(exports, "rateDigiONS", { enumerable: true, get: function
641
641
  var sparql_utils_3 = require("./util/sparql/sparql-utils.js");
642
642
  Object.defineProperty(exports, "getInsertDataPartStatement", { enumerable: true, get: function () { return sparql_utils_3.getInsertDataPartStatement; } });
643
643
  Object.defineProperty(exports, "getDeleteDataPartStatement", { enumerable: true, get: function () { return sparql_utils_3.getDeleteDataPartStatement; } });
644
+ var contingency_analysis_neplan_westnetz_1 = require("./analysis/analysis-neplan/contingency-analysis.neplan.westnetz.js");
645
+ Object.defineProperty(exports, "ContingencyAnalysisNeplanWestnetz", { enumerable: true, get: function () { return contingency_analysis_neplan_westnetz_1.ContingencyAnalysisNeplanWestnetz; } });
644
646
  var cim_constants_2 = require("./constants/cim-constants.js");
645
647
  Object.defineProperty(exports, "SwitchingPlanPurpose", { enumerable: true, get: function () { return cim_constants_2.SwitchingPlanPurpose; } });
646
648
  var cim_constants_3 = require("./constants/cim-constants.js");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;AAMA,iFAAgF;AAAvE,4GAAA,YAAY,OAAA;AACrB,8DAA6D;AAApD,8GAAA,aAAa,OAAA;AAEtB,kEAAiE;AAAxD,oHAAA,gBAAgB,OAAA;AACzB,wEAAuE;AAA9D,0HAAA,mBAAmB,OAAA;AAC5B,gDAA+C;AAAtC,kGAAA,OAAO,OAAA;AAChB,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AACpB,oDAAmD;AAA1C,sGAAA,SAAS,OAAA;AAClB,wEAAuE;AAA9D,0HAAA,mBAAmB,OAAA;AAC5B,qDAAoD;AAA3C,sGAAA,SAAS,OAAA;AAClB,6DAA4D;AAAnD,8GAAA,aAAa,OAAA;AACtB,iEAAgE;AAAvD,kHAAA,eAAe,OAAA;AACxB,sEAAqE;AAA5D,wHAAA,kBAAkB,OAAA;AAE3B,sDAAqD;AAA5C,wGAAA,UAAU,OAAA;AACnB,0DAAyD;AAAhD,4GAAA,YAAY,OAAA;AACrB,wCAAuC;AAA9B,0FAAA,GAAG,OAAA;AACZ,8CAA6C;AAApC,gGAAA,MAAM,OAAA;AACf,6EAA4E;AAAnE,oGAAA,QAAQ,OAAA;AAEjB,2CAA0C;AAAjC,4FAAA,IAAI,OAAA;AAEb,sEAAqE;AAA5D,wHAAA,kBAAkB,OAAA;AAC3B,4EAA2E;AAAlE,8HAAA,qBAAqB,OAAA;AAE9B,6CAA4C;AAAnC,8FAAA,KAAK,OAAA;AAEd,kEAAiE;AAAxD,oHAAA,gBAAgB,OAAA;AACzB,iGAAgG;AAAvF,wHAAA,kBAAkB,OAAA;AAC3B,qFAAoF;AAA3E,0GAAA,WAAW,OAAA;AACpB,oFAAmF;AAA1E,sIAAA,yBAAyB,OAAA;AAClC,6DAA4D;AAAnD,8GAAA,aAAa,OAAA;AACtB,sFAAqF;AAA5E,kHAAA,eAAe,OAAA;AACxB,4FAA2F;AAAlF,wHAAA,kBAAkB,OAAA;AAE3B,qFAAoF;AAA3E,gHAAA,cAAc,OAAA;AACvB,yFAAwF;AAA/E,oHAAA,gBAAgB,OAAA;AAGzB,+EAA8E;AAArE,sHAAA,iBAAiB,OAAA;AAC1B,yEAAwE;AAA/D,gHAAA,cAAc,OAAA;AACvB,6EAA4E;AAAnE,oHAAA,gBAAgB,OAAA;AACzB,6EAA4E;AAAnE,oHAAA,gBAAgB,OAAA;AAEzB,gFAA+E;AAAtE,wHAAA,kBAAkB,OAAA;AAC3B,0EAAyE;AAAhE,kHAAA,eAAe,OAAA;AAExB,+EAA8E;AAArE,0HAAA,mBAAmB,OAAA;AAC5B,yEAAwE;AAA/D,oHAAA,gBAAgB,OAAA;AAEzB,mDAAkD;AAAzC,oGAAA,QAAQ,OAAA;AACjB,+CAA8C;AAArC,gGAAA,MAAM,OAAA;AACf,uEAAsE;AAA7D,wHAAA,kBAAkB,OAAA;AAC3B,iDAAgD;AAAvC,kGAAA,OAAO,OAAA;AAChB,mDAAkD;AAAzC,oGAAA,QAAQ,OAAA;AACjB,qEAAoE;AAA3D,sHAAA,iBAAiB,OAAA;AAC1B,6CAA4C;AAAnC,8FAAA,KAAK,OAAA;AAEd,mEAAkE;AAAzD,wGAAA,UAAU,OAAA;AACnB,2DAA0D;AAAjD,gGAAA,MAAM,OAAA;AACf,yDAAwD;AAA/C,8FAAA,KAAK,OAAA;AAGd,+CAA8C;AAArC,gGAAA,MAAM,OAAA;AACf,2DAA0D;AAAjD,4GAAA,YAAY,OAAA;AACrB,iEAAgE;AAAvD,kHAAA,eAAe,OAAA;AAExB,yCAAwC;AAA/B,0FAAA,GAAG,OAAA;AACZ,+CAA8C;AAArC,gGAAA,MAAM,OAAA;AAEf,mEAAkE;AAAzD,oHAAA,gBAAgB,OAAA;AACzB,+DAA8D;AAArD,gHAAA,cAAc,OAAA;AACvB,2DAA0D;AAAjD,4GAAA,YAAY,OAAA;AACrB,mFAAkF;AAAzE,oIAAA,wBAAwB,OAAA;AACjC,+EAA8E;AAArE,0HAAA,mBAAmB,OAAA;AAC5B,iEAAgE;AAAvD,kHAAA,eAAe,OAAA;AACxB,uEAAsE;AAA7D,wHAAA,kBAAkB,OAAA;AAC3B,+EAA8E;AAArE,gIAAA,sBAAsB,OAAA;AAC/B,yEAAwE;AAA/D,0HAAA,mBAAmB,OAAA;AAC5B,iFAAgF;AAAvE,kIAAA,uBAAuB,OAAA;AAChC,6EAA4E;AAAnE,8HAAA,qBAAqB,OAAA;AAE9B,8EAAiF;AAA5D,wHAAA,cAAc,OAAA;AAEnC,wEAAuE;AAA9D,sHAAA,iBAAiB,OAAA;AAC1B,oEAAmE;AAA1D,kHAAA,eAAe,OAAA;AAExB,4DAA2D;AAAlD,oGAAA,QAAQ,OAAA;AACjB,8DAA6D;AAApD,sGAAA,SAAS,OAAA;AAClB,kEAAiE;AAAxD,0GAAA,WAAW,OAAA;AACpB,kEAAiE;AAAxD,0GAAA,WAAW,OAAA;AACpB,8DAA6D;AAApD,sGAAA,SAAS,OAAA;AAElB,0DAAyD;AAAhD,4GAAA,YAAY,OAAA;AACrB,kDAAiD;AAAxC,oGAAA,QAAQ,OAAA;AACjB,oDAAmD;AAA1C,sGAAA,SAAS,OAAA;AAClB,2EAA0E;AAAjE,wGAAA,UAAU,OAAA;AACnB,mDAAkD;AAAzC,kGAAA,OAAO,OAAA;AAChB,4EAA2E;AAAlE,sGAAA,SAAS,OAAA;AAClB,+DAA8D;AAArD,8GAAA,aAAa,OAAA;AACtB,yEAAwE;AAA/D,wHAAA,kBAAkB,OAAA;AAC3B,mEAAkE;AAAzD,kHAAA,eAAe,OAAA;AAExB,MAAM;AACN,oEAAmE;AAA1D,oHAAA,gBAAgB,OAAA;AACzB,oDAAmD;AAA1C,oGAAA,QAAQ,OAAA;AACjB,mFAAkF;AAAzE,wGAAA,UAAU,OAAA;AACnB,8DAA6D;AAApD,8GAAA,aAAa,OAAA;AAEtB,mEAAkE;AAAzD,oHAAA,gBAAgB,OAAA;AACzB,2DAA0D;AAAjD,4GAAA,YAAY,OAAA;AACrB,+DAA8D;AAArD,gHAAA,cAAc,OAAA;AACvB,yEAAwE;AAA/D,0HAAA,mBAAmB,OAAA;AAC5B,qEAAoE;AAA3D,sHAAA,iBAAiB,OAAA;AAE1B,uDAAsD;AAA7C,wGAAA,UAAU,OAAA;AACnB,qEAAoE;AAA3D,sHAAA,iBAAiB,OAAA;AAC1B,iEAAgE;AAAvD,kHAAA,eAAe,OAAA;AACxB,2EAA0E;AAAjE,4HAAA,oBAAoB,OAAA;AAC7B,qFAAoF;AAA3E,sIAAA,yBAAyB,OAAA;AAClC,2EAA0E;AAAjE,4HAAA,oBAAoB,OAAA;AAC7B,qFAAoF;AAA3E,sIAAA,yBAAyB,OAAA;AAClC,qEAAoE;AAA3D,sHAAA,iBAAiB,OAAA;AAE1B,+EAA8E;AAArE,oHAAA,gBAAgB,OAAA;AAEzB,qFAAoF;AAA3E,0HAAA,mBAAmB,OAAA;AAC5B,uFAAsF;AAA7E,4HAAA,oBAAoB,OAAA;AAC7B,uEAAsE;AAA7D,4GAAA,YAAY,OAAA;AACrB,mFAAkF;AAAzE,wHAAA,kBAAkB,OAAA;AAC3B,yGAAwG;AAA/F,8IAAA,6BAA6B,OAAA;AACtC,yEAAwE;AAA/D,8GAAA,aAAa,OAAA;AAEtB,aAAa;AACb,oEAAmE;AAA1D,gHAAA,cAAc,OAAA;AACvB,4EAA2E;AAAlE,wHAAA,kBAAkB,OAAA;AAC3B,sEAAqE;AAA5D,kHAAA,eAAe,OAAA;AACxB,kFAAiF;AAAxE,8HAAA,qBAAqB,OAAA;AAE9B,oFAAmF;AAA1E,gIAAA,sBAAsB,OAAA;AAE/B,8EAA6E;AAApE,0HAAA,mBAAmB,OAAA;AAC5B,kFAAiF;AAAxE,8HAAA,qBAAqB,OAAA;AAC9B,0DAAyD;AAAhD,sGAAA,SAAS,OAAA;AAClB,sEAAqE;AAA5D,kHAAA,eAAe,OAAA;AACxB,kFAAiF;AAAxE,8HAAA,qBAAqB,OAAA;AAC9B,8EAA6E;AAApE,0HAAA,mBAAmB,OAAA;AAC5B,0FAAyF;AAAhF,sIAAA,yBAAyB,OAAA;AAClC,4DAA2D;AAAlD,wGAAA,UAAU,OAAA;AACnB,wDAAuD;AAA9C,oGAAA,QAAQ,OAAA;AAEjB,sDAAqD;AAA5C,wGAAA,UAAU,OAAA;AACnB,4CAA2C;AAAlC,8FAAA,KAAK,OAAA;AACd,oDAAmD;AAA1C,sGAAA,SAAS,OAAA;AAClB,iFAAgF;AAAvE,kIAAA,uBAAuB,OAAA;AAEhC,eAAe;AACf,8CAA6C;AAApC,8FAAA,KAAK,OAAA;AACd,oDAAmD;AAA1C,oGAAA,QAAQ,OAAA;AACjB,mFAAkF;AAAzE,wGAAA,UAAU,OAAA;AACnB,4DAA2D;AAAlD,4GAAA,YAAY,OAAA;AACrB,+EAA8E;AAArE,gIAAA,sBAAsB,OAAA;AAE/B,kEAAiE;AAAxD,kHAAA,eAAe,OAAA;AACxB,gEAA+D;AAAtD,gHAAA,cAAc,OAAA;AACvB,0EAAyE;AAAhE,0HAAA,mBAAmB,OAAA;AAC5B,wFAAuF;AAA9E,wIAAA,0BAA0B,OAAA;AAEnC,2FAA0F;AAAjF,sHAAA,iBAAiB,OAAA;AAC1B,0DAAyD;AAAhD,0GAAA,WAAW,OAAA;AACpB,+FAA8F;AAArF,kHAAA,eAAe,OAAA;AACxB,yGAAwG;AAA/F,8HAAA,qBAAqB,OAAA;AAC9B,mGAAkG;AAAzF,sHAAA,iBAAiB,OAAA;AAE1B,4DAA2D;AAAlD,4GAAA,YAAY,OAAA;AAErB,wDAAuD;AAA9C,wGAAA,UAAU,OAAA;AACnB,sDAAqD;AAA5C,sGAAA,SAAS,OAAA;AAElB,gEAA+D;AAAtD,gHAAA,cAAc,OAAA;AACvB,oEAAmE;AAA1D,oHAAA,gBAAgB,OAAA;AAEzB,+EAA8E;AAArE,0GAAA,WAAW,OAAA;AACpB,2FAA0F;AAAjF,sHAAA,iBAAiB,OAAA;AAC1B,YAAY;AACZ,yDAAwD;AAA/C,sGAAA,SAAS,OAAA;AAClB,uDAAsD;AAA7C,oGAAA,QAAQ,OAAA;AACjB,yDAAwD;AAA/C,sGAAA,SAAS,OAAA;AAClB,uEAAsE;AAA7D,oHAAA,gBAAgB,OAAA;AACzB,gFAA+E;AAAtE,wGAAA,UAAU,OAAA;AACnB,qFAAoF;AAA3E,8GAAA,aAAa,OAAA;AACtB,mFAAkF;AAAzE,wGAAA,UAAU,OAAA;AACnB,+EAA8E;AAArE,4HAAA,oBAAoB,OAAA;AAC7B,yHAAwH;AAA/G,kJAAA,+BAA+B,OAAA;AACxC,2GAA0G;AAAjG,oIAAA,wBAAwB,OAAA;AACjC,uGAAsG;AAA7F,gIAAA,sBAAsB,OAAA;AAC/B,4FAA2F;AAAlF,sHAAA,iBAAiB,OAAA;AAC1B,gHAA+G;AAAtG,0IAAA,2BAA2B,OAAA;AAEpC,mFAAkF;AAAzE,gHAAA,cAAc,OAAA;AACvB,qFAAoF;AAA3E,kHAAA,eAAe,OAAA;AAExB,mHAAkH;AAAzG,0IAAA,2BAA2B,OAAA;AAEpC,2EAA0E;AAAjE,wHAAA,kBAAkB,OAAA;AAC3B,2DAA0D;AAAjD,wGAAA,UAAU,OAAA;AACnB,+EAA8E;AAArE,4HAAA,oBAAoB,OAAA;AAE7B,mBAAmB;AACnB,4DAA2D;AAAlD,kGAAA,OAAO,OAAA;AAChB,0EAAyE;AAAhE,gHAAA,cAAc,OAAA;AACvB,0EAAyE;AAAhE,gHAAA,cAAc,OAAA;AACvB,kFAAiF;AAAxE,wHAAA,kBAAkB,OAAA;AAC3B,gGAA+F;AAAtF,sIAAA,yBAAyB,OAAA;AAClC,gEAA+D;AAAtD,sGAAA,SAAS,OAAA;AAClB,4EAA2E;AAAlE,kHAAA,eAAe,OAAA;AAExB,mBAAmB;AACnB,gGAA+F;AAAtF,sIAAA,yBAAyB,OAAA;AAClC,8GAA6G;AAApG,oJAAA,gCAAgC,OAAA;AACzC,wFAAuF;AAA9E,8HAAA,qBAAqB,OAAA;AAC9B,0EAAyE;AAAhE,gHAAA,cAAc,OAAA;AAGvB,MAAM;AACN,8CAA6C;AAApC,8FAAA,KAAK,OAAA;AACd,6GAA4G;AAAnG,kIAAA,uBAAuB,OAAA;AAEhC,oDAAmD;AAA1C,gGAAA,MAAM,OAAA;AACf,kEAAiE;AAAxD,8GAAA,aAAa,OAAA;AACtB,gEAA+D;AAAtD,4GAAA,YAAY,OAAA;AACrB,6FAA4F;AAAnF,oHAAA,gBAAgB,OAAA;AACzB,wEAAuE;AAA9D,oHAAA,gBAAgB,OAAA;AACzB,aAAa;AACb,kDAAiD;AAAxC,kGAAA,OAAO,OAAA;AAEhB,0DAAyD;AAAhD,0GAAA,WAAW,OAAA;AACpB,8DAA6D;AAApD,8GAAA,aAAa,OAAA;AACtB,0EAAyE;AAAhE,0HAAA,mBAAmB,OAAA;AAC5B,wEAAuE;AAA9D,wHAAA,kBAAkB,OAAA;AAC3B,4EAA2E;AAAlE,4HAAA,oBAAoB,OAAA;AAE7B,gEAA+D;AAAtD,gHAAA,cAAc,OAAA;AACvB,wDAAuD;AAA9C,wGAAA,UAAU,OAAA;AAEnB,WAAW;AACX,gDAA+C;AAAtC,gGAAA,MAAM,OAAA;AAGf,UAAU;AACV,uFAAsF;AAA7E,8HAAA,qBAAqB,OAAA;AAC9B,4GAA2G;AAAlG,wIAAA,0BAA0B,OAAA;AACnC,oGAAmG;AAA1F,gIAAA,sBAAsB,OAAA;AAC/B,kHAAiH;AAAxG,8IAAA,6BAA6B,OAAA;AACtC,wHAAuH;AAA9G,oJAAA,gCAAgC,OAAA;AACzC,oHAAmH;AAA1G,gJAAA,8BAA8B,OAAA;AACvC,0FAAyF;AAAhF,sHAAA,iBAAiB,OAAA;AAC1B,4GAA2G;AAAlG,wIAAA,0BAA0B,OAAA;AAGnC,yFAAwF;AAA/E,wHAAA,kBAAkB,OAAA;AAC3B,yEAAwE;AAA/D,wGAAA,UAAU,OAAA;AAEnB,mFAAkF;AAAzE,gHAAA,cAAc,OAAA;AACvB,+EAA8E;AAArE,4GAAA,YAAY,OAAA;AAErB,+GAA8G;AAArG,4IAAA,4BAA4B,OAAA;AACrC,uFAAsF;AAA7E,oHAAA,gBAAgB,OAAA;AACzB,6EAA4E;AAAnE,0GAAA,WAAW,OAAA;AACpB,+EAA8E;AAArE,4GAAA,YAAY,OAAA;AACrB,qFAAoF;AAA3E,kHAAA,eAAe,OAAA;AACxB,2HAEqF;AADnF,0IAAA,2BAA2B,OAAA;AAE7B,uIAE2F;AADzF,sJAAA,iCAAiC,OAAA;AAEnC,uIAE2F;AADzF,sJAAA,iCAAiC,OAAA;AAEnC,yIAE4F;AAD1F,wJAAA,kCAAkC,OAAA;AAEpC,+HAEuF;AADrF,8IAAA,6BAA6B,OAAA;AAE/B,+IAE+F;AAD7F,8JAAA,qCAAqC,OAAA;AAEvC,yJAEoG;AADlG,wKAAA,0CAA0C,OAAA;AAE5C,+IAE+F;AAD7F,8JAAA,qCAAqC,OAAA;AAGvC,uHAEmF;AADjF,sIAAA,yBAAyB,OAAA;AAG3B,gHAA+G;AAAtG,0IAAA,2BAA2B,OAAA;AACpC,6EAA4E;AAAnE,0GAAA,WAAW,OAAA;AACpB,mHAAkH;AAAzG,gJAAA,8BAA8B,OAAA;AACvC,+GAA8G;AAArG,4IAAA,4BAA4B,OAAA;AACrC,8GAA6G;AAApG,wIAAA,0BAA0B,OAAA;AACnC,6HAE+E;AAD7E,0JAAA,mCAAmC,OAAA;AAErC,2HAE8E;AAD5E,wJAAA,kCAAkC,OAAA;AAEpC,2FAA0F;AAAjF,wHAAA,kBAAkB,OAAA;AAC3B,mGAAkG;AAAzF,gIAAA,sBAAsB,OAAA;AAC/B,6GAA4G;AAAnG,0IAAA,2BAA2B,OAAA;AACpC,6FAA4F;AAAnF,0HAAA,mBAAmB,OAAA;AAC5B,iGAAgG;AAAvF,8HAAA,qBAAqB,OAAA;AAC9B,2EAA0E;AAAjE,0GAAA,WAAW,OAAA;AACpB,8FAA6F;AAApF,4HAAA,oBAAoB,OAAA;AAE7B,sIAEyF;AADvF,wJAAA,kCAAkC,OAAA;AAEpC,4HAEoF;AADlF,8IAAA,6BAA6B,OAAA;AAE/B,sHAAqH;AAA5G,wIAAA,0BAA0B,OAAA;AACnC,0IAE2F;AADzF,4JAAA,oCAAoC,OAAA;AAGtC,aAAa;AACb,yFAAwF;AAA/E,gIAAA,sBAAsB,OAAA;AAC/B,wGAAuG;AAA9F,oIAAA,wBAAwB,OAAA;AAEjC,4EAAkD;AAClD,iFAAuD;AACvD,8EAAoD;AACpD,uFAA6D;AAC7D,kGAAwE;AAExE,yEAA+C;AAE/C,WAAW;AACX,wEAA8C;AAE9C,MAAM;AACN,2CAA0C;AAAjC,oGAAA,QAAQ,OAAA;AACjB,yCAAwC;AAA/B,kGAAA,OAAO,OAAA;AAChB,yCAAwC;AAA/B,kGAAA,OAAO,OAAA;AAChB,2CAA0C;AAAjC,oGAAA,QAAQ,OAAA;AACjB,iDAAgD;AAAvC,0GAAA,WAAW,OAAA;AAEpB,sDAAgE;AAAvD,2GAAA,WAAW,OAAA;AAAE,0GAAA,UAAU,OAAA;AAChC,oDAAkD;AAAzC,2GAAA,WAAW,OAAA;AAEpB,4DAAyD;AAAhD,gHAAA,aAAa,OAAA;AACtB,sDAAoD;AAA3C,2GAAA,WAAW,OAAA;AAEpB,sDAAoD;AAA3C,2GAAA,WAAW,OAAA;AAEpB,6EAO6C;AAN3C,sHAAA,aAAa,OAAA;AACb,4HAAA,mBAAmB,OAAA;AACnB,0HAAA,iBAAiB,OAAA;AACjB,yHAAA,gBAAgB,OAAA;AAChB,sHAAA,aAAa,OAAA;AACb,sHAAA,aAAa,OAAA;AAAE,sHAAA,aAAa,OAAA;AAG9B,4DAAyD;AAAhD,gHAAA,aAAa,OAAA;AAGtB,kHAAqH;AAA5G,4JAAA,sCAAsC,OAAA;AAE/C,+DAAyD;AAAhD,6GAAA,UAAU,OAAA;AACnB,2DAA+D;AAAtD,mHAAA,kBAAkB,OAAA;AAC3B,+CAA8C;AAArC,kGAAA,OAAO,OAAA;AAKhB,sEAEiD;AAD9B,iHAAA,mBAAmB,OAAA;AAAE,mHAAA,qBAAqB,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AAqB/E,mFAAkF;AAAzE,oGAAA,QAAQ,OAAA;AAKjB,iGAAgG;AAAvF,sHAAA,iBAAiB,OAAA;AAC1B,yGAAwG;AAA/F,8HAAA,qBAAqB,OAAA;AAC9B,2FAA0F;AAAjF,gHAAA,cAAc,OAAA;AAEvB,8FAA6F;AAApF,oHAAA,gBAAgB,OAAA;AACzB,mEAAkE;AAAzD,oHAAA,gBAAgB,OAAA;AAEzB,2DAAyD;AAAhD,+GAAA,aAAa,OAAA;AAEtB,kBAAkB;AAClB,qEAA8F;AAAlE,yHAAA,sBAAsB,OAAA;AAElD,6FAA4F;AAAnF,oHAAA,gBAAgB,OAAA;AAGzB,2DAAyG;AAAhG,kHAAA,kBAAkB,OAAA;AAAE,8GAAA,cAAc,OAAA;AAAE,uHAAA,uBAAuB,OAAA;AACpE,sCAEsB;AADpB,0GAAA,iBAAiB,OAAA;AAAE,6GAAA,oBAAoB,OAAA;AAEzC,kDAU4B;AAT1B,8GAAA,eAAe,OAAA;AACf,iHAAA,kBAAkB,OAAA;AAClB,iHAAA,kBAAkB,OAAA;AAClB,oHAAA,qBAAqB,OAAA;AACrB,2HAAA,4BAA4B,OAAA;AAC5B,+GAAA,gBAAgB,OAAA;AAChB,6GAAA,cAAc,OAAA;AACd,8HAAA,+BAA+B,OAAA;AAC/B,yHAAA,0BAA0B,OAAA;AAE5B,kDAI4B;AAH1B,+HAAA,gCAAgC,OAAA;AAChC,kHAAA,mBAAmB,OAAA;AACnB,+GAAA,gBAAgB,OAAA;AAIlB,cAAc;AACd,uGAAuG;AAA9F,+IAAA,8BAA8B,OAAA;AAEvC,gBAAgB;AAChB,sEAA4C;AAE5C,8EAAoD;AACpD,4EAAkD;AAClD,iFAAuD;AAGvD,kEAMyC;AALvC,mHAAA,iBAAiB,OAAA;AAIjB,uHAAA,qBAAqB,OAAA;AAEvB,kEAMyC;AADvC,uHAAA,qBAAqB,OAAA;AAGvB,gFAEgD;AAD9C,0HAAA,iBAAiB,OAAA;AAGnB,oGAE0D;AADxD,6IAAA,0BAA0B,OAAA;AAG5B,4FAEsD;AADpD,2IAAA,4BAA4B,OAAA;AAI9B,gGAA+F;AAAtF,8IAAA,6BAA6B,OAAA;AACtC,qDAAgE;AAAvD,0GAAA,iBAAiB,OAAA;AAE1B,uDAAqD;AAA5C,8FAAA,KAAK,OAAA;AAEd,mEAAiE;AAAxD,0GAAA,WAAW,OAAA;AACpB,uDAAoD;AAA3C,6FAAA,IAAI,OAAA;AACb,6EAA4E;AAAnE,wGAAA,UAAU,OAAA;AACnB,qEAAoE;AAA3D,sGAAA,SAAS,OAAA;AAClB,qEAAoE;AAA3D,sGAAA,SAAS,OAAA;AAIlB,8DAA6D;AAApD,sGAAA,SAAS,OAAA;AAClB,sEAAqE;AAA5D,8GAAA,aAAa,OAAA;AACtB,sEAAqE;AAA5D,8GAAA,aAAa,OAAA;AACtB,0EAAyE;AAAhE,kHAAA,eAAe,OAAA;AAExB,0EAAgD;AAEhD,2DAAiC;AACjC,6DAAmC;AACnC,4EAAkD;AAClD,4EAAkD;AAClD,mEAAyC;AAEzC,iEAAsC;AAEtC,4DAAkC;AAClC,+DAAqC;AACrC,gEAAqC;AAErC,gEAE6C;AAD3C,uGAAA,WAAW,OAAA;AAEb,2DAAoG;AAA3F,0HAAA,0BAA0B,OAAA;AAAE,0HAAA,0BAA0B,OAAA;AAG/D,2DAAiE;AAAxD,qHAAA,oBAAoB,OAAA;AAC7B,2DAAsD;AAA7C,0GAAA,SAAS,OAAA;AAClB,2DAAsD;AAA7C,0GAAA,SAAS,OAAA;AAClB,2DAA6E;AAApE,mHAAA,kBAAkB,OAAA;AAAE,6GAAA,YAAY,OAAA;AACzC,8DAA4D;AAAnD,mHAAA,eAAe,OAAA;AACxB,gEAAsC;AACtC,+DAAqC;AAErC,2FAA0F;AAAjF,sHAAA,iBAAiB,OAAA;AAE1B,4DAAkC;AAElC,oFAA0D"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare class EquipmentContainer extends ConnectivityNodeContainer implem
6
6
  equipments: Equipment[];
7
7
  additionalGroupedEquipment: Map<string, Equipment>;
8
8
  constructor(mrid?: string, name?: string, shortName?: string, description?: string, baseIRI?: string);
9
+ getAdditionalGroupedEquipments(): Map<string, Equipment>;
9
10
  addEquipment(equipment: Equipment): void;
10
11
  addAdditionalGroupedEquipment(equipment: Equipment): void;
11
12
  getSubstation(): Substation | undefined;
@@ -8,6 +8,9 @@ class EquipmentContainer extends ConnectivityNodeContainer_1.ConnectivityNodeCon
8
8
  this.equipments = [];
9
9
  this.additionalGroupedEquipment = new Map();
10
10
  }
11
+ getAdditionalGroupedEquipments() {
12
+ return this.additionalGroupedEquipment;
13
+ }
11
14
  addEquipment(equipment) {
12
15
  if (this.equipments.indexOf(equipment) === -1) {
13
16
  this.equipments.push(equipment);
@@ -1 +1 @@
1
- {"version":3,"file":"EquipmentContainer.js","sourceRoot":"","sources":["../../../src/model/core/EquipmentContainer.ts"],"names":[],"mappings":";;;AAAA,iFAA4E;AAK5E,MAAa,kBAAmB,SAAQ,qDAAyB;IAM/D,YAAY,IAAa,EAAE,IAAa,EAAE,SAAkB,EAAE,WAAoB,EAAE,OAAgB;QAClG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,0BAA0B,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9C,CAAC;IAEM,YAAY,CAAC,SAAoB;QACtC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;YAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACjC;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,+BAA+B,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,EAAE,CAAC,CAAC;SACvH;IACH,CAAC;IAEM,6BAA6B,CAAC,SAAoB;QACvD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAEM,aAAa;QAClB,OAAO;IACT,CAAC;IAED,uEAAuE;IAChE,kBAAkB;QACvB,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,CAAC;IACxF,CAAC;CAEF;AAlCD,gDAkCC"}
1
+ {"version":3,"file":"EquipmentContainer.js","sourceRoot":"","sources":["../../../src/model/core/EquipmentContainer.ts"],"names":[],"mappings":";;;AAAA,iFAA4E;AAK5E,MAAa,kBAAmB,SAAQ,qDAAyB;IAM/D,YAAY,IAAa,EAAE,IAAa,EAAE,SAAkB,EAAE,WAAoB,EAAE,OAAgB;QAClG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,0BAA0B,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9C,CAAC;IAED,8BAA8B;QAC5B,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACzC,CAAC;IAEM,YAAY,CAAC,SAAoB;QACtC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;YAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACjC;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,+BAA+B,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,EAAE,CAAC,CAAC;SACvH;IACH,CAAC;IAEM,6BAA6B,CAAC,SAAoB;QACvD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAEM,aAAa;QAClB,OAAO;IACT,CAAC;IAED,uEAAuE;IAChE,kBAAkB;QACvB,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,CAAC;IACxF,CAAC;CAEF;AAtCD,gDAsCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enervance/insight-cim-model",
3
- "version": "0.0.365",
3
+ "version": "0.0.366",
4
4
  "description": "CIM data model",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,28 +0,0 @@
1
- import { Terminal } from '../../model/core/Terminal.js';
2
- import { ConductingEquipment } from '../../model/core/ConductingEquipment.js';
3
- import { Switch } from '../../model/wires/Switch.js';
4
- import { Feeder } from '../../model/core/Feeder.js';
5
- import { Substation } from '../../model/core/Substation.js';
6
- import { ACLineSegment } from '../../model/wires/ACLineSegment.js';
7
- import { ConnectivityNode } from '../../model/core/ConnectivityNode.js';
8
- import { ExternalNetworkInjection } from '../../model/wires/ExternalNetworkInjection.js';
9
- export declare function isSwitchOpen(ce: ConductingEquipment): boolean;
10
- export declare function findOpenConnectionsToOtherFeeders(terminals: Terminal[]): {
11
- terminal: Terminal;
12
- acLineSegment: ACLineSegment;
13
- connectivityNode: ConnectivityNode;
14
- lineFeeder: Feeder;
15
- nodeFeeder: Feeder | null;
16
- }[];
17
- export declare function isNodeSupplied(startNode: ConnectivityNode, terminals: Terminal[], switches: Switch[], externalInjections: ExternalNetworkInjection[]): boolean;
18
- export declare function findRessuplySwitchingActions(failedSubstation: Substation, allCNs: ConnectivityNode[], terminals: Terminal[], switches: Switch[], allExternalInjections: ExternalNetworkInjection[]): Array<IResupplyResult>;
19
- export type Graph = Map<string, Set<string>>;
20
- export declare function buildGraph(terminals: Terminal[]): Graph;
21
- export declare function findCycles(graph: Graph): string[][];
22
- export interface IResupplyResult {
23
- uuid: string;
24
- switchElements: Array<Terminal | Switch>;
25
- deenergezedConnectivityNodes: Array<ConnectivityNode>;
26
- resuppledConnectivityNodes: Array<ConnectivityNode>;
27
- resupplyType: 'FullyResupply' | 'PartiallyResupply' | 'noResupply';
28
- }
@@ -1,246 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findCycles = exports.buildGraph = exports.findRessuplySwitchingActions = exports.isNodeSupplied = exports.findOpenConnectionsToOtherFeeders = exports.isSwitchOpen = void 0;
4
- const Terminal_1 = require("../../model/core/Terminal.js");
5
- const Switch_1 = require("../../model/wires/Switch.js");
6
- const ACLineSegment_1 = require("../../model/wires/ACLineSegment.js");
7
- const ExternalNetworkInjection_1 = require("../../model/wires/ExternalNetworkInjection.js");
8
- const common_utils_1 = require("../../utils2/common.utils.js");
9
- function isSwitchOpen(ce) {
10
- return (ce instanceof Switch_1.Switch) ? ce.open === true : false;
11
- }
12
- exports.isSwitchOpen = isSwitchOpen;
13
- function findOpenConnectionsToOtherFeeders(terminals) {
14
- var _a;
15
- const results = [];
16
- for (const terminal of terminals) {
17
- // Nur nicht verbundene Terminals
18
- if (terminal.connected)
19
- continue;
20
- // Nur Terminals von ACLineSegments
21
- const eq = terminal.conductingEquipment;
22
- if (!(eq instanceof ACLineSegment_1.ACLineSegment))
23
- continue;
24
- const acLineSegment = eq;
25
- const cn = terminal.connectivityNode;
26
- // Überspringe Terminals der Umspannanlage
27
- const substation = cn.getSubstation();
28
- if (((_a = substation.psrType) === null || _a === void 0 ? void 0 : _a.getName()) === "Umspannanlage")
29
- continue;
30
- results.push({
31
- terminal,
32
- acLineSegment,
33
- connectivityNode: cn,
34
- lineFeeder: acLineSegment.getAdditionalEquipmentContainer(),
35
- nodeFeeder: substation.getNormalEnergizingFeeder(),
36
- });
37
- }
38
- return results;
39
- }
40
- exports.findOpenConnectionsToOtherFeeders = findOpenConnectionsToOtherFeeders;
41
- function isNodeSupplied(startNode, terminals, switches, externalInjections) {
42
- var _a;
43
- const visitedCN = new Set();
44
- const visitedEquipments = new Set();
45
- const equipmentIsOpen = new Set();
46
- for (const sw of switches) {
47
- if (sw.open)
48
- equipmentIsOpen.add(sw.getUUID());
49
- }
50
- const cnToTerminals = new Map();
51
- for (const t of terminals) {
52
- if (!t.connected)
53
- continue;
54
- const cnUUID = t.connectivityNode.getUUID();
55
- if (!cnToTerminals.has(cnUUID))
56
- cnToTerminals.set(cnUUID, []);
57
- cnToTerminals.get(cnUUID).push(t);
58
- }
59
- const stack = [startNode];
60
- while (stack.length > 0) {
61
- const currentCN = stack.pop();
62
- const currentId = currentCN.getUUID();
63
- if (visitedCN.has(currentId))
64
- continue;
65
- visitedCN.add(currentId);
66
- const cnTerminals = (_a = cnToTerminals.get(currentId)) !== null && _a !== void 0 ? _a : [];
67
- for (const terminal of cnTerminals) {
68
- const eq = terminal.conductingEquipment;
69
- const eqId = eq.getUUID();
70
- if (equipmentIsOpen.has(eqId))
71
- continue;
72
- if (visitedEquipments.has(eqId))
73
- continue;
74
- visitedEquipments.add(eqId);
75
- // Prüfe: Ist das Equipment ein ExternalNetworkInjection?
76
- if (eq instanceof ExternalNetworkInjection_1.ExternalNetworkInjection) {
77
- const isExternalNetworkInjection = externalInjections.some(ext => ext.getUUID() === eq.getUUID());
78
- if (isExternalNetworkInjection)
79
- return true;
80
- }
81
- // Traverse zu anderen Terminals
82
- for (const otherTerminal of eq.terminals.values()) {
83
- if (otherTerminal.getUUID() === terminal.getUUID())
84
- continue;
85
- if (!otherTerminal.connected)
86
- continue;
87
- const nextCN = otherTerminal.connectivityNode;
88
- const nextId = nextCN.getUUID();
89
- if (!visitedCN.has(nextId) && !stack.includes(nextCN)) {
90
- stack.push(nextCN);
91
- }
92
- }
93
- }
94
- }
95
- return false;
96
- }
97
- exports.isNodeSupplied = isNodeSupplied;
98
- function findRessuplySwitchingActions(failedSubstation, allCNs, terminals, switches, allExternalInjections) {
99
- // 1. CNs der ausgefallenen Station ignorieren
100
- const failedCNs = allCNs.filter(cn => cn.getSubstation().getUUID() === failedSubstation.getUUID());
101
- const failedFeeder = failedSubstation.getNormalEnergizingFeeder();
102
- const feederTerminals = terminals.filter(t => {
103
- var _a, _b, _c, _d, _e;
104
- return !failedCNs.includes(t.connectivityNode) &&
105
- (((_c = (_b = (_a = t.connectivityNode) === null || _a === void 0 ? void 0 : _a.getSubstation()) === null || _b === void 0 ? void 0 : _b.getNormalEnergizingFeeder()) === null || _c === void 0 ? void 0 : _c.getUUID()) === failedFeeder.getUUID() ||
106
- ((_e = (_d = t.conductingEquipment) === null || _d === void 0 ? void 0 : _d.getAdditionalEquipmentContainer()) === null || _e === void 0 ? void 0 : _e.getUUID()) === failedFeeder.getUUID());
107
- });
108
- const relevantTerminals = terminals.filter(t => !failedCNs.includes(t.connectivityNode));
109
- // 2. CNs der Ortsnetzstationen (nicht Umspannanlage, nicht failed)
110
- const candidateCNs = allCNs.filter(cn => {
111
- var _a, _b;
112
- return (((_a = cn.getSubstation().getPsrType()) === null || _a === void 0 ? void 0 : _a.getName()) !== "Umspannanlage" &&
113
- cn.getSubstation().getUUID() !== failedSubstation.getUUID() &&
114
- ((_b = cn.getSubstation().getNormalEnergizingFeeder()) === null || _b === void 0 ? void 0 : _b.getUUID()) === (failedFeeder === null || failedFeeder === void 0 ? void 0 : failedFeeder.getUUID()));
115
- });
116
- // 3. Suche nach CNs, die spannungslos sind
117
- const disconnectedCNs = candidateCNs.filter(cn => !isNodeSupplied(cn, terminals.filter(t => !failedCNs.includes(t.connectivityNode)), switches, allExternalInjections));
118
- const openTerminals = feederTerminals.filter(t => !t.connected &&
119
- t.conductingEquipment instanceof ACLineSegment_1.ACLineSegment);
120
- const openSwitches = switches.filter(sw => sw.open);
121
- const possibleActions = [...openTerminals, ...openSwitches];
122
- // 4. Finde alle Kombinationen (1er, 2er, 3er etc.)
123
- const combinations = buildSupplyCombinations(possibleActions).filter(set => set.length > 0);
124
- const results = [];
125
- const resupplyResults = new Array();
126
- for (const combo of combinations) {
127
- // Schaltzustand anwenden
128
- applySwitchCombination(combo);
129
- // Abgang auf Zyklen prüfen
130
- const resupplyResult = {
131
- uuid: common_utils_1.CommonUtils.generateUUID(),
132
- switchElements: combo,
133
- deenergezedConnectivityNodes: disconnectedCNs,
134
- resuppledConnectivityNodes: new Array(),
135
- resupplyType: 'noResupply'
136
- };
137
- resupplyResults.push(resupplyResult);
138
- for (const cn of disconnectedCNs) {
139
- const reachable = isNodeSupplied(cn, relevantTerminals, switches, allExternalInjections);
140
- if (reachable) {
141
- resupplyResult.resuppledConnectivityNodes.push(cn);
142
- results.push({ restoredCN: cn, actions: combo });
143
- }
144
- }
145
- // resupplyType
146
- if (resupplyResult.deenergezedConnectivityNodes.length === resupplyResult.resuppledConnectivityNodes.length) {
147
- resupplyResult.resupplyType = 'FullyResupply';
148
- }
149
- else if (resupplyResult.resuppledConnectivityNodes.length > 0) {
150
- resupplyResult.resupplyType = 'PartiallyResupply';
151
- }
152
- // Schaltzustand rückgängig machen
153
- applySwitchCombination(combo);
154
- }
155
- return resupplyResults;
156
- }
157
- exports.findRessuplySwitchingActions = findRessuplySwitchingActions;
158
- // Hilfsfunktion
159
- function applySwitchCombination(switchElements) {
160
- for (const switchElement of switchElements) {
161
- if (switchElement instanceof Terminal_1.Terminal) {
162
- switchElement.connected = !switchElement.connected;
163
- }
164
- else {
165
- switchElement.open = !switchElement.open;
166
- }
167
- }
168
- }
169
- function buildSupplyCombinations(arr) {
170
- const result = [];
171
- const n = arr.length;
172
- const max = 1 << n;
173
- for (let i = 1; i < max; i++) {
174
- const subset = [];
175
- for (let j = 0; j < n; j++) {
176
- if ((i & (1 << j)) !== 0) {
177
- subset.push(arr[j]);
178
- }
179
- }
180
- result.push(subset);
181
- }
182
- return result;
183
- }
184
- function buildGraph(terminals) {
185
- const graph = new Map();
186
- // Verbindung über ConnectivityNodes herstellen
187
- for (const terminalStart of terminals) {
188
- // Finde andere Terminals am selben Knoten
189
- for (const terminalNext of terminalStart.connectivityNode.terminals.values()) {
190
- if (terminalStart.getUUID() === terminalNext.getUUID())
191
- continue;
192
- if (terminalStart.connected === false)
193
- continue;
194
- if (terminalNext.connected === false)
195
- continue;
196
- // Prüfe Schaltzustand
197
- if (isSwitchOpen(terminalStart.conductingEquipment) || isSwitchOpen(terminalNext.conductingEquipment))
198
- continue;
199
- const ceUUUID1 = terminalStart.conductingEquipment.getUUID();
200
- const ceUUUID2 = terminalNext.conductingEquipment.getUUID();
201
- if (!graph.has(ceUUUID1))
202
- graph.set(ceUUUID1, new Set());
203
- if (!graph.has(ceUUUID2))
204
- graph.set(ceUUUID2, new Set());
205
- graph.get(ceUUUID1).add(ceUUUID2);
206
- graph.get(ceUUUID2).add(ceUUUID1);
207
- }
208
- }
209
- return graph;
210
- }
211
- exports.buildGraph = buildGraph;
212
- function findCycles(graph) {
213
- const visitedGlobal = new Set();
214
- const cycles = [];
215
- function dfs(current, start, path, visitedLocal) {
216
- if (path.length > 2)
217
- return; // max. 4 Elemente
218
- visitedLocal.add(current);
219
- path.push(current);
220
- for (const neighbor of graph.get(current) || []) {
221
- if (neighbor === start && path.length >= 2) {
222
- // Zyklus gefunden
223
- const cycle = [...path];
224
- // Vermeide doppelte Zyklen durch Sortierung und Vergleich
225
- const sorted = [...cycle].sort().join("-");
226
- if (!cycles.some(c => [...c].sort().join("-") === sorted)) {
227
- cycles.push(cycle);
228
- }
229
- }
230
- if (!visitedLocal.has(neighbor)) {
231
- dfs(neighbor, start, [...path], new Set(visitedLocal));
232
- }
233
- }
234
- }
235
- for (const node of graph.keys()) {
236
- dfs(node, node, [], new Set());
237
- visitedGlobal.add(node);
238
- }
239
- return cycles;
240
- }
241
- exports.findCycles = findCycles;
242
- function getFeederFromCN(cn) {
243
- var _a, _b;
244
- return (_b = (_a = cn.getSubstation()) === null || _a === void 0 ? void 0 : _a.getNormalEnergizingFeeder()) !== null && _b !== void 0 ? _b : null;
245
- }
246
- //# sourceMappingURL=graph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/data-structures/graph2/graph.ts"],"names":[],"mappings":"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"}