SS.PowerSystems 1.2.0
Legacy per-unit and sequence formulas plus validated standard bus-case import, transformer-aware dense/sparse Y-bus, Newton AC load flow, deterministic tap candidate optimization, continuation load paths and shunt/ground-aware sequence faults
Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0
Dependencies: SS.LinearAlgebra ^1.7.0
Public API
PowerSystems.admittanceMatrix
export function admittanceMatrix(PowerNetwork network)->AdmittanceMatrixParameters: network: PowerNetwork
export record AdmittanceMatrix(public double[] real, public double[] imaginary, public int size, public int nonzeroCount, public bool symmetric, public string diagnostic)Parameters: real: double[], imaginary: double[], size: int, nonzeroCount: int, symmetric: bool, diagnostic: string
PowerSystems.balancedPower
export function balancedPower(double lineVoltage, double lineCurrent, double powerFactor, bool lagging)->ThreePhasePowerParameters: lineVoltage: double, lineCurrent: double, powerFactor: double, lagging: bool
PowerSystems.baseCurrent
export function baseCurrent(double lineVoltage, double threePhasePower)->doubleParameters: lineVoltage: double, threePhasePower: double
PowerSystems.baseImpedance
export function baseImpedance(double lineVoltage, double threePhasePower)->doubleParameters: lineVoltage: double, threePhasePower: double
PowerSystems.changeImpedanceBase
export function changeImpedanceBase(double impedancePerUnit, double oldMva, double oldKv, double newMva, double newKv)->doubleParameters: impedancePerUnit: double, oldMva: double, oldKv: double, newMva: double, newKv: double
export function continuationPowerFlow(PowerNetwork network, double initialLoadFactor, double loadFactorStep, int maximumSteps, double minimumVoltage, double tolerance, int maximumIterations)->ContinuationPowerFlowResultParameters: network: PowerNetwork, initialLoadFactor: double, loadFactorStep: double, maximumSteps: int, minimumVoltage: double, tolerance: double, maximumIterations: int
export record ContinuationPowerFlowResult(public double[] loadFactors, public double[] minimumVoltages, public double[] residuals, public int completedSteps, public bool collapseDetected, public string diagnostic)Parameters: loadFactors: double[], minimumVoltages: double[], residuals: double[], completedSteps: int, collapseDetected: bool, diagnostic: string
PowerSystems.faultAtBus
export function faultAtBus(SequenceNetwork network, string busName, Phasor prefaultVoltage, Phasor faultImpedance, string faultType, double baseMva)->NetworkFaultResultParameters: network: SequenceNetwork, busName: string, prefaultVoltage: Phasor, faultImpedance: Phasor, faultType: string, baseMva: double
PowerSystems.FaultResult
export record FaultResult(public Phasor current, public double magnitude, public double faultMva, public string faultType)Parameters: current: Phasor, magnitude: double, faultMva: double, faultType: string
export function faultWithShuntsAndGrounding(SequenceNetwork network, string busName, Phasor prefaultVoltage, Phasor faultImpedance, Phasor shuntImpedance, Phasor groundingImpedance, string faultType, double baseMva)->GroundedFaultStudyParameters: network: SequenceNetwork, busName: string, prefaultVoltage: Phasor, faultImpedance: Phasor, shuntImpedance: Phasor, groundingImpedance: Phasor, faultType: string, baseMva: double
export record GroundedFaultStudy(public NetworkFaultResult fault, public Phasor appliedFaultImpedance, public Phasor shuntImpedance, public Phasor groundingImpedance, public string diagnostic)Parameters: fault: NetworkFaultResult, appliedFaultImpedance: Phasor, shuntImpedance: Phasor, groundingImpedance: Phasor, diagnostic: string
export function ieee14ReferenceNetwork()->PowerNetworkexport function importStandardBusCase(string[] busNames, string[] busKinds, double[] specifiedReal, double[] specifiedReactive, double[] voltageMagnitude, double[] voltageAngle, double[] minimumReactive, double[] maximumReactive, double[] shuntConductance, double[] shuntSusceptance, string[] branchNames, string[] fromBuses, string[] toBuses, double[] resistance, double[] reactance, double[] chargingSusceptance, double[] tapMagnitude, double[] phaseShift, bool[] inService, string provenance)->PowerNetworkParameters: busNames: string[], busKinds: string[], specifiedReal: double[], specifiedReactive: double[], voltageMagnitude: double[], voltageAngle: double[], minimumReactive: double[], maximumReactive: double[], shuntConductance: double[], shuntSusceptance: double[], branchNames: string[], fromBuses: string[], toBuses: string[], resistance: double[], reactance: double[], chargingSusceptance: double[], tapMagnitude: double[], phaseShift: double[], inService: bool[], provenance: string
PowerSystems.losslessLineFlow
export function losslessLineFlow(double sendingVoltage, double receivingVoltage, double reactance, double angleDifference)->ThreePhasePowerParameters: sendingVoltage: double, receivingVoltage: double, reactance: double, angleDifference: double
export record NetworkFaultResult(public string bus, public string faultType, public Phasor zeroCurrent, public Phasor positiveCurrent, public Phasor negativeCurrent, public Phasor phaseACurrent, public Phasor faultBusVoltage, public Phasor zeroThevenin, public Phasor positiveThevenin, public Phasor negativeThevenin, public double magnitude, public double faultMva)Parameters: bus: string, faultType: string, zeroCurrent: Phasor, positiveCurrent: Phasor, negativeCurrent: Phasor, phaseACurrent: Phasor, faultBusVoltage: Phasor, zeroThevenin: Phasor, positiveThevenin: Phasor, negativeThevenin: Phasor, magnitude: double, faultMva: double
export function optimizeTransformerTaps(PowerNetwork network, double[] candidateTaps, double minimumVoltage, double maximumVoltage, double tolerance, int maximumIterations)->TapOptimizationResultParameters: network: PowerNetwork, candidateTaps: double[], minimumVoltage: double, maximumVoltage: double, tolerance: double, maximumIterations: int
PowerSystems.phaseValues
export function phaseValues(SequenceSet sequence)->SequenceSetParameters: sequence: SequenceSet
PowerSystems.phasor
export function phasor(double real, double imaginary)->PhasorParameters: real: double, imaginary: double
PowerSystems.Phasor
export record Phasor(public double real, public double imaginary)Parameters: real: double, imaginary: double
PowerSystems.powerBranch
export function powerBranch(string name, string fromBus, string toBus, double resistance, double reactance, double chargingSusceptance, double tapMagnitude, double phaseShift, bool inService)->PowerBranchParameters: name: string, fromBus: string, toBus: string, resistance: double, reactance: double, chargingSusceptance: double, tapMagnitude: double, phaseShift: double, inService: bool
PowerSystems.PowerBranch
export record PowerBranch(public string name, public string fromBus, public string toBus, public double resistance, public double reactance, public double chargingSusceptance, public double tapMagnitude, public double phaseShift, public bool inService)Parameters: name: string, fromBus: string, toBus: string, resistance: double, reactance: double, chargingSusceptance: double, tapMagnitude: double, phaseShift: double, inService: bool
PowerSystems.powerBus
export function powerBus(string name, string kind, double specifiedReal, double specifiedReactive, double voltageMagnitude, double voltageAngle, double minimumReactive, double maximumReactive, double shuntConductance, double shuntSusceptance)->PowerBusParameters: name: string, kind: string, specifiedReal: double, specifiedReactive: double, voltageMagnitude: double, voltageAngle: double, minimumReactive: double, maximumReactive: double, shuntConductance: double, shuntSusceptance: double
PowerSystems.PowerBus
export record PowerBus(public string name, public string kind, public double specifiedReal, public double specifiedReactive, public double voltageMagnitude, public double voltageAngle, public double minimumReactive, public double maximumReactive, public double shuntConductance, public double shuntSusceptance)Parameters: name: string, kind: string, specifiedReal: double, specifiedReactive: double, voltageMagnitude: double, voltageAngle: double, minimumReactive: double, maximumReactive: double, shuntConductance: double, shuntSusceptance: double
export record PowerFlowSolution(public string[] busNames, public double[] voltageMagnitude, public double[] voltageAngle, public double[] realInjection, public double[] reactiveInjection, public bool[] convertedToPq, public string[] branchNames, public double[] fromReal, public double[] fromReactive, public double[] toReal, public double[] toReactive, public double realLoss, public double reactiveLoss, public double[] residualHistory, public int iterations, public double residual, public bool converged, public string diagnostic)Parameters: busNames: string[], voltageMagnitude: double[], voltageAngle: double[], realInjection: double[], reactiveInjection: double[], convertedToPq: bool[], branchNames: string[], fromReal: double[], fromReactive: double[], toReal: double[], toReactive: double[], realLoss: double, reactiveLoss: double, residualHistory: double[], iterations: int, residual: double, converged: bool, diagnostic: string
PowerSystems.powerNetwork
export function powerNetwork(PowerBus[] buses, PowerBranch[] branches, string provenance)->PowerNetworkParameters: buses: PowerBus[], branches: PowerBranch[], provenance: string
export record PowerNetwork(public PowerBus[] buses, public PowerBranch[] branches, public string provenance)Parameters: buses: PowerBus[], branches: PowerBranch[], provenance: string
PowerSystems.radialPowerNetwork
export function radialPowerNetwork(int busCount, double resistance, double reactance)->PowerNetworkParameters: busCount: int, resistance: double, reactance: double
PowerSystems.sequenceBranch
export function sequenceBranch(string name, string fromBus, string toBus, Phasor zeroImpedance, Phasor positiveImpedance, Phasor negativeImpedance, bool inService)->SequenceBranchParameters: name: string, fromBus: string, toBus: string, zeroImpedance: Phasor, positiveImpedance: Phasor, negativeImpedance: Phasor, inService: bool
export record SequenceBranch(public string name, public string fromBus, public string toBus, public Phasor zeroImpedance, public Phasor positiveImpedance, public Phasor negativeImpedance, public bool inService)Parameters: name: string, fromBus: string, toBus: string, zeroImpedance: Phasor, positiveImpedance: Phasor, negativeImpedance: Phasor, inService: bool
PowerSystems.sequenceNetwork
export function sequenceNetwork(string[] buses, SequenceBranch[] branches, SequenceSource[] sources, string provenance)->SequenceNetworkParameters: buses: string[], branches: SequenceBranch[], sources: SequenceSource[], provenance: string
export record SequenceNetwork(public string[] buses, public SequenceBranch[] branches, public SequenceSource[] sources, public string provenance)Parameters: buses: string[], branches: SequenceBranch[], sources: SequenceSource[], provenance: string
PowerSystems.SequenceSet
export record SequenceSet(public Phasor zero, public Phasor positive, public Phasor negative)Parameters: zero: Phasor, positive: Phasor, negative: Phasor
PowerSystems.sequenceSource
export function sequenceSource(string bus, Phasor zeroImpedance, Phasor positiveImpedance, Phasor negativeImpedance)->SequenceSourceParameters: bus: string, zeroImpedance: Phasor, positiveImpedance: Phasor, negativeImpedance: Phasor
export record SequenceSource(public string bus, public Phasor zeroImpedance, public Phasor positiveImpedance, public Phasor negativeImpedance)Parameters: bus: string, zeroImpedance: Phasor, positiveImpedance: Phasor, negativeImpedance: Phasor
export function singleLineGroundFault(Phasor prefaultVoltage, Phasor zeroImpedance, Phasor positiveImpedance, Phasor negativeImpedance, Phasor faultImpedance, double baseMva)->FaultResultParameters: prefaultVoltage: Phasor, zeroImpedance: Phasor, positiveImpedance: Phasor, negativeImpedance: Phasor, faultImpedance: Phasor, baseMva: double
PowerSystems.solvePowerFlow
export function solvePowerFlow(PowerNetwork network, double tolerance, int maximumIterations)->PowerFlowSolutionParameters: network: PowerNetwork, tolerance: double, maximumIterations: int
PowerSystems.solveTwoBusPQ
export function solveTwoBusPQ(double slackVoltage, double reactance, double specifiedReal, double specifiedReactive, double initialVoltage, double initialAngle, double tolerance, int maximumIterations)->TwoBusFlowParameters: slackVoltage: double, reactance: double, specifiedReal: double, specifiedReactive: double, initialVoltage: double, initialAngle: double, tolerance: double, maximumIterations: int
export function sparseAdmittanceMatrix(PowerNetwork network)->SparseAdmittanceMatrixParameters: network: PowerNetwork
export record SparseAdmittanceMatrix(public double[] real, public double[] imaginary, public int[] columns, public int[] rowOffsets, public int size, public int nonzeroCount)Parameters: real: double[], imaginary: double[], columns: int[], rowOffsets: int[], size: int, nonzeroCount: int
export function symmetricalComponents(Phasor phaseA, Phasor phaseB, Phasor phaseC)->SequenceSetParameters: phaseA: Phasor, phaseB: Phasor, phaseC: Phasor
export record TapOptimizationResult(public PowerNetwork network, public PowerFlowSolution solution, public double[] tapMagnitudes, public int evaluatedCandidates, public bool admissible, public string diagnostic)Parameters: network: PowerNetwork, solution: PowerFlowSolution, tapMagnitudes: double[], evaluatedCandidates: int, admissible: bool, diagnostic: string
PowerSystems.threePhaseFault
export function threePhaseFault(Phasor prefaultVoltage, Phasor positiveSequenceImpedance, double baseMva)->FaultResultParameters: prefaultVoltage: Phasor, positiveSequenceImpedance: Phasor, baseMva: double
export record ThreePhasePower(public double realPower, public double reactivePower, public double apparentPower, public double powerFactor)Parameters: realPower: double, reactivePower: double, apparentPower: double, powerFactor: double
PowerSystems.toPerUnit
export function toPerUnit(double actual, double baseValue)->doubleParameters: actual: double, baseValue: double
PowerSystems.TwoBusFlow
export record TwoBusFlow(public double voltageMagnitude, public double angle, public double realPower, public double reactivePower, public int iterations, public bool converged, public string diagnostic)Parameters: voltageMagnitude: double, angle: double, realPower: double, reactivePower: double, iterations: int, converged: bool, diagnostic: string
Documentation version
Language 1.0.0, compiler 1.0.0, runtime 1.0.0. This reference is generated from the official SS documentation so package and language details stay consistent with the release.