Graph refinerΒΆ
A preliminary step is done inside the GraphRefiner class. It performs some preprocessing on the input graph by calling several methods:
An optional call to
Graph.substituteInternalMiddle2wtByEquipmentNodes()to simplify the graph by substituting each internal two-winding transformers (i.e. both ends are in the same voltage level)FeederNodeby aEquipmentNode, to avoid unnecessary snake lines;A systematic call to
GraphRefiner::handleConnectedComponentswhich ensures that each connected component contains aBusNode: it is adding one if there is none;A systematic call to
Graph.substituteFictitiousNodesMirroringBusNodes()to simplify the graph by removingFICTITIOUSnodes which are the only adjacent node of aBusNode;An optional call to
Graph.removeUnnecessaryConnectivityNodes()to simplify the graph by removing redundantFICTITIOUSnodes;An optional call to
Graph.substituteSingularFictitiousByFeederNode()to simplify the graph by replacing internal nodes with only one neighbor with a fictitious feeder node;An optional call to
Graph.removeFictitiousSwitchNode()to simplify the graph by removing the fictitious switch nodes;A systematic call to
Graph.extendBusesConnectedToBuses()to add 2 connectivity nodes between 2 buses that are connected to each other;A systematic call to
Graph.insertBusConnectionsto create a connection between a bus node and its adjacent nodes;A systematic call to
Graph.insertHookNodesAtBuses()to TODOA systematic call to
Graph.insertHookNodesAtFeeders()to TODOA systematic call to
Graph.substituteNodesMirroringGroundDisconnectionComponent()to deal with ground disconnector displaying.