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.

Usage

  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: https://github.com/lbolla/EMpy
  3. Move "ex_laser_etch_monitor.py" & "nk.py" out of the examples folder, so they're in the same directory as the "EMpy" library folder.
  4. Edit "ex_laser_etch_monitor.py" to reflect your structure.
    1. Set up your materials, layers, and then multi-layer stack.
    2. Refer to the file nk.py 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.