[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