Bug in reverse rates mass exponent#975
Conversation
|
Any further reviews are appreciated as I would like this pr merged and tested asap, so we can correct it in this release. |
|
I am by no means an expert in nuclear physics, but from your comments it seems both formulations exist in the literature? Is Reichert's Eq. 21 simply a typo? If so, I'd clarify that in a code comment so someone doesn't mistakenly reintroduce it by seeing the discrepancy again. |
yes, agreed, i believe it is a typo in their manuscript but not in their code. I made comments on this in reaclib_support.f90: mesa/rates/private/reaclib_support.f90 Lines 212 to 238 in 6fdd622 |
|
I compared the original and corrected reverse-rate implementations with BBQ hydrostatic one-zone burns using six MESA networks: approx21_plus_co56, mesa_80, mesa_151, mesa_206, mesa_330, and mesa_495. The sweep covered three physical test setups, expanded into five concrete burn cases: pure he4 at 0.1 GK and 0.2 GK with logRho = 4.0, each evolved for 100 Myr; a 50/50 by-mass c12/o16 mixture at 1 GK with logRho = 6.0, evolved for 1000 yr; and Z-split compositions at 3 GK and 6 GK with logRho = 8.0, each evolved for 1e5 s, where each network was initialized with equal total mass fraction in each nuclear charge Z present in that network, and that Z fraction was then split equally among the isotopes with that Z. These were fixed-duration burns, not runs stopped by an equilibrium criterion. From these runs I generated three plot sets in plots/bbq_sweep: by_temperature, which compares the final isotope mass fractions across networks for a single source state (new or old) and includes both grouped bar plots and multi-panel pie summaries of the top 15 final isotopes; compare_labels, which compares the final isotope distributions for new versus old for the same network and burn case; and eps_nuc, which compares the corresponding eps_nuc(t) histories versus age for new and old for the same network and burn case. Because i made hundreds of plots I share a zip, but please if others will download and look at the results, and provide comment it would be appreciated! when looking at the plots: A coupe notable things, It seems low temperatures are relatively unaffected in abundance or eps_nuc, but higher temperatures near NSE conditions at 3GK and 6GK are most affected. This is good news in my opinion, as it means most of H/He/C/O burning is unaffected T<1GK. Only when reverse rates become important does this correction come into play. As for the test_suite, I've returned the old flame speed and width targets to the |
|
495_comparison.pdf |
Expanded explanation of the incorrect mass exponent issue and its relevance in advanced burning stages. Added reference to related issue gh-974 for more context.
mathren
left a comment
There was a problem hiding this comment.
Great catch @haakoan and @Debraheem!
The one-zone-burner tests you shared are pretty convincing that this is a small, but noticeable effect for late evolution. In the interest of not blocking the release, I am approving this PR and I think it could be merged as is.
I would still run in parallel tests with full stars (maybe one mass that goes to core-collapse) which may show the effect is even smaller (not pushing too hard the models, if they fail because of any other reason, then this should become a science project on its own, and interested users should always run their own tests anyways).
Based on the bbq tests, I don't expect tests with full stars to surprise us or introduce astrophysically significant issues.
|
testing seems fine excluding the conductive_flame test. https://testhub.mesastar.org/bugfix%2Freverse_rate_mass_r26.4.1/commits/5eb8b12 I ran an optional test locally and found that ppisn now fails on my arm machine on this branch. I'm not surprised given how sensitive it is in its current form. I will try to address this, and run another test. |
I can add that in my testing against FLASH, I found differences around of 10-50%, in terms of mass fractions. However, it is not a clean test. We ran MESA models until core-collapse, went back 10-15 minutes and then started 3D FLASH simulations from the MESA profiles. Thus, differences in the convective activity can account for some of that difference. The rates used for approx21 in FLASH are also older than the MESA rates and I do see some differences in the raw rates too. To complicate the issue further, the discrepancies are model dependent. It is also not clear to me how the approx21 results would transfer to larger networks. |
* fix mass exponent, add inverse coefficients to rates testing * [ci skip] update changelog and known bugs * [ci skip] update docs * [ci skip] Fix Haakan's last name * return conductive flame properties to old values * [ci skip] update changelog * [ci skip] Clarify known bug details in reverse rates calculation Expanded explanation of the incorrect mass exponent issue and its relevance in advanced burning stages. Added reference to related issue gh-974 for more context. * [ci optional] tweak ppisn, correct mlt_vc interpolation in split_merge
* fix mass exponent, add inverse coefficients to rates testing * [ci skip] update changelog and known bugs * [ci skip] update docs * [ci skip] Fix Haakan's last name * return conductive flame properties to old values * [ci skip] update changelog * [ci skip] Clarify known bug details in reverse rates calculation Expanded explanation of the incorrect mass exponent issue and its relevance in advanced burning stages. Added reference to related issue gh-974 for more context. * [ci optional] tweak ppisn, correct mlt_vc interpolation in split_merge
This critical bugfix addresses a mistake in the mass exponent term in the reverse reaction rates, raised by @haakoan here: #974.
I have added an additional unit test which tests changes to these reverse ratios in the future. I believe this is important enough to warrant being merged into the r26.4.1 release.