Skip to content
OFFICIAL SS DOCUMENTATION

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
API 1.2.0
MIT
source

Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0

Dependencies: SS.LinearAlgebra ^1.7.0

Public API

Public signature
export function admittanceMatrix(PowerNetwork network)->AdmittanceMatrix

Parameters: network: PowerNetwork


Public signature
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


Public signature
export function balancedPower(double lineVoltage, double lineCurrent, double powerFactor, bool lagging)->ThreePhasePower

Parameters: lineVoltage: double, lineCurrent: double, powerFactor: double, lagging: bool


Public signature
export function baseCurrent(double lineVoltage, double threePhasePower)->double

Parameters: lineVoltage: double, threePhasePower: double


Public signature
export function baseImpedance(double lineVoltage, double threePhasePower)->double

Parameters: lineVoltage: double, threePhasePower: double


Public signature
export function changeImpedanceBase(double impedancePerUnit, double oldMva, double oldKv, double newMva, double newKv)->double

Parameters: impedancePerUnit: double, oldMva: double, oldKv: double, newMva: double, newKv: double


Public signature
export function continuationPowerFlow(PowerNetwork network, double initialLoadFactor, double loadFactorStep, int maximumSteps, double minimumVoltage, double tolerance, int maximumIterations)->ContinuationPowerFlowResult

Parameters: network: PowerNetwork, initialLoadFactor: double, loadFactorStep: double, maximumSteps: int, minimumVoltage: double, tolerance: double, maximumIterations: int


Public signature
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


Public signature
export function faultAtBus(SequenceNetwork network, string busName, Phasor prefaultVoltage, Phasor faultImpedance, string faultType, double baseMva)->NetworkFaultResult

Parameters: network: SequenceNetwork, busName: string, prefaultVoltage: Phasor, faultImpedance: Phasor, faultType: string, baseMva: double


Public signature
export record FaultResult(public Phasor current, public double magnitude, public double faultMva, public string faultType)

Parameters: current: Phasor, magnitude: double, faultMva: double, faultType: string


Public signature
export function faultWithShuntsAndGrounding(SequenceNetwork network, string busName, Phasor prefaultVoltage, Phasor faultImpedance, Phasor shuntImpedance, Phasor groundingImpedance, string faultType, double baseMva)->GroundedFaultStudy

Parameters: network: SequenceNetwork, busName: string, prefaultVoltage: Phasor, faultImpedance: Phasor, shuntImpedance: Phasor, groundingImpedance: Phasor, faultType: string, baseMva: double


Public signature
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


Public signature
export function ieee14ReferenceNetwork()->PowerNetwork

Public signature
export 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)->PowerNetwork

Parameters: 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


Public signature
export function losslessLineFlow(double sendingVoltage, double receivingVoltage, double reactance, double angleDifference)->ThreePhasePower

Parameters: sendingVoltage: double, receivingVoltage: double, reactance: double, angleDifference: double


Public signature
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


Public signature
export function optimizeTransformerTaps(PowerNetwork network, double[] candidateTaps, double minimumVoltage, double maximumVoltage, double tolerance, int maximumIterations)->TapOptimizationResult

Parameters: network: PowerNetwork, candidateTaps: double[], minimumVoltage: double, maximumVoltage: double, tolerance: double, maximumIterations: int


Public signature
export function phaseValues(SequenceSet sequence)->SequenceSet

Parameters: sequence: SequenceSet


Public signature
export function phasor(double real, double imaginary)->Phasor

Parameters: real: double, imaginary: double


Public signature
export record Phasor(public double real, public double imaginary)

Parameters: real: double, imaginary: double


Public signature
export function powerBranch(string name, string fromBus, string toBus, double resistance, double reactance, double chargingSusceptance, double tapMagnitude, double phaseShift, bool inService)->PowerBranch

Parameters: name: string, fromBus: string, toBus: string, resistance: double, reactance: double, chargingSusceptance: double, tapMagnitude: double, phaseShift: double, inService: bool


Public signature
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


Public signature
export function powerBus(string name, string kind, double specifiedReal, double specifiedReactive, double voltageMagnitude, double voltageAngle, double minimumReactive, double maximumReactive, double shuntConductance, double shuntSusceptance)->PowerBus

Parameters: name: string, kind: string, specifiedReal: double, specifiedReactive: double, voltageMagnitude: double, voltageAngle: double, minimumReactive: double, maximumReactive: double, shuntConductance: double, shuntSusceptance: double


Public signature
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


Public signature
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


Public signature
export function powerNetwork(PowerBus[] buses, PowerBranch[] branches, string provenance)->PowerNetwork

Parameters: buses: PowerBus[], branches: PowerBranch[], provenance: string


Public signature
export record PowerNetwork(public PowerBus[] buses, public PowerBranch[] branches, public string provenance)

Parameters: buses: PowerBus[], branches: PowerBranch[], provenance: string


Public signature
export function radialPowerNetwork(int busCount, double resistance, double reactance)->PowerNetwork

Parameters: busCount: int, resistance: double, reactance: double


Public signature
export function sequenceBranch(string name, string fromBus, string toBus, Phasor zeroImpedance, Phasor positiveImpedance, Phasor negativeImpedance, bool inService)->SequenceBranch

Parameters: name: string, fromBus: string, toBus: string, zeroImpedance: Phasor, positiveImpedance: Phasor, negativeImpedance: Phasor, inService: bool


Public signature
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


Public signature
export function sequenceNetwork(string[] buses, SequenceBranch[] branches, SequenceSource[] sources, string provenance)->SequenceNetwork

Parameters: buses: string[], branches: SequenceBranch[], sources: SequenceSource[], provenance: string


Public signature
export record SequenceNetwork(public string[] buses, public SequenceBranch[] branches, public SequenceSource[] sources, public string provenance)

Parameters: buses: string[], branches: SequenceBranch[], sources: SequenceSource[], provenance: string


Public signature
export record SequenceSet(public Phasor zero, public Phasor positive, public Phasor negative)

Parameters: zero: Phasor, positive: Phasor, negative: Phasor


Public signature
export function sequenceSource(string bus, Phasor zeroImpedance, Phasor positiveImpedance, Phasor negativeImpedance)->SequenceSource

Parameters: bus: string, zeroImpedance: Phasor, positiveImpedance: Phasor, negativeImpedance: Phasor


Public signature
export record SequenceSource(public string bus, public Phasor zeroImpedance, public Phasor positiveImpedance, public Phasor negativeImpedance)

Parameters: bus: string, zeroImpedance: Phasor, positiveImpedance: Phasor, negativeImpedance: Phasor


Public signature
export function singleLineGroundFault(Phasor prefaultVoltage, Phasor zeroImpedance, Phasor positiveImpedance, Phasor negativeImpedance, Phasor faultImpedance, double baseMva)->FaultResult

Parameters: prefaultVoltage: Phasor, zeroImpedance: Phasor, positiveImpedance: Phasor, negativeImpedance: Phasor, faultImpedance: Phasor, baseMva: double


Public signature
export function solvePowerFlow(PowerNetwork network, double tolerance, int maximumIterations)->PowerFlowSolution

Parameters: network: PowerNetwork, tolerance: double, maximumIterations: int


Public signature
export function solveTwoBusPQ(double slackVoltage, double reactance, double specifiedReal, double specifiedReactive, double initialVoltage, double initialAngle, double tolerance, int maximumIterations)->TwoBusFlow

Parameters: slackVoltage: double, reactance: double, specifiedReal: double, specifiedReactive: double, initialVoltage: double, initialAngle: double, tolerance: double, maximumIterations: int


Public signature
export function sparseAdmittanceMatrix(PowerNetwork network)->SparseAdmittanceMatrix

Parameters: network: PowerNetwork


Public signature
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


Public signature
export function symmetricalComponents(Phasor phaseA, Phasor phaseB, Phasor phaseC)->SequenceSet

Parameters: phaseA: Phasor, phaseB: Phasor, phaseC: Phasor


Public signature
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


Public signature
export function threePhaseFault(Phasor prefaultVoltage, Phasor positiveSequenceImpedance, double baseMva)->FaultResult

Parameters: prefaultVoltage: Phasor, positiveSequenceImpedance: Phasor, baseMva: double


Public signature
export record ThreePhasePower(public double realPower, public double reactivePower, public double apparentPower, public double powerFactor)

Parameters: realPower: double, reactivePower: double, apparentPower: double, powerFactor: double


Public signature
export function toPerUnit(double actual, double baseValue)->double

Parameters: actual: double, baseValue: double


Public signature
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.