Source code for npap.aggregation.physical_strategies

from typing import Any

import networkx as nx

from npap.interfaces import PhysicalAggregationStrategy


[docs] class KronReductionStrategy(PhysicalAggregationStrategy): """ Kron reduction for DC power flow networks TODO: Implementation pending. This is a placeholder. """ @property def required_properties(self) -> list[str]: return ["reactance"] @property def modifies_properties(self) -> list[str]: return ["reactance"] @property def can_create_edges(self) -> bool: return True @property def required_topology(self) -> str: return "electrical"
[docs] def aggregate( self, original_graph: nx.Graph, partition_map: dict[int, list[Any]], topology_graph: nx.Graph, properties: list[str], parameters: dict[str, Any] = None, ) -> nx.Graph: """Kron reduction - TO BE IMPLEMENTED""" raise NotImplementedError( "Kron reduction is not yet implemented. " "Use AggregationMode.SIMPLE or AggregationMode.GEOGRAPHICAL for now." )