test: add a Sommerfeld deck close to the ground - #137
Closed
charlieh0tel wants to merge 1 commit into
Closed
charlieh0tel wants to merge 1 commit into
charlieh0tel wants to merge 1 commit into
Conversation
The sommerfeld decks in data/ all sit at 3.8 wavelengths or higher, so
none of them reach the regime where NEC-2 stops meeting limits that have
closed-form answers.
This one is a horizontal half-wave dipole 0.02 wavelengths up over a ground
with sigma 1e10. At that conductivity the half-space is a perfect conductor,
so the deck should reproduce what the same geometry gives with GN 1 -- swap
the GN card to get it. With GN 1 every engine gives R = 0.9168 ohms and an
average power gain of 1.9953. Two quantities, each against an exact value:
feedpoint R, against the GN 1 value
nec2++ 1.7594 (about 92 percent high)
nec2c 1.7591
aegnec2 1.75954
average power gain, exactly 2 over a perfect conductor; GN 1 reads 1.9953
in every engine, so 0.23 percent is the angular grid's own error
nec2++ 1.0430 (-47.85%)
nec2c 1.0431
aegnec2 1.04296
aegnec2 links the original Fortran SOMNEC and lands on the same numbers,
so this is what NEC-2 does here rather than something a translation
introduced. (nec2c is 1.3; aegnec2 is built from source.)
Before e3f81e6 fixed the c_ggrid interpolation cache, nec2++ gave R = 0.924
and gain 1.980 here, close to the exact values, but only because of the
stale-coefficient bug that commit removed.
The deck matches data/sommer*.nec so it joins SOM_TESTS, and is not in the
default DO_TESTS, so it does not change what make runs by default.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uri4eguGitqE1abazuTstd
Contributor
Author
|
Closing: with e3f81e6 in, nec2++ agrees with nec2c and aegnec2 on this deck, and nothing in CI runs the harness decks, so it adds little as it stands. Sorry for the noise. |
Owner
|
Actually @charlieh0tel , If we have an analytic result, and nec2++ (despite agreeing with everything else) is now getting it wrong. Please keep this open, and I'll look into it (I responded to a bug report then). Perhaps the NEC-2 reference is actually wrong, and we should keep the old values. |
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.
Summary
Adds
testharness/data/sommerfeld_near_ground.nec: a horizontal half-wave dipole 0.02 wavelengths above a Sommerfeld ground (GN 2) with sigma 1e10. At that conductivity the ground is effectively a perfect conductor, so the answer should match the same geometry withGN 1(R = 0.9168 ohms, average power gain 1.9953). The existing sommerfeld decks all sit at 3.8 wavelengths or higher and never reach this regime.GN 1master)Every engine misses both limits by the same amount, so this documents a NEC-2 Sommerfeld limitation near ground, not a translation bug. Before e3f81e6 fixed the
c_ggridinterpolation cache, nec2++ gave R = 0.924 and gain 1.980 here, close to exact, but only because of the stale coefficients that commit removed.The deck matches
data/sommer*.nec, so it joinsSOM_TESTS. It is not in the defaultDO_TESTS, somakeruns the same tests as before.Test plan
masterwith nec2++, nec2c 1.3 and aegnec2; numbers above are from those runsGNcard toGN 1gives R ≈ 0.9168 and gain 1.9953 in all three🤖 Generated with Claude Code
https://claude.ai/code/session_01Uri4eguGitqE1abazuTstd