galpy.df.pericenter_stripping_pdf¶
- galpy.df.pericenter_stripping_pdf(progenitor, pot, tdisrupt, sigma, ngrid=10001, ro=None, vo=None)[source]¶
Build a stripping-time PDF from a progenitor’s pericenter passages.
The returned PDF is an equal-height sum of Gaussians centered on every pericenter passage of the progenitor over the interval
[-tdisrupt, 0](t=0is the present day,t<0the past) and truncated to that same interval. Useful forstripping_pdf=ofgalpy.df.streamspraydf.basestreamspraydfsubclasses, capturing the well-known enhancement of tidal stripping at pericenter passages.- Parameters:
progenitor (galpy.orbit.Orbit) – Progenitor orbit. Will be copied and re-integrated internally.
pot (galpy.potential.Potential or a combined potential) – Potential used to integrate the progenitor.
tdisrupt (float or Quantity) – Time since start of disruption. Pericenter passages over
[-tdisrupt, 0]are located.sigma (float or Quantity) – Width (standard deviation) of each Gaussian.
ngrid (int, optional) – Number of grid points used to integrate the progenitor and locate pericenter passages. Default 10001.
ro (float or Quantity, optional) – Distance scale (defaults to
progenitor’sro).vo (float or Quantity, optional) – Velocity scale (defaults to
progenitor’svo).
- Returns:
pdf – Function
pdf(t)returning the PDF att. Whensigmais aQuantity, the returned PDF expectstas aQuantityand returnsQuantityvalues with units1/Gyr; otherwise it works in internal units. The callable carries an attributepdf.pericenter_times(1D array, internal units) listing the pericenter times.- Return type:
callable
- Raises:
ValueError – If
ro/voare explicitly given but disagree with the progenitor’s, or if no pericenter passages are found on[-tdisrupt, 0](e.g. a nearly circular orbit) — in the latter case, supply a customstripping_pdfinstead.