Initial Mass Functions¶
Class providing stellar initial mass functions (IMF), \(\phi(M) = \mathrm{d}N/\mathrm{d}M\), normalized to unit total stellar mass formed. The IMF determines the relative number of stars at each mass and therefore governs the recycled gas fraction, metal yields, ionizing photon rate, and the total luminosity of a stellar population. All IMF are assumed continuous in \(M\) unless otherwise noted. Implementations provide the IMF itself, its cumulative integral, the minimum and maximum stellar mass, and a tabulation suitable for numerical integration over the stellar population.
Default implementation: initialMassFunctionChabrier2001
Methods¶
massMinimum→double precisionReturn the minimum stellar mass (in \(\mathrm{M}_\odot\)) in the initial mass function, i.e., the lowest mass star formed; below this mass the IMF is zero and no contribution to recycling or yields is included.
massMaximum→double precisionReturn the maximum stellar mass (in \(\mathrm{M}_\odot\)) in the initial mass function, i.e., the most massive star formed; above this mass the IMF is zero and stars above this threshold are assumed to form as black holes or fail to explode.
phi→double precisionReturn the initial mass function, \(\phi(M)=\mathrm{d}N/\mathrm{d}M\), at the given mass \(M=\)
massInitial.double precision, intent(in ) :: massInitial
numberCumulative→double precisionReturn the integral of the initial mass function, \(\int_{m_\mathrm{lower}}^{m_\mathrm{upper}} \phi(M) \mathrm{d}M\).
double precision, intent(in ) :: massLower, massUpper
tabulate→voidReturn the initial mass function, \(\phi(M)=\mathrm{d}N/\mathrm{d}M\), at the given mass \(M=\)
initialMass.class(table1D), allocatable, intent(inout) :: imfTable
label→type(varying_string)Return a short human-readable string label identifying this initial mass function (e.g., “Chabrier2001”, “Kroupa2001”), used for constructing unique hashed descriptors and labeling output.
initialMassFunctionBaugh2005TopHeavy¶
A stellar initial mass function class for the top-heavy stellar initial mass function from Baugh et al. (2005): The Baugh2005TopHeavy IMF is defined by (Baugh et al., 2005):
initialMassFunctionBPASS¶
A stellar initial mass function class used by the BPASS library:
initialMassFunctionChabrier2001¶
A stellar initial mass function class based on Chabrier (2001):
where \(\sigma_\mathrm{c}=\)[sigma], \(M_\mathrm{c}=\)[massCharacteristic]\(\mathrm{M}_\odot\), \(\alpha=\)[exponent], \(M_\mathrm{t}=\)[massTransition]\(\mathrm{M}_\odot\), \(M_\mathrm{l}=\)[massLower]\(\mathrm{M}_\odot\), and \(M_\mathrm{u}=\)[massUpper]\(\mathrm{M}_\odot\).
(Default implementation)
Parameters
[massUpper](default125.0d0) — The upper mass limit for the Chabrier (2001) IMF.[massLower](default0.1d0) — The lower mass limit for the Chabrier (2001) IMF.[massTransition](default1.0d0) — The transition limit for the Chabrier (2001) IMF.[sigma](default0.69d0) — The width of the lognormal part of the Chabrier (2001) IMF.[exponent](default-2.3d0) — The exponent of the power law part of the Chabrier (2001) IMF.[massCharacteristic](default0.08d0) — Characteristic mass of the lognormal part of the Chabrier (2001) IMF.
initialMassFunctionKennicutt1983¶
A stellar initial mass function class for the Kennicutt (1983) IMF:
initialMassFunctionKroupa2001¶
A stellar initial mass function class for the Kroupa (2001) IMF.
initialMassFunctionMillerScalo1979¶
A stellar initial mass function class for the Miller and Scalo (1979) IMF:
initialMassFunctionPiecewisePowerLaw¶
A stellar initial mass function class for piecewise power-law IMFs. Arbitrary piecewise power-law IMFs can be defined using the PiecewisePowerLaw method. The IMF will be constructed such that:
where \(i=1\)…\(N\), the \(M_i\) are given by [mass] and the \(\alpha_i\) are given by [exponent]. (Note that [mass] must contain \(N+1\) elements, while [exponent] contains only \(N\) elements.) The normalization of each power-law piece is chosen to ensure a continuous IMF that is normalized to unit mass overall.
Parameters
[mass](default[0.1d0,125.0d0]) — The mass points used to define a piecewise power-law initial mass function.[exponent](default[-2.35d0]) — The exponents used to define a piecewise power-law initial mass function.
initialMassFunctionSalpeter1955¶
A stellar initial mass function class for the Salpeter (1955) IMF defined as:
initialMassFunctionScalo1986¶
A stellar initial mass function class for the Scalo (1986) IMF: