Difference between revisions of "Laser Etch Monitor Simulation in Python"

From UCSB Nanofab Wiki
Jump to navigation Jump to search
(link to repository & basic usage info.)
 
(aded example laser monitor etch)
Line 1: Line 1:
 
Python script to simulate a Laser Etch Monitor (aka. Laser Endpoint Detection).
 
Python script to simulate a Laser Etch Monitor (aka. Laser Endpoint Detection).
 
* [https://github.com/lbolla/EMpy/blob/master/examples/ex_laser_etch_monitor.py Example: Laser Etch Monitor on EMpy repository]
 
* [https://github.com/lbolla/EMpy/blob/master/examples/ex_laser_etch_monitor.py Example: Laser Etch Monitor on EMpy repository]
 +
 +
* [[File:Laser Etch Monitor v2 - AlGaAs stack.png|alt= Simulated Laser Monitor Signal vs. Etch Depth.|none|thumb|400x400px|Simulated Laser Monitor Signal for a GaAs/AlGaAs periodic stack.]]
  
 
=== Usage ===
 
=== Usage ===
Line 7: Line 9:
 
# 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.
 
# 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.
 
# Edit "ex_laser_etch_monitor.py" to reflect your structure.
 
# Edit "ex_laser_etch_monitor.py" to reflect your structure.
## Set up your materials, layers, and then multi-layer stack
+
## Set up your materials, layers, and then multi-layer stack.
 +
## 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.
 
## You can use multipliers to produce repeating layers, as so:
 
## You can use multipliers to produce repeating layers, as so:
 
### ''layers =  [air] + '''5 * [GaAs_DBR, AlGaAs_DBR]''' + [GaAs_substrate]''
 
### ''layers =  [air] + '''5 * [GaAs_DBR, AlGaAs_DBR]''' + [GaAs_substrate]''
 
# 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.
 
# 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.

Revision as of 00:52, 14 November 2017

Python script to simulate a Laser Etch Monitor (aka. Laser Endpoint Detection).

  •  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.