7  Fresnel equations, Brewster angle and evanescent waves

Open in Colab  Run this chapter’s code in Google Colab (no installation).

Slides 101–147: polarised light, boundary conditions, \(r_\perp,r_\parallel,t_\perp,t_\parallel\), internal and external reflection, Brewster angle, phase change on TIR, evanescent wave, Goos–Hänchen shift, frustrated TIR and beam-splitter cubes, reflectance and transmittance.

7.1 Key relations

Resolve the field into components perpendicular (\(\perp\), TE) and parallel (\(\parallel\), TM) to the plane of incidence (slide 103). The boundary conditions (continuity of tangential \(\mathbf E\) and \(\mathbf B\), slides 106–108) give, with \(n=n_2/n_1\), Fresnel’s equations (slides 110–111):

\[ r_\perp=\frac{\cos\theta_i-\sqrt{n^2-\sin^2\theta_i}}{\cos\theta_i+\sqrt{n^2-\sin^2\theta_i}},\qquad r_\parallel=\frac{\sqrt{n^2-\sin^2\theta_i}-n^2\cos\theta_i}{\sqrt{n^2-\sin^2\theta_i}+n^2\cos\theta_i}, \] \[ t_\perp=\frac{2\cos\theta_i}{\cos\theta_i+\sqrt{n^2-\sin^2\theta_i}},\qquad t_\parallel=\frac{2n\cos\theta_i}{n^2\cos\theta_i+\sqrt{n^2-\sin^2\theta_i}},\qquad r_\parallel+nt_\parallel=1,\quad r_\perp+1=t_\perp . \]

result formula slide
normal incidence \(r=\dfrac{n_1-n_2}{n_1+n_2}\), \(\ R=\left(\dfrac{n_1-n_2}{n_1+n_2}\right)^2\) (4 % for glass) 112, 132
Brewster angle (\(r_\parallel=0\)) \(\tan\theta_p=n_2/n_1\) 114–116
TIR phase (\(\perp\)) \(\tan\dfrac{\phi_\perp}{2}=\dfrac{\sqrt{\sin^2\theta_i-n^2}}{\cos\theta_i}\) 118
TIR phase (\(\parallel\)) \(\tan\!\left(\dfrac{\phi_\parallel}{2}+\dfrac{\pi}{2}\right)=\dfrac{\sqrt{\sin^2\theta_i-n^2}}{n^2\cos\theta_i}\) 119
evanescent field \(E_t\propto e^{-\alpha_2y}\), \(\ \alpha_2=\dfrac{2\pi n_2}{\lambda}\sqrt{\left(\dfrac{n_1}{n_2}\right)^2\sin^2\theta_i-1}\) 123–124
Goos–Hänchen shift \(\Delta z\approx2\delta\tan\theta_i\) 125
reflectance, transmittance \(R=\lvert r\rvert^2\), \(\ T=\dfrac{n_2\cos\theta_t}{n_1\cos\theta_i}\lvert t\rvert^2\), \(\ R+T=1\) 131–138

The square root \(\sqrt{n^2-\sin^2\theta_i}\) is taken on the branch with non-positive imaginary part. That is the physical choice in the \(e^{j\omega t}\) convention, where the transmitted field decays into medium 2 under TIR. With this choice ol.fresnel reproduces the slide phases.

7.1.1 Fresnel coefficients, live

7.2 Worked example: normal incidence on glass (slides 133–136)

Show the Python
for n1, n2, kind in ((1.0, 1.5, "air → glass (external)"), (1.5, 1.0, "glass → air (internal)")):
    rs, rp, ts, tp = ol.fresnel(n1, n2, 0.0)
    print(f"{kind:24s} r = {rs.real:+.2f} ({'180° phase shift' if rs.real < 0 else 'no phase shift'}), R = {abs(rs)**2:.2%}")
print(f"Brewster angle air → glass: θp = {np.degrees(ol.brewster(1, 1.5)):.1f}°  (pile-of-plates polariser, Arago 1812)")
air → glass (external)   r = -0.20 (180° phase shift), R = 4.00%
glass → air (internal)   r = +0.20 (no phase shift), R = 4.00%
Brewster angle air → glass: θp = 56.3°  (pile-of-plates polariser, Arago 1812)

7.3 Worked example: reflection and transmission at the Brewster angle (slides 139–141)

Show the Python
thp = ol.brewster(1.0, 1.5)
tt = np.arcsin(np.sin(thp)/1.5)
rs, rp, ts, tp = ol.fresnel(1.0, 1.5, thp)
fac = 1.5*np.cos(tt)/np.cos(thp)
print(f"θp = {np.degrees(thp):.2f}°, θt = {np.degrees(tt):.2f}°")
print(f"r⊥ = {rs.real:.3f}, r∥ = {abs(rp):.1e}, t⊥ = {ts.real:.3f}, t∥ = {tp.real:.3f}")
print(f"R⊥ = {abs(rs)**2:.3f}, R∥ = {abs(rp)**2:.1f}, unpolarised R = {abs(rs)**2/2:.3f}")
print(f"T⊥ = {fac*abs(ts)**2:.3f}, T∥ = {fac*abs(tp)**2:.3f}   checks: r∥ + n t∥ = {(rp + 1.5*tp).real:.3f}, r⊥ + 1 = t⊥: {np.isclose(rs + 1, ts)}")
θp = 56.31°, θt = 33.69°
r⊥ = -0.385, r∥ = 0.0e+00, t⊥ = 0.615, t∥ = 0.667
R⊥ = 0.148, R∥ = 0.0, unpolarised R = 0.074
T⊥ = 0.852, T∥ = 1.000   checks: r∥ + n t∥ = 1.000, r⊥ + 1 = t⊥: True

The reflected light is purely \(\perp\)-polarised. The transmitted light is only partially polarised, which is why a stack of plates is needed to make a good polariser.

7.4 Worked example: TIR between two glasses (slides 142–147)

\(n_1=1.460\), \(n_2=1.440\), \(\lambda=1300\) nm. Find the critical angle, the phase changes at 87° and 90°, and the penetration depth of the evanescent wave.

Show the Python
n1, n2, lam = 1.460, 1.440, nm(1300)
print(f"critical angle = {np.degrees(ol.critical_angle(n1, n2)):.2f}°")
for thi in (87, 89.999):
    t = np.radians(thi)
    rs, rp, ts, tp = ol.fresnel(n1, n2, t)
    d = ol.penetration_depth(n1, n2, t, lam)
    print(f"θi = {round(thi)}°: |r⊥| = {abs(rs):.3f}, φ⊥ = {np.degrees(np.angle(rs)):6.1f}°, φ∥ = {np.degrees(np.angle(rp)):6.1f}°, "
          f"α2 = {1/d:.3e} m⁻¹, δ = {d*1e6:.3f} µm" + (f", Goos–Hänchen Δz = 2δ tanθ = {2*d*np.tan(t)*1e6:.1f} µm" if thi < 89 else " (grazing: Δz diverges)"))
critical angle = 80.51°
θi = 87°: |r⊥| = 1.000, φ⊥ =  143.0°, φ∥ =  -36.1°, α2 = 1.104e+06 m⁻¹, δ = 0.906 µm, Goos–Hänchen Δz = 2δ tanθ = 34.6 µm
θi = 90°: |r⊥| = 1.000, φ⊥ =  180.0°, φ∥ =   -0.0°, α2 = 1.164e+06 m⁻¹, δ = 0.859 µm (grazing: Δz diverges)

The slides quote \(\phi_\perp=143°\), \(\phi_\parallel=-36.05°\) (written as \(143.95°-180°\)), \(\delta=0.906\) µm at 87° and 0.859 µm at 90°. The penetration is larger for smaller incidence angles, and it diverges at the critical angle.

Show the Python
y = np.linspace(-18, 4, 2000)*1e-6
t = np.radians(87)
rs = ol.fresnel(n1, n2, t)[0]
ky = 2*np.pi*n1/lam*np.cos(t)
E1 = np.abs(np.exp(1j*ky*y) + rs*np.exp(-1j*ky*y))          # y < 0: incident + reflected
E2 = np.abs(1 + rs)*np.exp(-y/ol.penetration_depth(n1, n2, t, lam))
fig, ax = plt.subplots(figsize=(8, 3.4))
ax.axvspan(0, 4, color=ol.PALETTE[0], alpha=0.06, lw=0)
ax.plot(y[y < 0]*1e6, E1[y < 0], label="medium 1 (incident + reflected)")
ax.plot(y[y >= 0]*1e6, E2[y >= 0], label="medium 2 (evanescent)")
ax.set(xlabel="distance from interface y (µm)", ylabel="|E⊥| (a.u.)"); ax.legend(fontsize=8)
plt.show()
Figure 7.1: Field across the interface for TIR at 87° (slide 142 parameters): a standing wave in medium 1 and an exponentially decaying evanescent field in medium 2.

The evanescent tail is exactly what an evanescent-wave sensor (ATR spectroscopy, integrated refractive-index sensors) probes, and what couples two waveguides in a directional coupler (Chapter 2).

7.5 Worked example: frustrated TIR, a variable beam splitter (slides 126–129)

Two glass prisms (\(n=1.5\)) separated by an air gap, light at 45° (above \(\theta_c=41.8°\)). When the gap is comparable to the penetration depth, the evanescent field reaches the second prism and light tunnels through. We compute it with the transfer-matrix solver of Chapter 8.

Show the Python
lam = nm(633); gaps = np.linspace(0, 1.5e-6, 300)
fig, ax = plt.subplots()
for pol in ("s", "p"):
    T = [ol.tmm([1.5, 1.0, 1.5], [g], lam, np.radians(45), pol)[1][0] for g in gaps]
    ax.plot(gaps*1e9, T, label=f"{pol}-pol")
ax.set(xlabel="air gap d (nm)", ylabel="transmittance"); ax.legend()
plt.show()
Figure 7.2: Frustrated TIR at 45° and 633 nm: transmittance through an air gap between two glass prisms, for s and p polarisation.

A 50/50 splitting ratio requires a gap of a fraction of a wavelength, and the ratio depends on polarisation. This is how the beam-splitter cube of slide 129 works, and why “polarisation-insensitive” cubes need extra layers. The same tunnelling is used to couple a laser beam into a thin-film waveguide with a prism (slide 128).

  • Derive the Stokes relations \(r'=-r\) and \(tt'+r^2=1\) from time reversal, and check them numerically with ol.fresnel.
  • Goos–Hänchen shift (slide 125): the lateral shift is \(\propto d\phi/d\theta_i\). Compute it from the phase curves above. Its transverse counterpart is the Imbert–Fedorov shift (spin Hall effect of light).
  • Brewster windows in gas lasers select linear polarisation. Why does a laser with Brewster windows lase in p-polarisation?
  • Near \(\theta_c\) the penetration depth diverges. What happens for a Gaussian beam with a finite angular spectrum? Use the plane-wave superposition of Chapter 1.
  • Verify \(R+T=1\) with ol.tmm for s and p at oblique incidence, and explain why \(T\ne|t|^2\).
  • M. Born, E. Wolf, Principles of Optics: chapter on the foundations of electromagnetic theory (Fresnel formulae, TIR, evanescent waves).
  • H. A. Macleod, Thin-Film Optical Filters: characteristic-matrix formulation used by ol.tmm.
  • N. J. Harrick, Internal Reflection Spectroscopy: the classic text on evanescent-wave (ATR) measurements.

7.6 Try it yourself

  1. Use the live panel to find the Brewster angle for silicon (\(n=3.5\)) in air. Why are silicon wafers often inspected with p-polarised light at that angle?
  2. Plot the unpolarised reflectance of a window (two surfaces) versus angle. At which angle is 10 % of the light lost?
  3. At which incidence angle does the penetration depth of slide 142 reach 5 µm?