*** Collapse Fraction (Press-Schechter) *** December 27, 2010: E.Komatsu Ref. Press & Schechter, 187, 425 (1974) See also Bond, Cole, Efstathiou & Kaiser, ApJ, 379, 440 (1991) See Sheth & Tormen, MNRAS, 329, 61 (2002) for the notation used here Note that "mf(lnnu)" here corresponds to nu*f(nu) in Sheth&Tormen(2002) The "collapse fraction" refers to the following quantity: fcoll(>m,z) = (1/rho_m0) int_m^\infty dM M dn(z)/dM where rho_m0 is the present-day matter density of the universe, dn/dM is the mass function of halos (which gives the comoving number density of halos per unit mass). The collapse fraction tells us what fraction of matter in the universe has collapsed into halos above a certain mass, m, at a given redshift, z. If m is zero, then we count all the matter in the universe. This means that fcoll(>0,z) must be equal to 1. This gives a convenient normaliation for the mass function, dn(z)/dM: 1 = (1/rho_m0) int_0^\infty dM M dn(z)/dM It is often convenient to write the mass function as dM M dn/dM = rho_m0 dln(nu) mf(lnnu) where - rho_m0 = (average mass density of the universe today) - mf(lnnu) = "halo multiplicity function" - lnnu=ln(nu) and nu is called the "threshold," given by nu = [delta_c/sigma(R,z)]^2, delta_c=1.6865, and sigma(R,z) is the r.m.s. mass fluctuation within a top-hat smoothing of scale R at a redshift z. The smoothing scale, R, is related to the mass as M(R)=(4pi/3)rho_m0 R^3, and rho_m0=2.775d11 (omega_matter h^2) M_solar Mpc^-3. In terms of the halo multiplicity function, the collapse fraction is given simply as fcoll(>m,z) = int_{ln[nu(m,z)]}^\infty dln(nu) mf(lnnu). The normalization for the multiplicity function is very simple: 1 = int_{-\infty}^\infty dln(nu) mf(lnnu). For the Press-Schechter mass function, the multiplicity function is given by mf = sqrt(nu/2pi)*exp(-nu/2d0) Therefore, the collapse fraction can be written using the complementary error function: fcoll(>m,z) = Erfc[sqrt(nu(m,z)/2)] Here, we provide a simple routine to compute the collapse fraction using mf(lnnu) of the Press-Schechter form. To compute sigma(R), it is necessary to use the input linear power spectrum. We provide the sample data, "wmap5baosn_max_likelihood_matterpower.dat," which was generated using CAMB code for the maximum likelihood parameters given in Table I of Komatsu et al.(2008) [WMAP 5-year interpretation paper] with "WMAP5+BAO+SN". The input file for CAMB is also provided (wmap5baosn_max_likelihood_params.ini). NOTE THAT THIS POWER SPECTRUM IS COMPUTED AT Z=0. Another power spectrum, evolved back to z=30, is provided as "wmap5baosn_max_likelihood_matterpower_at_z=30.dat". - To compile the code, edit Makefile and simply "make" - It will generate executables called "compute_fcoll" - Running it will ask you for the minimum mass, m, in units of h^-1 Msun, and generate a file called "redshift_fcoll.txt", which contains: 1st column: z 2nd column: fcoll(>m,z), numerically integrated 3rd column: fcoll(>m,z)=Erfc[sqrt(nu(m,z)/2)]