Skip to content

Thin-Film Interference

Add a finite layer between two media. Its reflections interfere; changing optical thickness shifts the spectrum. This coherent, isotropic calculation uses planar electromagnetic boundary conditions.

Interference in a thin film

A thin film is two interfaces close together. Light reflected at the top surface meets light reflected at the bottom one, and the two either reinforce or cancel. The colours of a soap film come from this. The editor below computes it for one uniform layer between two media. The layer-stack, mirror and cavity experiments repeat the same idea for more layers.

The extra path

Each crossing of a film with index nn and thickness dd adds a phase

δ=2πλ n dcos⁡θt=2πλ q d\delta=\frac{2\pi}{\lambda}\,n\,d\cos\theta_t=\frac{2\pi}{\lambda}\,q\,d

where λ\lambda is the vacuum wavelength, θt\theta_t is the angle inside the film and q=ncos⁡θtq=n\cos\theta_t is the normal wave number (in units of 2π/λ2\pi/\lambda) from the calculation section. A reflection from the bottom surface crosses twice, so it lags by 2δ2\delta. Tilting lengthens the slanted path inside the film, but the top reflection also travels further in air before the two beams rejoin; what is left is 2ndcos⁡θt2nd\cos\theta_t, which shrinks with angle. So every feature in the spectrum moves to shorter wavelengths, which is why the colours of a soap film change as you tilt it.

Adding up every bounce

Light does not reflect only twice. It bounces back and forth inside the film, and each extra round trip multiplies the returning amplitude by the same factor, −r01r12e2iδ-r_{01}r_{12}e^{2i\delta}. The bounces therefore form a geometric series, which sums to

r=r01+r12 e2iδ1+r01 r12 e2iδr=\frac{r_{01}+r_{12}\,e^{2i\delta}}{1+r_{01}\,r_{12}\,e^{2i\delta}}

Here r01r_{01} and r12r_{12} are the single-interface amplitudes from Light at an Interface, and R=∣r∣2R=|r|^2. For a single layer, the solver's layer-by-layer recursion is exactly this formula.

Derivation from Maxwell's equations

Start from the macroscopic Maxwell equations for a linear, isotropic, nonmagnetic medium with no free charge. Fields vary as exp⁡(−iωt)\exp(-i\omega t), units are SI, ε(ω)\varepsilon(\omega) is the relative permittivity, k0=ω/ck_0=\omega/c is the vacuum wave number and Y0=ε0/μ0Y_0=\sqrt{\varepsilon_0/\mu_0} is the vacuum admittance.

∇×E=iωμ0H,∇⋅(εE)=0,∇×H=−iωε0εE,∇⋅H=0.\begin{aligned}\nabla\times\mathbf E&=i\omega\mu_0\mathbf H, & \nabla\cdot(\varepsilon\mathbf E)&=0,\\ \nabla\times\mathbf H&=-i\omega\varepsilon_0\varepsilon\mathbf E, & \nabla\cdot\mathbf H&=0.\end{aligned}

In a uniform region ε\varepsilon is constant, so ∇⋅E=0\nabla\cdot\mathbf E=0. Taking the curl of Faraday's law, substituting the Ampère–Maxwell law and using ∇×∇×E=∇(∇⋅E)−∇2E\nabla\times\nabla\times\mathbf E=\nabla(\nabla\cdot\mathbf E)-\nabla^2\mathbf E gives the Helmholtz equation, with n2=εn^2=\varepsilon:

∇2E+εk02E=0\nabla^2\mathbf E+\varepsilon k_0^2\mathbf E=0

Put the ambient medium at z<0z<0, the film at 0<z<d0<z<d and the substrate at z>dz>d. The structure is uniform along xx, so every field shares one xx-dependence, eik0n0sin⁡θ xe^{ik_0n_0\sin\theta\,x}, where θ\theta is the incidence angle in the ambient. Putting eik0(n0sin⁡θ x+qz)e^{ik_0(n_0\sin\theta\,x+qz)} into the Helmholtz equation gives each medium its normal wave number q=ε−n02sin⁡2θq=\sqrt{\varepsilon-n_0^2\sin^2\theta}. The admittance is the ratio of tangential H\mathbf H to tangential E\mathbf E for a forward wave, in units of Y0Y_0: Hy/ExH_y/E_x for TM and −Hx/Ey-H_x/E_y for TE. That gives Y=qY=q (TE) or Y=ε/qY=\varepsilon/q (TM, with ε=n2\varepsilon=n^2). Light at an Interface derives these. Label ambient, film and substrate 0, 1, 2 in reflection subscripts and a, f, s on admittances (Y0Y_0 is already the vacuum value). So r01r_{01} is the interface formula r=(Y1−Y2)/(Y1+Y2)r=(Y_1-Y_2)/(Y_1+Y_2) from Light at an Interface with Y1→YaY_1\to Y_\mathrm{a}, Y2→YfY_2\to Y_\mathrm{f}, and r12r_{12} uses YfY_\mathrm{f}, YsY_\mathrm{s}. Without a subscript, qq means the film's value.

Inside the film the tangential electric field is a forward plus a backward wave. Faraday's law (TE) or Ampère's law (TM) then gives the tangential magnetic field:

E∥(z)=A eiqk0z+B e−iqk0z,H∥(z)=Y0Yf(A eiqk0z−B e−iqk0z)\begin{aligned}E_\parallel(z)&=A\,e^{iqk_0z}+B\,e^{-iqk_0z},\\ H_\parallel(z)&=Y_0Y_\mathrm{f}\left(A\,e^{iqk_0z}-B\,e^{-iqk_0z}\right)\end{aligned}

Here E∥E_\parallel is EyE_y (TE) or ExE_x (TM), and H∥H_\parallel is −Hx-H_x (TE) or HyH_y (TM). Above the film the same form holds with A=1A=1, B=rB=r, qa=n0cos⁡θq_\mathrm{a}=n_0\cos\theta and YaY_\mathrm{a}; below it there is only t eiqsk0(z−d)t\,e^{iq_\mathrm{s}k_0(z-d)} with YsY_\mathrm{s}. Both tangential components are continuous at each interface.

At z=dz=d, with p=eiδp=e^{i\delta} and δ=qk0d\delta=qk_0d, continuity gives

Ap+Bp=t,Yf(Ap−Bp)=Ys t\begin{gathered}Ap+\frac{B}{p}=t,\\ Y_\mathrm{f}\left(Ap-\frac{B}{p}\right)=Y_\mathrm{s}\,t\end{gathered}

Dividing the second by the first gives Yf(1−x)/(1+x)=YsY_\mathrm{f}(1-x)/(1+x)=Y_\mathrm{s} with x=B/(Ap2)x=B/(Ap^2), so

BA=r12 e2iδ≡Γ,r12=Yf−YsYf+Ys\begin{gathered}\frac{B}{A}=r_{12}\,e^{2i\delta}\equiv\Gamma,\\ r_{12}=\frac{Y_\mathrm{f}-Y_\mathrm{s}}{Y_\mathrm{f}+Y_\mathrm{s}}\end{gathered}

Γ\Gamma is the substrate reflection seen from the top of the film, delayed by one round trip. The solver stores the backward amplitude at the film's exit instead, B e−iδ=A r12 eiδB\,e^{-i\delta}=A\,r_{12}\,e^{i\delta}, so no growing exponential appears in an absorbing film. At z=0z=0:

1+r=A(1+Γ),Ya(1−r)=Yf A(1−Γ)\begin{gathered}1+r=A(1+\Gamma),\\ Y_\mathrm{a}(1-r)=Y_\mathrm{f}\,A(1-\Gamma)\end{gathered}

Eliminate AA, solve for rr, and divide the numerator and denominator by Ya+YfY_\mathrm{a}+Y_\mathrm{f}, with r01=(Ya−Yf)/(Ya+Yf)r_{01}=(Y_\mathrm{a}-Y_\mathrm{f})/(Y_\mathrm{a}+Y_\mathrm{f}):

r=(Ya−Yf)+(Ya+Yf)Γ(Ya+Yf)+(Ya−Yf)Γ=r01+Γ1+r01Γ=r01+r12 e2iδ1+r01 r12 e2iδ\begin{aligned}r&=\frac{(Y_\mathrm{a}-Y_\mathrm{f})+(Y_\mathrm{a}+Y_\mathrm{f})\Gamma}{(Y_\mathrm{a}+Y_\mathrm{f})+(Y_\mathrm{a}-Y_\mathrm{f})\Gamma}\\ &=\frac{r_{01}+\Gamma}{1+r_{01}\Gamma}\\ &=\frac{r_{01}+r_{12}\,e^{2i\delta}}{1+r_{01}\,r_{12}\,e^{2i\delta}}\end{aligned}

That is the formula from Adding up every bounce. To recover the bounces, use t01=1+r01t_{01}=1+r_{01}, t10=1−r01t_{10}=1-r_{01} and r10=−r01r_{10}=-r_{01}, and expand the denominator wherever ∣r01Γ∣<1|r_{01}\Gamma|<1:

r=r01+t01 t10 Γ∑m=0∞(r10Γ)m=r01+(1−r012) Γ1+r01Γ\begin{aligned}r&=r_{01}+t_{01}\,t_{10}\,\Gamma\sum_{m=0}^{\infty}\left(r_{10}\Gamma\right)^m\\ &=r_{01}+\frac{(1-r_{01}^2)\,\Gamma}{1+r_{01}\Gamma}\end{aligned}

The first term is the top reflection. Term mm of the sum is a wave that enters, makes m+1m+1 round trips, reflecting mm times off the underside of the top surface (r10r_{10}), and leaves; r10r12e2iδ=−r01r12e2iδr_{10}r_{12}e^{2i\delta}=-r_{01}r_{12}e^{2i\delta} is the round-trip factor from the lecture. The condition holds for every transparent film with d>0d>0. It can fail for a thin metal film in TM when the field in the substrate is evanescent, near a surface-plasmon resonance: the series then diverges, but the closed form still holds. The same conditions give t=Ap(1+r12)t=Ap(1+r_{12}) and A=t01/(1+r01Γ)A=t_{01}/(1+r_{01}\Gamma), so

t=t01 t12 eiδ1+r01 r12 e2iδ,R=∣r∣2,T=Re⁡YsYa ∣t∣2\begin{gathered}t=\frac{t_{01}\,t_{12}\,e^{i\delta}}{1+r_{01}\,r_{12}\,e^{2i\delta}},\\ R=|r|^2,\qquad T=\frac{\operatorname{Re}Y_\mathrm{s}}{Y_\mathrm{a}}\,|t|^2\end{gathered}

The powers come from the time-averaged normal Poynting flux Sz=12Re⁡(E∥H∥∗)S_z=\tfrac12\operatorname{Re}(E_\parallel H_\parallel^{*}). In the transparent ambient the incident–reflected cross terms are imaginary and drop out, leaving 12Y0Ya(1−∣r∣2)\tfrac12 Y_0Y_\mathrm{a}(1-|r|^2); the substrate carries 12Y0Re⁡Ys ∣t∣2\tfrac12 Y_0\operatorname{Re}Y_\mathrm{s}\,|t|^2. What is left, 1−R−T1-R-T, is absorbed in the film.

Two notes on conventions. In TM, rr and tt are ratios of ExE_x, as in the solver. This differs from textbook rpr_p, tpt_p written for the full field, with

rp=n2cos⁡θ1−n1cos⁡θ2n2cos⁡θ1+n1cos⁡θ2r_p=\frac{n_2\cos\theta_1-n_1\cos\theta_2}{n_2\cos\theta_1+n_1\cos\theta_2}

at each interface: here r=−rpr=-r_p and t=tpcos⁡θs/cos⁡θt=t_p\cos\theta_\mathrm{s}/\cos\theta, where θs\theta_\mathrm{s} is the angle in the substrate. RR and TT are unchanged. For an absorbing film qq and δ\delta are complex and e2iδe^{2i\delta} includes the decay; nothing else changes.

Two special cases. A free-standing slab has Ys=YaY_\mathrm{s}=Y_\mathrm{a}, so r12=−r01r_{12}=-r_{01} and r=r01(1−e2iδ)/(1−r012e2iδ)r=r_{01}(1-e^{2i\delta})/(1-r_{01}^2e^{2i\delta}), which vanishes for a lossless film when 2qd=mλ2qd=m\lambda, m=1,2,…m=1,2,\ldots. At normal incidence Y=nY=n, so r01=r12r_{01}=r_{12} exactly when nf2=n0nsn_\mathrm{f}^2=n_0n_\mathrm{s}; a quarter-wave film, nfd=λ/4n_\mathrm{f}d=\lambda/4, makes e2iδ=−1e^{2i\delta}=-1, the numerator becomes r01−r12=0r_{01}-r_{12}=0, and reflection vanishes.

Three things to try

The editor opens at 30° with TE polarization, where the electric field lies parallel to the film; in TM the magnetic field does. The spectrum is in the Parameter dependence result tab.

A free-standing slab. The default example, Symmetric Fabry–Pérot slab, is a 250 nm film with n=1.5n=1.5 and air on both sides. Its two surface reflections have opposite signs. When the round trip is a whole number of wavelengths, 2qd=mλ2qd=m\lambda, the bottom reflection comes back still flipped and cancels the top one. In the 400–900 nm scan that zero sits at 707 nm at 30° (750 nm at normal incidence). Halfway in phase to the next zero, near 471 nm, reflection peaks at about 21% for TE but only about 10% for TM.

Quarter-wave antireflection. On a coated glass surface both reflections go from lower to higher index, so they have the same sign. A round trip of half a wavelength flips one of them, and choosing the film index makes them equal in size. At normal incidence that needs

nf=n0 ns,d=λdesign4 nfn_f=\sqrt{n_0\,n_s},\qquad d=\frac{\lambda_{\text{design}}}{4\,n_f}

For air and ns=1.5n_s=1.5 this gives nfapprox1.22n_fapprox 1.22 and dapprox112dapprox 112 nm for a 550 nm design. Bare glass reflects 4% at normal incidence; with the coating, reflection at 550 nm drops to zero. At 30° the minimum moves to about 502 nm and is no longer exactly zero, about 0.01%.

A film that isn't there. The ideal glass film has the same index as the glass beneath it. Its bottom surface does not reflect, so there is nothing to interfere with and the spectrum is flat at the bare-glass value: about 5.8% for TE and 2.5% for TM at 30°. Optically, it is just more glass.

All of this assumes perfectly coherent plane waves. Real fringes wash out when the round-trip path exceeds the light's coherence length, as in a thick layer or with broadband light, or when a range of angles is averaged. This calculation does not model that.

UNIFORM LAYERS

Thin-film editor

Loading 3D…

Loading geometry…

Physical scale
Drag to orbit · click a region to inspect

Stable scattering solution · revision 0

Calculation and evidence

Time dependence is exp⁡(−iωt)\exp(-i\omega t). Amplitudes are tangential EyE_y (TE) or ExE_x (TM), with

q=ε−n02sin⁡2θY={qTEε/qTM\begin{aligned}q&=\sqrt{\varepsilon-n_0^2\sin^2\theta}\\ Y&=\begin{cases}q & \text{TE}\\ \varepsilon/q & \text{TM}\end{cases}\end{aligned}

Interfaces use Fresnel amplitudes; propagation uses exp⁡(iq 2πd/λ)\exp(iq\,2\pi d/\lambda). Reflection recursion composes scattering responses using only decaying exponentials in passive finite layers. Backward fields are anchored at each layer’s exit.

The exterior media must be transparent and positive-index. Internal layers can be passive and absorbing. All layers are coherent, uniform, isotropic and nonmagnetic. An exact zero longitudinal wave number is reported as a singular amplitude basis; nearby angles remain calculable. No roughness, incoherent thick-layer approximation or beam envelope is included.

Independent fixtures use Steven Byrnes’s tmm 0.2.0 for oblique TE/TM, absorbing films, evanescent layers and multilayers. Powers agree within 10−810^{-8} in the fixtures. Checks also cover boundary fields, antireflection and zero-thickness limits. The Python fixture generator is retained with the source.

History of the method

Newton measured the thicknesses at which thin plates reflect different colours. In his Bakerian Lecture, read to the Royal Society on 12 November 1801, Thomas Young proposed that two undulations arriving together combine their motions. He used that principle to explain the colours of thin plates and why they change with the angle of view, and used Newton's thickness measurements to estimate the length of the undulations.

Films can also form by themselves. In 1886 Lord Rayleigh found that glass surfaces aged for months or years reflected 10 to 80 per cent less than Fresnel's formula predicts, with no visible tarnish. He could not settle the cause, but noted that a thin surface layer of lower index would explain the loss, and that, unlike absorption or scattering, a transparent layer of intermediate index would raise transmission by as much as it lowered reflection.

Charles Fabry and Alfred Perot turned the multiple reflections into an instrument at the end of the 1890s. With two partly silvered, parallel plates, more round trips produced sharper fringes, which made precise spectroscopy and length measurement possible.

References

Steven J. Byrnes, Multilayer optical calculations, 2016, revision 5 (2020): field conventions, transfer matrices, flux and absorption. The browser implementation uses scattering recursion for numerical stability; the Python implementation supplies independent fixtures.

Thomas Young, The Bakerian Lecture: On the theory of light and colours, Philosophical Transactions of the Royal Society of London 92, 12–48 (1802). The statements above follow the Royal Society's printed abstract of the lecture in Abstracts of the Papers Printed in the Philosophical Transactions, vol. 1, pp. 63–67.

Lord Rayleigh (John William Strutt), On the intensity of light reflected from certain surfaces at nearly perpendicular incidence, Proceedings of the Royal Society of London 41, 275–294 (1886); open scan.

A. Perot and Charles Fabry, On the application of interference phenomena to the solution of various problems of spectroscopy and metrology, The Astrophysical Journal 9, 87 (1899). The principle described above follows Sella's short popular history of the Fabry–Perot interferometer (author manuscript on UCL Discovery; its publication venue was not verified, and the repository page could not be rechecked for this revision). The 1899 paper itself was not consulted.

Return to a single interface →

Calculation source code · Implementation and validation notes