SharpK¶
- class hmf.density_field.filters.SharpK(k, power, **model_parameters)[source]¶
Fourier-space top-hat window function.
This class is based on
Filter, which can be consulted for details of how to instantiate it.Notes
The real-space filter is
\[F(r) = \frac{\sin(r/R) -(r/R)\cos(r/R)}{2\pi^2r^3},\]for a filter scale of R.
The fourier-transform of the filter is
\[W(x=kR) = H(kR-1)\]where H is the Heaviside step-function. The mass-assignment is
\[m(R) = \frac{4\pi}{3}[cR]^3\bar{\rho},\]where c is a free parameter, typically c~2.5. The derivative of the window function is
\[\frac{dW}{d\ln x}(x=kR) = \delta_D(x-1),\]where \(\delta_D\) is the Dirac delta. Furthermore, the derivative of the mass variance takes a particularly simple form in this filter:
\[\frac{d\ln \sigma^2}{d \ln R} = -\frac{P(1/R)}{2\pi^2\sigma^2(R)R^3}.\]Methods
- __init__(k, power, **model_parameters)
- dlnr_dlnm(r)
Compute the derivative of log radius with log mass.
For the usual \(m\propto r^3\) mass assignment, this is just 1/3.
- Parameters:
r (array_like) – Radii.
- dlnss_dlnm(r)
Compute the logarithmic slope of mass variance with mass.
This is an important quantity, and is used directly to calculate \(\frac{dn}{dm}\).
- Parameters:
r (array_like) – Radii.
- dlnss_dlnr(r)[source]
Compute the derivative of the mass variance with radius.
- Parameters:
r (array_like) – Radii
- Returns:
dlnss_dlnr – The derivative of the the mass variance with radius.
- Return type:
array_like
Notes
Given a prescription for how radius grows with mass (typically with a log-slope of 1/3, and set in
dlnr_dlnm()), this specifies the quantity \(\frac{d \ln \sigma^2}{d\ln m}\).The general formula is
\[\frac{d\ln \sigma^2}{d\ln R} = \frac{1}{\pi^2\sigma^2} \int_0^\infty W(kR) \frac{dW(kR)}{d\ln(kR)} P(k)k^2 dk\]
- dw_dlnkr(kr)[source]
Compute the derivative of the (fourier-transformed) filter with \(\ln(kr)\).
- Parameters:
kr (array_like) – Scale(s) at which the derivative is evaluated.
Notes
In terms of \(\frac{dw^2}{dm}\), which is a commonly used quantity, this has the relationship
\[w\frac{dw}{d\ln r} = \frac{2}{r}\frac{dw^2}{dm}\frac{dm}{dr}.\]
- classmethod get_models() → dict[str, type]
Get a dictionary of all implemented models for this component.
- k_space(kr)[source]
Fourier-transform of the real-space filter.
- Parameters:
kr (array_like) – The scales at which to return the filter function
- Returns:
w – The filter in fourier space,
len(kr)- Return type:
array_like
- mass_to_radius(m, rho_mean)[source]
Return radius of a region of space given its mass.
- Parameters:
m (array_like) – Masses
rho_mean (float) – Mean density of the Universe.
- Returns:
r – The corresponding radii to m
- Return type:
array_like
Notes
The units of m don’t matter as long as they are consistent with rho_mean.
- nu(r, delta_c=1.68647)
Peak height, \(\frac{\delta_c^2}{\sigma^2(r)}\).
- Parameters:
r (array_like) – Radii
delta_c (float, optional) – Critical overdensity for collapse.
- radius_to_mass(r, rho_mean)[source]
Return mass of a region of space given its radius.
- Parameters:
r (array_like) – Radii
rho_mean (float) – Mean density of the Universe.
- Returns:
m – The corresponding masses to r
- Return type:
float or array of floats
Notes
The units of r don’t matter as long as they are consistent with rho_mean.
- real_space(R, r)[source]
Filter definition in real space.
- Parameters:
R (float) – The smoothing scale
r (array_like) – The radial co-ordinate
- sigma(r, order=0)[source]
Calculate the nth-moment of the smoothed density field, \(\sigma_n(r)\).
Note
This is not \(\sigma_n^2(r)\)!
- Parameters:
- Returns:
sigma – The square root of the moment at r.
- Return type:
array_like
Notes
The general definition for the nth-moment of the smoothed density field is (see Bardeen et al. 1986, Eq 4.6c)
\[\sigma^2_n(R) = \frac{1}{2\pi^2} \int_0^\infty dk\ k^{2(1+n)} P(k) W^2(kR)\]