vcdisk.integrand

vcdisk.integrand(u, xi, r, smdisk, z0=0.3, rhoz='cosh', rhoz_args=None, flaring=False)

Integrand function for the radial force integral in vcdisk.vcdisk().

This is the integrand Eq. (4) of [Casertano83].

Parameters
  • u (list or numpy.ndarray) – radial variable of integration in \(\rm kpc\).

  • xi (list or numpy.ndarray) – vertical variable of integration in \(\rm kpc\).

  • r (float) – radius in \(\rm kpc\) at which the radial force is evaluated

  • smdisk (list or numpy.ndarray) – array of surface densities in \(\rm M_\odot / kpc^2\).

  • z0 (float, optional) – disk scaleheight in \(\rm kpc\). Default: \(0.3 \rm kpc\).

  • rhoz (str or callable, optional) – vertical density function. Can either be one of two hardcoded options, 'cosh' (default) or 'exp', or it can be any user-defined function with input and output numpy.ndarray. The function should define the vertical surface density in \(\rm M_\odot / kpc^2\) and it should be normalized such that rhoz(0)=1. It can have additional arguments handled by rhoz_args. See Vertical density for details.

  • rhoz_args (dict, optional) – dictionary of arguments of the user-defined function rhoz.

  • flaring (bool, optional) – whether the vertical density function rhoz depends also on radius, i.e. if \(\rho_z=\rho_z(z,R)\). If True, then rhoz must be a callable function with signature rhoz(z, R) or rhoz(z, R, **rhoz_args). This option assumes that the vertical density provided is normalized, i.e. \(\int {\rm d}z\, \rho_z(z,R)=1\,\,\,\forall R\).

Returns

2-D array of the radial force integrand, with shape (len(xi), len(u)).

Return type

numpy.ndarray

See also

vcdisk.vcdisk()

Notes

Note that here I actually use the notation of Eq. (A17), which is equivalent to Eq. (4). This function is called by the main function vcdisk.vcdisk().