pyccl.halos.profiles.cib_shang12 module

class pyccl.halos.profiles.cib_shang12.HaloProfileCIBShang12(self, *, mass_def, concentration, nu_GHz, alpha=0.36, T0=24.4, beta=1.75, gamma=1.7, s_z=3.6, log10Meff=12.6, siglog10M=0.707, Mmin=10000000000.0, L0=6.4e-08)[source]

Bases: HaloProfileCIB

CIB profile implementing the model by Shang et al. 2012.

The parametrization for the mean profile emissivity \(j_\nu\) is:

\[j_\nu(r) = \frac{1}{4\pi} \left(L^{\rm cen}_{\nu(1+z)}(M)+ L^{\rm sat}_{\nu(1+z)}u_{\rm sat}(r|M) \right),\]

where the luminosity from centrals and satellites is modelled as:

\[L^{\rm cen}_{\nu}(M) = L^{\rm gal}_\nu(M)\, N_{\rm cen}(M),\]
\[L^{\rm sat}_{\nu}(M) = \int_{M_{\rm min}}^{M} dm \frac{dN_{\rm sub}}{dm}\,L^{\rm gal}_\nu(m).\]

Here, \(dN_{\rm sub}/dm\) is the subhalo mass function, \(u_{\rm sat}\) is the satellite galaxy density profile (modelled as a truncated NFW profile), and the infrared galaxy luminosity is parametrized as

\[L^{\rm gal}_{\nu}(M,z)=L_0(1+z)^{s_z}\, \Sigma(M)\,S_\nu,\]

where the mass dependence is lognormal

\[\Sigma(M) = \frac{M}{\sqrt{2\pi\sigma_{LM}^2}} \exp\left[-\frac{\log_{10}^2(M/M_{\rm eff})} {2\sigma_{LM}^2}\right],\]

and the spectrum is a modified black-body law

\[\begin{split}S_\nu \propto\left\{ \begin{array}{cc} \nu^\beta\,B_\nu(T_d) & \nu < \nu_0 \\ \nu^\gamma & \nu \geq \nu_0 \end{array} \right.,\end{split}\]

with the normalization fixed by \(S_{\nu_0}=1\), and \(\nu_0\) defined so the spectrum has a continuous derivative for all \(\nu\).

Finally, the dust temperature is assumed to have a redshift dependence of the form \(T_d=T_0(1+z)^\alpha\).

Parameters:
  • mass_def (MassDef or str) – a mass definition object, or a name string.

  • concentration (Concentration) – concentration-mass relation for NFW profile.

  • nu_GHz (float) – frequency in GHz.

  • alpha (float) – dust temperature evolution parameter.

  • T0 (float) – dust temperature at \(z=0\) in Kelvin.

  • beta (float) – dust spectral index.

  • gamma (float) – high frequency slope.

  • s_z (float) – luminosity evolution slope.

  • log10Meff (float) – \(\log_{10}\) of the most efficient mass.

  • siglog10M (float) – logarithmic scatter in mass.

  • Mmin (float) – minimum subhalo mass.

  • L0 (float) – luminosity scale (in \({\rm Jy}\,{\rm Mpc}^2\,M_\odot^{-1}\)).

dNsub_dlnM_TinkerWetzel10(Msub, Mparent)[source]

Subhalo mass function of Tinker & Wetzel 2010. Number of subhalos per (natural) logarithmic interval of mass.

Parameters:
  • Msub (float or array) – sub-halo mass (in solar masses).

  • Mparent (float) – parent halo mass (in solar masses).

Returns:

average number of subhalos.

Return type:

(float or array)

update_parameters(nu_GHz=None, alpha=None, T0=None, beta=None, gamma=None, s_z=None, log10Meff=None, siglog10M=None, Mmin=None, L0=None)[source]

Update any of the parameters associated with this profile. Any parameter set to None won’t be updated.

Parameters:
  • nu_GHz (float) – frequency in GHz.

  • alpha (float) – dust temperature evolution parameter.

  • T0 (float) – dust temperature at \(z=0\) in Kelvin.

  • beta (float) – dust spectral index.

  • gamma (float) – high frequency slope.

  • s_z (float) – luminosity evolution slope.

  • log10Meff (float) – \(\log_{10}\) of the most efficient mass.

  • siglog10M (float) – logarithmic scatter in mass.

  • Mmin (float) – minimum subhalo mass.

  • L0 (float) – luminosity scale (in \({\rm Jy}\,{\rm Mpc}^2\,M_\odot^{-1}\)).