Resolves OPEN ITEM 5.2-A and OPEN ITEM 6.1-A.#8
Merged
Conversation
Two open item blockers resolved and written in. Here's what changed and why: Section 5.2 title corrected to "Near-Singular Quadrature (Exact Kernel)" and the entire treatment rewritten. The key content is from Fikioris paper. The straight-wire K_exact closes to a clean formula, the near-singular subtraction K_near = 1/√(a^2+(s-s')^2) has a closed-form double integral I_near = 2[delta sinh^-1(delta/a) - √(a^2+delta^2) + a], the smooth remainder K_smooth → -jk at s=s' so standard quadrature handles it, and the thin-wire limit of I_near recovers the Section 5.3 formula exactly. This hopefully gives a built-in consistency check for the implementation. Basically this makes it have the correct conceptual framing: exact kernel has no true singularity. Self-impedance requires near-singular quadrature, not extraction. And K_ex is bounded everywhere. Section 6.1 is about near-neighbor treatment written out with local coordinates (epsilon, epsilon') around the shared endpoint, the collinear closed-form integral, the bent-junction case with theta_bend, the T2 near-singular contribution, and a concrete definition of what near_singular_distance_ratio = 3.0 actually means in arc-length terms. References are Fikioris & Wu (2001) re-cited accurately (I downloaded it from Antenna and Propagation Society membership at ieeexplore) (confirms bounded kernel, not the source of extraction formulas), and a follow-on 2020 lossy medium paper added with a note that it's the foundation for the deferred Sommerfeld work. Found this connection through ieeexplore as well. Remaining blocker before Phase 2 implementation: OPEN ITEM 7.4-A (perpendicular frame computation for each curve type).
Resolves OPEN ITEM 7.4-A. All three math blockers now closed.
Key results:
- Prove phi is a dummy variable in the azimuthal integral: any
orthonormal̂ produces identical K_exact.
Frame continuity between segments not required.
- Single three-step construction for all curve types:
1. get a standard basis vector least aligned with tau
2. use Gram-Schmidt
3. profit!
Minimum-component choice guarantees denominator is greater
than or equal to square root of two thirds,
no special-case fallback needed.
- Verified for straight, arc, and helix (numerical, no closed form
needed).
- Frenet-Serret is equivalent but not used: undefined for
straight segments (κ = 0), requires curvature not otherwise
needed. Might need this later.
- evaluate_exact_kernel requires no segment-type branching;
curve specificity lives entirely in the upstream computation.
- Fix stale cross-reference in Section 5.2 (was: OPEN ITEM 7.4-A,
now: Section 7.4).
Remaining items before Phase 2 implementation PR:
- design.md OPEN ITEM 4.2-A: cross-wire junction treatment decision
- design.md Open Item 5: unsafe write pattern Rust review
sconklin
approved these changes
May 21, 2026
Contributor
sconklin
left a comment
There was a problem hiding this comment.
Thanks for this - good progress!
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.
Two open item blockers resolved and written in. Here's what changed and why:
Section 5.2 title corrected to "Near-Singular Quadrature (Exact Kernel)" and the entire treatment rewritten. The key content is from Fikioris paper. The straight-wire K_exact closes to a clean formula, the near-singular subtraction K_near = 1/√(a^2+(s-s')^2) has a closed-form double integral I_near = 2[delta sinh^-1(delta/a) - √(a^2+delta^2) + a], the smooth remainder K_smooth → -jk at s=s' so standard quadrature handles it, and the thin-wire limit of I_near recovers the Section 5.3 formula exactly. This hopefully gives a built-in consistency check for the implementation. Basically this makes it have the correct conceptual framing: exact kernel has no true singularity. Self-impedance requires near-singular quadrature, not extraction. And K_ex is bounded everywhere.
Section 6.1 is about near-neighbor treatment written out with local coordinates (epsilon, epsilon') around the shared endpoint, the collinear closed-form integral, the bent-junction case with theta_bend, the T2 near-singular contribution, and a concrete definition of what near_singular_distance_ratio = 3.0 actually means in arc-length terms.
References are Fikioris & Wu (2001) re-cited accurately (I downloaded it from Antenna and Propagation Society membership at ieeexplore) (confirms bounded kernel, not the source of extraction formulas), and a follow-on 2020 lossy medium paper added with a note that it's the foundation for the deferred Sommerfeld work. Found this connection through ieeexplore as well.
Remaining blocker before Phase 2 implementation: OPEN ITEM 7.4-A (perpendicular frame computation for each curve type).