feat(corpus): nec2c NEC-2 reference solver (GAP-011/GAP-006) - #133
Merged
Conversation
Adds nec2c (NEC-2, double precision) as a second reference solver. Unlike the fnec-rust Hallén solver it handles finite ground and multi-wire non-collinear geometry, so it validates the inverted-V (and, going forward, ground/loop/trap) cases the Hallén solver could not. - scripts/nec-reference.sh regenerates reference values (deck solve + resonance bisection); CI does NOT run nec2c — it tests against committed data. - corpus/nec2c-reference.json + two valid nec2c decks (dipole, inverted-V). - CI-gated tests: corpus_nec2c_dipole_resonant_length_within_tolerance and corpus_nec2c_inverted_v_geometry_and_feedpoint (unblocking the fnec-limited inverted-V, whose old #[ignore]d test is now marked superseded). - requirements.md GAP-011 (baseline extended) and GAP-006 (unblocked) updated. FINDING: a bare thin wire resonates ~2% LONGER in idealised NEC free space than the practical 468/f rule (nec2c 20.54 m vs 20.09 m at 7.1 MHz). 468/f is the accepted real-installation length, so NEC length gates use a realistic ±3% tolerance rather than ±1%. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backlog T7 — advances the deferred NEC validation (SRS GAP-011/GAP-006).
Adds nec2c (NEC-2, double precision) as a second reference solver. Unlike the fnec-rust Hallén solver it supports finite ground and multi-wire non-collinear geometry, so it can validate the inverted-V (and, going forward, ground/loop/trap) cases the Hallén solver could not.
scripts/nec-reference.sh— reproducible pipeline (deck solve + resonance bisection). CI does not run nec2c; it tests rusty-wire against committed data, mirroring the fnec workflow.corpus/nec2c-reference.json+ two valid nec2c decks (dipole, inverted-V).corpus_nec2c_dipole_resonant_length_within_tolerance,corpus_nec2c_inverted_v_geometry_and_feedpoint(unblocking the fnec-limited inverted-V; its old#[ignore]d test is marked superseded).Finding: a bare thin wire resonates ~2% longer in idealised NEC free space than the practical
468/frule (nec2c 20.54 m vs 20.09 m at 7.1 MHz).468/fis the accepted real-installation length, so NEC length gates use a realistic ±3% tolerance rather than ±1% — documented in the reference JSON and SRS.cargo testall pass (2 new corpus tests), clippy + fmt clean.🤖 Generated with Claude Code
https://claude.ai/code/session_01Jf8uBU8AYxkrG8fa8yo6tC