galpy.potential.scf_compute_coeffs_axi

Note: This function computes Acos and Asin as defined in Hernquist & Ostriker (1992), except that we multiply Acos by 2 such that the density from Galpy’s Hernquist Potential corresponds to \(Acos = \delta_{0n}\delta_{0l}\delta_{0m}\).

Further note that this function is a specification of scf_compute_coeffs where \(Acos_{nlm} = 0\) at \(m\neq0\) and \(Asin_{nlm} = None\)

For a given \(\rho(R, z)\) we can compute \(Acos\) and \(Asin\) through the following equation

\[Acos_{nlm}= \frac{8 \pi a^3}{I_{nl}} \int_{\xi=0}^{\infty} \int_{\cos(\theta)=-1}^{1} (1 + \xi)^{2} (1 - \xi)^{-4} \rho(R, z) \Phi_{nlm}(\xi, \cos(\theta)) d\cos(\theta) d\xi \qquad Asin_{nlm}=None\]

Where

\[\Phi_{nlm}(\xi, \cos(\theta)) = -\frac{\sqrt{2l + 1}}{a2^{2l + 1}} (1 + \xi)^l (1 - \xi)^{l + 1} C_{n}^{2l + 3/2}(\xi) P_{l0}(\cos(\theta)) \delta_{m0}\]
\[I_{nl} = - K_{nl} \frac{4\pi}{a 2^{8l + 6}} \frac{\Gamma(n + 4l + 3)}{n! (n + 2l + 3/2)[\Gamma(2l + 3/2)]^2} \qquad K_{nl} = \frac{1}{2}n(n + 4l + 3) + (l + 1)(2l + 1)\]

\(P_{lm}\) is the Associated Legendre Polynomials whereas \(C_{n}^{\alpha}\) is the Gegenbauer polynomial.

Also note \(\xi = \frac{r - a}{r + a}\), and \(n\), \(l\) and \(m\) are integers bounded by \(0 <= n < N\) , \(0 <= l < L\), and \(m = 0\)

galpy.potential.scf_compute_coeffs_axi(dens, N, L, a=1.0, radial_order=None, costheta_order=None)[source]

Numerically compute the expansion coefficients for a given axi-symmetric density

Parameters:
  • dens (function) – A density function that takes parameters R and z

  • N (int) – Size of the Nth dimension of the expansion coefficients

  • L (int) – Size of the Lth dimension of the expansion coefficients

  • a (float, optional) – Parameter used to shift the basis functions (default is 1.0)

  • radial_order (int, optional) – Number of sample points of the radial integral. If None, radial_order=max(20, N + 3/2L + 1) (default is None)

  • costheta_order (int, optional) – Number of sample points of the costheta integral. If None, If costheta_order=max(20, L + 1) (default is None)

Returns:

(Acos,Asin) - Expansion coefficients for density dens that can be given to SCFPotential.__init__

Return type:

tuple

Notes

  • 2016-05-20 - Written - Aladdin Seaifan (UofT)