Software … powerful tools for your research & development!

RP Coating – Advanced Software for
Designing Optical Multilayer Structures

The Physical Model

In an optical thin-film multilayer structure, consisting of a sequence of layers made from different materials, the refractive index contrast at the interfaces between different layers leads to optical reflections. Such reflections from many different interfaces interfere with each other, and overall one can obtain a rather complex situation. Depending on the involved wavelengths and polarization directions, the overall behavior of the device can be very different.

RP Coating uses an efficient matrix formalism to calculate the mentioned interference effects. The user, however, does not have to deal in any way with such details; one only needs to provide a description of the coating structure and further inputs for determining optimizations, graphical outputs, etc.

There are few limitations:

  • The calculations can be done in the full wavelength ranges for which refractive index data are available.
  • Large angles of incidence, leading to total internal reflection, are no problem.
  • All materials may have optical losses, except the medium from which the incident beam comes.
  • All materials need to be optically isotropic, or otherwise oriented such that the simple description with a refractive index is correct.

The model allows for optical materials with an additional parameter – for example, a packing density or a chemical composition parameter – which influences the refractive index. For example, this allows one to design rugate filters where the refractive index varies continuously rather than in steps.

Material Data

It is essential to have refractive index data of all involved materials. The software is delivered with such data for various common materials.

Due to the great flexibility of the used script language, the user can easily add further material data. For each material, one defines a function for the wavelength-dependent refractive index, and possibly another function for the wavelength-dependent optical losses. For example, the index of Schott SF8 glass can be defined as follows:

n_SF8(lambda) := 
   { high-index Schott glass, data from Schott catalog }
     const B1 = 1.49514446,
           B2 = 2.62529687e-1,
           B3 = 9.69567597e-1,
           C1 = 1.14990201e-2,
           C2 = 5.17170156e-2,
           C3 = 1.13458641e2;
     var l2;
     l2 := (lambda / 1e-6)^2;
     sqrt(B1 * l2 / (l2 - C1) + B2 * l2 / (l2 - C2) + B3 * l2 / (l2 - C3) + 1);

Of course, it is also no problem to use tabulated data. For example, one may read such data from a text file into an array and define a function which provides interpolated values from that array.

Here is an example for a semiconductor material (AlxGa1-xAs) with a composition parameter <$x$>:

n_AlGaAs(l, x) := 
  { Refractive index of AlGaAs for wavelength l in nm;
    x = content of Al (e.g. 0.25 for 25%). }
    Data from M. A. Afromowitz, Solid State Commun. 15, 59 (1974). }
    var E0, Ed, Eg2, eta, Ef2, M1, M3, E2;
    E0 := 3.65 + 0.871 * x + 0.179 * x^2;
    Ed := 36.1 - 2.45 * x;
    Eg2 := (1.424 + 1.266 * x + 0.26 * x^2)^2;
    eta := pi * Ed / (2 * E0^3 * (E0^2 - Eg2));
    Ef2 := (2 * E0^2 - Eg2);
    M1 := (Ef2^2 - Eg2^2) * eta / (2 * pi);
    M3 := (Ef2 - Eg2) * eta / pi;
    E2 := (h * c / (l * 1e-9) / e)^2;  { photon energy }
    sqrt(1 + M1 + M3 * E2 + eta / pi * E2^2 * ln((Ef2 - E2) / (Eg2 - E2)));

Of course, the value of <$x$> may be different for each layer.

Computation Speed

RP Coating is very much optimized not only for convenience, but also for high speed of the numerical calculations. This has been achieved with the use of optimized algorithms which have been implemented efficiently. Substantial computation times occur only for numerical optimizations where a large number of parameters needs to be varied.

If you have any further questions or need a quotation: