Public Methods

The following methods are part of our publicly exported API.

Stellar-Mass-Halo-Mass Relation

AstroScalingRelations.flumFunction
flum(Mh::Real, mdef::String="vir")

Analytic approximations to the fraction of halos with mass definition mdef of mass Mh (in solar masses) that are luminous, based on Fig. 3 and 12 of Dooley 2017b. If mdef="late z", then it is most similar to the purple dashed or solid green models in Figure 12. This was Annika's code. mdef="200c" is most similar to the Barber (blue) model in Figure 3. mdef="vir" is most similar to the yellow model in Figure 3. mdef="350c" is most similar to the red model in Figure 3. If mdef="const", then just return 1; e.g. 100% luminous fraction at all halo masses.

Examples

julia> flum(1e10, "late z") ≈ 0.9999938558253978
true

julia> flum(1e10, "200c") ≈ 0.9994793959258891
true

julia> flum(1e10, "vir") ≈ 0.9878715650157257
true

julia> flum(1e10, "350c") ≈ 0.9933071490757152
true

julia> flum(1e10, "const") ≈ 1.0
true
source
AstroScalingRelations.Moster2013Function
Moster2013(Mh, z, M10=11.59, M11=1.195, N10=0.0351, N11=-0.0247, B10=1.376, B11=-0.826, gamma10=0.608, gamma11=0.329)

Given a halo mass Mh (M200c in solar masses) and a redshift z, return the median stellar mass from the Moster et al. 2013 empirical model. If Mh is a Unitful.Mass, will return a Unitful.Mass.

Examples

julia> Moster2013( 1e12, 0.0 ) ≈ 3.427515185606664e10
true

julia> Moster2013( 1e12 * UnitfulAstro.Msun, 0.0 ) ≈ 3.427515185606664e10 * UnitfulAstro.Msun
true

Notes

Moster et al. 2013 utilized the Millennium simulation (Springel et al. 2005) for high-mass halos and the Millennium-II simulation (Boylan-Kolchin et al. 2009) for low-mass halos. At low redshift, they use the stellar mass function of Li & White 2009 derived from SDSS DR7, ranging from stellar masses of 10^8.3 to 10^11.7 solar masses. This is supplemented by the low-mass stellar mass function from Baldry et al. 2008 for stellar masses between 10^7.4 to 10^8.3 solar masses. The high-redshift galaxy sample covers redshifts 0 < z < 4, using data from Perez-Gonzalez et al. 2008 for high-mass galaxies and Santini et al. 2012 for low-mass galaxies. See Figure 6 in Moster et al. 2013 for a visualization of the adopted stellar mass functions.

source
AstroScalingRelations.Behroozi2013Function
Behroozi2013(Mh, z)

Given a halo mass Mh (specifically the peak virial halo mass in solar masses, as defined in Bryan & Norman 1998) and a redshift z, return the median stellar mass from the Behroozi et al. 2013 empirical model. If Mh is a Unitful.Mass, will return a Unitful.Mass.

Examples

julia> Behroozi2013( 1e12, 0.0 ) ≈ 2.6798246456860065e10
true

julia> Behroozi2013( 1e12 * UnitfulAstro.Msun, 0.0 ) ≈ 2.6798246456860065e10 * UnitfulAstro.Msun
true
source
AstroScalingRelations.GK14Function
GK14(Mh, z)

Given a halo mass Mh (specifically the peak virial halo mass in solar masses, as defined in Bryan & Norman 1998) and a redshift z, return the median stellar mass from the Garrison-Kimmel et al. 2014 empirical model. If Mh is a Unitful.Mass, will return a Unitful.Mass. This is the same model as Behroozi2013, but with a shallower low-mass slope (α). See Figures 9 and 10.

Examples

julia> GK14( 1e12, 0.0 ) ≈ 2.894144183405201e10
true

julia> GK14( 1e12 * UnitfulAstro.Msun, 0.0 ) ≈ 2.894144183405201e10 * UnitfulAstro.Msun
true
source
AstroScalingRelations.GK17_fieldFunction
GK17_field(Mh, z, nu=-0.2)

Given a halo mass Mh (specifically the peak virial halo mass in solar masses, as defined in Bryan & Norman 1998) and a redshift z, return the median stellar mass for field galaxies from the Garrison-Kimmel et al. 2017 empirical model. If Mh is a Unitful.Mass, will return a Unitful.Mass. This uses the model of Behroozi2013 at high masses, but has a variable low-mass slope (α) and scatter (σν). The argument nu is the slope of the scatter in the SMHM relation (ν in their Equation 3). The default is -0.2 as in Dooley et al. 2017 "An Observers Guide ...".

Examples

julia> GK17_field( 1e12, 0.0, -0.2 ) ≈ 2.9300795754861504e10
true

julia> GK17_field( 1e12 * UnitfulAstro.Msun, 0.0, -0.2 ) ≈ 2.9300795754861504e10 * UnitfulAstro.Msun
true
source
AstroScalingRelations.GK17_satFunction
GK17_sat(Mh, z, nu=-0.2)

Given a halo mass Mh (specifically the peak virial halo mass in solar masses, as defined in Bryan & Norman 1998) and a redshift z, return the median stellar mass for satellite galaxies from the Garrison-Kimmel et al. 2017 empirical model. If Mh is a Unitful.Mass, will return a Unitful.Mass. This uses the model of Behroozi2013 at high masses, but has a variable low-mass slope (α) and scatter (σν). The argument nu is the slope of the scatter in the SMHM relation (ν in their Equation 3). The default is -0.2 as in Dooley et al. 2017 "An Observers Guide ...".

Examples

julia> GK17_sat( 1e12, 0.0, -0.2 ) ≈ 2.860110341918958e10
true

julia> GK17_sat( 1e12 * UnitfulAstro.Msun, 0.0, -0.2 ) ≈ 2.860110341918958e10 * UnitfulAstro.Msun
true
source

Gas Outflow Models (Mass-Loading Factors)

AstroScalingRelations.Muratov2015Function
Muratov2015(Mstar)
Muratov2015(Vvir, z)

The model for the galaxy-scale mass-loading factor η from Muratov et al. 2015, based on FIRE-1 simulations. Two parameterizations are allowed; one which is based on the galaxy's stellar mass (Mstar) in solar masses and one which is based on the circular velocity at the virial radius (Vvir) of the galaxy's dark matter halo in km/s and the redshift of evaluation (z). Both parameterizations can be Unitful quantities. See also Pandya2021.

Examples

julia> Muratov2015( 1e10 ) ≈ 3.6
true

julia> Muratov2015( 1e10 * UnitfulAstro.Msun ) ≈ 3.6
true

julia> Muratov2015( 40, 1 ) ≈ 26.135392171726632
true

julia> Muratov2015( 40 * Unitful.km / Unitful.s, 1 ) ≈ 26.135392171726632
true
source
AstroScalingRelations.Christensen2016Function
Christensen2016(Vvir)

The model for the halo-scale mass-loading factor η from Christensen et al. 2016, based on simulations run with the GASOLINE hydrodynamical model. The model requires the circular velocity at the virial radius (Vvir) of the galaxy's dark matter halo in km/s. Vvir can be a Unitful.Velocity. Note that the normalization of the relation is not given explicitly in the paper, only the scaling is; the prefactor here was estimated from their Figure 11.

Examples

julia> Christensen2016( 40 ) ≈ 3.0028111668298063
true

julia> Christensen2016( 40 * Unitful.km / Unitful.s ) ≈ 3.0028111668298063
true
source
AstroScalingRelations.Pandya2021Function
Pandya2021(Mstar)
Pandya2021(Vvir, z)

The model for the galaxy-scale mass-loading factor η from Pandya et al. 2021, based on FIRE-2 simulations. Two parameterizations are allowed; one which is based on the galaxy's stellar mass (Mstar) in solar masses and one which is based on the circular velocity at the virial radius (Vvir) of the galaxy's dark matter halo in km/s and the redshift of evaluation (z). Originally calculated for redshift $0 ≤ z ≤ 4$ but will extrapolate outside this range. Both parameterizations can be Unitful quantities. This work finds that halo-scale mass-loading factors are larger than galaxy-scale mass-loading factors due to entrainment of additional CGM gas (see Section 5 and Figure 14).

Examples

julia> isapprox( Pandya2021( 1e10 ), 0.6309573444801929; rtol=1e-7 )
true

julia> isapprox( Pandya2021( 1e10 * UnitfulAstro.Msun ), 0.6309573444801929; rtol=1e-7 )
true

julia> all( isapprox.( Pandya2021.( 40, (0.0, 1.0, 3.0) ), (12.977828436995544, 21.609465380663718, 24.88169815959356); rtol=1e-7 ) )
true

julia> isapprox( Pandya2021( 40 * Unitful.km / Unitful.s, 1 ), 21.609465380663718; rtol=1e-7 )
true
source

Gas Mass / Profile Relations

AstroScalingRelations.Papastergis2012Function
Papastergis2012(Mstar)

Returns the mean neutral hydrogen gas mass of a galaxy with stellar mass Mstar in solar masses; this is the black line in Figure 19 of Papastergis et al. 2012. Based on a crossmatch between SDSS galaxies and sources detected in the blind ALFALFA α.40 survey. If Mstar is a Unitful.Mass, will return a Unitful.Mass.

Examples

julia> Papastergis2012(1e8) ≈ 2.0417379446695232e8
true

julia> Papastergis2012(1e8 * UnitfulAstro.Msun) ≈ 2.0417379446695232e8 * UnitfulAstro.Msun
true
source
AstroScalingRelations.Bradford2015Function
Bradford2015(Mstar)

Returns the median neutral hydrogen gas mass of an isolated galaxy with stellar mass Mstar in solar masses according to Equation in Bradford et al. 2015. Uses coefficients from the first two rows of Table 3. These are derived for galaxies selected from SDSS DR8 with stellar masses between exp10(7) and exp10(9.5).

Examples

julia> Bradford2015(1e8) ≈ 4.487453899331332e8
true

julia> Bradford2015(1e8 * UnitfulAstro.Msun) ≈ 4.487453899331332e8 * UnitfulAstro.Msun
true
source
AstroScalingRelations.Scoville2017Function
Scoville2017(Mstar [, z])

Returns the median neutral hydrogen gas mass of a galaxy with stellar mass Mstar in solar masses at redshift z according to Equation 6 in Scoville et al. 2017. This does not include the specfic star formation rate dependence. These are derived from ALMA dust continuum emission (see Section 4) for well-studied galaxies in the COSMOS field between redshifts 0.3 and 4.5. If Mstar is a Unitful.Mass, will return a Unitful.Mass.

Examples

julia> Scoville2017(1e8) ≈ 1.7759037070772731e9
true

julia> Scoville2017(1e8 * UnitfulAstro.Msun) ≈  1.7759037070772731e9 * UnitfulAstro.Msun
true

julia> Scoville2017(1e8, 1.0) ≈ 6.357913365552342e9
true

julia> Scoville2017(1e8 * UnitfulAstro.Msun, 1.0) ≈ 6.357913365552342e9 * UnitfulAstro.Msun
true
source
AstroScalingRelations.Wang2016_DHIFunction
Wang2016_DHI(MHI)

Returns the HI diameter, defined as the diameter at which the HI surface density equals 1 Msun/pc^2, in kiloparsecs given an HI mass follwing Equation 2 in Wang et al. 2016. If Mstar is a Unitful.Mass, will return a Unitful.Length.

Examples

julia> Wang2016_DHI(1e8) ≈ 5.688529308438413
true

julia> Wang2016_DHI(1e8 * UnitfulAstro.Msun) ≈ 5.688529308438413 * UnitfulAstro.kpc
true
source
AstroScalingRelations.Wang2016_rho_rsFunction
(Σ₀, rs) = Wang2016_rho_rs(MHI)

Returns the central surface density Σ₀ in Msun/pc^2 and the scale radius rs in parsecs that defines the surface density profile $Σ(r) = Σ₀ \exp (-r/rs)$ for a galaxy with an HI disk mass of MHI in solar masses, using the Wang et al. 2016 relation between HI mass and HI disk diameter.

Examples

julia> all( Wang2016_rho_rs(1e6) .≈ (4.009796759878976, 199.2273166291845) )
true

julia> all( Wang2016_rho_rs(1e12) .≈ (7.045959041825033, 150293.43437081948) )
true
source

Galaxy Sizes

AstroScalingRelations.galaxy_sizeFunction
galaxy_size(Rvir; Aᵣ=0.02, fₚfₖ=0.78) = Aᵣ * fₚfₖ * Rvir
galaxy_size(Mh, ρthresh; Aᵣ=0.02, fₚfₖ=0.78) = Aᵣ * fₚfₖ * cbrt( 3 * Mh / (4π * ρthresh) )

Scaling relation for galaxy half-light radius with the virial radius of the dark matter halo such that

\[\begin{aligned} ρ_\text{thresh} &= ρ_c(z) \, Δ_\text{vir} \newline R_\text{vir} &= \sqrt[3]{ \frac{3 \, \text{M}_h}{4π \; ρ_c(z) \; Δ_\text{vir}}} \newline R_h(\text{M}_h, z) &= A_r \; f_p f_k \; R_\text{vir} \end{aligned}\]

The units of the returned $R_h$ are the same as the provided $R_\text{vir}$, or if using the (Mh, ρthresh) signature, the unit of cbrt( 3 * Mh / (4π * ρthresh) ).

Default keyword arguments $Aᵣ=0.02$ from Jiang et al. 2019 and $fₚfₖ=0.78$ for the projection correction for spheroidal systems from Somerville et al. 2018.

Examples

julia> galaxy_size(1e12, 12000; Aᵣ=0.02, fₚfₖ=0.78) ≈ 4.227023347086455
true
source