/// <summary> /// The designated constructor for the <see cref="LinearStateEstimator.Graphs.SubstationGraph"/> class. Requires a reference to a <see cref="LinearStateEstimator.Modeling.Substation"/> of interest. /// </summary> /// <param name="substation">The <see cref="LinearStateEstimator.Modeling.Substation"/> desired to represent as a graph.</param> public SubstationGraph(Substation substation) { m_internalID = substation.InternalID; m_topologyLevel = substation.TopologyLevel; m_angleDeltaThresholdInDegrees = substation.AngleDeltaThresholdInDegrees; BuildVertexSet(substation); BuildeEdgeSet(substation); InitializeAdjacencyList(); m_observedBuses = new List <ObservedBus>(); CreatePhasorPairMatrix(); InitializeConnectivityMatrix(); }
/// <summary> /// A constructor for the <see cref="LinearStateEstimator.Modeling.Substation"/> class which requires all of the properties defined by the <see cref="LinearStateEstimator.Modeling.INetworkDescribable"/> interface and all of its children network elements. /// </summary> /// <param name="internalID">An integer identifier for each <see cref="LinearStateEstimator.Modeling.Substation"/> which is intended to be unique among other objects of the same type.</param> /// <param name="number">A descriptive integer for the instance of the <see cref="LinearStateEstimator.Modeling.Substation"/>. There are no restrictions on uniqueness. </param> /// <param name="acronym">A string acronym for the instance of the <see cref="LinearStateEstimator.Modeling.Substation"/>.</param> /// <param name="name">The string name of the instance of the <see cref="LinearStateEstimator.Modeling.Substation"/>.</param> /// <param name="description">A string description of the instance of the <see cref="LinearStateEstimator.Modeling.Substation"/>.</param> /// <param name="nodes">All of the children <see cref="LinearStateEstimator.Modeling.Node"/> objects of the <see cref="LinearStateEstimator.Modeling.Substation"/>.</param> /// <param name="shunts">All of the children <see cref="LinearStateEstimator.Modeling.ShuntCompensator"/> objects of the <see cref="LinearStateEstimator.Modeling.Substation"/>.</param> /// <param name="transformers">All of the children <see cref="LinearStateEstimator.Modeling.Transformer"/> objects of the <see cref="LinearStateEstimator.Modeling.Substation"/>.</param> /// <param name="circuitBreakers">All of the children <see cref="LinearStateEstimator.Modeling.CircuitBreaker"/> objects of the <see cref="LinearStateEstimator.Modeling.Substation"/>.</param> /// <param name="switches">All of the children <see cref="LinearStateEstimator.Modeling.Switch"/> objects of the <see cref="LinearStateEstimator.Modeling.Substation"/>.</param> public Substation(int internalID, int number, string acronym, string name, string description, List <Node> nodes, List <ShuntCompensator> shunts, List <Transformer> transformers, List <CircuitBreaker> circuitBreakers, List <Switch> switches) { m_internalID = internalID; m_number = number; m_acronym = acronym; m_name = name; m_description = description; m_childrenNodes = nodes; m_childrenShunts = shunts; m_childrenTransformers = transformers; m_childrenCircuitBreakers = circuitBreakers; m_childrenSwitches = switches; m_observedBusCountKey = "Undefined"; m_voltageLevelGroups = new List <VoltageLevelGroup>(); m_perUnitMagnitudeThreshold = 0.03; m_angleDeltaThresholdInDegrees = 0.2; m_totalVectorDeltaThreshold = 0.03; m_coherencyDetectionMethod = VoltageCoherencyDetectionMethod.AngleDelta; m_topologyLevel = TopologyEstimationLevel.Zero; }