Source code for autogalaxy.profiles.mass.total.isothermal_core

from typing import Tuple

from autogalaxy.profiles.mass.total.power_law_core import PowerLawCore
from autogalaxy.profiles.mass.total.power_law_core import PowerLawCoreSph


[docs] class IsothermalCore(PowerLawCore): r"""Cored elliptical isothermal (SIE with core) mass profile. The convergence of the cored isothermal ellipsoid is: .. math:: \kappa(R) = \frac{\theta_{\rm E}}{2\sqrt{R^2 + s^2}} where :math:`\theta_{\rm E}` is the Einstein radius, :math:`R` is the elliptical radius, and :math:`s` is the core radius. In the limit :math:`s \to 0` this reduces to the standard SIE. Parameters ---------- centre : (float, float) (y, x) arc-second coordinates of the profile centre. ell_comps : (float, float) Ellipticity components (e1, e2) of the elliptical coordinate system. einstein_radius : float Einstein radius in arcseconds. core_radius : float Core radius :math:`s` in arcseconds. References ---------- Kormann, Schneider & Bartelmann (1994), A&A, 284, 285. Keeton (2001), arXiv:astro-ph/0102341. """ def __init__( self, centre: Tuple[float, float] = (0.0, 0.0), ell_comps: Tuple[float, float] = (0.0, 0.0), einstein_radius: float = 1.0, core_radius: float = 0.01, ): """ Represents a cored elliptical isothermal density distribution, which is equivalent to the elliptical power-law density distribution for the value slope: float = 2.0 Parameters ---------- centre The (y,x) arc-second coordinates of the profile centre. ell_comps The first and second ellipticity components of the elliptical coordinate system. einstein_radius The arc-second Einstein radius. core_radius The arc-second radius of the inner core. """ super().__init__( centre=centre, ell_comps=ell_comps, einstein_radius=einstein_radius, slope=2.0, core_radius=core_radius, )
[docs] class IsothermalCoreSph(PowerLawCoreSph): r"""Cored spherical isothermal (SIS with core) mass profile. The convergence of the cored spherical isothermal is: .. math:: \kappa(r) = \frac{\theta_{\rm E}}{2\sqrt{r^2 + s^2}} where :math:`\theta_{\rm E}` is the Einstein radius, :math:`r` is the circular projected radius, and :math:`s` is the core radius. This is the spherical special case of :class:`IsothermalCore`. Parameters ---------- centre : (float, float) (y, x) arc-second coordinates of the profile centre. einstein_radius : float Einstein radius in arcseconds. core_radius : float Core radius :math:`s` in arcseconds. References ---------- Kormann, Schneider & Bartelmann (1994), A&A, 284, 285. Keeton (2001), arXiv:astro-ph/0102341. """ def __init__( self, centre: Tuple[float, float] = (0.0, 0.0), einstein_radius: float = 1.0, core_radius: float = 0.01, ): """ Represents a cored spherical isothermal density distribution, which is equivalent to the elliptical power-law density distribution for the value slope: float = 2.0 Parameters ---------- centre The (y,x) arc-second coordinates of the profile centre. einstein_radius The arc-second Einstein radius. core_radius The arc-second radius of the inner core. """ super().__init__( centre=centre, einstein_radius=einstein_radius, slope=2.0, core_radius=core_radius, )