Spiral arms potential

class galpy.potential.SpiralArmsPotential(amp=1, ro=None, vo=None, amp_units='density', N=2, alpha=0.2, r_ref=1, phi_ref=0, Rs=0.3, H=0.125, omega=0, Cs=[1])[source]

Class that implements the spiral arms potential from (Cox and Gomez 2002). Should be used to modulate an existing potential (density is positive in the arms, negative outside; note that because of this, a contour plot of this potential will appear to have twice as many arms, where half are the underdense regions).

\[\Phi(R, \phi, z) = -4 \pi GH \,\rho_0 exp \left( -\frac{R-r_{ref}}{R_s} \right) \sum{\frac{C_n}{K_n D_n} \,\cos(n \gamma) \,\mathrm{sech}^{B_n} \left( \frac{K_n z}{B_n} \right)}\]

where

\[\begin{split}K_n &= \frac{n N}{R \sin(\alpha)} \\ B_n &= K_n H (1 + 0.4 K_n H) \\ D_n &= \frac{1 + K_n H + 0.3 (K_n H)^2}{1 + 0.3 K_n H} \\\end{split}\]

and

\[\gamma = N \left[\phi - \phi_{ref} - \frac{\ln(R/r_{ref})}{\tan(\alpha)} \right]\]

The default of \(C_n=[1]\) gives a sinusoidal profile for the potential. An alternative from Cox and Gomez (2002) creates a density that behaves approximately as a cosine squared in the arms but is separated by a flat interarm region by setting

\[C_n = \left[\frac{8}{3 \pi}\,,\frac{1}{2} \,, \frac{8}{15 \pi}\right]\]
__init__(amp=1, ro=None, vo=None, amp_units='density', N=2, alpha=0.2, r_ref=1, phi_ref=0, Rs=0.3, H=0.125, omega=0, Cs=[1])[source]

Initialize a spiral arms potential

Parameters:
  • amp (float or Quantity, optional) – amplitude to be applied to the potential (default: 1); can be a Quantity with units of density. (\(amp = 4 \pi G \rho_0\))

  • ro (float or Quantity, optional) – distance scales for translation into internal units (default from configuration file)

  • vo (float or Quantity, optional) – velocity scales for translation into internal units (default from configuration file)

  • N (int, optional) – number of spiral arms.

  • alpha (float or Quantity, optional) – pitch angle of the logarithmic spiral arms.

  • r_ref (float or Quantity, optional) – fiducial radius where \(\rho = \rho_0\) (\(r_0\) in the paper by Cox and Gomez).

  • phi_ref (float or Quantity, optional) – reference angle (\(\phi_p(r_0)\) in the paper by Cox and Gomez).

  • Rs (float or Quantity, optional) – radial scale length of the drop-off in density amplitude of the arms.

  • H (float or Quantity, optional) – scale height of the stellar arm perturbation.

  • Cs (list of floats, optional) – constants multiplying the \(\cos(n \gamma)\) terms.

  • omega (float or Quantity, optional) – rotational pattern speed of the spiral arms.

Notes

  • 2017-05-12 - Started - Jack Hong (UBC)

  • 2020-03-30 - Re-implemented using Potential - Bovy (UofT)