Note
Go to the end to download the full example code
Quarter-wave antireflection coating#
Design the ideal single-layer coating for an air-to-glass interface and compare its spectrum with the uncoated substrate.
import matplotlib.pyplot as plt
import numpy
from TypedUnit import ureg
from PyOptik import ThinFilmLayer, thin_film_stack
design_wavelength = 550 * ureg.nanometer
substrate_index = 1.52
coating_index = numpy.sqrt(substrate_index)
coating_thickness = design_wavelength / (4 * coating_index)
wavelengths = numpy.linspace(350, 900, 600) * ureg.nanometer
uncoated = thin_film_stack(
wavelengths,
[],
substrate_index=substrate_index,
)
coated = thin_film_stack(
wavelengths,
[ThinFilmLayer(coating_index, coating_thickness)],
substrate_index=substrate_index,
)
figure, axis = plt.subplots(layout="constrained")
axis.plot(wavelengths.magnitude, 100 * uncoated.reflectance, label="Uncoated glass")
axis.plot(wavelengths.magnitude, 100 * coated.reflectance, label="Quarter-wave coating")
axis.axvline(design_wavelength.magnitude, color="black", linestyle="--", alpha=0.6)
axis.set(
xlabel="Wavelength [nm]",
ylabel="Reflectance [%]",
title="Single-layer antireflection coating",
)
axis.grid(alpha=0.25)
axis.legend()
plt.show()

Total running time of the script: (0 minutes 0.343 seconds)