autogalaxy.profiles.mass.NFWTruncatedSph#
- class NFWTruncatedSph[source]#
Bases:
AbstractgNFW- Parameters:
centre (
Tuple[float,float]) – The (y,x) arc-second coordinates of the profile centre.kappa_s (
float) – The dimensionless convergence normalisation (\(\kappa_s = \rho_s r_s / \Sigma_{\rm crit}\)).scale_radius (
float) – The NFW scale radius \(r_s\), as an angle on the sky in arcseconds.truncation_radius (
float) – The truncation radius \(r_t\), as an angle on the sky in arcseconds. The dimensionless truncation ratio is \(\tau = r_t / r_s\).
Methods
angleThe position angle in degrees of the major-axis of the ellipse defined by profile, defined counter clockwise from the positive x-axis (0.0 > angle > 180.0).
angle_radiansThe position angle in radians of the major-axis of the ellipse defined by profile, defined counter clockwise from the positive x-axis (0.0 > angle > 2pi).
angle_to_profile_grid_fromThe angle between each angle theta on the grid and the profile, in radians.
axis_ratioThe ratio of the minor-axis to major-axis (b/a) of the ellipse defined by profile (0.0 > q > 1.0).
concentrationconcentration_funcconvergence_2d_fromCalculate the projected convergence at a given set of arc-second gridded coordinates.
Returns the convergence of the mass profile as a function of the radial coordinate.
coord_func_fcoord_func_gVectorized version of the original looped coord_func_g_jit.
coord_func_hdeflections_2d_via_potential_2d_fromReturns the 2D deflection angles of the mass profile by numerically differentiating the lensing potential on the input grid.
Calculate the deflection angles at a given set of arc-second gridded coordinates.
delta_concentrationdensity_3d_funcdensity_between_circular_annuliCalculate the mass between two circular annuli and compute the density by dividing by the annuli surface area.
eccentric_radii_grid_fromConvert a grid of (y,x) coordinates to an eccentric radius: :math: axis_ratio^0.5 (x^2 + (y^2/q))^0.5
elliptical_radii_grid_fromConvert a grid of (y,x) coordinates to their elliptical radii values: :math: (x^2 + (y^2/q))^0.5
extract_attributeReturns an attribute of a class and its children profiles in the galaxy as a ValueIrregular or Grid2DIrregular object.
Construct an
NFWTruncatedSphfrom the halo virial mass M_200 and concentration rather than the lensing parameters (kappa_s, scale_radius, truncation_radius).hasReturns True if any attribute of this profile is an instance of the input class cls, else False.
Recover the virial mass M_200 and concentration from lensing parameters.
mass_angular_within_circle_fromIntegrate the mass profiles's convergence profile to compute the total mass within a circle of specified radius.
mass_at_200_solar_massesmass_integralIntegrand used by mass_angular_within_circle_from to compute the total projected mass within a circle.
Mass ratio of a truncated NFW halo to its untruncated M_200 value.
Returns the 2D lensing potential of the mass profile from a 2D grid of Cartesian (y,x) coordinates.
potential_funcReturns the integrand of the lensing potential at a single point, used in numerical integration schemes for computing the potential from the mass profile's convergence.
radial_grid_fromConvert a grid of (y, x) coordinates, to their radial distances from the profile centre (e.g. :math: r = sqrt(x**2 + y**2)).
radius_at_200Returns r_{200m} for this halo in arcseconds
rho_at_scale_radius_solar_mass_per_kpc3The Cosmic average density is defined at the redshift of the profile.
rotated_grid_from_reference_frame_fromRotate a grid of (y,x) coordinates which have been transformed to the elliptical reference frame of a profile back to the original unrotated coordinate grid reference frame.
transformed_from_reference_frame_grid_fromTransform a grid of (y,x) coordinates from the reference frame of the profile to the original observer reference frame.
transformed_to_reference_frame_grid_fromTransform a grid of (y,x) coordinates to the reference frame of the profile.
vmapped_deflections_fromAttributes
average_convergence_of_1_radiusThe radius a critical curve forms for this mass profile, e.g. where the mean convergence is equal to 1.0.
ellipticity_rescaleA rescaling factor applied to account for the ellipticity of the mass profile when computing the Einstein radius from the average convergence equals unity criterion.
epsrel- deflections_yx_2d_from(grid, xp=<module 'numpy' from '/home/docs/checkouts/readthedocs.org/user_builds/pyautogalaxy/envs/latest/lib/python3.11/site-packages/numpy/__init__.py'>, **kwargs)[source]#
Calculate the deflection angles at a given set of arc-second gridded coordinates.
- Parameters:
grid (
Union[ndarray,Grid2D,Grid2DIrregular]) – The grid of (y,x) arc-second coordinates the deflection angles are computed on.
- deflection_func_sph(grid_radius, xp=<module 'numpy' from '/home/docs/checkouts/readthedocs.org/user_builds/pyautogalaxy/envs/latest/lib/python3.11/site-packages/numpy/__init__.py'>)[source]#
- convergence_func(grid_radius, xp=<module 'numpy' from '/home/docs/checkouts/readthedocs.org/user_builds/pyautogalaxy/envs/latest/lib/python3.11/site-packages/numpy/__init__.py'>)[source]#
Returns the convergence of the mass profile as a function of the radial coordinate.
This is used to integrate the convergence profile to compute enclosed masses and the Einstein radius.
- potential_2d_from(grid, xp=<module 'numpy' from '/home/docs/checkouts/readthedocs.org/user_builds/pyautogalaxy/envs/latest/lib/python3.11/site-packages/numpy/__init__.py'>, **kwargs)[source]#
Returns the 2D lensing potential of the mass profile from a 2D grid of Cartesian (y,x) coordinates.
The lensing potential ψ(θ) is the gravitational (Shapiro) time-delay term. It quantifies how much the passage of light through the gravitational field delays its arrival relative to a straight-line path in empty space.
The potential enters directly into the Fermat potential:
φ(θ) = ½ |θ − β|² − ψ(θ)
which governs time delays between multiple lensed images of the same source.
- Parameters:
grid (
Union[ndarray,Grid2D,Grid2DIrregular]) – The 2D (y, x) coordinates where the lensing potential is evaluated.- Returns:
The lensing potential ψ(θ) at every coordinate on the input grid.
- Return type:
aa.Array2D
- coord_func_k(grid_radius, xp=<module 'numpy' from '/home/docs/checkouts/readthedocs.org/user_builds/pyautogalaxy/envs/latest/lib/python3.11/site-packages/numpy/__init__.py'>)[source]#
- coord_func_l(grid_radius, xp=<module 'numpy' from '/home/docs/checkouts/readthedocs.org/user_builds/pyautogalaxy/envs/latest/lib/python3.11/site-packages/numpy/__init__.py'>)[source]#
- coord_func_m(grid_radius, xp=<module 'numpy' from '/home/docs/checkouts/readthedocs.org/user_builds/pyautogalaxy/envs/latest/lib/python3.11/site-packages/numpy/__init__.py'>)[source]#
- classmethod from_m200_concentration(centre=(0.0, 0.0), m200_solar_mass=1000000000.0, concentration=10.0, redshift_halo=0.5, redshift_source=1.0, cosmology=None, truncation_factor=100.0)[source]#
Construct an
NFWTruncatedSphfrom the halo virial mass M_200 and concentration rather than the lensing parameters (kappa_s, scale_radius, truncation_radius).The conversion follows the standard NFW lensing procedure (He et al. 2022, MNRAS 511 3046):
Derive the NFW scale radius and characteristic density from M_200, the concentration, and the critical density at
redshift_halo.Convert to the dimensionless convergence
kappa_susing the critical surface density betweenredshift_haloandredshift_source.Express the scale radius in arc-seconds using the angular diameter distance to
redshift_halo.Set the truncation radius to
r_twhere the mean enclosed density equalstruncation_factortimes the critical density (default is r_100 fortruncation_factor=100).
- Parameters:
centre (
Tuple[float,float]) – The (y, x) arc-second coordinates of the profile centre.m200_solar_mass (
float) – Virial mass M_200 in solar masses.concentration (
float) – NFW concentration parameter c = r_200 / r_s.redshift_halo (
float) – Redshift of the line-of-sight halo.redshift_source (
float) – Redshift of the lensed background source.cosmology (
Optional[LensingCosmology]) – Cosmology used for distance and density calculations. Defaults to Planck15 if not supplied.truncation_factor (
float) – Overdensity threshold defining the truncation radius. The default value of 100 sets the truncation at r_100.
- static m200_concentration_from(kappa_s, scale_radius, redshift_halo, redshift_source, cosmology=None)[source]#
Recover the virial mass M_200 and concentration from lensing parameters.
This is the inverse of
from_m200_concentration. Given the dimensionless convergencekappa_sand the scale radius in arc-seconds, the characteristic NFW density and scale radius in kpc are recovered, and the concentration is solved numerically from the NFW overdensity equation.- Parameters:
kappa_s (
float) – Dimensionless NFW convergence normalisation = rho_s * r_s / Sigma_crit.scale_radius (
float) – NFW scale radius in arc-seconds.redshift_halo (
float) – Redshift of the halo.redshift_source (
float) – Redshift of the background source.cosmology (
Optional[LensingCosmology]) – Cosmology used for distance and density calculations. Defaults to Planck15 if not supplied.
- Returns:
(m200_solar_mass, concentration).- Return type:
- static mass_ratio_from_concentration_and_truncation_factor(concentration, truncation_factor=100.0)[source]#
Mass ratio of a truncated NFW halo to its untruncated M_200 value.
The truncated NFW mass is:
M_tNFW = M_200 * tau_scale / c_scale
- where:
tau_scale = tau^2/(tau^2+1)^2 * ((tau^2-1)*ln(tau) + tau*pi - (tau^2+1)) c_scale = ln(1+c) - c/(1+c)
and
tauis the solution to the_concentration_at_overdensity_factorequation for the given concentration and truncation factor.This is the function tabulated and cubic-spline interpolated as the
scale_c(c)function in the los_pipes simulation code (He et al. 2022).