Skip to content

Example: Antireflection coating 2 (AR)

Leandro Acquaroli edited this page Nov 27, 2019 · 3 revisions

Let's take another example defining two AR systems with two layers plus the incident and emergent media. The parameters for each layer are taken from Macleod, Thin-Film Optical Filters (2018) Fig. 4.15.

The complete code can be found here.

Load modules

using Plots, LaTeXStrings
pyplot()
using ThinFilmsTools

Define beam

λi = 400 # intial wavelength [nm]
λf = 700 # final wavelength [nm]
λ = LinRange(λi, λf, λf-λi+1) # wavelength range [nm]
θ = [0.]
beam = PlaneWave(λ, θ)

Build up the layers

We have two different systems of AR with active layers being tantalum oxide and yttrium oxide, respectively. Here we explicitly defined the thicknesses as quarter and half-wavelength.

layers1 = [
   LayerTMMO(RIdb.air(beam.λ)),
   LayerTMMO(RIdb.dummy(beam.λ, 1.38, 0.0); type=:OT, d=1.0/4.0),
   LayerTMMO(RIdb.dummy(beam.λ, 2.15, 0.0); type=:OT, d=1.0/2.0),
   LayerTMMO(RIdb.bk7(beam.λ)),
]

layers2 = [ 
   LayerTMMO(RIdb.air(beam.λ)),
   LayerTMMO(RIdb.dummy(beam.λ, 1.38, 0.0); type=:OT, d=1.0/4.0),
   LayerTMMO(RIdb.dummy(beam.λ, 1.90, 0.0); type=:OT, d=1.0/2.0),
   LayerTMMO(RIdb.bk7(beam.λ)),
]

Reference wavelength

We set the reference wavelength to be 509.8 nm, so the thickness is calculated accordingly.

λ0 = 509.8

Call the main script

We solve for the two systems:

sol1 = tmm_optics(beam, layers1; λ0=λ0)
sol2 = tmm_optics(beam, layers2; λ0=λ0)

Optional examples to plot results

We plot the Reflectance spectra for the two systems as follow:

plot(Spectrum1D(),
     sol1.beam.λ, sol1.Spectra.Rs, label=L"Ta$_2$O$_5$", 
     line=(:solid),
     ylims=(0.0, 0.025), xlims=(sol1.beam.λ[1], sol1.beam.λ[end]))
plot!(Spectrum1D(), sol2.beam.λ, sol2.Spectra.Rs,
      label=L"Y$_2$O$_3$", line=(:dashdot))
gui()

Example 4: AR Coating

And the indices profiles as well, for tantala and yttria, respectively:

plot(RIprofile(), sol1)
gui()

Example 4: AR Coating

plot(RIprofile(), sol2)
gui()

Example 4: AR Coating

Clone this wiki locally