MassAccuracy

class hmf.core.accuracy.MassAccuracy(*, dlog10_m=0.02, log10_m_min=0.0, log10_m_max=17.5, extension: Literal['auto', 'raise'] = 'auto', second_derivative: bool = True)[source]

Settings of the internal mass grid (the lattice in log10 m).

Nodes sit at log10(m / (Msun/h)) = i * dlog10_m for integer i, so grids with the same spacing share their nodes, whatever their range.

Parameters:
  • dlog10_m (float, default 0.02) – Spacing of the mass lattice, in log10(m / (Msun/h)).

  • log10_m_min (float, default 0.0) – log10 of the smallest mass of the default grid, in Msun/h.

  • log10_m_max (float, default 17.5) – log10 of the largest mass of the default grid, in Msun/h.

  • extension (Literal['auto', 'raise'], default 'auto') – What to do with masses outside the grid: ‘auto’ or ‘raise’.

  • second_derivative (bool, default True) – Whether to compute the second derivative d2 = d^2 ln(sigma) / d(ln m)^2 at each node, for higher-order interpolation of sigma and dln(sigma)/dln(m) (about 1.6x the cost per node).

Attributes

dlog10_m: float
log10_m_min: float
log10_m_max: float
extension: Literal['auto', 'raise']
second_derivative: bool

Methods

classmethod fast(**overrides: Any) → Self

Return the fast preset: about v3’s accuracy, at lower cost.

Parameters:

**overrides – Settings to change from the preset.

Returns:

A new instance.

Return type:

Accuracy

classmethod fields_info() → tuple[FieldInfo, ...]

Describe this class’s fields, without creating an instance.

Returns:

The name, type, default and documentation of each field.

Return type:

tuple of FieldInfo

classmethod high(**overrides: Any) → Self

Return the high-accuracy preset, for convergence checks.

Parameters:

**overrides – Settings to change from the preset.

Returns:

A new instance.

Return type:

Accuracy