Bocquet200cHydro

class hmf.mass_function.fitting_functions.Bocquet200cHydro(nu2: ndarray, m: ndarray | None = None, z: float = 0.0, n_eff: ndarray | None = None, mass_definition: BaseMassDefinition | None = None, cosmo: FLRW = FlatLambdaCDM(name='Planck18', H0=<Quantity 67.66 km / (Mpc s)>, Om0=0.30966, Tcmb0=<Quantity 2.7255 K>, Neff=3.046, m_nu=<Quantity [0., 0., 0.06] eV>, Ob0=0.04897), delta_c: float = 1.68647, **model_parameters)[source]

Bocquet mass function fit.

For details on attributes, see documentation for BaseFittingFunction.

Parameters:
  • nu2 (array_like) – A vector of peak-heights, \(\delta_c^2/\sigma^2\) corresponding to m

  • m (array_like, optional) – A vector of halo masses [units M_sun/h]. Only necessary if req_mass is True. Typically provides limits of applicability. Must correspond to nu2.

  • z (float, optional) – The redshift. Only used by models that depend on redshift. Default is 0.

  • n_eff (array_like, optional) – The effective spectral index at m. Only required if req_neff is True.

  • mass_definition (hmf.halos.mass_definitions.MassDefinition instance) – A halo mass definition. Only required for fits which explicitly include a parameterization for halo definition.

  • cosmo (astropy.cosmology.FLRW instance, optional) – A cosmology. Default is hmf.cosmology.cosmo.DEFAULT_COSMOLOGY (Planck18), as for the frameworks. Either omegam_z or cosmo is required if req_omz is True. If both are passed, omegam_z takes precedence.

  • **model_parameters (unpacked-dictionary) – These parameters are model-specific. The available parameters and their defaults are listed in the Notes section of each model (and are also available as <model>._defaults).

Notes

The Bocquet [1] form is:

\[f_{\rm Bocquet}(\sigma) = A\left[\left(\frac{e}{\sigma}\right)^b + 1\right]\exp(-\frac{d}{\sigma^2})\]

Default model parameters (override them with keyword arguments, or with hmf_params in MassFunction):

Parameter

Default

A

0.202

b

2.21

c

1

d

1.57

e

2.0

A_z

1.147

b_z

0.375

d_z

-0.196

e_z

-1.074

References

[1]

Bocquet, S., et al., 2016. MNRAS 456, 2361. https://doi.org/10.1093/mnras/stv2657

Attributes

cutmask

Boolean mask of the elements within the fit’s calibrated range.

Has the same length as nu2. An element is True if the corresponding mass (or \(\sigma\), depending on the model) lies inside the range over which the fit was calibrated against simulations, as given in the reference paper. Elements outside that range are False: fsigma is still computed there, but is an extrapolation. The default is True everywhere. The mask is informational only; it is not applied anywhere in hmf.

fsigma

The function \(f(\sigma)\equiv\nu f(\nu)\).

lnsigma

Negative log of sigma.

normalized = False

Whether this model is normalized so that all mass is in halos

nu

The peak height, \(\nu = \delta_c/\sigma\).

omegam_z

Normalised matter density at current redshift.

references: ClassVar[tuple[str, ...]] = ('Bocquet, S., et al., 2016. MNRAS 456, 2361. https://doi.org/10.1093/mnras/stv2657',)

References to cite when this model is used, each a formatted citation string. Subclasses inherit their parent’s references unless they set their own.

req_mass = True

Whether m is required for this subclass

req_neff = False

Whether n_eff is required for this subclass

req_z = False
sigma

The sqrt of mass variance as a function of mass.

sim_definition = <hmf.mass_function.fitting_functions.SimDetails object>

Details of the defining simulation, instance of SimDetails

uncertainties: ClassVar[dict[str, float]] = {'A': 0.0073, 'a': 0.028, 'b': 0.0051, 'c': 0.0075}

Quoted uncertainties of the model parameters.

Methods

convert_mass()

Function to compute mass in this definition compared to 200m.

This is an analytic approximation, not a full mass translation, and is calibrated to the NFW profile with Duffy+08 concentration-mass relation. This ratio is applied in fsigma().

classmethod get_measured_mdef()

Get the mass definition used in the defining simulation.

classmethod get_models() → Mapping[str, type]

Get a read-only mapping of all implemented models for this component.

The mapping is a live view of the registry, so it shows models registered later, but it can not be used to add or remove models.

get_params()

Get the redshift-dependent parameters.