home       research       publications       numbers and models       contacts       computer       links


Multilayer dieletric stack calculations

This site was put together by Eric Nodwell. You can find my email address on the MBE Lab web site contact list.


Reflections, modes and field profiles

Layers : d (microns), n [, nimag]

Enter the layers in a spreadsheet format. The first column is for layer thicknesses, in microns, and the second is for the index of refraction. If a third column is present it will be taken as the imaginary part of the index of refraction. Columns can be separated by spaces or tabs. In 2-column format, you can enter complex values for n using python number notation (e.g. 1.34+0.57j) . The outer layers are the semi-infinite media on either side, so you must enter at least two layers. Therefore if you enter exactly 2 layers, you are actually specifying a surface without any finite-sized layers. The thickness has no meaning for the outer layers - just put zero.
wavelength:-nm                   mode:

The end wavelength input is used only for R vs. lambda calculations.
The theta (or beta/k) input used only for R vs. lambda, for Modes, and for Field calulations.
Theta is the incident angle in the top semi-infinite later.
The mode input is used only for field calculations. (The other calculations do both modes.)


Reflection
vs. Angle
Reflection
vs. Wavelength
Modes Field

Reflection vs. Angle example

Copy and paste these numbers for this example from the documentation:

0 1
0 3.7+5.4j

The complex index of refraction corresponds to single crystal Gallium at a wavelength of 1 micron.

Modes example

Copy and paste these numbers for this example from the documentation:

0 1
1.139 3.5
0 3.144

Field profile examples

(1) For the Modes example just above, you can plot the field profiles of the 4 TE modes by entering the same layers data as above, along with one of these values for beta/k: 3.4785, 3.4138, 3.3057 or 3.1614. This will correspond to this example from the documentation. (2) Here's another example with many layers. It's a 6-pair Bragg mirror of GaAs/Al{x}Ga{1-x}As pairs (x=0.5). The layer thicknesses are 1/4-wavelength at a wavelength of 1 micron. For beta/k enter 0 (normal incidence). This is not quite the same as this example from the documentation - that one had air on top, while this is embedded in GaAs on both sides.
0 3.5
0.0781 3.2
0.0714 3.5
0.0781 3.2
0.0714 3.5
0.0781 3.2
0.0714 3.5
0.0781 3.2
0.0714 3.5
0.0781 3.2
0.0714 3.5
0.0781 3.2
0 3.5
(3) The same as (2), but with more pairs, and one pair in the middle with 1/2 wavelength thickness instead of 1/4 wavelength. This transforms it into a resonant structure. If you add a small amount of loss to the middle layer (add a small imaginary quantity), power absorption will be enhanced.
0 3.5
0.0781 3.2
0.0714 3.5
0.0781 3.2
0.0714 3.5
0.0781 3.2
0.0714 3.5
0.0781 3.2
0.0714 3.5
0.0781 3.2
0.1429 3.5
0.0781 3.2
0.0714 3.5
0.0781 3.2
0.0714 3.5
0.0781 3.2
0.0714 3.5
0.0781 3.2
0.0714 3.5
0.0781 3.2
0 3.5

It is also interesting to run Reflection vs. Wavelength for (2) and (3). The former is a band stop filter 1000nm, while the latter is a band pass filter at 1000nm (although not terribly good ones). Use a wavelength range of 700-1300nm. (The phase zig-zags are phase wrapping.) You can try increasing the number of Bragg pairs in these examples.


Ellipsometry

This calculation is for a single layer of unknown optical quality on top of a substrate with known optical characteristics. The medium above is taken as air. Ellipsometry is described briefly here in the documentation.

wavelength: nm
incident angle: degrees
layer thickness: microns
substrate n: If you want to enter a complex value, use python notation, e.g. 3.5+0.5j
measured Psi: degrees For lossless materials, this is zero at the Brewster angle.
measured Delta: degrees For lossless materials, this has a value of 180 below the Brewster angle and 0 above.

Documentation

Very extensive documentation is available, which covers theory, the implementation, and the code, and includes many examples. The source code is available as pdf or as on-line html .


Source Code

The source code itself is multilayer.py .

If you find this site useful, I encourage you to download the source and run the calculations locally. This will have several advantages. Among them are that you will have much more control over the calculations and outputs, and you will be able to do some things which are not enabled here on the web site, such as quasi-mode searches in leaky waveguides, loss calculations, and dispersive material layers. Installation is easy, and there is a very extensive manual with many examples to guide you.


Other Sites

On-line calculations reflection calculations for dielectric stacks also exist at http://www.luxpop.com. However, for some inputs (non-normal incidence) they give incorrect results. Also they don't provide either mode searches or field profiles. (Or plots of the results.) On the other hand, there is a vast amount of all kinds of data there related to optics, and I recommend that you have a look.


Legal

You use this website entirely at your own risk. Improper use of this site may cause the antireflective coating on your monitor to cease to function correctly. If you want your devices to operate as designed, you should independently verify any results provided here.

If you download any source code files, please read and adhere to the license at the top of each source file. It's not too onerous, really.


      home       research       publications       numbers and models       contacts       computer       links