[Mesa-users] Potential issue with the subroutine compute_rev_ratio
Farag, Ebraheem
ebraheem.farag at yale.edu
Tue Apr 21 20:13:05 UTC 2026
Hello Hakkan,
Thanks for raising this issue here.
I missed your discussion on the github ('discussions' aren't as visible as 'issues'). I am the one who rewrote the reverse reaction rate detailed balance logic in https://github.com/MESAHub/mesa/pull/632 when addressing a prior issue. The documentation reference to the WinNet instrument paper and the N*3/2 were intentional, as far as I remember. I have moved your discussion https://github.com/MESAHub/mesa/discussions/969 to a new issue , and will engage with you there where we can verify the implementation of detailed balance.
-EbF
________________________________
From: Mesa-users <mesa-users-bounces at lists.mesastar.org> on behalf of Haakon Andresen via Mesa-users <mesa-users at lists.mesastar.org>
Sent: Tuesday, April 21, 2026 1:55 PM
To: mesa-users at lists.mesastar.org <mesa-users at lists.mesastar.org>
Subject: [Mesa-users] Potential issue with the subroutine compute_rev_ratio
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/ae53d96c/attachment.htm>
More information about the Mesa-users
mailing list