The stream DF¶

class
galpy.df.
streamdf
(sigv, progenitor=None, pot=None, aA=None, useTM=False, tdisrupt=None, sigMeanOffset=6.0, leading=True, sigangle=None, deltaAngleTrack=None, nTrackChunks=None, nTrackIterations=None, progIsTrack=False, ro=None, vo=None, Vnorm=None, Rnorm=None, R0=8.0, Zsun=0.0208, vsun=[11.1, 241.92, 7.25], multi=None, interpTrack=True, useInterp=True, nosetup=False, nospreadsetup=False, approxConstTrackFreq=False, useTMHessian=False, custom_transform=None)[source]¶ The DF of a tidal stream

__init__
(sigv, progenitor=None, pot=None, aA=None, useTM=False, tdisrupt=None, sigMeanOffset=6.0, leading=True, sigangle=None, deltaAngleTrack=None, nTrackChunks=None, nTrackIterations=None, progIsTrack=False, ro=None, vo=None, Vnorm=None, Rnorm=None, R0=8.0, Zsun=0.0208, vsun=[11.1, 241.92, 7.25], multi=None, interpTrack=True, useInterp=True, nosetup=False, nospreadsetup=False, approxConstTrackFreq=False, useTMHessian=False, custom_transform=None)[source]¶ NAME:
__init__PURPOSE:
Initialize a quasiisothermal DFINPUT:
sigv  radial velocity dispersion of the progenitor (can be Quantity)
tdisrupt= (5 Gyr) time since start of disruption (can be Quantity)
 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 reintegrated, so don’t bother integrating the orbit before)
progIsTrack= (False) if True, then the progenitor (x,v) is actually the (x,v) of the stream track at zero angle separation; useful when initializing with an orbit fit; the progenitor’s position will be calculated
pot= Potential instance or list thereof
aA= actionAngle instance used to convert (x,v) to actions
useTM= (False) if set to an actionAngleTorus instance, use this to speed up calculations
 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 (can be Quantity)
deltaAngleTrack= (None) angle to estimate the stream track over (rad; or can be Quantity)
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 actionangle 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
nospreadsetup= (False) if True, don’t setup the spread around the stream track (only for nosetup is False)
multi= (None) if set, use multiprocessing
Coordinate transformation inputs:
vo= (220) circular velocity to normalize velocities with [used to be Vnorm; can be Quantity]
ro= (8) Galactocentric radius to normalize positions with [used to be Rnorm; can be Quantity]
R0= (8) Galactocentric radius of the Sun (kpc) [can be different from ro; can be Quantity]
Zsun= (0.0208) Sun’s height above the plane (kpc; can be Quantity)
vsun= ([11.1,241.92,7.25]) Sun’s motion in cylindrical coordinates (vR positive away from center) (can be Quantity)
custom_transform= (None) matrix implementing the rotation from (ra,dec) to a custom set of sky coordinates
approxConstTrackFreq= (False) if True, approximate the stream assuming that the frequency is constant along the stream (only works with useTM, for which this leads to a significant speedup)
useTMHessian= (False) if True, compute the basic Hessian dO/dJ_prog using TM; otherwise use aA
OUTPUT:
objectHISTORY:
20130916  Started  Bovy (IAS)
20131125  Started over  Bovy (IAS)
