[Mesa-users] Incorrect metal mass fractions associated with Freedman11 low-temperature opacity tables
Emily Sandford
sandford at strw.leidenuniv.nl
Fri May 8 12:47:42 UTC 2026
Hi all,
Louis Siebenaler (cc'd) and I noticed a problem with the preprocessing &
evaluation of the Freedman11 low-temperature opacity tables.
Specifically, the "Z" values associated with each table, as e.g.
enumerated in $MESA_DIR/kap/public/kap_def.f90,
num_kap_lowT_Zs(i) = 7
kap_lowT_Zs(1:num_kap_lowT_Zs(i), i) = [ 0.01d0, 0.02d0, 0.04d0,
0.100d0, 0.200d0, 0.63d0, 1.00d0 ]
are not metal mass fractions. Rather, they are related to number
fractions; for example, a Freedman [M/H] value of -0.3 corresponds to a
metal number fraction of 10**(-0.3)*solar = 0.5*solar; [M/H]=0
corresponds to a solar number fraction, etc. It appears that there was a
decision made to equate the solar metal number fraction with a metal
*mass* fraction of 0.02 and scale the other values in the array
accordingly.
The metal mass fraction array should instead look something like this
(with small variations possible depending on which protosolar abundance
table you work with; the below values are based on Lodders 2003 table
2):
[M/H] = [-0.3, 0.0, 0.3, 0.7, 1.0, 1.5, 1.7]
Z = [0.0075, 0.0148, 0.029, 0.0698, 0.1303, 0.3215, 0.4288]
As far as I can tell, the kap_get functions operate directly on the
inlist-specified Z, with no conversion back to a number fraction before
calling the Freedman tables, so this appears to be a mistake. I only
work on planetary-mass models, so I don't know if there are
corresponding problems with other tables in the higher-temperature
regime.
I'll work on a fix and suggest it through the appropriate channels on
github, but wanted to flag it up here as well.
Thanks,
Emily Sandford
More information about the Mesa-users
mailing list