This site is version 0.0.1. Most of the code on this site is drafted by an agent and needs review. I apologize for the AI-speak, we are working on rewriting it!
viv-lang.org

vp.power.short_circuit

Three-phase short-circuit currents by IEC 60909 at the buses of a case.

Part of the distribution vipyr; it runs from a checkout of the repository. Planned on PyPI as pip install vipyr.

vp.power.short_circuit gives the initial symmetrical short-circuit current Ik'' and power Sk'' of a bolted three-phase fault at each bus, by IEC 60909-0's equivalent voltage source: c Un / sqrt(3) behind the Thevenin impedance of the network seen from the bus, with c = 1.1. Lines are their series impedance (charging, shunts and loads left out), transformers are at their rated ratio with the correction factor K_T, and each generator is its source impedance with the correction K_G.

Signature

vp.power.short_circuit(case, *, buses=None, xdss=0.2, cos_phi=0.85)

Parameters

case : str | dict, required
A case as vp.power.runpf takes it, or a .raw path (whose generators carry their source impedance ZR + jZX).
buses : int | list, default None
The faulted buses (bus numbers); None for every bus.
xdss : float, default 0.2
X''d on the machine base for a case without machine data.
cos_phi : float, default 0.85
The generators' rated power factor, for K_G.

Returns

A frozen ShortCircuit. Iterating it gives the fields below in order; it also has params, tests, log and check().

buses : ndarray[float64]
The faulted bus numbers.
ikss_ka : ndarray[float64]
The initial symmetrical short-circuit current Ik'', kA.
skss_mva : ndarray[float64]
The short-circuit power sqrt(3) Un Ik'', MVA.
rk : ndarray[float64]
The Thevenin resistance at the bus, per unit on baseMVA.
xk : ndarray[float64]
The Thevenin reactance.
success : bool
Always True.

Raises

ValueError
An unknown method, a case name that is not shipped, or a case dict without baseMVA, bus, gen and branch.
module.VivStop
The case has no bus that can be the reference, or every generator is at a reactive limit.
TypeError
An argument of the wrong type, or an unknown keyword.
vipyr.VivBuildError
An ImportError: no C compiler, or the program's C does not build.

References

  1. IEC 60909-0:2016, Short-circuit currents in three-phase a.c. systems, Part 0: Calculation of currents

Examples

import vipyr as vp
from vipyr import _spec
r = vp.power.short_circuit(_spec.source("lib/power/cases/raw/case118_v33.raw"), buses=[38, 65])
print(r.ikss_ka)
assert r.check()
[5.49835127 8.96088403]

Each example ran as written when these pages were generated, and the output shown is what it printed.

Checked against

Reference
pandapower 3.5.6's shortcircuit.calc_sc (IEC 60909, three-phase, case max) on the same network (from_ppc, every generator a machine with the RAW source impedance, transformers on the system base): Ik'' at every bus of case118 (from RAW) and of ANDES's IEEE 14 and IEEE 39 RAW files (lib/power/compare_study.py, lib/power/COMPARISON.md).

Credits

  • The methods follow MATPOWER's (BSD-3-Clause). The test cases are MATPOWER's case files, each with its source named in its header.

Source