autogalaxy.profiles.mass.cNFW#

class cNFW[source]#

Bases: AbstractgNFW

Parameters:
  • centre (Tuple[float, float]) – The (y,x) arc-second coordinates of the profile centre.

  • ell_comps (Tuple[float, float]) – The first and second ellipticity components of the elliptical coordinate system.

  • kappa_s (float) – The overall normalization of the dark matter halo (\(\kappa_s = \rho_0 D_d r_s / \Sigma_{\rm crit}\)).

  • scale_radius (float) – The cored NFW scale radius \(r_s\), as an angle on the sky in arcseconds.

  • core_radius (float) – The cored NFW core radius \(r_c\), as an angle on the sky in arcseconds.

Methods

angle

The 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_radians

The 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_from

The angle between each angle theta on the grid and the profile, in radians.

axis_ratio

The ratio of the minor-axis to major-axis (b/a) of the ellipse defined by profile (0.0 > q > 1.0).

concentration

concentration_func

convergence_2d_from

Calculate the projected convergence at a given set of arc-second gridded coordinates.

convergence_func

Radial projected convergence kappa(r), reusing the MGE-of-3D-density decomposition (the same machinery convergence_2d_from uses with three_D=True) evaluated at the radial coordinate grid_radius.

coord_func_f

coord_func_g

Vectorized version of the original looped coord_func_g_jit.

coord_func_h

deflections_2d_via_mge_from

deflections_2d_via_potential_2d_from

Returns the 2D deflection angles of the mass profile by numerically differentiating the lensing potential on the input grid.

deflections_yx_2d_from

Returns the 2D deflection angles of the mass profile from a 2D grid of Cartesian (y,x) coordinates.

delta_concentration

density_3d_func

density_between_circular_annuli

Calculate the mass between two circular annuli and compute the density by dividing by the annuli surface area.

eccentric_radii_grid_from

Convert 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_from

Convert a grid of (y,x) coordinates to their elliptical radii values: :math: (x^2 + (y^2/q))^0.5

extract_attribute

Returns an attribute of a class and its children profiles in the galaxy as a ValueIrregular or Grid2DIrregular object.

has

Returns True if any attribute of this profile is an instance of the input class cls, else False.

mass_angular_within_circle_from

Integrate the mass profiles's convergence profile to compute the total mass within a circle of specified radius.

mass_at_200_solar_masses

mass_integral

Integrand used by mass_angular_within_circle_from to compute the total projected mass within a circle.

potential_2d_from

Returns the 2D lensing potential of the mass profile from a 2D grid of Cartesian (y,x) coordinates.

potential_func

Returns 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_deflection_from

radial_grid_from

Convert 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_200

Returns r_{200m} for this halo in arcseconds

rho_at_scale_radius_solar_mass_per_kpc3

The Cosmic average density is defined at the redshift of the profile.

rotated_grid_from_reference_frame_from

Rotate 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_from

Transform a grid of (y,x) coordinates from the reference frame of the profile to the original observer reference frame.

transformed_to_reference_frame_grid_from

Transform a grid of (y,x) coordinates to the reference frame of the profile.

vmapped_deflections_from

Attributes

average_convergence_of_1_radius

The radius a critical curve forms for this mass profile, e.g. where the mean convergence is equal to 1.0.

ellipticity_rescale

A 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/pyautolens/envs/latest/lib/python3.12/site-packages/numpy/__init__.py'>, **kwargs)[source]#

Returns the 2D deflection angles of the mass profile from a 2D grid of Cartesian (y,x) coordinates.

The deflection angle α(θ) at image-plane position θ describes how a light ray is bent by the gravitational field of the lens. The source-plane position β is then:

β = θ − α(θ)

Deflection angles are the single most important output of a mass profile — every other lensing quantity (convergence, shear, magnification, critical curves, caustics) can be derived from them.

Parameters:

grid (Union[ndarray, Grid2D, Grid2DIrregular]) – The 2D (y, x) coordinates where the deflection angles are evaluated.

Returns:

The (y, x) deflection angles at every coordinate on the input grid.

Return type:

aa.VectorYX2D

deflections_2d_via_mge_from(grid, xp=<module 'numpy' from '/home/docs/checkouts/readthedocs.org/user_builds/pyautolens/envs/latest/lib/python3.12/site-packages/numpy/__init__.py'>, **kwargs)[source]#
density_3d_func(r, xp=<module 'numpy' from '/home/docs/checkouts/readthedocs.org/user_builds/pyautolens/envs/latest/lib/python3.12/site-packages/numpy/__init__.py'>)[source]#
convergence_func(grid_radius, xp=<module 'numpy' from '/home/docs/checkouts/readthedocs.org/user_builds/pyautolens/envs/latest/lib/python3.12/site-packages/numpy/__init__.py'>)[source]#

Radial projected convergence kappa(r), reusing the MGE-of-3D-density decomposition (the same machinery convergence_2d_from uses with three_D=True) evaluated at the radial coordinate grid_radius.

cNFW has no closed-form radial convergence helper, so this delegates to the MGE Gaussian sum. This hook is reached by MGEDecomposer.decompose_convergence_via_mge (three_D=False, not used by cNFW) and by radial mass integration (mass_integral -> mass_angular_within_circle_from -> Einstein radius).

The result is the q-independent radial profile (like NFW.convergence_func): ellipticity is re-introduced by the MGE machinery elsewhere, so no sigmas_factor rescale is applied (sigmas_factor=1.0). Verified to match convergence_2d_from for the spherical case and to be q-independent for the elliptical case.

convergence_2d_from(grid, xp=<module 'numpy' from '/home/docs/checkouts/readthedocs.org/user_builds/pyautolens/envs/latest/lib/python3.12/site-packages/numpy/__init__.py'>, **kwargs)[source]#

Calculate the projected convergence at a given set of arc-second gridded coordinates.

Parameters:

grid (Union[ndarray, Grid2D, Grid2DIrregular]) – The grid of (y,x) arc-second coordinates the convergence is computed on.

potential_2d_from(grid, xp=<module 'numpy' from '/home/docs/checkouts/readthedocs.org/user_builds/pyautolens/envs/latest/lib/python3.12/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