Ferrers potential

class galpy.potential.FerrersPotential(amp=1.0, a=1.0, n=2, b=0.35, c=0.2375, omegab=0.0, pa=0.0, normalize=False, ro=None, vo=None)[source]

Class that implements triaxial Ferrers potential for the ellipsoidal density profile with the short axis along the z-direction

\[\rho(x,y,z) = \frac{\mathrm{amp}}{\pi^{1.5} a^3 b c} \frac{\Gamma(n+\frac{5}{2})}{\Gamma(n+1)}\,(1-(m/a)^2)^n\]

with

\[m^2 = x'^2 + \frac{y'^2}{b^2}+\frac{z'^2}{c^2}\]

and \((x',y',z')\) is a rotated frame wrt \((x,y,z)\) so that the major axis is aligned with \(x'\).

Note that this potential has not yet been optimized for speed and has no C implementation, so orbit integration is currently slow.

__init__(amp=1.0, a=1.0, n=2, b=0.35, c=0.2375, omegab=0.0, pa=0.0, normalize=False, ro=None, vo=None)[source]

NAME:

__init__

PURPOSE:

initialize a Ferrers potential

INPUT:

amp - total mass of the ellipsoid determines the amplitude of the potential; can be a Quantity with units of mass or Gxmass

a - scale radius (can be Quantity)

n - power of Ferrers density (n > 0)

b - y-to-x axis ratio of the density

c - z-to-x axis ratio of the density

omegab - rotation speed of the ellipsoid (can be Quantity)

pa= (None) If set, the position angle of the x axis (rad or Quantity)

normalize - if True, normalize such that vc(1.,0.)=1., or, if given as a number, such that the force is this fraction of the force necessary to make vc(1.,0.)=1.

ro=, vo= distance and velocity scales for translation into internal units (default from configuration file)

OUTPUT:

(none)