Research — Auto Demo · Precomputed (draft, unvalidated)
Feeder protection: fault slide — auto
No controls here: six short stories play on their own, and the relay trips at every step. Further from the source the current falls and the relay slows. A stronger source, a slower curve or dial, or a smaller cable can push the fault point past the cable's withstand line; a faster dial, a bigger cable or copper pulls it back. Use Pause, or the story and step buttons, to stop on any frame.
Story
Draft, unvalidated harness (no SME sign-off) · illustrative geometry: a generic 12.47 kV feeder, not any real one · withstand values UNVERIFIED, possibly non-conservative (the harness flags its own ICEA K factors) · fault current is internal self-consistency only · three-phase faults only.
Anchoring limits, verbatim from the data file
DRAFT, UNVALIDATED harness. Illustrative 12.47 kV feeder (a uniform conductor whose per-mile Z is the calculate_line_constants output for the harness test's inputs, 8 mi long, utility source 250 / 500 / 1000 MVA at X/R 10, relay at the source bus with no CT ratio): not any real feeder. Three-phase bolted faults only. The functions compute values and never judge; 'exceeds_withstand' / 'within_withstand' is this demo's own comparison (src 'demo-logic'). FAULT CURRENT: internal self-consistency only. Tested for internal self-consistency only — no independent reference value yet. `calculate_available_fault_current` (hand-calc tests recompute the same symmetrical-components formula with round input numbers — no independently published worked fault-current example was used) CABLE WITHSTAND, ICEA K factors UNVERIFIED: Elevated to a likely defect, NOT fixed, 2026-07-17 — an AI-assisted pre-review pass found the K factors below don't reconcile with independent published sources, by a source-independent check. For a 350 kcmil copper conductor at 0.5s, this module's formula gives ~40% higher withstand capacity than Southwire's published 90/250C copper figure — the non-conservative direction. Neither the K factors nor the citation are changed in this pass — this repo does not guess replacement values for a safety-relevant constant without a primary source. `withstand_amps`/`withstand_ka` should be treated as UNVERIFIED, not just "not yet reviewed," until a human confirms the K factors and citation against the actual ICEA text. The harness cable function takes no insulation class or temperature rating: This function's single per-material K silently assumes one unstated temperature pair for every cable of that material. RELAY CURVES: A conflicting secondary source exists for IEEE Moderately Inverse and Very Inverse's A/B constants — the two curves this file's own tiering already flags weakest. An AI-assisted pre-review pass found a source (industrialmonitordirect.com's curve table) giving materially different constants for these two curves (Moderately Inverse: A=0.0055, B=0.0254 vs. this module's A=0.0515, B=0.1140; Very Inverse: A=3.0457, B=0.1023 vs. this module's A=19.61, B=0.491) while agreeing with this module on Extremely Inverse and all three IEC curves. The same pass found other independent sources (an Eaton Digitrip TCC-curve datasheet, a third-party relay-calculator table) matching this module's values for all six curves. Net read from that pass: majority support for the current values, but a real, unresolved conflict on exactly the two curves already tiered "literature-only" — do not treat these two curves' constants as settled without a primary IEEE C37.112-1996 check. The IEC curves are independently corroborated at M=2/TMS=1 only; the IEEE extremely inverse curve is corroborated against a secondary web table. Axes: dist_mi (fault distance from the source bus), source_mva, curve (string), td (time dial: IEEE TDS or IEC TMS, one harness parameter), pickup_a. Main cols: i_a (fault current), m (multiple of pickup), trip_s, m_gt_ceiling (1 when m exceeds 18.5, the harness's own calibrated ceiling; the formula is still evaluated). Table cable: withstand_a at that cell's trip time, margin_a = i_a - withstand_a, exceeds (exporter comparison, demo-logic). Tables tcc (trip_s per curve, td and m; current = m x pickup is a plot scaling) and withstand_line (withstand_a per cable and time) draw the log-log chart. Cable areas are exporter inputs; the harness has no conductor catalog.
Feeder one-line · to scale, relay at the source
Time-current plot · log-log
Curves are drawn through exported points only. The fault current is the horizontal position (current = multiple of pickup × pickup is a plot scaling), the relay trip time the vertical. Drag the filled marker to move the fault along the curve; it snaps to the hollow dots. Amber line: withstand UNVERIFIED, possibly non-conservative. A short bar over a dot marks a fault above the calibrated range of the relay curve.
Live readout · the cell or step on screen
Assumptions: the fixed illustrative inputs
Every check at this step · the row where the exporter's comparison says “exceeds the withstand” is highlighted
Rule column: the citation the data file gives for each check.
How the checks read it
Every check · first step, a middle step, the last step of the story
Columns are named by the story's own steps. Every value is read from the data file; the comparison wording is the exporter's own, never a harness verdict.
calculate_line_constants, source_impedance_from_fault_mva, calculate_path_impedance, calculate_available_fault_current, calculate_overcurrent_relay_trip_time, calculate_cable_fault_withstand.Not modeled: a real feeder, laterals, load current, relay coordination, CT ratios, single-line-to-ground faults (three-phase only), fault asymmetry, definite-time relays, cable insulation class or temperature, and any value between two exported stops. The surge, clearing-time cursor, relay dial and violet tone are an illustrative replay of the exported trip time.See also:Feeder protection, interactive with free play · Grounding grid, hands-off