Skip to content

BSI ionisation correction for strong fields - #426

Open
jtravs wants to merge 4 commits into
LupoLab:masterfrom
jtravs:Ion-correction
Open

BSI ionisation correction for strong fields#426
jtravs wants to merge 4 commits into
LupoLab:masterfrom
jtravs:Ion-correction

Conversation

@jtravs

@jtravs jtravs commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

This pull request introduces support for barrier-suppression (over-the-barrier) corrections to the PPT ionisation rate.

Note this also changes the ionisation cache to be log spaced.

Copilot AI review requested due to automatic review settings June 8, 2026 00:17
@jtravs
jtravs requested review from chrisbrahms and removed request for chrisbrahms June 8, 2026 00:18

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds barrier-suppression (over-the-barrier) correction support to the PPT ionisation rate, and updates the PPT acceleration cache grid to use log-spaced field samples (improving low-field resolution while allowing higher Emax without increasing N).

Changes:

  • Implemented PPT barrier-suppression correction modes (bsi = :auto | :none | :tonglin | :zhang), including per-species coefficient lookup and enforcement that corrections apply only to tabulated atomic species.
  • Updated PPT accelerated/cached rate generation to use a log-spaced field grid and bumped the cache version to avoid reuse of stale cache files.
  • Added a dedicated BSI test suite and updated existing PPT regression tests/examples to pin bsi=:none where “bare PPT” comparisons are intended.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/Ionisation.jl Adds BSI correction implementation to IonRatePPT, introduces coefficient tables/dispatch (bsi_kwargs), and changes PPT cache sampling to a log-spaced field grid with a cache version bump.
src/Interface.jl Documents the new default bsi=:auto behavior and how to override it via PPT_options.
test/test_ionisation.jl Updates PPT regression checks to explicitly use bsi=:none to preserve “bare PPT” expected values.
test/test_ionisation_bsi.jl New test coverage validating default behavior, suppression properties, known factors at E_b, and propagation through accelerated/cached PPT paths.
test/runtests.jl Wires the new BSI test file into the test runner.
examples/low_level_interface/PPT_ionisation_rate/PPT_ionisation_rate.jl Pins literature-comparison example calculations to bsi=:none so plots remain “bare PPT”.
examples/low_level_interface/PPT_ionisation_rate/bsi_correction.jl New example script illustrating Tong–Lin vs Zhang correction factors and their effect on the PPT rate.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jtravs

jtravs commented Jun 8, 2026

Copy link
Copy Markdown
Contributor Author

Apparently these test failures are not related to this PR, but are just installing PyCall (the same tests worked fine last night). I will rerun them, but they shouldn't stop this PR.

@jtravs
jtravs requested a review from chrisbrahms June 8, 2026 10:22
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.

2 participants