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
- 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
- Viv: lib/power/shortcircuit.viv
- Viv: lib/power/api.viv