halomod.profiles.Einasto

class halomod.profiles.Einasto(*args, **kwargs)[source]

An Einasto halo profile.

It has two extra free parameters, alpha and use_interp.

This halo profile has no analytic Fourier Transform. The numerical FT has been pre-computed and is by default used to interpolate to the correct solution. If the full numerical calculation is preferred, set the model parameter use_interp to False. The interpolation speeds up the calculation by at least 10 times.

Notes

This is an empirical form which is a special case of the formula in [1]:

\[\rho(r) = \rho_s{\rm exp}\bigg[-\frac{2}{\alpha}\Big(\big(\frac{r}{r_s}\big)^\alpha-1\Big)\bigg]\]
Parameters
  • alpha (float) – The default value is 0.18.

  • use_interp (boolean) – The default value is True.

References

1

Einasto , J., “Kinematics and dynamics of stellar systems”, Trudy Inst. Astrofiz. Alma-Ata 5, 87.

Methods

__init__(*args, **kwargs)

Initialize self.

cdf(r[, c, m, coord])

The cumulative distribution function, \(m(<x)/m_v\)

cm_relation(m)

The halo_concentration-mass relation

get_models()

Get a dictionary of all implemented models for this component.

halo_mass_to_radius(m[, at_z])

Return the halo radius corresponding to m.

halo_radius_to_mass(r[, at_z])

Return the halo mass corresponding to r.

lam(r, m[, norm, c, coord])

The density halo_profile convolved with itself.

populate(n, m[, c, centre])

Populate a halo with the current halo profile of mass m with n tracers.

rho(r, m[, norm, c, coord])

The density at radius r of a halo of mass m.

scale_radius(m[, at_z])

Return the scale radius for a halo of mass m.

u(k, m[, norm, c, coord])

The (optionally normalised) Fourier-transform of the density halo_profile

virial_velocity([m, r])

Return the virial velocity for a halo of mass m.