1. Scope
The CableSketch Pro v1 engine — internally tagged neher-mcgrath / 0.2.0, method neher-mcgrath-1957 — computes steady-state ampacity for single-conductor and multi-conductor cables installed in concrete-encased duct banks and direct-buried configurations. It supports two, three, four, and five-core multi-conductor constructions; conductor materials Cu and Al; conduit materials PVC, steel, fiberglass, and aluminium; and three-phase arrangements: triplex internal, separate trefoil, separate flat, and multi-core internal.
v1 covers low voltage (up to 600 V class) and medium voltage (up to 35 kV class). Mutual heating between every cable in a project is modelled simultaneously via a coupled iterative solver — there is no per-circuit grouping factor approximation. The engine reports converged ampacity, conductor / sheath / cable-surface / duct-internal / duct-external / bank-surface temperatures, all four thermal-resistance components, and the loss factors λ₁ and λ₂ for each conduit.
Three calculation scopes are supported per run: solve for ampacity at every conduit, solve for the limiting conductor temperature given a fixed load per circuit, or split a feeder demand evenly across resolved parallel conduits and back-solve the temperatures.
2. The Neher-McGrath thermal circuit
The Neher-McGrath method models a buried cable as a thermal circuit consisting of four resistances in series — conductor-to-insulation (T₁), insulation-to-sheath bedding (T₂), sheath-to-jacket (T₃), and jacket-to-ambient earth (T₄) — driven by the conductor's I²R losses plus dielectric and shield contributions. The conductor temperature is bounded by the cable's insulation rating (typically 75 °C or 90 °C for low voltage; 90 °C for medium-voltage XLPE / EPR).
2.1 T₁ — conductor insulation
Single-layer insulation uses Anders 1997 eq. 1.14:
For multi-layer insulations (e.g. semicon screens, separate insulation tape) the engine sums the radial sub-layer contributions per CIGRE TB 880 p83 / IEC 60287-2-1 §4.1.2, T1 = Σ (ρi / 2π) · ln(Di / Di−1), built outward from the conductor surface.
Multi-conductor cables use IEC 60287-2-1 §4.1.3 / Anders §1.6.6.1 with a geometric factor G that depends on the layout (belted, shielded-each-core, SL-type, common-sheath) and the core shape. Three-core round belted constructions use the Simons 1923 fit; shielded-each-core and SL-type collapse to the per-core radial form because each core's heat flows radially through its own screen. The filler annulus from the bundle perimeter to the jacket inner is added separately, with the per-conductor factor of N reflecting that each core sees the full bundle dissipation.
2.2 T₂ — bedding
T₂ is zero for most single-shield cables. Two cases produce a non-zero T₂:
- Dual-shield single-conductor cables (e.g. copper-wire screen plus aluminium foil with a swelling tape between): the engine evaluates the IEC 60287-2-1 §4.1.2.1 cylindrical formula on the bedding annulus, T2 = (ρbedding / 2π) · ln(Dbedding / Dinner shield). This is the path used in CIGRE TB 880 Case 1 (p142–143).
- SL-type multi-conductor cables: a small T2 = (ρfiller / 2π) · ln(1.08) per Anders §1.6.6.2.
2.3 T₃ — outer jacket
For three single-core cables in buried touching trefoil, the engine multiplies T₃ by 1.6 per IEC 60287-2-1 §4.2.4.3.2 to account for the bundle's larger effective heat-dissipation diameter. The trigger is centre-to-centre spacing within 5 % of the effective outer diameter (cable jacket OD for direct-bury, conduit OD otherwise).
2.4 T₄ — outside the cable
T₄ is split internally into three components reported separately in every result:
- T4′ — duct-internal air gap: T4′ = U / (1 + 0.1·(V + Y·θm)·De), with the (U, V, Y) install constants per IEC 60287-2-1 / Anders for the duct-fill medium (air, water, sand, concrete). The mean temperature θm between cable surface and duct internal is updated each solver iteration. Direct-buried cables have T4′ = 0.
- T4″ — duct wall: T4″ = (ρduct / 2π) · ln(OD / ID) — Neher-McGrath 1957 duct wall resistance.
- T4‴ — earth path: per the Kennelly image method (see §4 below), with the bank-rho correction added for concrete-encased banks.
3. Loss components
3.1 Conductor I²R losses (Rac)
DC resistance is computed from the resistivity-area form Rdc20 = ρ20 / A and corrected to operating temperature with Rdc(θ) = Rdc20 · (1 + α20·(θ − 20)) per Anders 1997 eqs. 1.1–1.2.
AC resistance adds the IEC 60287-1-1 skin (eq. 3) and proximity (eq. 4) corrections:
The skin (ks) and proximity (kp) factors come from Neher-McGrath 1957 Table II — not the IEC defaults — keyed on conductor construction, coating, and treatment. Compact-untreated uses ks=1, kp=0.6; compact-segmental-treated uses ks=0.435, kp=0.37. The catalog stranding field must match the table key exactly; misclassification can shift ampacity by ±15 %.
The magnetic multiplier mmagnetic is 1.5 for cables in steel conduit (the reactance-driven uplift recognised by NEC 310.15(C) and IEC 60287-1-1 §2.1.1) and 1.0 for PVC, fibreglass, and aluminium conduit.
3.2 Dielectric losses (Wd)
Per IEC 60287-1-1 §2.3.1. The dielectric heat is generated within the insulation, so its equivalent point source sits at the insulation midpoint and sees ½·T1 plus the full external thermal path. Negligible for low-voltage cables; meaningful for medium-voltage shielded constructions.
3.3 Sheath and shield losses (λ1)
For single-conductor shielded cables the engine computes a per-cable λ1 = (circulating term) + (eddy term):
- Circulating term Yc. In trefoil formation (or when no per-position phase tag is supplied) the engine uses NM 1957 eq. 14 / IEC §2.3.1, Yc = (Rs/R) · X2 / (Rs2 + X2). In flat formation with both ends bonded, three distinct closed forms are dispatched per cable position (middle, lagging-outer, leading-outer) per CIGRE TB 880 p93 and IEC 60287-1-1 §2.3.3 — middle uses λ′1m = (Rs/R) · Q2/(Rs2+Q2); the outers add a ±cross term involving Xm = 2ω·10−7·ln(2). Single-point bonded shields have no closed circulating loop, so Yc = 0.
- Eddy term Yse (NM 1957 eq. 30A) for tubular sheaths in equilateral formation. Both-ends-bonded systems get the short-circuit reduction Rs2/(Rs2 + Xm2); single-point-bonded systems use the open-circuited form with no reduction. Skipped for wire and concentric-neutral shields where the formula does not apply.
- Cross-bonded sheaths. The circulating term is multiplied by the unbalance scalar msu(p, q) = (p2 + q2 + 1 − p − pq − q) / (p + q + 1)2 per CIGRE TB 880 p154 / IEC 60287-1-1 §2.3.6.2. Perfect transposition (p = q = 1) collapses msu to zero. The eddy term is added separately, not multiplied by msu.
- Dual-shield constructions (copper-wire screen plus laminated foil, both bonded together). The two elements are treated as parallel resistors per CIGRE TB 880 Case 1 p138–141 (trefoil) and p146–163 (flat). The combined λ′ is split into λ1,inner and λ1,outer by the current-divider rule, the wire screen gets the helical-lay path-length correction √(1 + (π·(Dsc − dcw)/lay)2) per NM 1957 eq. 19 / IEC §2.3.4, and the foil adds the IEC 60287-1-1 §2.3.6.1 wide-tube eddy term with the Milliken correction F. Heat from the inner element flows through T2 + T3 + T4, heat from the outer element only through T3 + T4 — the solver tracks this asymmetric path explicitly.
Multi-conductor cables use a layout-dependent estimator per Anders §1.6.4.3 keyed on shield AC resistance, core shape (round / sector / oval), and layout (belted, SL-type, common-sheath, shielded-each-core).
3.4 Armor losses (λ2)
λ2 = 0 in v1. Armoured constructions are on the Phase 2 roadmap.
4. Mutual heating — Kennelly's method of images
Adjacent buried cables warm one another through the soil. The engine models this via Kennelly's method of images: each cable is reflected across the soil-air boundary, and the temperature contribution at any cable equals its own field plus the fields from every neighbour and every image. The result feeds back into T4‴ for each circuit.
Per CIGRE TB 880 p161 / IEC 60287-2-1 §4.2.4.5. dxn is the real Euclidean distance between conduits; d′xn is the distance from conduit n to the image of conduit x. Wx is the per-metre heat dissipated by source x, including circulating-current losses and dielectric loss.
Three special cases are handled explicitly:
- Buried touching trefoil uses the IEC 60287-2-1 §4.2.4.3.2 closed form T4‴ = (1.5/π)·ρT·[ln(2u) − 0.630] evaluated at the bundle-centre depth, which bakes in the symmetric self-plus-two-mutual superposition for three identical cables in an equilateral triangle (CIGRE TB 880 p144).
- Concrete-encased duct banks add the NM 1957 eq. 44A correction (ρe − ρc)/(2π) · n′ · μ · Gb. The geometric factor Gb uses the equivalent isothermal bank radius rb from NM 1957 eq. 60: ln(rb) = ½·(x/y)·(4/π − x/y)·ln(1 + y2/x2) + ln(x/2), bounded between the inscribed and circumscribed circle radii. Gb = arccosh(Lb / rb) per NM 1957 eq. 57 (natural-log SI form).
- Daily load-cycle attenuation. Current-driven heat is multiplied by the loss factor μ = 0.3·LF + 0.7·LF2 (NM 1957 eq. 44A). The fictitious soil diameter at which the attenuation begins, Dx = 1.02·√(α·t)·1000 mm with α the soil thermal diffusivity, comes directly from NM 1957 eq. 45 / Appendix III. For the worked example (α = 2.75 in2/hr, t = 24 h) the engine reproduces Dx = 210.5 mm, matching the brochure's tabulated 210.82 mm. Dielectric losses are steady (24/7) and so see the earth path evaluated at LF = 1; the engine maintains both the μ-weighted current path and the LF=1 dielectric path on every iteration.
5. Coupled solver
For projects with more than one circuit the engine does not use grouping factors. Instead, every conduit's Rac, sheath loss factor, ampacity, and conductor temperature are solved simultaneously by an iterative coupled solver:
- Build per-conduit context: T1, T2, T3, T4′, T4″, dielectric loss, geometry, flat-formation phase position, and per-source loss factor μ.
- Initialise current per circuit from an independent ampacity estimate.
- Update Rac at the current conductor temperature. For flat-formation circuits, after the first iteration the outer phases use their converged temperature rather than θmax per CIGRE TB 880 p148 step 6 — only the limiting (middle) phase actually reaches θmax.
- Update λ1 at the current sheath temperature.
- Solve the per-circuit ampacity from the heat balance equation, applying current damping (factor 0.55) for stability.
- Recompute conductor / sheath / cable-surface / duct-internal / duct-external temperatures, refresh the duct mean temperature θm, and recompute T4′.
- Repeat until both the per-circuit current change is below 0.05 A and the per-conduit duct mean-temperature change is below 0.05 °C. Maximum 80 iterations; non-convergence emits diagnostic NM-W-010.
For three single-cable conduits in flat formation, the per-position circulating loss factors and per-position eddy coefficients (CIGRE TB 880 p155–158) are dispatched per cable rather than averaged. Phase A is treated as the lagging outer, phase B as middle, phase C as the leading outer — the CIGRE TB 880 §5 convention.
6. NEC table cross-referencing
For each conduit, the engine result carries an optional derating block that names the corresponding NEC table value, the table reference string, and the percentage deviation between engine and table. The PDF report includes a dedicated NEC Comparison page that lists every conduit with a table reference alongside the engine's calculated value and the Δ%.
The applicable tables are NEC Table B.310.15(B)(2) for low-voltage underground duct banks and direct burials at 60 °C / 75 °C / 90 °C, and Table 310.60(C) for medium-voltage underground installations. Engineers are presented with the calculated value and the table value side by side, never one substituted for the other.
7. Validation evidence
The engine ships with a YAML test harness (npm run test:case) that runs the calculation against published reference values. Every case cites its source. The current suite covers:
- NEC 2023 Annex B Table B.310.15(B)(2)(5) — 1×3, 2×3, 3×3 duct configurations across 250 / 500 / 1000 kcmil Cu and Al conductors at RHO 60 / 90 / 120 C·cm/W and load factors 50 % / 100 %.
- NEC 2023 Annex B Table B.310.15(B)(2)(6) — three-conductor cables in 1, 3, and 6 ducts, 4/0 AWG through 500 kcmil Cu and Al.
- CIGRE TB 880 Cases 0.1–0.5, 1, 2, 3, 4, 5, 6, 7, 8 — full coverage of the brochure's verification suite from buried trefoil and HDPE-conduit cables through 30 kV and 220 kV submarine cables, 33 kV land cables, 400 kV LPOF flat and trefoil, 320 kV HVDC submarine, and the 220 kV three-core submarine export cable. The dual-shield CIGRE Case 1 trefoil-buried result is verified to λ1-CWS = 0.58895 and λ1-foil = 0.20160 at converged sheath temperatures of 81.68 °C and 81.25 °C.
- Neher-McGrath 1957 Appendix worked examples 1 and 2 — the original paper's hand-calculated end-to-end checks.
- CIGRE TB 880 p93, p154, p155 — flat-formation per-position λ′, cross-bond unbalance msu, and flat-foil-eddy spot checks against brochure tabulations.
- Engine invariants — deeper burial reduces ampacity; doubling soil ρ doubles T4; zero load yields zero temperature rise; loss factor follows the load factor; symmetric layouts produce symmetric ampacities.
Cases declare per-output tolerances (absolute, relative, or whichever-passes). The harness fails fast on any regression. In addition, the data-ingestion pipeline cross-checks every catalogued cable against its manufacturer's published ampacity table at multiple installation conditions before the cable is allowed into the catalog.
8. What the engine does not do (yet)
- NEC 310.16 in-air raceway and tray ampacity (deferred until after the phase-1 MVP — engine is buried-only)
- Armoured-cable losses (λ2 = 0; armour modelling is on the roadmap)
- Transient and cyclic ratings (steady-state only in v1)
- Finite-element analysis of unusual geometries
- Aerial / overhead cable ratings
- Pipe-type (HPFF) cables beyond the existing CIGRE TB 880 §3 fixture
- High voltage above the 35 kV medium-voltage class
Missing CalcInput fields are not silently filled with defaults. The engine raises NM-E-001 on any undefined field and NM-W-* warnings for borderline conditions (ρsoil outside expected range, missing flat-formation phase tags, non-convergence, conduit fill above 70 %).
9. References
- Neher, J. H. & McGrath, M. H. (1957). The calculation of the temperature rise and load capability of cable systems. AIEE Transactions, 76(3), 752–772. Equations 6, 7, 14, 19, 30A, 44A, 45, 57, 60; Table II skin and proximity factors; Appendix III, Appendix IV worked examples.
- Anders, G. J. (1997, 2005). Rating of Electric Power Cables and Rating of Electric Power Cables in Unfavorable Thermal Environment. IEEE Press / Wiley-Interscience. §1.6.4.3, §1.6.6, §2.2.2; equations 1.1, 1.2, 1.14.
- CIGRE WG B1.56 (2022). Verification of cable current rating calculations. Technical Brochure 880. Cases 0.1–0.5 and 1–8; pp. 83, 93, 138–163, 154–158, 161.
- IEC 60287-1-1, Electric cables — Calculation of the current rating, Part 1-1: Current rating equations and calculation of losses. §2.1.1 (Rac), §2.3.1, §2.3.3, §2.3.4, §2.3.5 (Milliken), §2.3.6.1, §2.3.6.2 (cross-bonding).
- IEC 60287-2-1, Calculation of thermal resistance. §4.1.2, §4.1.2.1, §4.1.3, §4.2.4.3.2 (touching trefoil), §4.2.4.5.
- NFPA 70 (2023). National Electrical Code. Article 310.15(C) (engineering supervision ampacity), Annex B Tables B.310.15(B)(2)(5) and B.310.15(B)(2)(6) (underground duct banks), Article 310.60 and Table 310.60(C) (medium voltage).