hmfast.halos.profiles.M21CIBProfile
- class hmfast.halos.profiles.M21CIBProfile(nu, eta_max=0.4028, z_c=1.5, tau=1.204, f_sub=0.134, M_min=316227766016.83795, M_eff=3981071705534.969, sigma2_LM=0.5, s_nu=None)[source]
Bases:
CIBProfileCIB profile from Maniyar et al. (2021).
In this model, the real-space CIB profile is written as
\[u_\nu(r, M, z) = \frac{1}{4\pi} \left[L_\nu^{\mathrm{cen}}(M, z) + L_\nu^{\mathrm{sat}}(M, z) \, u_m(r, M, z)\right] \tag{1}\]where \(u_m(r, M, z)\) is the normalized real-space NFW matter profile. Central galaxies are assumed to sit at the halo center, while the satellite contribution traces the NFW matter profile in real space.
The central and satellite luminosities are
\[L_\nu^{\mathrm{cen}}(M, z) = N_{\mathrm{cen}}(M) \, L_\nu^{\mathrm{gal}}\!\left(M(1-f_{\mathrm{sub}}), z\right) \tag{2}\]\[L_\nu^{\mathrm{sat}}(M, z) = \int d\ln m_s \, \frac{dN}{d\ln m_s}(m_s \mid M) \, \min\!\left[ L_\nu^{\mathrm{gal}}(m_s, z), L_\nu^{\mathrm{gal}}\!\left(M_{\max}, z\right) \frac{m_s}{M_{\max}} \right] \tag{3}\]where \(M_{\max} = M(1-f_{\mathrm{sub}})\) and \(N_{\mathrm{cen}}(M) = 1\) for \(M(1-f_{\mathrm{sub}}) > M_{\min}\) and zero otherwise.
The galaxy luminosity is
\[L_\nu^{\mathrm{gal}}(M, z) = 4\pi \, S_\nu(z, \nu) \, \mathrm{SFR}(M, z) \tag{4}\]where
\[\mathrm{SFR}(M, z) = 10^{10} \, f_b \, \dot{M}(M, z) \, \mathrm{SFR}_c(M, z) \tag{5}\]\[\mathrm{SFR}_c(M, z) = \eta_{\max} \exp\left[ -\frac{\left(\ln M - \ln M_{\mathrm{eff}}\right)^2} {2 \, \sigma_{\ln M}^2(M, z)} \right] \tag{6}\]\[\sigma_{\ln M}^2(M, z) = \left[ \sigma_{\ln M}^{\star} - H\!\left(M_{\mathrm{eff}} - M\right) \, \tau \, \max\left[0, z_c - z\right] \right]^2 \tag{7}\]\[\dot{M}(M, z) = 46.1 \, (1 + 1.11 z) \, E(z) \left(\frac{M}{10^{12} M_{\odot}}\right)^{1.1} \tag{8}\]where \(f_b = \Omega_b / \Omega_{m,0}\) and \(E(z) = H(z) / H_0\).
The mean emissivity \(\bar{j}_\nu(z)\) and the monopole intensity \(I_\nu\) are given, respectively, by
\[\bar{j}_\nu(z) = (1+z) \, \chi^2(z) \, \frac{h^3}{4 \pi} \int d\ln M \, \frac{dn}{d\ln M}(M, z) \left[L_\nu^{\mathrm{cen}}(M, z) + L_\nu^{\mathrm{sat}}(M, z)\right] \tag{9}\]\[I_\nu = \int dz \, \frac{d\chi}{dz} \, a(z) \, \bar{j}_\nu(z) \tag{10}\]- Attributes:
- nufloat
Observed frequency \(\nu\) in GHz.
- eta_maxfloat
Dimensionless maximum star-formation efficiency \(\eta_{\max}\).
- z_cfloat
Dimensionless redshift pivot \(z_c\) controlling the time-dependent width term.
- taufloat
Dimensionless width-evolution parameter \(\tau\).
- f_subfloat
Dimensionless subhalo luminosity fraction \(f_{\mathrm{sub}}\).
- M_minfloat
Minimum halo mass \(M_{\min}\) contributing to the emissivity in physical \(M_\odot\).
- M_efffloat
Characteristic mass \(M_{\mathrm{eff}}\) of peak star-formation efficiency in physical \(M_\odot\).
- sigma2_LMfloat
Dimensionless variance parameter \(\sigma_{LM}^2\) entering the efficiency model.
- s_nutuple
Tabulated spectral template \((z, \nu, S_\nu)\) used to interpolate \(S_\nu(z, \nu)\), with redshift grid \(z\) dimensionless, frequency grid \(\nu\) in GHz, and template values \(S_\nu\) in the luminosity-per-SFR units assumed by the Maniyar model. If not provided, it is read from the default auxiliary data files.
Methods
fourier(halo_model, k, m, z)Compute the CIB profile in Fourier space.
l_cen(halo_model, m, z)Compute the central-galaxy CIB luminosity.
l_gal(halo_model, m, z)Compute the galaxy luminosity assigned to a halo.
l_sat(halo_model, m, z)Compute the total satellite CIB luminosity.
mean_emissivity(halo_model, z)Compute the mean emissivity.
mean_intensity(halo_model, z)Compute the CIB mean intensity (monopole).
real(halo_model, r, m, z)Compute the CIB profile in real space.
update([nu, eta_max, z_c, tau, f_sub, ...])Return a new profile instance with updated CIB parameters.
- update(nu=None, eta_max=None, z_c=None, tau=None, f_sub=None, M_min=None, M_eff=None, sigma2_LM=None)[source]
Return a new profile instance with updated CIB parameters.
- Parameters:
- nu, eta_max, z_c, tau, f_sub, M_min, M_eff, sigma2_LMfloat, optional
Replacement values for the corresponding class attributes. Any argument left as
Nonekeeps its current value.
- Returns:
- M21CIBProfile
New profile instance with updated parameters.
- l_gal(halo_model, m, z)[source]
Compute the galaxy luminosity assigned to a halo.
- Parameters:
- halo_modelHaloModel
Halo model. Included for interface consistency.
- mfloat or jnp.ndarray
Halo mass or masses in physical \(M_\odot\).
- zfloat or jnp.ndarray
Redshift(s).
- Returns:
- jnp.ndarray
Galaxy luminosity \(L_\nu^{\mathrm{gal}}(M, z)\) with shape \((N_m, N_z)\), where singleton dimensions get squeezed before return.
- l_sat(halo_model, m, z)[source]
Compute the total satellite CIB luminosity.
- Parameters:
- halo_modelHaloModel
Halo model providing the subhalo mass function.
- mfloat or jnp.ndarray
Host halo mass or masses in physical \(M_\odot\).
- zfloat or jnp.ndarray
Redshift(s).
- Returns:
- jnp.ndarray
Satellite luminosity \(L_\nu^{\mathrm{sat}}(M, z)\) with shape \((N_m, N_z)\), where singleton dimensions get squeezed before return.
- l_cen(halo_model, m, z)[source]
Compute the central-galaxy CIB luminosity.
- Parameters:
- halo_modelHaloModel
Halo model. Included for interface consistency.
- mfloat or jnp.ndarray
Halo mass or masses in physical \(M_\odot\).
- zfloat or jnp.ndarray
Redshift(s).
- Returns:
- jnp.ndarray
Central luminosity \(L_\nu^{\mathrm{cen}}(M, z)\) with shape \((N_m, N_z)\), where singleton dimensions get squeezed before return.
- mean_emissivity(halo_model, z)[source]
Compute the mean emissivity.
- Parameters:
- halo_modelHaloModel
Halo model providing the cosmology and halo mass function.
- zfloat or jnp.ndarray
Redshift grid.
- Returns:
- jnp.ndarray
Mean emissivity \(\bar{j}_\nu(z)\) in \(\mathrm{Jy}\,\mathrm{Mpc}^{-1}\,\mathrm{sr}^{-1}\) with shape \((N_z,)\), where singleton dimensions get squeezed before return.
- mean_intensity(halo_model, z)[source]
Compute the CIB mean intensity (monopole).
- Parameters:
- halo_modelHaloModel
Halo model providing the cosmology.
- zfloat or jnp.ndarray
Redshift grid.
- Returns:
- float or jnp.ndarray
Mean intensity \(I_\nu\) in \(\mathrm{Jy}\,\mathrm{sr}^{-1}\) as a scalar with shape \(()\), where singleton dimensions get squeezed before return.
- real(halo_model, r, m, z)[source]
Compute the CIB profile in real space.
- Parameters:
- halo_modelHaloModel
Halo model providing the matter profile and CIB luminosities.
- rfloat or jnp.ndarray
Radius or radii in \(\mathrm{Mpc}\).
- mfloat or jnp.ndarray
Halo mass or masses in physical \(M_\odot\).
- zfloat or jnp.ndarray
Redshift(s).
- Returns:
- jnp.ndarray
Real-space profile array with shape \((N_r, N_m, N_z)\), where singleton dimensions get squeezed before return.
- fourier(halo_model, k, m, z)[source]
Compute the CIB profile in Fourier space.
- Parameters:
- halo_modelHaloModel
Halo model providing the matter profile and CIB luminosities.
- kfloat or jnp.ndarray
Comoving wavenumber(s) in \(\mathrm{Mpc}^{-1}\).
- mfloat or jnp.ndarray
Halo mass or masses in physical \(M_\odot\).
- zfloat or jnp.ndarray
Redshift(s).
- Returns:
- jnp.ndarray
Fourier-space profile with shape \((N_k, N_m, N_z)\), where singleton dimensions get squeezed before return.