Microlensing
Astro 497, Week 11, Friday
Logistics
Please read Feedback on Project Checkpoint 1
Let me know if you have questions
TableOfContents()
Einstein radius
$$\theta_E = \sqrt{\frac{2R_{Sch}}{D_{rel}}} = \frac{2\sqrt{GM_l}}{c}$$
$G$: Gravitational constant
$M_l$: Mass of lens
$c$: speed of light
$D_l$: Distance to lens
$D_s$: Distance to source
$D_{rel}$: Relative distance. $1/D_{rel} = 1/D_l - 1/D_s$
Physical separation of Einstein ring at distance of lens
$$r_E = \theta_E D_l \simeq 2.2 \mathrm{AU} \left(\frac{M_l}{0.3 M_\odot}\right)^{1/2} \left(\frac{D_s}{8 \mathrm{kpc}}\right)^{1/2} \left(\frac{x(1-x)}{0.25}\right)^{1/2}$$
$$x\equiv D_l/D_s$$
Magnification ($A$)
Can be 10%, 100% or even 1000%!
$A>1.34$ if $u\le 1$
Even if $r_E$ is very small
Single Lens
–- Credit: S. Gaudi
Timescale for Microlensing Events
$$t_E = \theta_E / \mu_{\mathrm{rel}}$$
$\mu_{\mathrm{rel}}$: proper motion of source relative to the lens
Often $\sim$months for low-mass star lens events towards galactic bulge
Lens with Planet
–- Credit: S. Gaudi
Frequency of microlensing events
$\mathcal{O}(10^{-6})$ events per star per year
Towards buldge $\sim~10^7$ stars per deg² to I$\sim~20$
$\sim~10$ events per square degree monitored
question_box(md"Have any known microlensing events for an exoplanet been caused by a black hole rather than a background star?")
Have any known microlensing events for an exoplanet been caused by a black hole rather than a background star?
if D_l>=D_s
warning_box(md"Distance to lens must be less than distance to source.")
end
plot(plt_sky_obs,plt_lc_star_obs, plt_sky_theory, plt_lc_star_theory, layout=grid(2,2), size=(800,800) )
Lens Star Properties: D_l:
Source Star Properties: D_s:
Relative Position/Velocity: b₀ (star):
Observer Plot Limits: Distance:
Add Planet:
r_E: 2.2 AU r_E,pl: 0.022 AU t_E,⋆: 127.0 d t_E,pl: 1.27 d r_pl: 1.41 AU
Planet Hunting Regimes
Weak magnification regime
$A\le~10$ or $u_0\ge0.1$
$\theta_{E,p} = \sqrt{\frac{m_pl}{M_l}}$
Probability of significant additional magnification by planet: $\sim A(t_{0,p}) \theta_{E,p} / \theta_E$
Sensitivity to planets:
Peaks when projected planet-star separation is comparable to $r_E$
Falls rapidly for planets inside $r_E$, more slowly for planets beyond $r_E$
Detection is challenging primarily because planetary events have short durations and could fall in gaps between observations.
Relatively easy to model
$t_E$ provides information about lens mass, distance and relative proper motion
$A_{pl}$ and time of planetary event constrain projected separation (in units of $r_E$)
Strong magnification regime
$u\le 0.01$ or $A_\max \ge 100$
Events with maximum magnification $A_\max$ are small fraction of events ($\sim1/A_\max$)
Sensitive to planets with projected separation $\simeq r_E$ regardless of azimuthal angle
$\sim~1$ day of high sensitivity
Time of peak sensitivity can be predicted with hours to days of lead time
Modeling is complex and computationally expensive (And not included in figure above.)
Can help resolve some degeneracies in planet mass and separation
Often still two qualitatively different solutions (corresponding to very close/very wide solutions)
Higher-order effects
Blending with background stars
Finite source size
Parallax effects
Orbital motion of lens system
Binary sources
Microlensing Pros
Sensitive to relatively low-mass planets at intermediate distances
Even low-mass planets cause substantial increases in observed flux (for a brief time)
Potential to link occurence rates measured by transit/Doppler surveys to occurence direct imaging surveys
Opportunity for small telescopes to make valuable contributions
Potential to detect sub-Earth-mass planets
Potential to detect free-floating planets
Several degeneracies in basic scenario can be resolved by combining multiple observatories spread across the solar system.
Microlensing Cons
Don't get to pick to apply microlensing to a system
Majority of microlensing events provide limited information about planets
Planetary systems detected are faint & far away
Unlikely to get a second chance to study a given system
Need intense monitoring to detect brief magnification events from low-mass planets
Low sensitivity to planets significantly closer than Eienstein radius
Often significant degeneracies in measured parameters
Difficult to distinguish planets on wide orbits from free-floating planets
Limited observatories beyond Earth orbit to help resolve degeneracies
Programming Collaborations
Setup/Helper Code
ChooseDisplayMode()
begin
using PlutoUI, PlutoTeachingTools
using Plots, Plots.Measures, ColorSchemes, LaTeXStrings
end
Microlensing Plots
begin
# Computer intermediate results for stellar lens
local x = D_l/D_s
r_e = 2.2*sqrt( (M_l_star/0.3) * D_s/8 * x*(1-x)/0.25 ) # AU
u₀_star = b₀_star / r_e
v_lens_au_per_day = v_lens_km_per_sec / AU_to_km * sec_to_day
tₑ_star = r_e/v_lens_au_per_day
min_u_star = (Rsol_at_kpc * R_s / D_s) * (D_l*1000*parsec_to_AU) / r_e # very approximate
end;
begin
# Computer intermediate results for planet lens
M_l_pl = M_l_pl_earth * 3e-6
r_e_pl = r_e * sqrt( M_l_pl/M_l_star ) # AU
tₑ_pl = tₑ_star * sqrt(M_l_pl/M_l_star)
r_pl = sqrt(x_pl^2+y_pl^2)
u₀_pl = (y_pl - b₀_star)/r_e_pl
t₀_pl = x_pl/v_lens_au_per_day # / v_rel
min_u_pl = (Rsol_at_kpc * R_s / D_s) * (D_l*1000*parsec_to_AU) / r_e_pl # very approximate
end;
begin
local plt_lim = sky_plt_lim
plt_sky_obs = plot(xlabel=L"x \; (\mathrm{AU})", ylabel=L"y \; (\mathrm{AU})",
size=(600,600), frame=:box, legend=:none,
left_margin=2.5*Plots.mm, bottom_margin=2*Plots.mm)
xlims!(plt_sky_obs,-plt_lim,plt_lim)
ylims!(plt_sky_obs,-plt_lim,plt_lim)
plot_circle!(plt_sky_obs,r_e)
plot!(plt_sky_obs, [-plt_lim,plt_lim],[b₀_star, b₀_star], linewidth=4, linestyle=:dot )
if incl_planet
plot_circle!(plt_sky_obs,r_e*sqrt(M_l_pl/M_l_star), x=x_pl, y=y_pl, linecolor=3, linestyle=:dot)
scatter!(plt_sky_obs, [x_pl], [y_pl], markersize=4, markerstrokewidth=0, markercolor=3)
end
plt_sky_obs
end;
begin
local plt_lim = 2
plt_sky_theory = plot(xlabel=L"x \; (r_E)", ylabel=L"y \; (r_E)",
size=(600,600), frame=:box, legend=:none,
left_margin=2.5*Plots.mm, bottom_margin=2*Plots.mm)
xlims!(plt_sky_theory,-plt_lim,plt_lim)
ylims!(plt_sky_theory,-plt_lim,plt_lim)
plot_circle!(plt_sky_theory,1)
plot!(plt_sky_theory, [-plt_lim,plt_lim],[u₀_star, u₀_star], linewidth=4, linestyle=:dot )
if incl_planet
plot_circle!(plt_sky_theory,sqrt(M_l_pl/M_l_star), x=x_pl/r_e, y=y_pl/r_e, linecolor=3, linestyle=:dot)
scatter!(plt_sky_theory, [x_pl/r_e], [y_pl/r_e], markersize=4, markerstrokewidth=0, markercolor=3)
end
plt_sky_theory
end;
begin
local plt_lim = lc_plt_lim
plt_lc_star_obs = plot(xlabel = "Time (d)", ylabel="Magnification",
legend=:none)
ylims!(0.9,lc_mag_lim)
local t = range(-plt_lim,stop=plt_lim, step=0.02*tₑ_star)
if incl_planet
local t_around_pl = range(t₀_pl-tₑ_pl,stop=t₀_pl+tₑ_pl, length=100)
t = sort(vcat(t, t_around_pl))
end
local flux = A.(max.(min_u_star,u.(t,u₀=u₀_star,tₑ=tₑ_star)))
if incl_planet
flux += A.(max.(min_u_pl,u.(t,u₀=u₀_pl,t₀=t₀_pl,tₑ=tₑ_pl))).-1
end
plot!(plt_lc_star_obs, t, flux, markersize=2, markerstrokewidth=0 )
end;
begin
local plt_lim = 2.5
plt_lc_star_theory = plot(xlabel = "Time (d/t_E)", ylabel="Magnification",
legend=:none)
local t = range(-plt_lim,stop=plt_lim, step=0.02)
if incl_planet
local t_around_pl = range(t₀_pl/tₑ_star-sqrt(M_l_pl/M_l_star),stop=t₀_pl/tₑ_star+sqrt(M_l_pl/M_l_star), length=100)
t = sort(vcat(t, t_around_pl))
end
local flux = A.(max.(min_u_star,u.(t,u₀=u₀_star)))
if incl_planet
flux += A.(max.(min_u_pl,u.(t,u₀=u₀_pl,t₀=t₀_pl/tₑ_star,tₑ=sqrt(M_l_pl/M_l_star)))).-1
end
plot!(plt_lc_star_theory, t, flux, markersize=2, markerstrokewidth=0 )
end;
"""
`A(u)`
Calculate total magnification from a single lensing event with dimensionless separation of`u`.
"""
A(u) = (2+u^2)/(u*sqrt(4+u^2))
A₊(u) = ((u^2+2)/(u*sqrt(u^2+4))+1)/2
A₊ (generic function with 1 method)
A₋(u) = ((u^2+2)/(u*sqrt(u^2+4))-1)/2
A₋ (generic function with 1 method)
"""
`u(t; u₀, [t₀, tₑ] )`
Calculate impact parameter measured in Einstein radii as a function of time.
Inputs:
- t: time (units of tE)
- u₀: Minimum dimensionless impact parameter at time t₀
- t₀: Time of minimium impact parameter [default: 0]
- tₑ: Interval for lens to move by one Einstein ring radius [default: 1]
"""
u(t; u₀::Real, t₀::Real=zero(t), tₑ::Real=one(t) ) = sqrt(u₀^2+(t-t₀)^2/tₑ^2)
Units
begin
arcsec_to_rad = π/(180*3600)
parsec_to_AU = 206265
Rsol_to_AU = 215.032
AU_to_km = 149597870.7
parsec_to_km = parsec_to_AU*AU_to_km
day_to_year = 365.2425
sec_to_day = 24*60^2
Rsol_at_kpc = 2.25461e-11
end;
Plotting
function plot_circle!(plt, r; x=0, y=0, n=50, linewidth=4, linestyle=:dash, linecolor=:black)
xx, yy = zeros(n+1), zeros(n+1)
xx[1:end-1] .= x.+r.*cos.(range(0,stop=2π, step=2π/n))
yy[1:end-1] = y.+r.*sin.(range(0,stop=2π, step=2π/n))
xx[end] = xx[1]
yy[end] = yy[1]
plot!(plt,xx,yy, linewidth=linewidth, linestyle=linestyle,linecolor=linecolor)
end
plot_circle! (generic function with 1 method)
Built with Julia 1.8.2 and
ColorSchemes 3.19.0LaTeXStrings 1.3.0
Plots 1.35.8
PlutoTeachingTools 0.2.5
PlutoUI 0.7.48
To run this tutorial locally, download this file and open it with Pluto.jl.
To run this tutorial locally, download this file and open it with Pluto.jl.
To run this tutorial locally, download this file and open it with Pluto.jl.
To run this tutorial locally, download this file and open it with Pluto.jl.