Adiabatic contraction wrapper potential

class galpy.potential.AdiabaticContractionWrapperPotential(amp=1.0, pot=None, baryonpot=None, method='cautun', f_bar=0.157, rmin=None, rmax=50.0, ro=None, vo=None)[source]

AdiabaticContractionWrapperPotential: Wrapper to adiabatically contract a DM halo in response to the growth of a baryonic component. Use for example as:

dm= AdiabaticContractionWrapperPotential(
    pot=MWPotential2014[2],
    baryonpot=MWPotential2014[:2]
)

to contract the dark-matter halo in MWPotential2014 according to the baryon distribution within it. The basic physics of the adiabatic contraction is that a fraction f_bar of the mass in the original potential pot cools adiabatically to form a baryonic component baryonpot; this wrapper computes the resulting dark-matter potential using different approximations in the literature.

__init__(amp=1.0, pot=None, baryonpot=None, method='cautun', f_bar=0.157, rmin=None, rmax=50.0, ro=None, vo=None)[source]

Initialize a AdiabaticContractionWrapper Potential.

Parameters:
  • amp (float, optional) – Amplitude to be applied to the potential (default: 1.).

  • pot (Potential instance or list thereof, optional) – Representing the density that is adiabatically contracted.

  • baryonpot (Potential instance or list thereof, optional) – Representing the density of baryons whose growth causes the contraction.

  • method ({'cautun', 'blumenthal', 'gnedin'}, optional) –

    Type of adiabatic-contraction formula:

    • ’cautun’ for that from Cautun et al. 2020 [1];

    • ’blumenthal’ for that from Blumenthal et al. 1986 [2];

    • ’gnedin’ for that from Gnedin et al. 2004 [3].

    (default: ‘cautun’)

  • f_bar (float, optional) – Universal baryon fraction; if None, calculated from pot and baryonpot assuming that at rmax the halo contains the universal baryon fraction; leave this at the default value unless you know what you are doing (default: 0.157).

  • rmin (float, optional) – Minimum radius to consider (default: rmax/2500; don’t set this to zero).

  • rmax (float or Quantity, optional) – Maximum radius to consider (default: 50.).

  • ro (float or Quantity, optional) – Distance scale for translation into internal units (default from configuration file).

  • vo (float or Quantity, optional) – Velocity scale for translation into internal units (default from configuration file).

Notes

  • 2021-03-21 - Started based on Marius Cautun’s code - Bovy (UofT)

References