Fix fan-dipole coupling (parallel legs) and the segment-length validation false alarm - #14
Merged
Conversation
… alarm The fan dipole fanned its legs out from one tiny feed gap, so the legs converged to near-zero separation exactly at the high-current feedpoint — maximising the coupling that detunes them. A leg that is a harmonic on another's band (the 80 m leg is a full-wave on 40 m, the 40 m on 20 m) then swamped the resonant leg: the 40 m leg in an 80/40 fan read SWR ~405. Rebuild the geometry as a true parallel manifold: the legs run parallel a fixed end_spacing apart, a left and right bus carry each leg's halves back to a short central feed bridge, so the spacing is constant the whole length — including at the feed. The end spacing now genuinely controls coupling. On an 80/40/15/10 fan the 40 m leg drops from ~405 to ~14, and a 40/20/15/10 fan's 20 m leg from ~38 to ~10 (octave legs still need per-leg trimming — that is physics, and the per-band tuning chart is for it). Because the legs are parallel, an end offset is no longer bounded by leg length, so the old "too large for the shortest leg" limit is gone. Also fix the validation false alarm the user hit on Run: the segment-length check judged the short legs and feed bridge against the long design wavelength. A fan dipole's legs are auto-segmented for their own bands and its feed bridge/buses are intentional short structural wires, so the check is skipped for a fan dipole. Tests updated for the parallel geometry; added guards that the octave-leg SWR stays workable and that no short-segment alarm fires. Suite 530 -> 532. 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.
Addresses the three fan-dipole issues reported after the last round.
1. Coupling / outrageous SWR (the core fix)
The fan fanned its legs out from a single ~10 cm feed gap, so the legs converged to near-zero separation exactly at the high-current feedpoint — where coupling is strongest. A leg that's a harmonic on another's band (the 80 m leg is a full-wave on 40 m; the 40 m on 20 m) then swamped the resonant leg:
Rebuilt as a true parallel manifold: the legs run parallel, a fixed
end_spacingapart; a left and right bus carry each leg's two halves back to a short central feed bridge, so the separation is constant the whole length — including at the feed. The end-spacing knob now genuinely controls coupling.Octave-related legs (40&20, 80&40) still need per-leg length trimming — that's real physics (a full-wave leg on another's band), and the per-band tuning chart from the previous PR is exactly for it. The change takes it from catastrophic to workable + trim. Because parallel legs aren't length-bounded in their offset, the old "spacing too large for the shortest leg" limit is removed.
2. Validation false alarm on Run
The "a wire segment is shorter than a … wavelength" toast was the segment-length check judging the short legs and feed bridge against the long design wavelength. A fan dipole's legs are auto-segmented for their own bands, and the feed bridge/buses are intentional short structural wires (standard NEC technique), so the check is now skipped for a fan dipole.
3. "Bands covered" outrageous SWR
Same root cause as #1 — the per-leg report now reflects the far better parallel-geometry numbers.
Tests
Updated for the parallel geometry (deck structure, parallel legs at constant Y, end-spacing); added guards that the octave-leg SWR stays workable (< 30, was ~405) and that no short-segment alarm fires for a fan dipole. Suite 530 → 532, green locally.
🤖 Generated with Claude Code