holodeck.galaxy_profiles

Galaxy/Halo structure profiles (e.g. density and velocity).

References

class holodeck.galaxy_profiles.Klypin_2016[source]

Bases: object

Class to calculate dark matter halo ‘concentration’ parameters based on [Klypin2016].

This class does not need to be instantiated, all methods are class methods, simply call Klypin_2016.concentration().

Interpolate between redshifts and masses to find DM halo concentrations. [Klypin2016] Eq. 24 & Table 2.

_redz = [0.0, 0.35, 0.5, 1.0, 1.44, 2.15, 2.5, 2.9, 4.1, 5.4]
_interp(yy)
_zz = array([0.        , 0.13033377, 0.17609126, 0.30103   , 0.38738983,        0.49831055, 0.54406804, 0.59106461, 0.70757018, 0.80617997])
_lin_interp_c0 = <scipy.interpolate._interpolate.interp1d object>
_lin_interp_gamma = <scipy.interpolate._interpolate.interp1d object>
_lin_interp_mass0 = <scipy.interpolate._interpolate.interp1d object>
classmethod _c0(redz)[source]
classmethod _gamma(redz)[source]
classmethod _mass0(redz)[source]
classmethod concentration(mhalo: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], redz: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]) _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes][source]

Return the halo concentration for the given halo mass and redshift.

Parameters:
  • mhalo (ArrayLike) – Halo mass. [grams]

  • redz (ArrayLike) – Redshift.

Returns:

conc – Halo concentration parameters. []

Return type:

ArrayLike

class holodeck.galaxy_profiles.NFW[source]

Bases: _Density_Profile

Navarro, Frank & White dark-matter density profile from [NFW1997].

static density(rads: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], mhalo: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], redz: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]) _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes][source]

NFW DM Density profile.

Parameters:
  • rads (ArrayLike) – Target radial distances. [cm]

  • mhalo (ArrayLike) – Halo mass. [grams]

  • redz (ArrayLike) – Redshift. []

Returns:

dens – Densities at the given radii. [g/cm^3]

Return type:

ArrayLike

static mass(rads: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], mhalo: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], redz: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]) _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes][source]

DM mass enclosed at the given radii from an NFW profile.

Parameters:
  • rads (ArrayLike) – Target radial distances. [cm]

  • mhalo (ArrayLike) – Halo mass. [gram]

  • redz (ArrayLike) – Redshift. []

Returns:

mass – Mass enclosed within the given radii. [gram]

Return type:

ArrayLike

static _concentration(mhalo, redz)[source]
_abc_impl = <_abc._abc_data object>
static _nfw_rho_rad(mhalo, redz)[source]

Return the DM halo parameters for characteristic density and halo scale radius.

Parameters:
  • mhalo (ArrayLike) – Halo mass. [grams]

  • redz (ArrayLike) – Redshift.

Returns:

  • rho_s (ArrayLike) – DM halo characteristic density. [g/cm^3]

  • rs (ArrayLike) – Scale radius of the DM halo. [cm]

static radius_scale(mhalo: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], redz: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]) _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes][source]

Return the DM-halo scale radius.

Parameters:
  • mhalo (ArrayLike) – Halo mass. [grams]

  • redz (ArrayLike) – Redshift.

Returns:

rs – Scale radius of the DM halo. [cm]

Return type:

ArrayLike

static density_characteristic(mhalo: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], redz: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]) _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes][source]

Return the DM halo parameters for characteristic density.

Parameters:
  • mhalo (ArrayLike) – Halo mass. [grams]

  • redz (ArrayLike) – Redshift.

Returns:

rho_s – DM halo characteristic density. [g/cm^3]

Return type:

ArrayLike