Research — Circuit · Precomputed (draft, unvalidated)

Grounding grid: touch and step

Press Fault: current floods a square substation grounding grid and the ground around it rises in potential. A person stands in the corner mesh with a hand on the fence, and the difference between hand and feet is the touch voltage. Play six stories, or switch to free play, tap the drawing and move any input to an exported value: the mesh and step voltage bars move against the tolerable limit for a 50 or 70 kg body.

Story

Draft, unvalidated harness (no SME sign-off) · illustrative geometry: a generic 60 m square grid, not any real station · the shading over the plan is illustrative (the harness has no spatial-profile function).

Anchoring limits, verbatim from the data file

DRAFT, UNVALIDATED harness. Illustrative substation grid (60 m x 60 m square, 0.01 m conductor, 0.5 m depth, 3 m rods on the perimeter, split factor 0.6, X/R 20, crushed rock 2000 ohm-m 0.10 m): not any real station. Clearing time is used for both the decrement factor and the shock duration. The functions compute values and never judge; 'exceeds_limit' / 'within_limit' is this demo's own comparison (src 'demo-logic'). The harness anchors: Numerically validated against a real published example (Ma, Dawalibi & Southey, "Effects of the Changes in IEEE Std. 80..."): X/R=20, tf=0.5s, f=60Hz reproduces the paper's published Df=1.052 to within its own rounding. Numerically validated against a real published example (Ma, Dawalibi & Southey, "Effects of the Changes in IEEE Std. 80..."): rho=100, rho_s=2000, hs=0.10 reproduces the paper's published Cs=0.705 (2000/2013-edition formula) to three significant figures. Everything else is self-consistency only: No IEEE 80-2013 Annex worked-example numeric results were recovered.** `GROUNDING_KICKOFF.md`'s own suggested validation path (the 2/0 AWG / 0.5m depth / 7.5m rod "Grid 1/2/3" benchmark cases, one uniform 140 ohm-m soil, one two-layer 300-over-100 ohm-m soil) is real and confirmed to exist, but every source checked for the actual computed Rg/GPR/Em/Es results was paywalled or dead. **Rg, Km, Ks, Em, and Es are therefore validated only by hand-derived self-consistency tests** (the test recomputes the same cited formula independently of the implementation, catching transcription/arithmetic bugs, but not confirming the formula itself against a real published result). Do not treat any of these five outputs as production-validated until either the standard itself or a CDEGS/XGSLab benchmark report is obtained and used to build a real regression test. Until these are resolved, treat every result from these functions as a draft, first-pass indicator, not validated input to a downstream compliance decision. No spatial potential-profile function exists in the harness, so the profile shading the UI draws is illustrative. Axes: spacing_m (60 m side / spacing = mesh cells), rods, rho_ohm_m, fault_a (symmetrical SLG current), clear_s, rock (0/1). Cols em_gt_* / es_gt_* are 0/1 comparisons made by the exporter (demo-logic); 50 kg and 70 kg limits are both in every cell.

Free play · every control snaps to an exported value; tap the drawing too

Conductor spacing

Perimeter rods

Soil resistivity

Fault current

Clearing time

A shorter clearing time raises the tolerable touch and step limits (they scale with 1 over the square root of the time). It also nudges the computed mesh voltage up slightly.

Surface layer

Body weight

Shading shows

Nothing between two exported values is estimated. Both body weights are in every cell, so the weight only picks which limit the solid tick shows. Tap the person to switch weight, the mesh to change the spacing, the grid edge to change the rods, the rock layer to toggle it, the soil to change its resistivity.

Plan · conductors and rods to scale, shading illustrative

The shading is illustrative: its levels are pinned to the exported voltages, its shape is not computed. The dashed grey contour marks the tolerable touch voltage for the chosen body weight. Corner meshes have the deepest dips, so the peak sits there.

Section · soil layers, person, touch and step paths

Computed voltage against the tolerable limit

Bars are neutral. The hatched part is how far past the solid tick the bar reaches, shown only where the exporter’s comparison says “exceeds the limit”.

Live readout · the cell or step on screen

Assumptions: the fixed illustrative inputs

    Every check at this state · rows where the exporter's comparison says “exceeds the limit” are highlighted

    Rule column: the citation the data file gives for each check. The harness verdict on every row is “value”; the Status chip on the two comparison rows is the exporter's wording.

    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. Required limits and every actual value are read from the data file; the highlighted comparison wording is the exporter's own, never a harness verdict.

    Precomputed results:every verdict, required value and margin on this page was computed by the real Python harness at export time and is played back from a data file. The page runs no harness logic and holds no standards tables, and it never interpolates between exported values. Not a live API call. Precomputed by the real functions calculate_grounding_grid_resistance, calculate_ground_potential_rise, calculate_mesh_and_step_voltage, calculate_surface_layer_derating_factor and calculate_tolerable_touch_step_voltage in circuit-calc-harness (recorded commit 2589b99), a draft, unvalidated harness. The decrement factor and the surface-layer factor each match one published point; no IEEE 80 Annex worked example exists for the whole chain, so grid resistance, ground potential rise, mesh and step voltage are self-consistency tested only. The functions compute values and never judge: every verdict in the file is "value", and "exceeds the limit" or "within the limit" is this demo's own comparison of two harness values (demo logic). The grid is a generic 60 m square with fixed illustrative inputs (listed under Assumptions), not any real station. The shading over the plan and the potential profile are illustrative: the harness has no spatial-profile function, so they are pinned only at the exported levels.Real functions this maps to:calculate_grounding_grid_resistance, calculate_ground_potential_rise, calculate_mesh_and_step_voltage, calculate_surface_layer_derating_factor, calculate_tolerable_touch_step_voltage.Not modeled: a real station, rectangular or irregular grids, two-layer soil beyond the one crushed-rock surface layer, the fence touch voltage and any voltage outside the grid, transferred potential, the harness-supplied split factor (the exporter chose 0.6), seasonal soil change, and any spatial potential-profile function. The drawing is schematic: rod positions, equipment pads and the potential shape are illustrative.See also:Grounding grid, hands-off walkthrough · Fault current along a feeder · Station walk