fastar.imf.named_imf.broken_power_law

fastar.imf.named_imf.broken_power_law#

Broken power-law

Functions

broken_power_law(mass, params)

Wrapper for the broken power-law IMF using a parameter dictionary.

broken_power_law_raw(mass[, m_min, m_max, ...])

Returns the normalized broken power-law IMF evaluated at mass, fully JAX-compatible with numerical normalization.

fastar.imf.named_imf.broken_power_law.broken_power_law(mass, params)[source]#

Wrapper for the broken power-law IMF using a parameter dictionary.

Parameters:
  • mass (array-like) – Stellar mass or array of masses.

  • params (dict) – Dictionary of parameters to pass to broken_power_law_raw.

Returns:

Normalized IMF values.

Return type:

jnp.ndarray or float

fastar.imf.named_imf.broken_power_law.broken_power_law_raw(mass, m_min=0.1, m_max=100.0, m_break1=0.5, m_break2=1.0, alpha1=1.3, alpha2=1.8, alpha3=2.3)[source]#

Returns the normalized broken power-law IMF evaluated at mass, fully JAX-compatible with numerical normalization.

Behavior:

m < m_break1 -> m^alpha1 m_break1 ≤ m < m_break2 -> m^alpha2 m ≥ m_break2 -> m^alpha3

Parameters:
  • mass (array-like) – Stellar mass or array of masses.

  • m_min (float, optional) – Lower mass limit. Default is 0.1.

  • m_max (float, optional) – Upper mass limit. Default is 100.0.

  • m_break1 (float) – Break masses (must satisfy m_min < m_break1 < m_break2 < m_max).

  • m_break2 (float) – Break masses (must satisfy m_min < m_break1 < m_break2 < m_max).

  • alpha1 (float) – Slopes of the three segments.

  • alpha2 (float) – Slopes of the three segments.

  • alpha3 (float) – Slopes of the three segments.

Returns:

Normalized IMF values.

Return type:

jnp.ndarray or float