Skip to content

Add Yang+2024 parametric SIDM gravothermal-sequence profile - #556

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/yang24-sidm-gravothermal-profile
Aug 6, 2026
Merged

Add Yang+2024 parametric SIDM gravothermal-sequence profile#556
Jammy2211 merged 1 commit into
mainfrom
feature/yang24-sidm-gravothermal-profile

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Summary

Implements the parametric SIDM halo model of Yang, Nadler, Yu & Zhong (2024, arXiv:2305.16176) as a new spherical dark mass profile, spanning the full gravothermal sequence (cored through core-collapsed) via the dimensionless evolution time tau = t / t_c. Requested by @mwiet in PyAutoLabs/PyAutoLens#631; builds on the Kaplinghat cored-NFW profile (#471), which remains fully supported.

YangSIDMSph is the beta = 4 cored-NFW form with the Yang+24 fitting functions for how (rho_s, r_s, r_c) evolve with tau relative to the CDM baseline NFW halo; at tau = 0 it reduces exactly to NFW. YangSIDMMCRLudlowSph constructs it from physical inputs: Ludlow+16 mass-concentration baseline, the Yang+24 collapse time t_c (C = 0.75), and the Outmezguine+23 effective cross section, supporting a power-law velocity dependence sigma(v) ~ v^(-a) averaged at nu_eff = 0.64 V_max. The density is fully closed-form (no Lane-Emden tables), so the vmapped JAX substructure-batching path works cleanly.

API Changes

Two new public mass profiles are added: YangSIDMSph (kappa_s, scale_radius, tau) and YangSIDMMCRLudlowSph (mass_at_200, sigma_over_m, velocity_exponent, velocity_ref, t_age, redshift_object, redshift_source), with default priors. No existing symbols are removed, renamed or changed.
See full details below.

Test Plan

  • test_autogalaxy/profiles/mass/dark/test_yang24.py — 10 tests: exact NFW reduction at tau = 0, analytic central core density, tau truncation into the fitted [0, 1] range, finite/positive lensing quantities, vmapped-vs-instance deflection parity (jax), MCR NFW reduction at sigma/m = 0, tau linearity in sigma/m, closed-form velocity-dependence checks.
  • Full test_autogalaxy/ suite: 1027 passed.
  • af.Model composition from the new prior configs (5 and 9 free parameters).
Full API Changes (for automation & release notes)

Added

  • autogalaxy.profiles.mass.dark.yang24.YangSIDMSph(centre=, kappa_s=, scale_radius=, tau=) — Yang+2024 parametric SIDM profile; exported as ag.mp.YangSIDMSph.
  • autogalaxy.profiles.mass.dark.yang24_mcr.YangSIDMMCRLudlowSph(centre=, mass_at_200=, sigma_over_m=, velocity_exponent=, velocity_ref=, t_age=, redshift_object=, redshift_source=) — physical constructor solving tau = t_age / t_c; exported as ag.mp.YangSIDMMCRLudlowSph.
  • autogalaxy/config/priors/mass/dark/yang24.yaml, yang24_mcr.yaml — default priors.

Migration

  • None required — purely additive. The Kaplinghat profiles are unchanged and remain supported.

Generated by the PyAutoLabs agent workflow.

Adds YangSIDMSph, the closed-form beta=4 cored-NFW profile of Yang,
Nadler, Yu & Zhong (2024, arXiv:2305.16176), whose (rho_s, r_s, r_c)
evolve along the universal gravothermal sequence with tau = t / t_c,
and YangSIDMMCRLudlowSph, which solves tau per halo from physical
inputs (Ludlow+16 concentration, Yang+24 collapse time with C = 0.75,
Outmezguine+23 velocity-dependent effective cross section at
nu_eff = 0.64 V_max). Includes default priors, exports and unit tests.

Requested in PyAutoLens#631; builds on the Kaplinghat profile of #471.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pending-release PR queued for the next release build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant