profiles.density.DehnenDensityProfile.compute_lensing_convergence#
- DehnenDensityProfile.compute_lensing_convergence(R, z_lens, z_source, cosmology=None, units=None, **kwargs)#
Compute the lensing convergence \(\kappa(R)\) at projected radius \(R\).
The convergence is defined as:
\[\kappa(R) = \frac{\Sigma(R)}{\Sigma_{\mathrm{crit}}}\]where:
\(\Sigma(R)\) is the projected surface mass density,
\(\Sigma_{\mathrm{crit}}\) is the critical surface density:
\[\begin{split}\Sigma_{\mathrm{crit}} = \frac{c^2}{4 \pi G} \\frac{D_s}{D_l D_{ls}}\end{split}\]
- Parameters:
R (
unyt_quantity
orunyt_array
) – Projected radius with length units.z_lens (
float
) – Redshift of the lens.z_source (
float
) – Redshift of the source (must satisfy \(z_{\mathrm{source}} > z_{\mathrm{lens}}\)).cosmology (
astropy.cosmology.Cosmology
, optional) – Cosmology to compute distances. Defaults topisces_config['physics.default_cosmology']
.units (
str
orUnit
, optional) – Output units for \(\\kappa\). Default is dimensionless.**kwargs – Additional arguments passed to
compute_surface_density()
.
- Returns:
kappa – Lensing convergence at each radius.
- Return type:
Examples
import unyt from astropy.cosmology import Planck18 from pisces.profiles.density import ( NFWDensityProfile, ) profile = NFWDensityProfile(rho_0=0.04, r_s=20) R = unyt.array.unyt_array([0.5, 1, 2, 5], "kpc") kappa = profile.compute_lensing_convergence( R, z_lens=0.3, z_source=2.0, cosmology=Planck18, ) print(kappa)