Research — Transmission Structure · Early Access
A typed model of transmission structures, with RUS 1724E-200 hand-calc functions checked against the bulletin’s own examples.
Typed node and edge shapes for lattice towers, monopoles and H-frames and their hardware, insulators, conductors and shield wires, plus NESC/ASCE-74 loading cases stored as typed inputs. It also carries hand-calculation functions from RUS Bulletin 1724E-200. They return computed values, never pass/fail verdicts.
NESC · ASCE-74 · RUS 1724E-200
Interactive demos
- H-frame: raise the crossbrace →Slide the crossbrace of a tapered H-frame up and down the poles and watch which point limits the span: the governing point switches between the crossbrace and the lower brace joint, a stronger pole class barely matters, a double crossbrace moves the limit (RUS 1724E-200 worked example; precomputed, draft, point D not validated).Auto ▶
- Structure loading walk →Wind bends a wood transmission pole, swings an insulator string toward it and loads a crossarm: six stories and free play over groundline moments against capacity, string swing against its limit, and the span limits (RUS 1724E-200 worked examples; precomputed, draft).Auto ▶
- Insulator swing vs wind →Wind, line angle, tension and vertical span drive the swing angle and the required vertical span (RUS 1724E-200 Eq. 7-1 to 7-3); the TH-10 bulletin cases are presets and the swing limit is yours to enter.Auto ▶
- Pole groundline moment →Factored wind-on-pole, wind-on-wires and vertical moments against pole capacity (Ground Line Method, TS-1 example data).Auto ▶
Harnesses in action
Scripted chat-and-viewer examples where this domain's harness is one of the tools. Illustrative, not live sessions.
- Stage by stage: generation to substation →Illustrative, scriptedA generation plant and then its substation walked through their design stages, one design basis entered once. Each stage reports valid, incomplete, failed, stale or missing, and nothing passes by default. The plant’s fault contribution reaches the substation as a versioned hand-off, a breaker that was adequate on the grid alone is not with the plant, and a verified fix sends every dependent stage stale before it is re-run. A short coda runs the same pattern on a transmission line. The numbers come from running the design workflows offline; the demo does not call the live routes.
- Grid to rack: one design, six harnesses →Illustrative, scriptedA grid-fed datacenter reviewed stage by stage: transmission tap line, substation bus scheme and fence, duct bank, hall power path, service-gear fault current against its interrupting rating, and liquid cooling. Each stage hands a result to the next.
What it can do
LoadingCaseTyped loading-case input: standard, NESC 250 subrule, recurrence interval, wind speed, ice thickness, temperature.
LatticeTower / Monopole / HFrameStructure node types linked to attachment points, hardware, insulators and conductors by ID.
insulator_swing_angleInsulator swing angle from vertical, per RUS 1724E-200 Eq. 7-1/7-2.
pole_capacity_ground_line_methodSingle wood pole groundline moment by the Ground Line Method.
row_width_single_lineRight-of-way width for a single line (formula-consistency verified only).
Design workflow
A staged transmission-line design, checked against the bulletin’s own worked example.
Six routes walk a line through stages, including propose and decide for fixes. You send the whole design state in and get the new state back; nothing is stored between calls. The calculations that used to be separate hand-calc functions now chain: a sag-tension case supplies the loads, and the loads supply the structure check. Changing an input marks the stages built on it stale.
6 stages, drawn from the harness’s own dependency graph (6 of the 17 stages in its workflow map of RUS Bulletin 1724E-200 are built). Every stage reads the design basis; an arrow means a stage also needs the one it points from, so stages in the same column do not depend on each other.
- 1. Design basis
design_basisTakes the line design basis once; every later stage reads it from the state.
- Validates
- Records the design basis and reports which inputs are still missing.
- Needs
- the design basis
Can reportvalidincomplete - 2. Conductor ampacity
conductor_ampacityRequired current per circuit against the conductor’s tabulated rating.
- Validates
- If your design ambient is hotter than the table’s basis, or the ambient is not stated, the stage says the rating is not corrected instead of passing. A rating below the required current is failed against your stated inputs.
- Cites
- RUS 1724E-200 Table D-1
- Needs
- the design basis
Can reportvalidincompletefailedproposes fixes - 3. Sag and tension
sag_tensionTension and sag for each load case you supply, from the conductor’s mechanical data.
- Validates
- Each case is judged against the NESC Rule 261H tension limit it names; a solve that hit its bounds, or used an estimated conductor diameter, is not judged. Tension limits only: failed against your stated cases.
- Cites
- Aluminum Association conductor handbook, change-of-state method (via overhead-calc-harness); NESC Rule 261H tension limits (via overhead-calc-harness)
- Needs
- the design basis
Can reportfailedincompletenever validcalls overhead-calc-harnessproposes fixesNever valid: the load-induced stretch in NESC’s “final” tension and aeolian vibration are not evaluated (a creep-only final tension is, when creep is declared).
- 4. Structure span
structure_spanMaximum horizontal span a single wood pole can carry, against the span it must carry.
- Validates
- Ground Line Method with the deflection magnifier iterated; a pole at or beyond buckling returns no span, and the overload and strength factors are your inputs, so failed means it fails against your factors, not necessarily the code.
- Cites
- RUS 1724E-200 Ch. 13 (Eq. 13-1 to 13-8, Ground Line Method); NESC Rule 261.A.2.a
- Needs
- the design basis
Can reportfailedincompletenever validproposes fixesNever valid: only one load case is evaluated; other load cases, guying and foundation are not.
Same check on its own: Structure loading walk, Pole groundline moment
- 5. Wire loads
wire_loadsTurns one sag-tension case into the unit loads a tangent structure carries: loaded conductor weight and wind per foot, times the phase count, plus the shield wire.
- Validates
- Needs the sag-tension stage to have produced cases; a case that is not usable is reported as incomplete.
- Cites
- Aluminum Association conductor handbook, change-of-state method (via overhead-calc-harness)
- Needs
- the design basis, and the result of
sag_tension
Can reportvalidincomplete - 6. Structure span, loaded
structure_span_loadedThe structure span check with the conductor loads taken from the wire-loads stage instead of typed in.
- Validates
- The same Ground Line Method solve as the structure span; the loads are unfactored and the pole’s own factors are applied by the method.
- Cites
- RUS 1724E-200 Ch. 13 (Eq. 13-1 to 13-8, Ground Line Method); NESC Rule 261.A.2.a
- Needs
- the design basis, and the result of
wire_loads
Can reportfailedincompletenever validproposes fixesNever valid: only the one sag-tension case that supplied the loads is evaluated; other load cases, guying and foundation are not.
Same check on its own: Structure loading walk
Statuses:missing (the stage has not been run); valid (it ran and everything it evaluates passed); incomplete (it ran but could not evaluate something, and says what); failed (a comparison it did evaluate did not pass); stale (an input or an upstream stage changed since it ran).missing and stale apply to every stage.
No hand-off: There is no hand-off from the line design to the substation design.
Proposals, on request
For a failed ampacity: a larger Table D-1 conductor, a higher allowed conductor temperature, or a reduced loading. For a failed tension limit: the largest initial tension that passes, found by bisection through the real sag-tension engine. For a failed span: a shorter wind span or the minimum pole moment capacity. Each lists its side effects, such as higher sag or new conductor datasheet data.
What was checked
Run end to end through the real calculation engines, the bulletin’s TS-1 55 ft Southern Yellow Pine example reproduces: total vertical load 7.0891 lb/ft and total transverse load 2.5614 lb/ft from a sag-tension case, and a maximum span of 423 ft (422.985 ft).
What it does not do
- Tangent structures, single wood poles of 55 ft or less, one load case at a time.
- The load cases are initial (as-installed) tensions. When you declare an ACSR conductor’s creep, the stage also derives a creep-only final unloaded tension at 60 °F and compares it with NESC Rule 261H1b’s 25% limit: at or under holds, over is reported but never a failure, because the load-induced stretch that NESC includes in “final” would lower it further and is not modelled. The creep constants are second-hand (IEEE 1283 as reproduced in a public technote), a modelling choice rather than a code rule. Aeolian vibration is not evaluated, so the sag-tension stage is never valid.
- NESC overload and strength factors are inputs, so a failed span means it fails against your stated factors, not necessarily the code.
- A ground-clearance stage checks NESC Rule 232 clearance (Table 232-1 plus the 0.4 in per kV voltage increase and an altitude increase) at the Rule 232A conditions, for a level span with equal-height supports. It can fail, but it never passes: Rule 232 uses the largest final sag, and both the initial sag and the creep-only sag understate it. Table 232-1’s footnotes, the electrostatic-current check above 98 kV, the switching-surge alternate, terrain slope and insulator swing are not evaluated, and the NESC edition read is 2007.
- A lower tension raises sag, and with no clearance stage the effect on clearances is yours to check. A stronger pole is a minimum capacity, not a pole class.
- Draft; no transmission-line PE has reviewed it.
Live in the REST API (transmission harness v0.2.1, six routes) and as MCP tools. A staged design never ends with every stage valid: the sag-tension and structure-span stages can only be failed or incomplete. Draft.
Draft, unvalidated: no engineer has reviewed this workflow, and a stage result is a screening result, not a design approval.
A worked case
Input
RUS 1724E-200 TH-10 161 kV example: 795 kcmil 26/7 ACSR, 800 ft horizontal span, 135 lb insulator string, 6 psf wind, tension 6,244 lb, swing angle 53.2°.
Result
Required vertical span of about 315.89 ft at a 1° line angle and 390.40 ft at 2°, matched to the bulletin within a 2 ft tolerance that allows for its own rounding.
Where this stands
Schema draft, unvalidated. No structural or transmission-line PE has reviewed it. Insulator swing, pole capacity, crossarm span and guying are checked against the bulletin’s worked examples; ROW width and galloping are formula-consistency only.
Open questions
- No domain-expert review has been logged for any component yet.
- ASCE-74 reliability tiers and the NESC 250B Heavy/Medium/Light district map are not yet ingested.
- The PLS-TOWER → LatticeTower adapter is not built.