DeprojSersicModel

class deprojected_sersic_models.DeprojSersicModel(total_mass=1.0, Reff=1.0, n=1.0, q=0.4, i=90.0, Upsilon=1.0)[source]

Bases: _SersicDistBase

Deprojected Sersic mass distribution, with arbitrary flattening (or elongation).

Parameters:
  • total_mass (float) – Total mass of the component [Msun]

  • Reff (float) – Effective radius of Sersic profile [kpc]

  • n (float) – Sersic index

  • q (float) – Intrinsic axis ratio of Sersic profile (c/a)

  • i (float) – Inclination of system [deg]

  • Upsilon (float, optional) – Mass-to-light ratio. Default: 1. (i.e., constant ratio)

  • invq (float, derived) – Flattening of Sersic profile; invq=1/q. (Derived)

  • Ie (float, derived) – Normalization of Sersic intensity profile at kap = Reff. (Derived)

Methods Summary

density(R)

Density profile at \(m=R\) of the deprojected Sersic mass distribution.

dlnrho_dlnR(R)

Slope of the log density profile, \(d\ln\rho/d\ln{}R\), in the midplane at radius \(m=R\) of the deprojected Sersic mass distribution.

drho_dR(R)

Derivative of the density profile, \(d\rho/dR\), at distance \(m=R\) of the deprojected Sersic mass distribution.

enclosed_mass(R[, cumulative])

Enclosed 3D mass within a sphere of radius r=R, assuming a constant M/L ratio Upsilon.

enclosed_mass_ellipsoid(R[, cumulative])

Enclosed 3D mass within an ellpsoid of major axis radius r and intrinsic axis ratio q (e.g. the same as the Sersic profile isodensity contours), assuming a constant M/L ratio Upsilon.

profile_table(R[, cumulative, ...])

Create a set of profiles as a dictionary, calculated over the specified radii.

projected_enclosed_mass(R)

Projected 2D mass enclosed within an ellipse (or elliptical shell), assuming a constant M/L ratio Upsilon.

surface_density(R)

Surface density distribution for a Sersic profile, assuming a M/L ratio Upsilon.

v_circ(R)

Circular velocity in the midplane of the deprojected Sersic mass distribution.

virial_coeff_3D(R[, m3D, vc])

The "3D" virial coefficient k3D, which satisfies

virial_coeff_tot(R[, vc])

The "total" virial coefficient ktot, which satisfies

Methods Documentation

density(R)[source]

Density profile at \(m=R\) of the deprojected Sersic mass distribution.

See Eq. 2 of Price et al. 2022 (also Eq. 9 of Noordermeer 2008)

Parameters:

R (float or array_like) – Distance at which to evaluate the circular velocity [kpc]

Returns:

rho_arR – Density profile at m [Msun / kpc^3]

Return type:

float or array_like

dlnrho_dlnR(R)[source]

Slope of the log density profile, \(d\ln\rho/d\ln{}R\), in the midplane at radius \(m=R\) of the deprojected Sersic mass distribution.

See Eq. 17 of Price et al. 2022

Parameters:

R (float or array_like) – Midplane radius at which to evaluate the log density profile slope [kpc]

Returns:

dlnrho_dlnR_arR – Derivative of log density profile at r=m

Return type:

float or array_like

drho_dR(R)[source]

Derivative of the density profile, \(d\rho/dR\), at distance \(m=R\) of the deprojected Sersic mass distribution.

See Eq. 17 of Price et al. 2022

Parameters:

R (float or array_like) – Midplane radius at which to evaluate the log density profile slope [kpc]

Returns:

drho_dR_arR – Derivative of density profile at m=R

Return type:

float or array_like

enclosed_mass(R, cumulative=False)[source]

Enclosed 3D mass within a sphere of radius r=R, assuming a constant M/L ratio Upsilon.

See Eq. 8 of Price et al. 2022

Parameters:
  • R (float or array_like) – Major axis radius within which to determine total enclosed 2D projected mass [kpc]

  • cumulative (bool, optional) – Shortcut option to only calculate the next annulus, then add to the previous Menc(r-rdelt). Default: False

Returns:

Menc3D_sphere

Return type:

float or array_like

enclosed_mass_ellipsoid(R, cumulative=False)[source]

Enclosed 3D mass within an ellpsoid of major axis radius r and intrinsic axis ratio q (e.g. the same as the Sersic profile isodensity contours), assuming a constant M/L ratio Upsilon.

See Eq. 6, Price et al. 2022

Parameters:
  • R (float or array_like) – Major axis radius within which to determine total enclosed 2D projected mass [kpc]

  • cumulative (bool, optional) – Shortcut option to only calculate the next annulus, then add to the previous Menc(r-rdelt). Default: False

Returns:

Menc3D_ellip

Return type:

float or array_like

profile_table(R, cumulative=None, add_reff_table_values=True)[source]

Create a set of profiles as a dictionary, calculated over the specified radii. Also includes constants for the specified Sersic profile parameters, and information about values at Reff or the 3D half mass radius.

Parameters:
  • R (float or array_like) – Radius array, in kpc

  • cumulative (bool, optional) – Shortcut option to only calculate the next annulus, then add to the previous Menc(r-rdelt). Default: Uses cumulative if n >= 2.

  • add_reff_table_values (bool, optional) – Add select values at Reff to the table. Requires Reff to be in R Default: True

Returns:

table – Dictionary containing the various profiles & values.

Return type:

dict

projected_enclosed_mass(R)[source]

Projected 2D mass enclosed within an ellipse (or elliptical shell), assuming a constant M/L ratio Upsilon.

See Graham & Driver 2005.

Parameters:

R (float or array_like) – Major axis radius within which to determine total enclosed 2D projected mass [kpc]

Returns:

Menc2D_ellipse

Return type:

float or array_like

surface_density(R)[source]

Surface density distribution for a Sersic profile, assuming a M/L ratio Upsilon.

See Price et al. 2002, Eq 3; Noordermeer 2008, Eq 11; Graham & Driver 2005; etc.

Parameters:

R (float or array_like) – Major axis radius within which to determine surface density distribution [kpc]

Returns:

sigma_arR – Surface density of Sersic profile at R

Return type:

float or array_like

v_circ(R)[source]

Circular velocity in the midplane of the deprojected Sersic mass distribution.

See Eq. 5 of Price et al. 2022 (also Eq. 10 of Noordermeer 2008)

Parameters:

R (float or array_like) – Midplane radius at which to evaluate the circular velocity [kpc]

Returns:

vcirc – Circular velocity in the midplane at r [km/s]

Return type:

float or array_like

virial_coeff_3D(R, m3D=None, vc=None)[source]

The “3D” virial coefficient k3D, which satisfies

\[M_{\mathrm{3D,sphere}}(R) = k_{\mathrm{3D}}(R) \frac{v_{\mathrm{circ}}(R)^2 R}{ G },\]

to convert between the circular velocity at any given radius and the mass enclosed within a sphere of radius R.

See Eq. 9, Price et al. 2022

Parameters:
  • R (float or array_like) – Major axis radius within which to determine total enclosed 2D projected mass [kpc]

  • m3D (float or array_like, optional) – Pre-calculated evaluation of Menc3D_sphere(R) (saves time to avoid recalculating Menc3D_sphere(R)) [Msun]

  • vc (float or array_like, optional) – Pre-calculated evaluation of vcirc(R) (saves time to avoid recalculating vcirc(R)) [km/s]

Returns:

k3D – k3D = Menc3D_sphere(R) * G / (vcirc(R)^2 * R)

Return type:

float or array_like

virial_coeff_tot(R, vc=None)[source]

The “total” virial coefficient ktot, which satisfies

\[M_{\mathrm{tot}} = k_{\mathrm{tot}}(R) \frac{v_{\mathrm{circ}}(R)^2 r}{ G },\]

to convert between the circular velocity at any given radius and the total system mass.

See Eq. 10, Price et al. 2022

Parameters:
  • R (float or array_like) – Major axis radius within which to determine total enclosed 2D projected mass [kpc]

  • vc (float or array_like, optional) – Pre-calculated evaluation of vcirc(R) (saves time to avoid recalculating vcirc(R)) [km/s]

Returns:

ktot – ktot = Mtot * G / (vcirc(R)^2 * r)

Return type:

float or array_like