Laser Etch Monitor Simulation in Python

From UCSB Nanofab Wiki
Revision as of 12:54, 21 April 2021 by John d (talk | contribs) (author credits.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Python script to simulate a Laser Etch Monitor (aka. Laser Endpoint Detection). Written by Demis D. John.

  •  Simulated Laser Monitor Signal vs. Etch Depth.
    Simulated Laser Monitor Signal for a GaAs/AlGaAs periodic stack.


  1. Make sure you have a Python installation running, that includes scientific libraries. The easiest method is to use the all-in-one installer "Anaconda". This also installs the Matlab-like IDE "Spyder".
  2. Download the EMpy repository by Lorenzo Bolla:
  3. Move "" & "" out of the examples folder, so they're in the same directory as the "EMpy" library folder.
  4. Edit "" to reflect your structure.
    1. Set up your materials, layers, and then multi-layer stack.
    2. Refer to the file for material refractive index/dispersion models, or enter your own. You only need to know n & k at a single wavelength.
    3. You can use multipliers to produce repeating layers, as so:
      1. layers =  [air] + 5 * [GaAs_DBR, AlGaAs_DBR] + [GaAs_substrate]
  5. In Spyder, run the script with "Interact with shell after execution" enabled. This allows you to keep messing with the figure and objects after execution, like in Matlab.