Skip to content

EQUIL - NEW FEATURE - Pin located kinetic-resonance surfaces into the auto psi grid - #422

Draft
logan-nc wants to merge 2 commits into
feature/kinetic-axis-validityfrom
feature/kinetic-resonance-knots
Draft

EQUIL - NEW FEATURE - Pin located kinetic-resonance surfaces into the auto psi grid#422
logan-nc wants to merge 2 commits into
feature/kinetic-axis-validityfrom
feature/kinetic-resonance-knots

Conversation

@logan-nc

Copy link
Copy Markdown
Collaborator

Stacked on #414. The kinetic-grid follow-up chosen after the certified-grid postmortem: instead of adaptive compression, make the auto grid resonance-aware statically — the cheapest layer of the safety-net design, and per the tests below, the only one currently justified.

What

When a run builds calculated kinetic matrices, locate the Ω_ℓ = 0 kinetic-resonance surfaces (same kinetic_resonance_psi_nodes locator the NTV quadrature panels at — one source of truth) and pin them into the two-pass auto ψ grid as plain knots via merge_mandatory_nodes — knot-at-node, no cleared zone, inserted before rational bracketing so the Δ′ clean-interval treatment wins wherever a resonance sits inside a rational's bracket. Nodes inside the near-axis validity region (ψ < ψ_c, #414) are suppressed anyway and are not pinned. ~30 lines, no new knobs.

Evidence

  • DIII-D auto grid: 6 nodes located (the ψ=0.021 node — which explains the previously mysterious "sharp increment feature at ψ≈0.022" — correctly filtered below ψ_c), +2 net knots after pedestal nodes yield to rational brackets, et[1] unchanged to 2e-6, EL steps −14% (4,246 → 3,665: the grid finally knows about the ψ=0.17 resonance).
  • Fixed-mψ convergence ladder (closes the review question "was the full grid converged above 512?"): fixed-1024 → 1.004073−0.259566i, within 0.12% of auto-288; fixed-512 is 1.6% off (fixed grids converge slower than the auto grid). Five grids across three families now cluster at 0.1–0.2%; nothing approaches the parked certified grid's 0.84–0.86.
  • Mid-radius resonance stress test (toroidal_rotation_factor = 0.2 parks Ω_ℓ=0 nodes at ψ = 0.578, 0.812): naive auto grid vs 1024-knot gold agrees to 1.24e-3 — the profile-curvature term already tracks the reshaped ω_E — and pinning reproduces it to 1e-6. The feared naive-grid physics risk is bounded at the convergence-scatter level for this machine; pinning is cheap insurance plus the step-count win.
  • Collisionless stressor (nufac = 0.02, layers narrowed ~50×): naive auto grid vs 1024-knot gold again agrees to 1.244e-3 — the same margin as the collisional case. The sharp-resonance risk did not materialize under the strongest stressor constructible on this equilibrium.

Design provenance

This replaces the parked adaptive approach (#410): detection of possible resonances is essentially free from the frequency profiles, so the grid can be made resonance-aware without any kernel-driven refinement loop. The remaining safety-net layers (a free post-hoc residual detector; one bounded probe-and-insert round) are designed and recorded in handoff/issue376/RESULTS.md §31 but not implemented — every stress test so far says the seeded auto grid is sufficient.

⚠️ REQUIRES THIRD-PARTY HUMAN REVIEW BEFORE MERGING — NON-NEGOTIABLE.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LzbLFQKyuRE5DYZmLokKmk

… auto psi grid

The two-pass auto grid's criterion is ideal-driven and knows nothing about kinetic
resonance locations. When a run builds calculated kinetic matrices, locate the
Omega_l = 0 surfaces (same locator as the NTV quadrature paneling) and insert them
as plain knots via merge_mandatory_nodes -- knot-at-node, no cleared zone, inserted
before rational bracketing so the Delta-prime clean-interval treatment wins locally.
Nodes inside the near-axis validity region are suppressed anyway and not pinned.
DIII-D: +2 net knots, et[1] unchanged to 2e-6, EL steps drop 14%.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LzbLFQKyuRE5DYZmLokKmk
…onstructions

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LzbLFQKyuRE5DYZmLokKmk
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