milespy.star_formation_history.SFH
- class milespy.star_formation_history.SFH(*args, **kwargs)
Bases:
StarFormationHistoryAlias for StarFormationHistory.
- Attributes:
initial_mass_function_slopeIMF slope at each time bin (alias for imf).
metallicityMetallicity [M/H] at each time bin (alias for met).
star_formation_rateStar formation rate at each time bin (alias for sfr).
Methods
alpha_linear([start, end, t_start, t_end])Linear [alpha/Fe] evolution
alpha_sigmoid([start, end, tc, gamma])Sigmoidal [alpha/Fe] evolution
imf_linear([start, end, t_start, t_end])Linear IMF slope evolution
imf_sigmoid([start, end, tc, gamma])Sigmoidal IMF slope evolution
met_linear([start, end, t_start, t_end])Linear metallicity evolution
met_sigmoid([start, end, tc, gamma])Sigmoidal metallicity evolution
sfr_custom(sfr[, mass])User-defined SFR
sfr_delayed_tau([start, tau, mass])Delayed exponentially declining SFR
sfr_double_power_law([a, b, tp, mass])Double power law SFR evolution
sfr_lognormal([Tpeak, tau, mass])Lognormal SFR
sfr_tau([start, tau, mass])Exponentially declining SFR
- __init__(*args, **kwargs)
Create a base SFH object.
- Parameters:
time (Quantity) – Look-back time array for the SFH samples (e.g. Gyr).
- alpha_linear(start=-1.5, end=0.2, t_start=<Quantity 5. Gyr>, t_end=<Quantity 1. Gyr>)
Linear [alpha/Fe] evolution
The [alpha/Fe] evolves as a ReLU function, i.e., constant at the beginning and linearly varying afterwards.
- Parameters:
start (Quantity (dex)) – [alpha/Fe] of the oldest stellar population (default=-1.5 dex)
end (Quantity (dex)) – [alpha/Fe] of the youngest stellar population (default=0.2 dex)
t_start (Quantity (Gyr)) – Start of the [alpha/Fe] variation (default=5 Gyr)
t_end (Quantity (Gyr)) – End of the [alpha/Fe] variation (default=1 Gyr)
- alpha_sigmoid(start=0.4, end=0.0, tc=<Quantity 5. Gyr>, gamma=<Quantity 1. 1 / Gyr>)
Sigmoidal [alpha/Fe] evolution
The [alpha/Fe] evolves as a sigmoidal function. This is not meant to be physically meaningful but to reproduce the exponential character of the chemical evolution
- Parameters:
- imf_linear(start=-1.5, end=0.2, t_start=<Quantity 5. Gyr>, t_end=<Quantity 1. Gyr>)
Linear IMF slope evolution
The IMF slope evolves as a ReLU function, i.e., constant at the beginning and linearly varying afterwards.
- imf_sigmoid(start=0.5, end=3.0, tc=<Quantity 5. Gyr>, gamma=<Quantity 1. 1 / Gyr>)
Sigmoidal IMF slope evolution
The IMF slope evolves as a sigmoidal function. This is not meant to be physically meaningful but to track the chemical variations (see e.g. Martin-Navarro et al. 2015)
- met_linear(start=-1.5, end=0.2, t_start=<Quantity 5. Gyr>, t_end=<Quantity 1. Gyr>)
Linear metallicity evolution
The metallicity evolves as a ReLU function, i.e., constant at the beginning and linearly varying afterwards.
- Parameters:
start (Quantity (dex)) – Metallicity of the oldest stellar population (default=-1.5 dex)
end (Quantity (dex)) – Metallicity of the youngest stellar population (default=0.2 dex)
t_start (Quantity (Gyr)) – Start of the metallicity variation (default=5 Gyr)
t_end (Quantity (Gyr)) – End of the metallicity variation (default=5 Gyr)
- met_sigmoid(start=-1.5, end=0.2, tc=<Quantity 5. Gyr>, gamma=<Quantity 1. 1 / Gyr>)
Sigmoidal metallicity evolution
The metallicity evolves as a sigmoidal function. This is not meant to be physically meaningful but to reproduce the exponential character of the chemical evolution
- Parameters:
- sfr_custom(sfr, mass=None)
User-defined SFR
- sfr_delayed_tau(start=<Quantity 10. Gyr>, tau=<Quantity 1. Gyr>, mass=<Quantity 1. solMass>)
Delayed exponentially declining SFR
This is a standard tau model where the SFR is given by
\[\begin{split}\text{SFR}(t) = \begin{cases} 0 & \text{if}\; t < t_0 \\ (t_0-t)e^{- (t-t_0)/\tau } & \text{if}\; t >= t_0 \\ \end{cases}\end{split}\]
- sfr_double_power_law(a=5, b=5, tp=<Quantity 10. Gyr>, mass=<Quantity 1. solMass>)
Double power law SFR evolution
The SFR as a function of time is given by (Behroozi et al. 2013)
\[\text{SFR}(t_n) = ((t_n/t_p)^a + (t_n/t_p)^{-b})^{-1}\]As for the lognormal SFR, \(t_n\) refers to time since the Big Bang
- sfr_lognormal(Tpeak=<Quantity 10. Gyr>, tau=<Quantity 1. Gyr>, mass=<Quantity 1. solMass>)
Lognormal SFR
The time evolution of the SFR is given by
\[\text{SFR}(t) = e^{ -(t_0- \log(t_n))^2 / 2\tau^2} / t_n\]Note that \(t_n\) is in this case the time since the Big Bang and not lookback time as in the SSP. See details in Diemer et al. 2017, ApJ, 839, 26, Appendix A.1
- sfr_tau(start=<Quantity 10. Gyr>, tau=<Quantity 1. Gyr>, mass=<Quantity 1. solMass>)
Exponentially declining SFR
This is a standard tau model where the SFR is given by
\[\begin{split}\text{SFR}(t) = \begin{cases} 0 & \text{if}\; t < t_0 \\ e^{- (t-t_0)/\tau } & \text{if}\; t >= t_0 \\ \end{cases}\end{split}\]