Starmatrix reads a configuration file where several input parameters (all of them optional) can be set in yaml format:
z # Metallicity. Default value: 0.02 sol_ab # Solar abundances data. Default value: as09 imf # Initial Mass function to use. Default value: kroupa imf_alpha # If IMF is salpeter/starburst, this extra param is needed. Defaults to 2.35 imf_m_low # Lower limit (in solar masses) for the IMF. Default value: 0.15 imf_m_up # Upper limit (in solar masses) for the IMF. Default value: 100 m_min # Minimum mass (in solar masses) for the resulting Q-Matrices. Default: 0.98 m_max # Maximum mass (in solar masses) for the resulting Q-Matrices. Default: 40.0 total_time_steps # Total time steps for integration. Default value: 300 binary_fraction # Fraction of binary systems. Default value: 0.15 dtd_sn # Delay time distribution to use for Supernovae. Default value: rpl sn_yields # Dataset for Supernovae yields. Default value: iwa1998 output_dir # Name of the directory where results are written. Defaults to "results" matrix_headers # Flag to include headers in the qm-matrices file. Default value: yes return_fractions # Flag to calculate R: fraction of mass restored to the ISM. Default: False integration_step # The integration step can be constant in t or in log(t). Default: "logt" dtd_correction_factor # Correction for the uncertainty in the DTD integral. Default: 1.0 deprecation_warnings # If False Starmatrix won't show deprecation warnings. Default: True expelled_elements_filename # Filename of ejected data. Defaults to an internal file with # data for z=0.02 from Gavilan et al, 2006, A&A, 450, 509 # and Chieffi & Limongi, 2004, ApJ, 608, 405 yield_corrections # A map of individual correction factors for items in the ejected data file
Starmatrix will use its internal default values for all params for which no values are provided.
If you want to use an existent configuration file as template for your own, you can run:
$ starmatrix --generate-config
That command will create a
config-example.yml file in the current dir.
Starmatrix uses solar mass (M*) as the reference unit for all quantities, so internally the upper and lower limits for IMF are expressed in solar masses, Delay Time Distributions are expressed as [Supernovae per Year per M*] and the expelled elements file is expected to express data as expelled mass per solar mass, same as the supernova yields.
Initial mass function
imf param in the config file can be set to use any of the predefined IMFs from different papers/authors:
Starburst 1999 (a Salpeter with mass limits in [1, 120])
Miller & Scalo 1979
Ferrini, Palla & Penco 1998
The default value is
kroupa2002. If you want to use your own IMF you can do so subclassing the IMF class.
The IMF will be normalized integrating in the
[imf_m_low, imf_m_up] mass interval
[0.15, 100], except
sol_ab param in the config file can be set to use any of the available abundances datasets from different papers/authors:
Anders & Grevesse 1989
Grevesse & Sauval 1998
Asplund et al. 2005
Asplund et al. 2009
Lodders et al. 2019
The default value is
as09. If you want to use your own abundances data you can do so subclassing the Abundances class.
Delay Time Distributions
dtd_sn param in the config file can be set to use any of the available Delay Time Distributions for supernova rates from different papers/authors:
Supernova rates from Ruiz-Lapuente et al. 2000
The DTD of Type Ia supernovae from Maoz & Graur (2017)
DTD of Type Ia supernovae from Castrillo et al. (2021)
DTD of Type Ia supernovae from Greggio, L. (2005)
DTD of Type Ia supernovae from Chen et al. (2021)
DTD from model Close DD 0.4 Gyrs from Greggio, L. (2005)
DTD from model Close DD 1 Gyr from Greggio, L. (2005)
DTD from model Wide DD 0.4 Gyrs from Greggio, L. (2005)
DTD from model Wide DD 1 Gyr from Greggio, L. (2005)
DTD from model SD Chandra from Greggio, L. (2005)
DTD from model SD sub-Chandra from Greggio, L. (2005)
Phi function from Strolger et al (2020) with (ξ, ω, 𝛼) = (10, 600, 220)
Phi function from Strolger et al (2020) with (ξ, ω, 𝛼) = (110, 1000, 2)
Phi function from Strolger et al (2020) with (ξ, ω, 𝛼) = (350, 1200, 20)
Phi function from Strolger et al (2020) with (ξ, ω, 𝛼) = (6000, 6000, -2)
Phi function from Strolger et al (2020) with (ξ, ω, 𝛼) = (-650, 2200, 1100)
Phi function from Strolger et al (2020) with (ξ, ω, 𝛼) = (-1518, 51, 50)
sn_yields param in the config file can be set to use any of the available supernova yields datasets from different papers/authors:
Data from Iwamoto, K. et al., 1999, ApJ 125, 439
Data from Seitenzahl et al. 2013, MNRAS 429, 2, 1156–1172
Data from Leung & Nomoto 2018, ApJ, Vol 861, 2, Id 143, Tables 6/7
Data from Leung & Nomoto 2018, ApJ, Vol 861, 2, Id 143, Tables 8/9
Data from Leung & Nomoto 2018, ApJ, Vol 861, 2, Id 143, Tables 10/11
Data from Leung & Nomoto 2020, ApJ Vol 888, Issue 2, Id 80
Data from Bravo, E. et al., 2019, MNRAS, 482, Issue 4, 4346–4363, Table 3
Data from Bravo, E. et al., 2019, MNRAS, 482, Issue 4, 4346–4363, Table 4
Data from Gronow, S. et al., 2021, A&A, Tables 3/A10 He+Core detonations
Data from Gronow, S. et al., 2021, A&A, Tables 4/A8 He+Core detonations
Data from Mori, K. et al, 2018, ApJ, 863:176 W7
Data from Mori, K. et al, 2018, ApJ, 863:176 WDD2
By default integration steps are constant in log(t) but this behavior can be changed via the integration_step setting, that can take these values:
Integration step is constant in log(t), so it is smaller for short-lived stars and gradually increases when time increases (stellar mass decreases). The total number of steps should be set using the total_time_steps setting
Integration step is constant in t. Less efficient than log(t) but can be used to study specific intervals. Should be tuned with the total_time_steps setting
The integration will use two time steps: [half the lifetime of a 100 solar masses star for the given metallicity] as time step for stars bigger than 4 solar masses, and 100 times that for less massive stars. If this option is selected the total_time_steps setting is ignored
The integration will take exactly the number of time steps specified in the next two settings (integration_steps_stars_smaller_than_4Msun and integration_steps_stars_bigger_than_4Msun)
integer number of integration time steps for m = 4Msun to m_max. This option is ignored unless integration_step value is fixed_n_steps
integer number of integration time steps for m = m_min to 4Msun. This option is ignored unless integration_step value is fixed_n_steps
Ejected data file
expelled_elements_filename setting should be a valid path of a text file containing data for expelled elements per stellar mass.
The file should include a row of data for each stellar mass. Structure of each row should be:
First column: stellar mass
2nd to 19th columns: expelled mass of element i where i is in the following ordered list
H, D, He3, He4, C12, C13, N14primary, n.r., O16, Ne, Mg, Si, S, Ca, Fe, remnants, C13secondary, N14secondary
This data will be used internally to interpolate/extrapolate values for all the mass range of the model.
There is a special case: When using the combination of yields from Cristallo et al. 2011 (for low mass stars) + Limongi & Chieffi 2012 (for massive stars) data needs to be corrected because for non solar metalicities they don’t follow solar scale. Starmatrix will perform this correction automatically if the name of the file with the ejected data includes ‘CRI-LIM’ or ‘CRI_LIM’.
yield_corrections setting you can specify correction factors for the yields contained in the ejected data file.
This setting is a map of key: value pairs.
The allowed keys correspond to the elements included in the ejected data file:
H, D, He3, He4, C12, C13, N14p, n.r., O16, Ne, Mg, Si, S, Ca, Fe, remnants, C13s and N14s
If you want to multiply all magnesium data by 2, and all Sulfur data by 0.87 your settings file should include:
yield_corrections: mg: 2 s: 0.87
If Starmatrix is run with an empty configuration file or using the file generated by the command
starmatrix --generate-config with no modifications the set of default values that will be used for each parameter are the following:
1.0 # No corrections
data for z=0.02 from Gavilan et al, and Chieffi & Limongi
# No corrections
This set of values is a mix of solar values were possible and common options from the literature for the Milky Way for star masses from 0.98 to 40 Msun without correcting yields or SN factors.