NSISMD Lens
In the non-singular isothermal sphere mass distribution (NSISMD) lens, the singularity of the SIS lens is removed by introducing a core radius directly in the mass distribution (in contrast to the NSISP lens, where the core is introduced in the lens potential). The projected surface mass density is given by
\[\begin{equation*} Σ(R) = \frac{σ_v^2}{2{\rm G}} \frac{1}{\sqrt{r_s^2 + R^2}}, \end{equation*}\]
where $σ_v$ is the velocity dispersion and $r_s$ is the core radius, which is finite at the center and reduces to the SIS profile for $r_s → 0$. Defining the angular core radius $θ_s = r_s / D_d$, the corresponding lens potential can be written as
\[\begin{equation*} ψ(\pmb{θ}) = 4π \left( \frac{σ_v}{\rm c} \right)^2 \left[ \sqrt{θ_s^2 + |\pmb{θ} - \pmb{θ}_c|^2} - θ_s \ln \left( θ_s + \sqrt{θ_s^2 + |\pmb{θ} - \pmb{θ}_c|^2} \right) \right], \end{equation*}\]
where $\pmb{θ}_c$ represents the lens center, leading to the deflection angle
\[\begin{equation*} \pmb{α}(\pmb{θ}) = 4π \left( \frac{σ_v}{\rm c} \right)^2 \frac{\pmb{θ} - \pmb{θ}_c}{θ_s + \sqrt{θ_s^2 + |\pmb{θ} - \pmb{θ}_c|^2}}. \end{equation*}\]
The Einstein angle for the NSISMD lens is given by
\[\begin{equation*} θ_E = \sqrt{θ_{E,0}^2 - 2 θ_s θ_{E,0}}, \qquad θ_{E,0} = 4π \left( \frac{σ_v}{\rm c} \right)^2 \frac{D_{ds}}{D_s}, \end{equation*}\]
where $θ_{E,0}$ is the Einstein angle of the corresponding SIS lens. Due to the finite core, a sufficiently well-aligned source can produce three images instead of two.
In LensFactory, to define an NSISMD lens, the user needs to specify four parameters: its position in the image plane ($x_c,~y_c$), its velocity dispersion ($v_d \equiv σ_v$, in km/s), and the core radius ($x_s \equiv θ_s$). By default, the lens is placed at the origin, i.e., ($x_c,~y_c$) = (0, 0).
LensFactory.Lenses.init_NSISMDLens — Type
init_NSISMDLens(x_c::Real = 0.0,
y_c::Real = 0.0,
v_d::Real = NaN,
x_s::Real = NaN)Initialize a Non-Singular Isothermal Sphere Mass Distribution (NSISMD) lens with the given parameters.
Keyword Arguments
x_c::Real = 0.0: x-coordinate of the lens (in $\rm \mathbf{arcseconds}$).y_c::Real = 0.0: y-coordinate of the lens (in $\rm \mathbf{arcseconds}$).v_d::Real = NaN: Velocity dispersion (in $\rm \mathbf{km/s}$).x_s::Real = NaN: Core radius (in $\rm \mathbf{arcseconds}$).
LensFactory.Lenses.NSISMDLens.potential! — Function
potential!(ψ::U, θx::S, θy::S, θxc::T, θyc::T, vd::T, θs::T) where {U<:Real, S<:Real, T<:Real}potential!(ψ::U, θx::S, θy::S, θxc::T, θyc::T, vd::T, θs::T) where {U<:ROA, S<:ROA, T<:Real}Calculate potential at given coordinates for NSISMD lens and update the potential (ψ) in place. The lensing potential is given as,
\[ψ(θ_x, θ_y) = 4 π \left(\frac{v_d}{{\rm c}} \right)^2 \left[ \sqrt{θ_s^2 + |\pmb{θ} - \pmb{θ}_c|^2} - θ_s \, \ln \left(θ_s + \sqrt{θ_s^2 + |\pmb{θ} - \pmb{θ}_c|^2} \right) \right]. \]
Arguments
ψ: Potential at given coordinatesθx: x-coordinate(s) (in $\rm \mathbf{arcseconds}$).θy: y-coordinate(s) (in $\rm \mathbf{arcseconds}$).θxc: x-coordinate of the lens (in $\rm \mathbf{arcseconds}$).θyc: y-coordinate of the lens (in $\rm \mathbf{arcseconds}$).v_d: Velocity dispersion (in $\rm \mathbf{km/s}$).θs: Core radius of the lens (in $\rm \mathbf{arcseconds}$).
Returns
nothing: Updates the potential (ψ) in place.
LensFactory.Lenses.NSISMDLens.deflection! — Function
deflection!(ψx::U, ψy::U, θx::S, θy::S, θxc::T, θyc::T, vd::T, θs::T) where {U<:Real, S<:Real, T<:Real}deflection!(ψx::U, ψy::U, θx::S, θy::S, θxc::T, θyc::T, vd::T, θs::T) where {U<:ROA, S<:ROA, T<:Real}Calculate deflection at given coordinates for NSISMD lens and update the deflection components (ψx, ψy) in place.
Arguments
ψx: x-component of the deflection at given coordinatesψy: y-component of the deflection at given coordinatesθx: x-coordinate(s) (in $\rm \mathbf{arcseconds}$).θy: y-coordinate(s) (in $\rm \mathbf{arcseconds}$).θxc: x-coordinate of the lens (in $\rm \mathbf{arcseconds}$).θyc: y-coordinate of the lens (in $\rm \mathbf{arcseconds}$).v_d: Velocity dispersion (in $\rm \mathbf{km/s}$).θs: Core radius of the lens (in $\rm \mathbf{arcseconds}$).
Returns
nothing: Updates the deflection (ψx, ψy) in place.
LensFactory.Lenses.NSISMDLens.jacobian! — Function
jacobian!(ψxx::U, ψyy::U, ψxy::U, θx::S, θy::S, θxc::T, θyc::T, vd::T, θs::T) where {U<:Real, S<:Real, T<:Real}jacobian!(ψxx::U, ψyy::U, ψxy::U, θx::S, θy::S, θxc::T, θyc::T, vd::T, θs::T) where {U<:ROA, S<:ROA, T <: Real}Calculate jacobian at given coordinates for NSISMD lens and update the jacobian components (ψxx, ψyy, ψxy) in place.
Arguments
ψxx: xx-component of the jacobian at given coordinatesψyy: yy-component of the jacobian at given coordinatesψxy: xy-component of the jacobian at given coordinatesθx: x-coordinate(s) (in $\rm \mathbf{arcseconds}$).θy: y-coordinate(s) (in $\rm \mathbf{arcseconds}$).θxc: x-coordinate of the lens (in $\rm \mathbf{arcseconds}$).θyc: y-coordinate of the lens (in $\rm \mathbf{arcseconds}$).v_d: Velocity dispersion (in $\rm \mathbf{km/s}$).θs: Core radius of the lens (in $\rm \mathbf{arcseconds}$).
Returns
nothing: Updates the jacobian (ψxx, ψyy, ψxy) in place.
LensFactory.Lenses.NSISMDLens.einstein_angle — Function
einstein_angle(; D_ds::Real = NaN,
D_s::Real = NaN,
v_d::Real = NaN,
x_s::Real = NaN)Calculate the Einstein angle for NSISMD lens,
\[\theta_E = \sqrt{\theta_E^2 - 2 \, x_s \, \theta_E},\]
where,
\[\theta_E = 4 \pi \frac{D_{ds}}{D_s} \left( \frac{v_d}{{\rm c}} \right)^2.\]
Keyword Arguments
D_ds: ADD from the observer to the lens (in $\rm \mathbf{meters}$).D_s: ADD from the observer to the source (in $\rm \mathbf{meters}$).v_d: Velocity dispersion (in $\rm \mathbf{km/s}$).x_s: Core radius of the lens (in $\rm \mathbf{arcseconds}$).
Returns
θE: Einstein angle (in $\rm \mathbf{arcseconds}$).