@enervance/insight-cim-model 0.0.30 → 0.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analysis/analysis-neplan/digi-ons.d.ts +48 -1
- package/dist/analysis/analysis-neplan/digi-ons.js +268 -70
- package/dist/analysis/analysis-neplan/digi-ons.js.map +1 -1
- package/dist/constants/cim-class-definition.js +25 -0
- package/dist/constants/cim-class-definition.js.map +1 -1
- package/dist/constants/cim-class-names.d.ts +13 -0
- package/dist/constants/cim-class-names.js +13 -0
- package/dist/constants/cim-class-names.js.map +1 -1
- package/dist/constants/rdf-xml.d.ts +2 -2
- package/dist/constants/rdf-xml.js +2 -2
- package/dist/converter/integral7/ConverterIntegral7.d.ts +54 -56
- package/dist/converter/integral7/ConverterIntegral7.js +2470 -1837
- package/dist/converter/integral7/ConverterIntegral7.js.map +1 -1
- package/dist/converter/integral7/config/integral-prefix.d.ts +6 -1
- package/dist/converter/integral7/config/integral-prefix.js +7 -2
- package/dist/converter/integral7/config/integral-prefix.js.map +1 -1
- package/dist/converter/integral7/converter-i7.d.ts +29 -61
- package/dist/converter/integral7/converter-i7.js +1231 -545
- package/dist/converter/integral7/converter-i7.js.map +1 -1
- package/dist/converter/integral7/interface-i7/IDefaultValuesConfig.d.ts +22 -0
- package/dist/converter/integral7/interface-i7/IObjectMappingConfig.d.ts +3 -0
- package/dist/converter/integral7/interface-i7/data-structures-i7.d.ts +62 -5
- package/dist/converter/integral7/interface-i7/data-structures-i7.js +6 -0
- package/dist/converter/integral7/interface-i7/data-structures-i7.js.map +1 -1
- package/dist/converter/integral7/interface-i7/export-frame-i7.d.ts +52 -4
- package/dist/converter/integral7/interface-i7/export-frame-i7.js +117 -14
- package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
- package/dist/converter/integral7/model/interfaces.d.ts +14 -0
- package/dist/converter/integral7/sql/integral.sql.d.ts +8 -0
- package/dist/converter/integral7/sql/integral.sql.js +41 -4
- package/dist/converter/integral7/sql/integral.sql.js.map +1 -1
- package/dist/converter/integral7/utils-cgmes-export.js +17 -3
- package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
- package/dist/converter/integral7/utils-trafo3w.js +51 -21
- package/dist/converter/integral7/utils-trafo3w.js.map +1 -1
- package/dist/converter/integral7/utils.d.ts +5 -3
- package/dist/converter/integral7/utils.js +194 -106
- package/dist/converter/integral7/utils.js.map +1 -1
- package/dist/index.d.ts +20 -1
- package/dist/index.js +40 -2
- package/dist/index.js.map +1 -1
- package/dist/interfaces/model/core/IPowerSystemResource.d.ts +2 -0
- package/dist/interfaces/model/core/ITerminal.d.ts +2 -0
- package/dist/model/assetinfo/SwitchInfo.d.ts +10 -0
- package/dist/model/assetinfo/SwitchInfo.js +51 -0
- package/dist/model/assetinfo/SwitchInfo.js.map +1 -0
- package/dist/model/assets/Asset.js +4 -2
- package/dist/model/assets/Asset.js.map +1 -1
- package/dist/model/common/Location.js +22 -22
- package/dist/model/core/ConductingEquipment.d.ts +2 -0
- package/dist/model/core/ConductingEquipment.js +9 -0
- package/dist/model/core/ConductingEquipment.js.map +1 -1
- package/dist/model/core/ConnectivityNode.d.ts +7 -2
- package/dist/model/core/ConnectivityNode.js +71 -0
- package/dist/model/core/ConnectivityNode.js.map +1 -1
- package/dist/model/core/GeographicalRegion.d.ts +1 -0
- package/dist/model/core/GeographicalRegion.js +5 -0
- package/dist/model/core/GeographicalRegion.js.map +1 -1
- package/dist/model/core/IdentifiedObject.js +13 -9
- package/dist/model/core/IdentifiedObject.js.map +1 -1
- package/dist/model/core/PowerSystemResource.d.ts +1 -0
- package/dist/model/core/PowerSystemResource.js +7 -0
- package/dist/model/core/PowerSystemResource.js.map +1 -1
- package/dist/model/core/Substation.js +1 -0
- package/dist/model/core/Substation.js.map +1 -1
- package/dist/model/core/Terminal.d.ts +1 -1
- package/dist/model/core/Terminal.js +50 -33
- package/dist/model/core/Terminal.js.map +1 -1
- package/dist/model/dc/ACDCConverter.js +1 -2
- package/dist/model/dc/ACDCConverter.js.map +1 -1
- package/dist/model/dc/DCConductingEquipment.d.ts +2 -2
- package/dist/model/dc/DCConductingEquipment.js +2 -2
- package/dist/model/dc/DCConductingEquipment.js.map +1 -1
- package/dist/model/dc/DCEquipmentContainer.js.map +1 -1
- package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.d.ts +8 -0
- package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js +48 -0
- package/dist/model/extensions/amprion/assets/AMPRIONAssetCommunicationEquipment.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.d.ts +8 -0
- package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js +48 -0
- package/dist/model/extensions/amprion/assets/AMPRIONAssetConstructionMaintenance.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.d.ts +8 -0
- package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js +48 -0
- package/dist/model/extensions/amprion/assets/AMPRIONAssetPrimaryEquipment.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.d.ts +8 -0
- package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js +48 -0
- package/dist/model/extensions/amprion/assets/AMPRIONAssetSecondaryEquipment.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.d.ts +8 -0
- package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js +48 -0
- package/dist/model/extensions/amprion/assets/AMPRIONContractingAuthority.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONCountry.d.ts +11 -0
- package/dist/model/extensions/amprion/assets/AMPRIONCountry.js +49 -0
- package/dist/model/extensions/amprion/assets/AMPRIONCountry.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONFacility.d.ts +3 -0
- package/dist/model/extensions/amprion/assets/AMPRIONFacility.js +16 -4
- package/dist/model/extensions/amprion/assets/AMPRIONFacility.js.map +1 -1
- package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.d.ts +8 -0
- package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js +48 -0
- package/dist/model/extensions/amprion/assets/AMPRIONLeaseholder.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.d.ts +8 -0
- package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js +48 -0
- package/dist/model/extensions/amprion/assets/AMPRIONLineDistrict.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.d.ts +8 -0
- package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js +48 -0
- package/dist/model/extensions/amprion/assets/AMPRIONServiceProvider.js.map +1 -0
- package/dist/model/extensions/amprion/assets/AMPRIONState.d.ts +13 -0
- package/dist/model/extensions/amprion/assets/AMPRIONState.js +58 -0
- package/dist/model/extensions/amprion/assets/AMPRIONState.js.map +1 -0
- package/dist/model/extensions/amprion/core/AMPRIONBay.d.ts +3 -2
- package/dist/model/extensions/amprion/core/AMPRIONBay.js +7 -4
- package/dist/model/extensions/amprion/core/AMPRIONBay.js.map +1 -1
- package/dist/model/extensions/amprion/core/AMPRIONLine.d.ts +8 -1
- package/dist/model/extensions/amprion/core/AMPRIONLine.js +38 -1
- package/dist/model/extensions/amprion/core/AMPRIONLine.js.map +1 -1
- package/dist/model/extensions/amprion/core/AMPRIONSubstation.d.ts +5 -2
- package/dist/model/extensions/amprion/core/AMPRIONSubstation.js +18 -12
- package/dist/model/extensions/amprion/core/AMPRIONSubstation.js.map +1 -1
- package/dist/model/extensions/amprion/model/AMPRIONModel.d.ts +31 -0
- package/dist/model/extensions/amprion/model/AMPRIONModel.js +65 -3
- package/dist/model/extensions/amprion/model/AMPRIONModel.js.map +1 -1
- package/dist/model/extensions/neplan-westnetz/core/WNConnectivityNode.js.map +1 -1
- package/dist/model/meas/Analog.d.ts +7 -0
- package/dist/model/meas/Analog.js +8 -0
- package/dist/model/meas/Analog.js.map +1 -0
- package/dist/model/meas/Measurement.d.ts +8 -0
- package/dist/model/meas/Measurement.js +8 -0
- package/dist/model/meas/Measurement.js.map +1 -0
- package/dist/model/model/Model.d.ts +11 -1
- package/dist/model/model/Model.js +23 -6
- package/dist/model/model/Model.js.map +1 -1
- package/dist/model/operationallimits/CurrentLimit.d.ts +2 -1
- package/dist/model/operationallimits/CurrentLimit.js +13 -0
- package/dist/model/operationallimits/CurrentLimit.js.map +1 -1
- package/dist/model/operationallimits/OperationalLimit.js +1 -1
- package/dist/model/operationallimits/OperationalLimit.js.map +1 -1
- package/dist/model/operations/ControlArea.d.ts +9 -0
- package/dist/model/operations/ControlArea.js +37 -0
- package/dist/model/operations/ControlArea.js.map +1 -0
- package/dist/model/operations/ControlAreaTypeKind.d.ts +5 -0
- package/dist/model/operations/ControlAreaTypeKind.js +10 -0
- package/dist/model/operations/ControlAreaTypeKind.js.map +1 -0
- package/dist/model/wires/ACLineSegment.js +1 -1
- package/dist/model/wires/Breaker.js +4 -2
- package/dist/model/wires/Breaker.js.map +1 -1
- package/dist/model/wires/EnergyConnection.d.ts +7 -0
- package/dist/model/wires/EnergyConnection.js +20 -0
- package/dist/model/wires/EnergyConnection.js.map +1 -0
- package/dist/model/wires/EnergyConsumer.d.ts +4 -4
- package/dist/model/wires/EnergyConsumer.js +5 -5
- package/dist/model/wires/EnergyConsumer.js.map +1 -1
- package/dist/model/wires/EnergySource.d.ts +5 -2
- package/dist/model/wires/EnergySource.js +26 -4
- package/dist/model/wires/EnergySource.js.map +1 -1
- package/dist/model/wires/Line.js +2 -6
- package/dist/model/wires/Line.js.map +1 -1
- package/dist/model/wires/PhaseTapChanger.js.map +1 -1
- package/dist/model/wires/PowerTransformer.js +1 -1
- package/dist/model/wires/PowerTransformer.js.map +1 -1
- package/dist/model/wires/RotatingMachine.d.ts +2 -0
- package/dist/model/wires/RotatingMachine.js +6 -0
- package/dist/model/wires/RotatingMachine.js.map +1 -1
- package/dist/model/wires/TapChanger.d.ts +2 -0
- package/dist/model/wires/TapChanger.js +36 -8
- package/dist/model/wires/TapChanger.js.map +1 -1
- package/dist/util/collection/util-excel.js +35 -19
- package/dist/util/collection/util-excel.js.map +1 -1
- package/dist/util/collection/util-graph.d.ts +8 -1
- package/dist/util/collection/util-graph.js +8 -2
- package/dist/util/collection/util-graph.js.map +1 -1
- package/dist/util/collection/util-graph2tree.js +69 -1
- package/dist/util/collection/util-graph2tree.js.map +1 -1
- package/dist/util/collection/util-tree.d.ts +0 -34
- package/dist/util/collection/util-tree.js +1 -179
- package/dist/util/collection/util-tree.js.map +1 -1
- package/dist/util/util-create.d.ts +3 -1
- package/dist/util/util-create.js +51 -8
- package/dist/util/util-create.js.map +1 -1
- package/dist/util/utils.d.ts +10 -0
- package/dist/util/utils.js +17 -1
- package/dist/util/utils.js.map +1 -1
- package/dist/util/xml/xml.serializer.d.ts +1 -0
- package/dist/util/xml/xml.serializer.js +9 -9
- package/dist/util/xml/xml.serializer.js.map +1 -1
- package/package.json +2 -1
- package/dist/converter/integral7/interface-i7/IUkzExportConfig.d.ts +0 -5
- package/dist/converter/integral7/interface-i7/IUkzExportConfig.js +0 -3
- package/dist/converter/integral7/interface-i7/IUkzExportConfig.js.map +0 -1
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Model } from '../../model/model/Model';
|
|
2
2
|
import { GraphTree } from '../../data-structures/tree/GraphTree';
|
|
3
|
+
import { WNFeeder } from '../../model/extensions/neplan-westnetz/core/WNFeeder';
|
|
3
4
|
import { IFeeder } from '../../interfaces/model/core/IFeeder';
|
|
4
5
|
import { VoltageLevel } from '../../model/core/VoltageLevel';
|
|
6
|
+
import { IIdentifiedObject } from "../../interfaces/model/core/IIdentifiedObject";
|
|
7
|
+
import { BFSCalltime, LeafNodeCalltime, TreeNode } from "../../util/collection/util-tree";
|
|
5
8
|
export declare function rateDigiONS(cimModel: Model, anbindungsdata: IStationanbindung[], valuationVector: IDigiOnsValuationVector): IDigiOnsResult[];
|
|
6
|
-
export declare function rateFeederDigiONS(ifeeder: IFeeder, anbindungsdata: IStationanbindung[], valuationVector: IDigiOnsValuationVector): Map<string, IDigiOnsValuation>;
|
|
9
|
+
export declare function rateFeederDigiONS(ifeeder: IFeeder, anbindungsdata: IStationanbindung[], valuationVector: IDigiOnsValuationVector, overallStations: number, overallPower: number): Map<string, IDigiOnsValuation>;
|
|
7
10
|
export declare function isDigiONS(voltageLevel: VoltageLevel): boolean;
|
|
8
11
|
export declare function getFeederTreeData(cimModel: Model, ifeeder: IFeeder): GraphTree;
|
|
9
12
|
export interface IDigiOnsValuation {
|
|
@@ -21,8 +24,13 @@ export interface IDigiOnsValuation {
|
|
|
21
24
|
kpmScore: number;
|
|
22
25
|
cabelToOverheadLineScore: number;
|
|
23
26
|
digiOnsRating: number;
|
|
27
|
+
minDistStations: number;
|
|
28
|
+
sumStations: number;
|
|
29
|
+
minDistPower: number;
|
|
30
|
+
sumPower: number;
|
|
24
31
|
}
|
|
25
32
|
export interface IDigiOnsValuationVector {
|
|
33
|
+
digitalizationCount: number;
|
|
26
34
|
usedBaysWeight: number;
|
|
27
35
|
openedSwitchesWeight: number;
|
|
28
36
|
feederFailureWeight: number;
|
|
@@ -37,6 +45,7 @@ export interface IDigiOnsValuationVector {
|
|
|
37
45
|
}
|
|
38
46
|
export interface IDigiOnsResult {
|
|
39
47
|
voltageLevelUUID: string;
|
|
48
|
+
rz: string;
|
|
40
49
|
connectivityNodeUUID: string;
|
|
41
50
|
usedBaysValue: number;
|
|
42
51
|
openedSwitchesValue: number;
|
|
@@ -56,3 +65,41 @@ export interface IStationanbindung {
|
|
|
56
65
|
uuid: string;
|
|
57
66
|
type: string;
|
|
58
67
|
}
|
|
68
|
+
export interface ShortestPathContext {
|
|
69
|
+
stationResult: number;
|
|
70
|
+
powerResult: number;
|
|
71
|
+
headNode: IIdentifiedObject;
|
|
72
|
+
shortestPathFound: boolean;
|
|
73
|
+
}
|
|
74
|
+
export declare function shortestPathCallbackFunc(treeNode: Readonly<TreeNode>, context: ShortestPathContext, calltime: Readonly<BFSCalltime>): void;
|
|
75
|
+
export interface OverallPowerContext {
|
|
76
|
+
nodesVisited: Set<IIdentifiedObject>;
|
|
77
|
+
overallPower: number;
|
|
78
|
+
}
|
|
79
|
+
export declare function overallPowerCallbackFunc(treeNode: Readonly<TreeNode>, context: OverallPowerContext, calltime: Readonly<LeafNodeCalltime>): void;
|
|
80
|
+
export interface OverallValueDetermineContext {
|
|
81
|
+
wnFeeder: WNFeeder;
|
|
82
|
+
crtWayStack: TreeNode[];
|
|
83
|
+
distances: Map<string, number>;
|
|
84
|
+
mridTreeNodeMap: Map<string, TreeNode>;
|
|
85
|
+
nodesVisitedWay: Map<string, TreeNode>;
|
|
86
|
+
rootNodes: Set<TreeNode>;
|
|
87
|
+
overallStations: number;
|
|
88
|
+
overallPower: number;
|
|
89
|
+
isBranchRelevant: boolean;
|
|
90
|
+
}
|
|
91
|
+
export declare function overallValueDetermineCallbackFunc(treeNode: Readonly<TreeNode>, context: OverallValueDetermineContext, calltime: Readonly<LeafNodeCalltime>): void;
|
|
92
|
+
export interface CalculateDigiONSValuesContext {
|
|
93
|
+
wnFeeder: WNFeeder;
|
|
94
|
+
resultStationsValue: number;
|
|
95
|
+
resultPowerValue: number;
|
|
96
|
+
overallStations: number;
|
|
97
|
+
overallPower: number;
|
|
98
|
+
allBranchesStations: number[];
|
|
99
|
+
allBranchesPower: number[];
|
|
100
|
+
branchStations: number;
|
|
101
|
+
branchPower: number;
|
|
102
|
+
isBranchRelevant: boolean;
|
|
103
|
+
ignoreValues: boolean;
|
|
104
|
+
}
|
|
105
|
+
export declare function calculateDigiONSValuesCallbackFunc(treeNode: Readonly<TreeNode>, context: CalculateDigiONSValuesContext, calltime: Readonly<LeafNodeCalltime>): void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getFeederTreeData = exports.isDigiONS = exports.rateFeederDigiONS = exports.rateDigiONS = void 0;
|
|
3
|
+
exports.calculateDigiONSValuesCallbackFunc = exports.overallValueDetermineCallbackFunc = exports.overallPowerCallbackFunc = exports.shortestPathCallbackFunc = exports.getFeederTreeData = exports.isDigiONS = exports.rateFeederDigiONS = exports.rateDigiONS = void 0;
|
|
4
|
+
const WNConnectivityNode_1 = require("../../model/extensions/neplan-westnetz/core/WNConnectivityNode");
|
|
4
5
|
const graph_1 = require("../../data-structures/graph/graph");
|
|
5
6
|
const Switch_1 = require("../../model/wires/Switch");
|
|
6
7
|
const Types_1 = require("../../data-structures/graph/Types");
|
|
@@ -11,16 +12,18 @@ const ConductingEquipment_1 = require("../../model/core/ConductingEquipment");
|
|
|
11
12
|
const EnergyConsumer_1 = require("../../model/wires/EnergyConsumer");
|
|
12
13
|
const VoltageLevel_1 = require("../../model/core/VoltageLevel");
|
|
13
14
|
const ACLineSegment_1 = require("../../model/wires/ACLineSegment");
|
|
15
|
+
const ConnectivityNode_1 = require("../../model/core/ConnectivityNode");
|
|
14
16
|
const WNFacilityKind_1 = require("../../model/extensions/neplan-westnetz/assets/WNFacilityKind");
|
|
15
17
|
const util_graph2tree_1 = require("../../util/collection/util-graph2tree");
|
|
16
18
|
const util_tree_1 = require("../../util/collection/util-tree");
|
|
17
19
|
const util_excel_1 = require("../../util/collection/util-excel");
|
|
18
20
|
const cim_asset_types_1 = require("../../constants/cim-asset-types");
|
|
21
|
+
const util_graph_1 = require("../../util/collection/util-graph");
|
|
19
22
|
function chooseDigiONS(digiOnsResultsMap) {
|
|
20
|
-
const
|
|
23
|
+
const sortedDigiOnsResults = Array.from(digiOnsResultsMap.values()).sort((a, b) => (a.digiOnsRating > b.digiOnsRating) ? 1 : (a.digiOnsRating < b.digiOnsRating) ? -1 : 0);
|
|
24
|
+
const filterMustCriteriaResults = sortedDigiOnsResults.filter((arg) => arg.openedSwitchesValue > 0);
|
|
21
25
|
let digiOnsResult = filterMustCriteriaResults.pop();
|
|
22
26
|
if (digiOnsResult === undefined) {
|
|
23
|
-
const sortedDigiOnsResults = Array.from(digiOnsResultsMap.values()).sort((a, b) => (a.digiOnsRating > b.digiOnsRating) ? 1 : (a.digiOnsRating < b.digiOnsRating) ? -1 : 0);
|
|
24
27
|
digiOnsResult = sortedDigiOnsResults.pop();
|
|
25
28
|
}
|
|
26
29
|
let choosenDigiONS = undefined;
|
|
@@ -44,13 +47,32 @@ function rateDigiONS(cimModel, anbindungsdata, valuationVector) {
|
|
|
44
47
|
var _a;
|
|
45
48
|
const result = [];
|
|
46
49
|
for (const ifeeder of cimModel.feeders.values()) {
|
|
50
|
+
let trunkLineContextWrapper = {
|
|
51
|
+
context: { trunkLineLines: [], trunkLineNodes: [], onTrunkLine: false, uniqueTrunkNodes: new Set() },
|
|
52
|
+
callbackFunc: util_graph_1.markAsTrunkLineCallbackFunc
|
|
53
|
+
};
|
|
54
|
+
let overallPowerWrapper = {
|
|
55
|
+
context: { nodesVisited: new Set(), overallPower: 0 },
|
|
56
|
+
callbackFunc: overallPowerCallbackFunc
|
|
57
|
+
};
|
|
58
|
+
let feederTreeContext = util_graph2tree_1.convertFeederIntoTree(ifeeder);
|
|
59
|
+
util_tree_1.leafNodeTraversal(feederTreeContext.leafNodes, trunkLineContextWrapper, overallPowerWrapper);
|
|
60
|
+
let overallStations = 0;
|
|
61
|
+
for (const node of trunkLineContextWrapper.context.uniqueTrunkNodes) {
|
|
62
|
+
if (node instanceof ConnectivityNode_1.ConnectivityNode) {
|
|
63
|
+
overallStations++;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const overallPower = overallPowerWrapper.context.overallPower;
|
|
47
67
|
let choosenDigiOns = [];
|
|
48
|
-
let digiOnsValuationFeeder = rateFeederDigiONS(ifeeder, anbindungsdata, valuationVector);
|
|
68
|
+
let digiOnsValuationFeeder = rateFeederDigiONS(ifeeder, anbindungsdata, valuationVector, overallStations, overallPower);
|
|
49
69
|
let initialFeederRateResults = digiOnsValuationFeeder;
|
|
50
70
|
for (const value of initialFeederRateResults.values()) {
|
|
71
|
+
const wnConnectivityNode = value.model.connectivityNodes.find(elem => elem);
|
|
51
72
|
result.push({
|
|
52
73
|
voltageLevelUUID: value.model.mrid,
|
|
53
|
-
|
|
74
|
+
rz: (_a = wnConnectivityNode === null || wnConnectivityNode === void 0 ? void 0 : wnConnectivityNode.getAssetUser()) === null || _a === void 0 ? void 0 : _a.name,
|
|
75
|
+
connectivityNodeUUID: wnConnectivityNode === null || wnConnectivityNode === void 0 ? void 0 : wnConnectivityNode.mrid,
|
|
54
76
|
usedBaysValue: value.usedBaysValue,
|
|
55
77
|
openedSwitchesValue: value.openedSwitchesValue,
|
|
56
78
|
feederFailureValue: value.feederFailureValue,
|
|
@@ -63,36 +85,42 @@ function rateDigiONS(cimModel, anbindungsdata, valuationVector) {
|
|
|
63
85
|
kpmValue: value.kpmScore,
|
|
64
86
|
cabelToOverheadLineValue: value.cabelToOverheadLineScore,
|
|
65
87
|
digiOnsRatingValue: value.digiOnsRating,
|
|
66
|
-
digiOnsPlacementOrder:
|
|
88
|
+
digiOnsPlacementOrder: undefined
|
|
67
89
|
});
|
|
68
90
|
}
|
|
69
91
|
const excelExportEnabled = false;
|
|
70
|
-
const feederEndsWith = "016";
|
|
71
|
-
const exportIterationAmount = 7;
|
|
72
92
|
let excelSheetNames = [];
|
|
73
93
|
let excelSheetValues = [];
|
|
74
|
-
|
|
94
|
+
let chooseAmount = valuationVector.digitalizationCount;
|
|
95
|
+
if (chooseAmount === -1) {
|
|
96
|
+
chooseAmount = digiOnsValuationFeeder.size;
|
|
97
|
+
}
|
|
98
|
+
while (chooseAmount > 0 && digiOnsValuationFeeder.size > 0) {
|
|
75
99
|
const chooseResult = chooseDigiONS(digiOnsValuationFeeder);
|
|
76
100
|
const placementOrder = choosenDigiOns.push(chooseResult);
|
|
77
|
-
if (excelExportEnabled
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
101
|
+
if (excelExportEnabled) {
|
|
102
|
+
const values = util_excel_1.convertDigiOnsValuationsToRowwiseValues(digiOnsValuationFeeder);
|
|
103
|
+
values.unshift(util_excel_1.createDigiOnsValuationTableHeader());
|
|
104
|
+
values.push([""]);
|
|
105
|
+
let choosenResultExcel = [];
|
|
106
|
+
choosenResultExcel.push("Ausgewählte Station:");
|
|
107
|
+
choosenResultExcel.push(chooseResult.name);
|
|
108
|
+
values.push(choosenResultExcel);
|
|
109
|
+
excelSheetValues.push(values);
|
|
110
|
+
excelSheetNames.push(`Iteration ${placementOrder}`);
|
|
84
111
|
}
|
|
85
112
|
result.find(a => a.voltageLevelUUID === chooseResult.getVoltageLevel().mrid).digiOnsPlacementOrder = placementOrder;
|
|
86
|
-
digiOnsValuationFeeder = rateFeederDigiONS(ifeeder, anbindungsdata, valuationVector);
|
|
113
|
+
digiOnsValuationFeeder = rateFeederDigiONS(ifeeder, anbindungsdata, valuationVector, overallStations, overallPower);
|
|
114
|
+
chooseAmount--;
|
|
87
115
|
}
|
|
88
|
-
if (excelExportEnabled
|
|
89
|
-
util_excel_1.exportDataAsXLSX({ filepath:
|
|
116
|
+
if (excelExportEnabled) {
|
|
117
|
+
util_excel_1.exportDataAsXLSX({ filepath: `${ifeeder.name}`, sheetNames: excelSheetNames, sheetValues: excelSheetValues });
|
|
90
118
|
}
|
|
91
119
|
}
|
|
92
120
|
return result;
|
|
93
121
|
}
|
|
94
122
|
exports.rateDigiONS = rateDigiONS;
|
|
95
|
-
function rateFeederDigiONS(ifeeder, anbindungsdata, valuationVector) {
|
|
123
|
+
function rateFeederDigiONS(ifeeder, anbindungsdata, valuationVector, overallStations, overallPower) {
|
|
96
124
|
var _a;
|
|
97
125
|
const digiOnsValuation = new Map();
|
|
98
126
|
const feeder = ifeeder;
|
|
@@ -105,55 +133,27 @@ function rateFeederDigiONS(ifeeder, anbindungsdata, valuationVector) {
|
|
|
105
133
|
const cnName = voltageLevel.connectivityNodes.find(elem => { var _a; return ((_a = elem.name) === null || _a === void 0 ? void 0 : _a.length) === 21; });
|
|
106
134
|
if (!cnName)
|
|
107
135
|
continue;
|
|
136
|
+
const failureRate = cn.getFailureRate();
|
|
108
137
|
if (isDigiONS(voltageLevel))
|
|
109
138
|
continue;
|
|
110
|
-
let calculatedValues = {
|
|
139
|
+
let calculatedValues = { resultStations: 0, resultPower: 0, minDistStations: 0, minDistPower: 0 };
|
|
111
140
|
for (const cn of voltageLevel.connectivityNodes) {
|
|
112
141
|
let completeTreeContext = util_graph2tree_1.convertAnyFeederNodeIntoTree(cn, feeder);
|
|
113
|
-
let calculatedValuesContext = {
|
|
114
|
-
wnFeeder: feeder,
|
|
115
|
-
resultStationsValue: 0, resultPowerValue: 0,
|
|
116
|
-
overallStations: 0, overallPower: 0,
|
|
117
|
-
allBranchesStations: [], allBranchesPower: [],
|
|
118
|
-
branchStations: 0, branchPower: 0,
|
|
119
|
-
isBranchRelevant: false, ignoreValues: false,
|
|
120
|
-
};
|
|
121
|
-
let calculatedValuesWrapper = {
|
|
122
|
-
context: calculatedValuesContext,
|
|
123
|
-
callbackFunc: util_tree_1.calculateDigiONSValuesCallbackFunc
|
|
124
|
-
};
|
|
125
|
-
let overallValueDetermineContext = {
|
|
126
|
-
wnFeeder: feeder,
|
|
127
|
-
crtWayStack: [],
|
|
128
|
-
distances: new Map(),
|
|
129
|
-
mridTreeNodeMap: new Map(),
|
|
130
|
-
nodesVisitedWay: new Map(),
|
|
131
|
-
rootNodes: new Set(),
|
|
132
|
-
overallStations: 0, overallPower: 0,
|
|
133
|
-
isBranchRelevant: false,
|
|
134
|
-
};
|
|
135
|
-
let overallValueDetermineWrapper = {
|
|
136
|
-
context: overallValueDetermineContext,
|
|
137
|
-
callbackFunc: util_tree_1.overallValueDetermineCallbackFunc
|
|
138
|
-
};
|
|
139
|
-
util_tree_1.leafNodeTraversal(completeTreeContext.leafNodes, calculatedValuesWrapper, overallValueDetermineWrapper);
|
|
140
142
|
let distanceContext = {
|
|
141
|
-
context: {
|
|
142
|
-
callbackFunc:
|
|
143
|
+
context: { stationResult: 0, powerResult: 0, shortestPathFound: false, headNode: feeder.getHeadNode() },
|
|
144
|
+
callbackFunc: shortestPathCallbackFunc
|
|
143
145
|
};
|
|
144
146
|
util_tree_1.breadthFirstTreeTraversal(completeTreeContext.rootNode, distanceContext);
|
|
145
|
-
calculatedValues.
|
|
146
|
-
calculatedValues.
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
if (!isFinite(calculatedValues.
|
|
154
|
-
calculatedValues.
|
|
155
|
-
if (!isFinite(calculatedValues.sumPower))
|
|
156
|
-
calculatedValues.sumPower = 0;
|
|
147
|
+
calculatedValues.minDistStations = distanceContext.context.stationResult;
|
|
148
|
+
calculatedValues.minDistPower = distanceContext.context.powerResult;
|
|
149
|
+
calculatedValues.resultStations =
|
|
150
|
+
(distanceContext.context.stationResult) / (0.5 * overallStations);
|
|
151
|
+
calculatedValues.resultPower =
|
|
152
|
+
(distanceContext.context.powerResult) / (0.5 * overallPower);
|
|
153
|
+
if (!isFinite(calculatedValues.resultStations))
|
|
154
|
+
calculatedValues.resultStations = 0;
|
|
155
|
+
if (!isFinite(calculatedValues.resultPower))
|
|
156
|
+
calculatedValues.resultPower = 0;
|
|
157
157
|
}
|
|
158
158
|
if (!digiOnsValuation.has(voltageLevel.getUUID())) {
|
|
159
159
|
const obj = {
|
|
@@ -161,16 +161,20 @@ function rateFeederDigiONS(ifeeder, anbindungsdata, valuationVector) {
|
|
|
161
161
|
model: voltageLevel,
|
|
162
162
|
usedBaysValue: getUsedBaysValue(voltageLevel),
|
|
163
163
|
openedSwitchesValue: getOpenedSwitchesValue(voltageLevel),
|
|
164
|
-
feederFailureValue:
|
|
164
|
+
feederFailureValue: isFinite(failureRate) ? failureRate : 0,
|
|
165
165
|
importanceScore: getImportanceScore(voltageLevel),
|
|
166
166
|
healthScore: getHealthScore(voltageLevel),
|
|
167
167
|
geographicalPositionScore: 0,
|
|
168
|
-
schematicPositionScore: calculatedValues.
|
|
169
|
-
powerPositionScore: calculatedValues.
|
|
168
|
+
schematicPositionScore: calculatedValues.resultStations,
|
|
169
|
+
powerPositionScore: calculatedValues.resultPower,
|
|
170
170
|
operationScore: 0,
|
|
171
171
|
kpmScore: 0,
|
|
172
172
|
cabelToOverheadLineScore: getCabelToOverheadLineValue(voltageLevel),
|
|
173
|
-
digiOnsRating: 0
|
|
173
|
+
digiOnsRating: 0,
|
|
174
|
+
minDistStations: calculatedValues.minDistStations,
|
|
175
|
+
sumStations: overallStations,
|
|
176
|
+
minDistPower: calculatedValues.minDistPower,
|
|
177
|
+
sumPower: overallPower,
|
|
174
178
|
};
|
|
175
179
|
obj.digiOnsRating =
|
|
176
180
|
obj.usedBaysValue * valuationVector.usedBaysWeight +
|
|
@@ -178,9 +182,12 @@ function rateFeederDigiONS(ifeeder, anbindungsdata, valuationVector) {
|
|
|
178
182
|
obj.feederFailureValue * valuationVector.feederFailureWeight +
|
|
179
183
|
obj.importanceScore * valuationVector.importanceWeight +
|
|
180
184
|
obj.healthScore * valuationVector.healthWeight +
|
|
185
|
+
obj.geographicalPositionScore * valuationVector.geographicalPositionWeight +
|
|
181
186
|
obj.schematicPositionScore * valuationVector.schematicPositionWeight +
|
|
182
|
-
obj.
|
|
183
|
-
obj.
|
|
187
|
+
obj.powerPositionScore * valuationVector.powerPositionWeight +
|
|
188
|
+
obj.operationScore * valuationVector.operationWeight +
|
|
189
|
+
obj.kpmScore * valuationVector.kpmWeight +
|
|
190
|
+
obj.cabelToOverheadLineScore * valuationVector.cabelToOverheadLineWeight;
|
|
184
191
|
digiOnsValuation.set(voltageLevel.getUUID(), obj);
|
|
185
192
|
}
|
|
186
193
|
}
|
|
@@ -188,13 +195,14 @@ function rateFeederDigiONS(ifeeder, anbindungsdata, valuationVector) {
|
|
|
188
195
|
}
|
|
189
196
|
exports.rateFeederDigiONS = rateFeederDigiONS;
|
|
190
197
|
function getCabelToOverheadLineValue(voltageLevel) {
|
|
198
|
+
var _a;
|
|
191
199
|
let overheadLinesCount = 0;
|
|
192
200
|
let cabelCount = 0;
|
|
193
201
|
for (const cn of voltageLevel.connectivityNodes) {
|
|
194
202
|
for (const terminal of cn.terminals.values()) {
|
|
195
203
|
if (terminal.conductingEquipment instanceof ACLineSegment_1.ACLineSegment) {
|
|
196
204
|
const acLineSegment = terminal.conductingEquipment;
|
|
197
|
-
switch (acLineSegment.psrType.name) {
|
|
205
|
+
switch ((_a = acLineSegment.psrType) === null || _a === void 0 ? void 0 : _a.name) {
|
|
198
206
|
case cim_asset_types_1.CIM_ASSET_NAMES.OverHeadLine: {
|
|
199
207
|
overheadLinesCount++;
|
|
200
208
|
break;
|
|
@@ -207,7 +215,7 @@ function getCabelToOverheadLineValue(voltageLevel) {
|
|
|
207
215
|
}
|
|
208
216
|
}
|
|
209
217
|
}
|
|
210
|
-
return overheadLinesCount * cabelCount;
|
|
218
|
+
return (overheadLinesCount * cabelCount > 0) ? 1 : 0;
|
|
211
219
|
}
|
|
212
220
|
function isDigiONS(voltageLevel) {
|
|
213
221
|
for (const cn of voltageLevel.connectivityNodes) {
|
|
@@ -358,4 +366,194 @@ function getFeederTreeData(cimModel, ifeeder) {
|
|
|
358
366
|
return graph.createTreeBFS(headNode.mrid);
|
|
359
367
|
}
|
|
360
368
|
exports.getFeederTreeData = getFeederTreeData;
|
|
369
|
+
function shortestPathCallbackFunc(treeNode, context, calltime) {
|
|
370
|
+
var _a;
|
|
371
|
+
if (context.shortestPathFound)
|
|
372
|
+
return;
|
|
373
|
+
if (calltime === util_tree_1.BFSCalltime.BFS_NEXT_NODE) {
|
|
374
|
+
if (treeNode.cimObject instanceof WNConnectivityNode_1.WNConnectivityNode) {
|
|
375
|
+
const wnNode = treeNode.cimObject;
|
|
376
|
+
if (wnNode.name === ((_a = context.headNode) === null || _a === void 0 ? void 0 : _a.name) || wnNode.getKind() === WNFacilityKind_1.WNFacilityKind.DIGIONS) {
|
|
377
|
+
let crtTreeNode = treeNode;
|
|
378
|
+
let ignoreValues = true;
|
|
379
|
+
while (crtTreeNode) {
|
|
380
|
+
if (crtTreeNode.cimObject instanceof WNConnectivityNode_1.WNConnectivityNode) {
|
|
381
|
+
if (!ignoreValues) {
|
|
382
|
+
context.stationResult += 1;
|
|
383
|
+
for (const terminal of crtTreeNode.cimObject.terminals.values()) {
|
|
384
|
+
const condEquip = terminal.conductingEquipment;
|
|
385
|
+
if (condEquip instanceof EnergyConsumer_1.EnergyConsumer) {
|
|
386
|
+
context.powerResult += condEquip.getApparentPower();
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
else {
|
|
391
|
+
ignoreValues = false;
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
crtTreeNode = crtTreeNode.parent;
|
|
395
|
+
}
|
|
396
|
+
context.shortestPathFound = true;
|
|
397
|
+
return;
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
exports.shortestPathCallbackFunc = shortestPathCallbackFunc;
|
|
403
|
+
function overallPowerCallbackFunc(treeNode, context, calltime) {
|
|
404
|
+
if (calltime === util_tree_1.LeafNodeCalltime.LEAF_NODE_LOOP_TO_ROOT) {
|
|
405
|
+
if (!context.nodesVisited.has(treeNode.cimObject)) {
|
|
406
|
+
context.nodesVisited.add(treeNode.cimObject);
|
|
407
|
+
if (treeNode.cimObject instanceof ConnectivityNode_1.ConnectivityNode) {
|
|
408
|
+
for (const terminal of treeNode.cimObject.terminals.values()) {
|
|
409
|
+
const condEquip = terminal.conductingEquipment;
|
|
410
|
+
if (condEquip instanceof EnergyConsumer_1.EnergyConsumer) {
|
|
411
|
+
context.overallPower += condEquip.getApparentPower();
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
exports.overallPowerCallbackFunc = overallPowerCallbackFunc;
|
|
419
|
+
function overallValueDetermineCallbackFunc(treeNode, context, calltime) {
|
|
420
|
+
var _a;
|
|
421
|
+
if (calltime === util_tree_1.LeafNodeCalltime.LEAF_NODE_PRE_NEXT) {
|
|
422
|
+
context.crtWayStack = [];
|
|
423
|
+
context.isBranchRelevant = false;
|
|
424
|
+
}
|
|
425
|
+
else if (calltime === util_tree_1.LeafNodeCalltime.LEAF_NODE_POST_NEXT) {
|
|
426
|
+
if (context.isBranchRelevant) {
|
|
427
|
+
context.crtWayStack.pop();
|
|
428
|
+
let crtStackElem = undefined;
|
|
429
|
+
let first = true;
|
|
430
|
+
while (crtStackElem = context.crtWayStack.pop()) {
|
|
431
|
+
if (first) {
|
|
432
|
+
first = false;
|
|
433
|
+
context.rootNodes.add(crtStackElem);
|
|
434
|
+
}
|
|
435
|
+
if (!context.distances.has(crtStackElem.cimObject.mrid)) {
|
|
436
|
+
context.distances.set(crtStackElem.cimObject.mrid, context.crtWayStack.length);
|
|
437
|
+
context.mridTreeNodeMap.set(crtStackElem.cimObject.mrid, crtStackElem);
|
|
438
|
+
if (context.crtWayStack.length > 0) {
|
|
439
|
+
context.nodesVisitedWay.set(crtStackElem.cimObject.mrid, context.crtWayStack[context.crtWayStack.length - 1]);
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
else {
|
|
443
|
+
const crtDistance = context.distances.get(crtStackElem.cimObject.mrid);
|
|
444
|
+
if (context.crtWayStack.length < crtDistance) {
|
|
445
|
+
context.distances.set(crtStackElem.cimObject.mrid, context.crtWayStack.length);
|
|
446
|
+
context.mridTreeNodeMap.set(crtStackElem.cimObject.mrid, crtStackElem);
|
|
447
|
+
if (context.crtWayStack.length > 0) {
|
|
448
|
+
context.nodesVisitedWay.set(crtStackElem.cimObject.mrid, context.crtWayStack[context.crtWayStack.length - 1]);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
else if (calltime === util_tree_1.LeafNodeCalltime.LEAF_NODE_LOOP_TO_ROOT) {
|
|
456
|
+
if (treeNode.cimObject instanceof ConnectivityNode_1.ConnectivityNode) {
|
|
457
|
+
const cNode = treeNode.cimObject;
|
|
458
|
+
let resetValues = cNode.name === context.wnFeeder.getHeadNode().name;
|
|
459
|
+
if (cNode instanceof WNConnectivityNode_1.WNConnectivityNode) {
|
|
460
|
+
const wnCNode = cNode;
|
|
461
|
+
if (wnCNode.getKind() === WNFacilityKind_1.WNFacilityKind.DIGIONS) {
|
|
462
|
+
resetValues = true;
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
if (resetValues) {
|
|
466
|
+
context.isBranchRelevant = true;
|
|
467
|
+
context.crtWayStack = [];
|
|
468
|
+
}
|
|
469
|
+
if (context.isBranchRelevant) {
|
|
470
|
+
context.crtWayStack.push(treeNode);
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
else if (calltime === util_tree_1.LeafNodeCalltime.END) {
|
|
475
|
+
for (const rootChildNode of context.rootNodes) {
|
|
476
|
+
if (context.mridTreeNodeMap.has(rootChildNode.cimObject.mrid)) {
|
|
477
|
+
let crtElem = context.mridTreeNodeMap.get(rootChildNode.cimObject.mrid);
|
|
478
|
+
while (crtElem) {
|
|
479
|
+
const cNode = crtElem.cimObject;
|
|
480
|
+
if (!(cNode.name === ((_a = context.wnFeeder.getHeadNode()) === null || _a === void 0 ? void 0 : _a.name) || cNode.getKind() === WNFacilityKind_1.WNFacilityKind.DIGIONS)) {
|
|
481
|
+
for (const terminal of cNode.terminals.values()) {
|
|
482
|
+
const condEquip = terminal.conductingEquipment;
|
|
483
|
+
if (condEquip instanceof EnergyConsumer_1.EnergyConsumer) {
|
|
484
|
+
context.overallPower += condEquip.getApparentPower();
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
context.overallStations += 1;
|
|
488
|
+
}
|
|
489
|
+
crtElem = context.nodesVisitedWay.get(crtElem.cimObject.mrid);
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
else {
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
exports.overallValueDetermineCallbackFunc = overallValueDetermineCallbackFunc;
|
|
498
|
+
function calculateDigiONSValuesCallbackFunc(treeNode, context, calltime) {
|
|
499
|
+
if (calltime === util_tree_1.LeafNodeCalltime.LEAF_NODE_PRE_NEXT) {
|
|
500
|
+
context.branchStations = 0;
|
|
501
|
+
context.branchPower = 0;
|
|
502
|
+
context.isBranchRelevant = false;
|
|
503
|
+
}
|
|
504
|
+
else if (calltime === util_tree_1.LeafNodeCalltime.LEAF_NODE_POST_NEXT) {
|
|
505
|
+
if (context.isBranchRelevant) {
|
|
506
|
+
context.allBranchesStations.push(context.branchStations);
|
|
507
|
+
context.allBranchesPower.push(context.branchPower);
|
|
508
|
+
context.overallStations += context.branchStations;
|
|
509
|
+
context.overallPower += context.branchPower;
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
else if (calltime === util_tree_1.LeafNodeCalltime.LEAF_NODE_LOOP_TO_ROOT) {
|
|
513
|
+
context.ignoreValues = false;
|
|
514
|
+
if (treeNode.cimObject instanceof ConnectivityNode_1.ConnectivityNode) {
|
|
515
|
+
const cNode = treeNode.cimObject;
|
|
516
|
+
let resetValues = cNode.name === context.wnFeeder.getHeadNode().name;
|
|
517
|
+
if (cNode instanceof WNConnectivityNode_1.WNConnectivityNode) {
|
|
518
|
+
const wnCNode = cNode;
|
|
519
|
+
if (wnCNode.getKind() === WNFacilityKind_1.WNFacilityKind.DIGIONS) {
|
|
520
|
+
resetValues = true;
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
if (resetValues) {
|
|
524
|
+
context.branchStations = 0;
|
|
525
|
+
context.branchPower = 0;
|
|
526
|
+
context.isBranchRelevant = true;
|
|
527
|
+
context.ignoreValues = true;
|
|
528
|
+
}
|
|
529
|
+
for (const terminal of cNode.terminals.values()) {
|
|
530
|
+
const condEquip = terminal.conductingEquipment;
|
|
531
|
+
if (!context.ignoreValues) {
|
|
532
|
+
if (condEquip instanceof EnergyConsumer_1.EnergyConsumer) {
|
|
533
|
+
context.branchPower += condEquip.getApparentPower();
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
if (!context.ignoreValues && treeNode.parent)
|
|
538
|
+
context.branchStations += 1;
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
else if (calltime === util_tree_1.LeafNodeCalltime.END) {
|
|
542
|
+
context.resultStationsValue = 0;
|
|
543
|
+
context.resultPowerValue = 0;
|
|
544
|
+
for (const branchStationsValue of context.allBranchesStations) {
|
|
545
|
+
context.resultStationsValue += branchStationsValue / (0.5 * context.overallStations);
|
|
546
|
+
}
|
|
547
|
+
context.resultStationsValue /= context.allBranchesStations.length;
|
|
548
|
+
for (const branchPowerValue of context.allBranchesPower) {
|
|
549
|
+
context.resultPowerValue += branchPowerValue / (0.5 * context.overallPower);
|
|
550
|
+
}
|
|
551
|
+
context.resultPowerValue /= context.allBranchesPower.length;
|
|
552
|
+
if (!isFinite(context.resultStationsValue))
|
|
553
|
+
context.resultStationsValue = 0;
|
|
554
|
+
if (!isFinite(context.resultPowerValue))
|
|
555
|
+
context.resultPowerValue = 0;
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
exports.calculateDigiONSValuesCallbackFunc = calculateDigiONSValuesCallbackFunc;
|
|
361
559
|
//# sourceMappingURL=digi-ons.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"digi-ons.js","sourceRoot":"","sources":["../../../src/analysis/analysis-neplan/digi-ons.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"digi-ons.js","sourceRoot":"","sources":["../../../src/analysis/analysis-neplan/digi-ons.ts"],"names":[],"mappings":"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"}
|