示例#1
0
        a0 = np.exp(self.lna[0])
        Om = self.Om(a0)

        D1i = np.log(a0 / a_H)
        # radiation dominated initial conditions
        y0 = [
            D1i,
            1.0,
             -1.5 * Om * (D1i ** 2 - 4 * D1i + 6),
             -1.5 * Om * (D1i ** 2 - 2 * D1i + 2)]
        return y0

    def efunc(self, a):
        z = 1. / a - 1.0
        return self._cosmo.efunc(z)

    def efunc_prime(self, a):
        z = 1. / a - 1.0
        return self._cosmo.efunc_prime(z)

    def Om(self, a):
        z = 1./a-1
        return self._cosmo.Omega_b(z) + self._cosmo.Omega_cdm(z) # non-relativistic 


from nbodykit.utils import deprecate

PerturbationGrowth = deprecate("PerturbationGrowth", RadiationDominated)

示例#2
0
    redshift : float
        compute the density threshold which determines the R(M) relation
        at this redshift
    mdef : str, optional
        string specifying the halo mass definition to use; should be
        'vir' or 'XXXc' or 'XXXm' where 'XXX' is an int specifying the
        overdensity

    Returns
    -------
    radius : :class:`dask.array.Array`
        a dask array holding the halo radius in 'physical Mpc/h [sic]'.
        This is proper Mpc/h, to convert to comoving, divide this by scaling factor.

    """
    from halotools.empirical_models import halo_mass_to_halo_radius

    mass, redshift = da.broadcast_arrays(mass, redshift)

    kws = {'cosmology':cosmo.to_astropy(), 'mdef':mdef}

    def mass_to_radius(mass, redshift):
        return halo_mass_to_halo_radius(mass=mass, redshift=redshift, **kws)

    return da.map_blocks(mass_to_radius, mass, redshift, dtype=mass.dtype)

# deprecated functions
vstack = deprecate("nbodykit.transform.vstack", StackColumns, "nbodykit.transform.StackColumns")
concatenate = deprecate("nbodykit.transform.concatenate", ConcatenateSources, "nbodykit.transform.ConcatenateSources")
SkyToCartesion = deprecate("nbodykit.transform.SkyToCartesion", SkyToCartesian, "nbodykit.transform.SkyToCartesian")
示例#3
0
    mass : array_like
        either a numpy or dask array specifying the halo mass; units
        assumed to be :math:`M_{\odot}/h`
    cosmo : :class:`~nbodykit.cosmology.cosmology.Cosmology`
        the cosmology instance
    redshift : float
        compute the density threshold which determines the R(M) relation
        at this redshift
    mdef : str, optional
        string specifying the halo mass definition to use; should be
        'vir' or 'XXXc' or 'XXXm' where 'XXX' is an int specifying the
        overdensity

    Returns
    -------
    radius : :class:`dask.array.Array`
        a dask array holding the halo radius
    """
    from halotools.empirical_models import halo_mass_to_halo_radius

    if not isinstance(mass, da.Array):
        mass = da.from_array(mass, chunks=100000)

    kws = {'cosmology':cosmo.to_astropy(), 'mdef':mdef, 'redshift':redshift}
    return mass.map_blocks(lambda mass: halo_mass_to_halo_radius(mass=mass, **kws), dtype=mass.dtype)

# deprecated functions
vstack = deprecate("nbodykit.transform.vstack", StackColumns, "nbodykit.transform.StackColumns")
concatenate = deprecate("nbodykit.transform.concatenate", ConcatenateSources, "nbodykit.transform.ConcatenateSources")
SkyToCartesion = deprecate("nbodykit.transform.SkyToCartesion", SkyToCartesian, "nbodykit.transform.SkyToCartesian")
示例#4
0
        a_H = 5.22281250e-05

        a0 = np.exp(self.lna[0])
        Om = self.Om(a0)

        D1i = np.log(a0 / a_H)
        # radiation dominated initial conditions
        y0 = [
            D1i, 1.0, -1.5 * Om * (D1i**2 - 4 * D1i + 6),
            -1.5 * Om * (D1i**2 - 2 * D1i + 2)
        ]
        return y0

    def efunc(self, a):
        z = 1. / a - 1.0
        return self._cosmo.efunc(z)

    def efunc_prime(self, a):
        z = 1. / a - 1.0
        return self._cosmo.efunc_prime(z)

    def Om(self, a):
        z = 1. / a - 1
        return self._cosmo.Omega_b(z) + self._cosmo.Omega_cdm(
            z)  # non-relativistic


from nbodykit.utils import deprecate

PerturbationGrowth = deprecate("PerturbationGrowth", RadiationDominated)