[Mesa-users] Potential issue with the subroutine compute_rev_ratio

Haakon Andresen haakon.andresen at astro.su.se
Tue Apr 21 17:55:51 UTC 2026


Dear MESA community,

I have been looking into the computation of reverse reaction rates in MESA and may have found an issue,
although I might be missing something. I am not a MESA/reaction-rate expert.

In compute_rev_ratio, the reverse rate is derived from the forward rate using a factor that depends on the product of the mass
numbers of the reactants and products. From my understanding of detailed balance,
this factor should scale with an exponent of 3/2, but in the code it appears as 3n/2,
where n depends on the number of reactants.

Relevant line:
https://github.com/MESAHub/mesa/blob/d2e43a4bbc6e26dc84dd5683dddf2616495e4d43/rates/private/reaclib_support.f90#L214
The implementation refers to Reichert et al. (2023, Eq. 21), but I wonder if there may be a typo there.
Other references, such as Clark et al. (2022, Eq. B19) and Fowler et al. (1967), seem to use a 3/2 exponent instead.
Clark: https://arxiv.org/pdf/2210.09965
Fowler: https://www.annualreviews.org/content/journals/10.1146/annurev.aa.05.090167.002521

Other standard text books also do not include the 3n/2, but rather arrive at 3/2.

For comparison, both pynucastro and WinNet appear to use the 3/2 scaling.
Relevant lines for WinNet:
https://github.com/nuc-astro/WinNet/blob/master/src/detailed_balance.f90#L419
https://github.com/nuc-astro/WinNet/blob/master/src/detailed_balance.f90#L394
https://github.com/nuc-astro/WinNet/blob/master/src/detailed_balance.f90#L491

I encountered this while comparing approx21 MESA rates to those used in FLASH.
For certain 2-2 reactions (where n = 0), the discrepancy between MESA and FLASH is very close to the ratio of the mass numbers,
which seems consistent with the exponent difference.

The relevant change in MESA appears to have been introduced here:
https://github.com/MESAHub/mesa/pull/632

At this point, I am unsure whether this reflects a bug or if there is an additional factor
elsewhere in the code that compensates for this. Any clarification would be much appreciated.

Best,
Haakon

P.S. I also opened a discussion on GitHub, but activity there seems limited, so I thought I would ask here as well:
https://github.com/MESAHub/mesa/discussions/969
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20260421/92377772/attachment.htm>


More information about the Mesa-users mailing list