This function is the equivalent to galpy.potential.scf_compute_coeffs_axi but computing the coefficients based on an N-body representation of the density.

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 galpy.potential.scf_compute_coeffs_nbody where \(Acos_{nlm} = 0\) at \(m\neq0\) and \(Asin_{nlm} = None\).

galpy.potential.scf_compute_coeffs_axi_nbody(pos, N, L, mass=1.0, a=1.0)[source]

Numerically compute the expansion coefficients for a given $N$-body set of points assuming that the density is axisymmetric

  • pos (numpy.ndarray) – Positions of particles in rectangular coordinates with shape [3,n]

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

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

  • mass (float or numpy.ndarray, optional) – Mass of particles (scalar or array with size n), by default 1.0

  • a (float, optional) – Parameter used to scale the radius, by default 1.0


Expansion coefficients for density dens that can be given to SCFPotential.__init__

Return type:



  • 2021-02-22 - Written based on general code - Bovy (UofT)