← Back to the grid

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

Harnesses in action

Scripted chat-and-viewer examples where this domain's harness is one of the tools. Illustrative, not live sessions.

All harness demos →

What it can do

  • LoadingCase

    Typed loading-case input: standard, NESC 250 subrule, recurrence interval, wind speed, ice thickness, temperature.

  • LatticeTower / Monopole / HFrame

    Structure node types linked to attachment points, hardware, insulators and conductors by ID.

  • insulator_swing_angle

    Insulator swing angle from vertical, per RUS 1724E-200 Eq. 7-1/7-2.

  • pole_capacity_ground_line_method

    Single wood pole groundline moment by the Ground Line Method.

  • row_width_single_line

    Right-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. 1. Design basisdesign_basis

    Takes 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. 2. Conductor ampacityconductor_ampacity

    Required 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. 3. Sag and tensionsag_tension

    Tension 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 fixes

    Never 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. 4. Structure spanstructure_span

    Maximum 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 fixes

    Never 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. 5. Wire loadswire_loads

    Turns 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. 6. Structure span, loadedstructure_span_loaded

    The 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 fixes

    Never 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.
All domains →