Previous topic

galpy.df.streamdf.__call__

Next topic

galpy.df.streamdf.calc_stream_lb

This Page

The stream DF

class galpy.df.streamdf(sigv, progenitor=None, pot=None, aA=None, tdisrupt=None, sigMeanOffset=6.0, leading=True, sigangle=None, deltaAngleTrack=None, nTrackChunks=None, nTrackIterations=None, Vnorm=220.0, Rnorm=8.0, R0=8.0, Zsun=0.025, vsun=[-11.1, 241.92, 7.25], multi=None, interpTrack=True, useInterp=True, nosetup=False)

The DF of a tidal stream

__init__(sigv, progenitor=None, pot=None, aA=None, tdisrupt=None, sigMeanOffset=6.0, leading=True, sigangle=None, deltaAngleTrack=None, nTrackChunks=None, nTrackIterations=None, Vnorm=220.0, Rnorm=8.0, R0=8.0, Zsun=0.025, vsun=[-11.1, 241.92, 7.25], multi=None, interpTrack=True, useInterp=True, nosetup=False)

NAME:

__init__

PURPOSE:

Initialize a quasi-isothermal DF

INPUT:

sigv - radial velocity dispersion of the progenitor

tdisrupt= (5 Gyr) time since start of disruption (natural units)

leading= (True) if True, model the leading part of the stream
if False, model the trailing part

progenitor= progenitor orbit as Orbit instance (will be re-integrated, so don’t bother integrating the orbit before)

pot= Potential instance or list thereof

aA= actionAngle instance used to convert (x,v) to actions

sigMeanOffset= (6.) offset between the mean of the frequencies
and the progenitor, in units of the largest eigenvalue of the frequency covariance matrix (along the largest eigenvector), should be positive; to model the trailing part, set leading=False
sigangle= (sigv/122/[1km/s]=1.8sigv in natural coordinates)
estimate of the angle spread of the debris initially

deltaAngleTrack= (None) angle to estimate the stream track over (rad)

nTrackChunks= (floor(deltaAngleTrack/0.15)+1) number of chunks to divide the progenitor track in

nTrackIterations= Number of iterations to perform when establishing the track; each iteration starts from a previous approximation to the track in (x,v) and calculates a new track based on the deviation between the previous track and the desired track in action-angle coordinates; if not set, an appropriate value is determined based on the magnitude of the misalignment between stream and orbit, with larger numbers of iterations for larger misalignments

interpTrack= (might change), interpolate the stream track while
setting up the instance (can be done by hand by calling self._interpolate_stream_track() and self._interpolate_stream_track_aA())
useInterp= (might change), use interpolation by default when
calculating approximated frequencies and angles
nosetup= (False) if True, don’t setup the stream track and anything
else that is expensive

multi= (None) if set, use multi-processing

Coordinate transformation inputs:

Vnorm= (220) circular velocity to normalize velocities with

Rnorm= (8) Galactocentric radius to normalize positions with

R0= (8) Galactocentric radius of the Sun (kpc)

Zsun= (0.025) Sun’s height above the plane (kpc)

vsun= ([-11.1,241.92,7.25]) Sun’s motion in cylindrical coordinates (vR positive away from center)

OUTPUT:

object

HISTORY:

2013-09-16 - Started - Bovy (IAS)

2013-11-25 - Started over - Bovy (IAS)