vcdisk.vcbulge_sph

vcdisk.vcbulge_sph(rad, sb)

Circular velocity of a spherical bulge of arbitrary surface density.

This function inverts Abel’s integral equation to calculate the 3D density of a spherically symmetric bulge from its projected surface density (see Eq. B.72 in [BT2008]).

Parameters
Returns

array of \(V_{\rm bulge}\) velocities in \(\rm km/s\).

Return type

numpy.ndarray

See also

vcdisk.vcbulge()

Notes

vcdisk.vcbulge_sph() inverts Abel’s integral to get the 3D density

\[\rho(r) = -\frac{1}{\pi} \int_r^\infty \frac{{\rm d}I}{{\rm d}R} \frac{{\rm d}R}{\sqrt{R^2-r^2}},\]

where \(I(R)\) is the projected surface density. Since this integral has a singularity at the lower bound of integration, where \(R=r\), it is better to change the integration variable to \(u={\rm arccosh}{(R/r)}\) so that the integral becomes

\[\rho(r) = -\frac{1}{\pi} \int_0^\infty I'(r\cosh{u}) {\rm d}u,\]

where \(I'\) is the first derivative of \(I\). Then, the mass profile can be written as \(M(r)=4\pi\int_0^r x^2\rho(x) {\rm d}x\) and finally \(V_{\rm bulge}(r)=\sqrt{GM(r)/r}.\)

The \(\rho(r)\) integral is computed with scipy.integrate.quad(), the derivative of the input surface density profile \(I'\) is discretized with numpy.gradient(), and the mass integral is computed with scipy.integrate.simpson().

References

BT2008

Binney & Tremaine, 2008, Princeton University Press, NJ USA. Galactic Dynamics: Second Edition.