Skip to content

Keep PENTRC small collision damping positive when precession reverses - #320

Open
krystophny wants to merge 1 commit into
PrincetonUniversity:developfrom
krystophny:fix/pentrc-small-width-20261017
Open

krystophny wants to merge 1 commit into
PrincetonUniversity:developfrom
krystophny:fix/pentrc-small-width-20261017

Conversation

@krystophny

Copy link
Copy Markdown
Collaborator

Fixes #319.

Negative electric precession currently gives nutype="small" a negative Krook width and reverses its dissipative response. Use 1.0e-5_r8*abs(energy_we) and correct the two stale mode comments. Exact-zero precession still has zero width.

The native xintgrl_lsode regression compares both precession signs with the independent analytic integral Gamma(7/2)/(i*we-nu). It fails before the fix and passes afterward; the corrected dissipative coefficient agrees within 1.838e-11 relative error. The imaginary response and conjugate-reflection symmetry are checked as well.

Validated against current upstream develop 3c0b8f3b, GNU Fortran 16.1.0, with runtime checks and one OpenMP/BLAS thread:

make -C install -j4 test-pentrc-small-width CC=gcc-16 FC=gfortran NETCDFHOME=/opt/homebrew LAPACKHOME=/opt/homebrew/opt/openblas FFLAGS='-O0 -g -fcheck=all'

Chris&AI

This branch has not been deployed

No deployments
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.

PENTRC small collision mode gives anti-damping for negative precession

1 participant