Repository navigation
Conversation
The photoionization rate does not depend on the electron density and the recombination rate is proportional to it, so the iteration of the electron fraction scales the first result (RatesMemo). The line emissivities are no longer computed twice for the luminosities. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
Profiling a thick slab (one thread) showed that 57–64% of the time is in
photoionization_integrals, and that the iteration of the electron fraction repeated it for every trial fraction.RatesMemo: forParPhotoIonize1/2/3the photoionization rate is independent of the electron density and the recombination rate is proportional to it, so the later trials ofionization_balancescale the first result. The rate matrices agree with the uncached ones to rounding (H, He, O, Fe).march_zonesno longer computesline_emissivitiestwice whenluminous=true(something(a, b)evaluated both).Results are unchanged (same He II to all digits; equilibrium T to 3e-10). Full suite passes on Julia 1.13 (987 tests). Further cost: record opacities, edge emissivities, heating and continuum opacity each still do a full photoionization pass per zone.
🤖 Generated with Claude Code