Repository navigation
KineticForces - BUGFIX! - Start the torque quadrature where the perturbation data starts - #661
Merged
Merged
Conversation
…rbation data starts With qlow above q0, ForceFreeStates raises psilow and the plasma response starts off axis, but the post-PE torque quadrature still started at the equilibrium's psilow and integrated extrapolated perturbation data below the response. It now starts at the first psi of that data, as it already stopped at psilim. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BgNxCFidkS5NEJM3EvSoBs
logan-nc
marked this pull request as ready for review
November 7, 2026 13:15
matt-pharr
enabled auto-merge
November 12, 2026 20:21
matt-pharr
approved these changes
Nov 12, 2026
matt-pharr
left a comment
Collaborator
There was a problem hiding this comment.
simple change that makes sense
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.
Release note
qlowabove q₀) no longer include the region below it; elsewhere the response's first saved ψ lies one step abovepsilow(1.0515e-4 against 1e-4 in the DIII-D-like deck), which moves only torques without the near-axis validity cut: thediiid_error_fieldNTV couplings, at ~1e-8 absolute (harness @ 938668a)qlowabove q₀) gets a smaller post-PE torque on rerun, without the region below the response; no input changesWhen
qlowis above q₀, ForceFreeStates raisespsilowand the plasma response starts off axis. The KineticForces torque quadrature still started at the equilibrium'spsilow, so it integrated extrapolated perturbation data below the response. It now starts where that data starts, as it already stopped atpsilim.Regression report
Full fan-out on ITER's SDCC cluster (
regress_fanout.sh --refs 052978b42,938668a77, all 27 cases, Julia 1.12.6, pinned manifest), branch938668a77against develop052978b42. 382 of 385 tracked quantities unchanged; 3 changed, alldiiid_error_fieldNTV coupling torques, by 1.8e-8, 1.7e-8 and 6.6e-8 absolute (below 0.005 %). In that run the equilibrium and ForceFreeStates start at ψ = 1e-4 butpe.psi_grid[1]= 1.0515e-4, so the couplings' torque, which has no near-axis validity cut, loses that sliver; the KineticForces diagnostics start at ψ_c = 0.04 and are unchanged. None of the cases starts the response off axis. The new solve-API test runs the TJ NTV deck withqlow = 1.9(q₀ = 1.6) and checks that the torque ψ grid starts at or above the response's first ψ.Notes for reviewers
qlow = 1.02: the response started off axis, but the torque was integrated from 1e-4, so it included extrapolated perturbation data below the response.KineticForcesInternalgainspsilow, set from the first ψ of the perturbed-equilibrium grid inset_perturbation_data!.feature/ntv-orbit) can still sample just belowpsilow, as they can just abovepsilim.938668a77(ErrorFields - BUGFIX! - Sum the NTV couplings over the resolved kinetic species #580's ErrorFields NTV species sum); no conflicts.https://claude.ai/code/session_01BgNxCFidkS5NEJM3EvSoBs