Skip to content

fix(math): re-calibrate feedpoint-R model against nec2c (corrects fnec anchors)#135

Merged
dc0sk merged 1 commit into
mainfrom
feat/nec2c-ground-refs
Jul 9, 2026
Merged

fix(math): re-calibrate feedpoint-R model against nec2c (corrects fnec anchors)#135
dc0sk merged 1 commit into
mainfrom
feat/nec2c-ground-refs

Conversation

@dc0sk

@dc0sk dc0sk commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Backlog T9 — ground-plane NEC validation surfaced a real correctness bug in the T3 feedpoint-R model.

Finding

Cross-validating nec_calibrated_dipole_r against nec2c (NEC-2) showed its fnec-rust anchors are physically wrong:

  • fnec: R falls with height (73 → 52.8 → 45.6 Ω at 7/10/12 m) with ~−95 Ω reactance for a resonant dipole.
  • nec2c: R correctly rises with height toward a peak near ~0.3 λ (57.6 → 78.9 → 86.5 Ω), reactance small.

nec2c is trustworthy here — it reproduces the textbook free-space half-wave R (72.1 Ω) exactly.

Fix

Re-derived nec_calibrated_dipole_r from a full nec2c ground matrix (poor/average/good × 7/10/12 m), still interpolated on height-in-wavelengths. Feedpoint R / SWR estimates for dipole-family antennas are now physical.

Behaviour change: e.g. 40 m good ground now reads 57.6 / 78.9 / 86.5 Ω at 7 / 10 / 12 m (was 73 / 52.8 / 45.6).

  • corpus/nec2c-reference.json: committed ground matrix + free-space value (regen via scripts/nec-reference.sh).
  • corpus_nec2c_dipole_ground_feedpoint_r_matrix: CI-gated 9-cell validation, guarding against regression to the old anchors.
  • Unit test, docs/math.md §4, and requirements.md GAP-011 updated.

cargo test all pass, clippy + fmt clean. Reactance is still not modelled.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Jf8uBU8AYxkrG8fa8yo6tC

…c anchors)

Cross-validating the T3 dipole feedpoint-R model against nec2c (NEC-2) revealed
the fnec-rust anchors it was built on are physically wrong: they make R FALL with
height (73→52.8→45.6 Ω at 7/10/12 m) and carry ~−95 Ω reactance for a resonant
dipole. nec2c — validated here against the textbook free-space half-wave R
(72.1 Ω) — shows R correctly RISES with height toward a peak near ~0.3 λ.

nec_calibrated_dipole_r is re-derived from a full nec2c ground matrix
(poor/average/good × 7/10/12 m), still interpolated on height-in-wavelengths, so
the feedpoint R and SWR estimates for dipole-family antennas are now physical:
40 m good ground reads 57.6 / 78.9 / 86.5 Ω at 7 / 10 / 12 m (was 73 / 52.8 / 45.6).

- corpus/nec2c-reference.json: committed ground matrix + free-space value.
- corpus_nec2c_dipole_ground_feedpoint_r_matrix: CI-gated 9-cell validation.
- unit test + docs/math.md §4 range + requirements.md GAP-011 updated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@dc0sk
dc0sk merged commit 0f99994 into main Jul 9, 2026
10 checks passed
@dc0sk
dc0sk deleted the feat/nec2c-ground-refs branch July 9, 2026 07:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant