Category Archives: FAQ

MSVCP120.DLL is missing …

If you try to run CODE, SCOUT or SPRAY with object generation 4.50 or higher and you get this message please install the Visual C++ Redistributable package for Visual Studio 2013. Here is the link:

https://www.microsoft.com/en-us/download/details.aspx?id=40784

If you follow the ‘Download’ section you have to select the vcredist_x86.exe. Running this will install the required DLL files.

Batch import using Excel files

If you have used the option to export measured spectra in CODE using Excel format you can now import these spectra in batch mode.

There is a restriction, however: The spectra must be stored in the first worksheet of the Excel document, with the first wavelength in cell A1.

The number of the file format to be used in the batch control sheet is 27.

This feature is available starting with object generation 4.48.

 

OLE server only

When I try to start the software I get the message: ‘This program can be used as OLE server only!’. What does that mean?

The program has been installed with a passport file which allows to run the program as OLE server only. It cannot be started as a normal desktop application.

Very likely you have downloaded the software from our website and installed it on your system. The download packages do not contain valid passport files, i.e. valid user licences. After the installation, you have to copy a valid passport file into the program directory.
In the case of SCOUT, the passport file is called scout_passport.wtp. If you installed CODE the name is code_passport.wtp.

In the case of a software purchase you should have received a passport file from us either by e-mail or with the setup CD. If you are evaluating the software you should have received a passport file with a demo licence by e-mail.

Can’t create object

I try to use CODE in VisualBasic but I get the error message ‘ActiveX can’t create the object’?

First check if the name of the OLE automation server in the VisualBasic command is correct. The server name of CODE is ‘code.colors’.

If this does not solve the problem, the registration of the OLE automation server is probably incorrect for some reason. When you run the setup program, CODE is registered as OLE automation server automatically. If this action failed, a call of the server in VisualBasic does not work. In this case you can do the registration manually.
Start a Windows command line by clicking on the Windows key on your keyboard followed by the letter ‘r’ (for run). You must have administrator rights to do registrations. If you are logged-in as a normal user, you can right-click the command line in ‘Start/accessories’ and select the option ‘Run as administrator’. Once the command line is available, type in the command
“c:\program files\code.exe” /regserver
where you should make sure that you use the double quotes as shown. The path of the program file code.exe must be adapted to your system, of course, i.e. it should point to the location of your code program.
If you work with different CODE versions on one computer, you might want to use the command
“c:\another_installation_folder\code.exe” /unregserver
in order to explicitly de-register a code program as OLE server.

Difference spectra

How can I display the difference of simulated and measured spectra?

Sometimes it is advantageous to inspect the difference of simulated and measured spectra in order to find out about appropriate model extensions. Please read the instructions below to activate the drawing of difference spectra.

Open the spectrum for which you want to see the difference with a right-click in the treeview. Select the local menu command File/Options/Difference/Show to turn on the difference display. This menu item is a checked property: Clicking on it changes its status from checked to unchecked or vice-versa.

The additional menu commands File/Options/Difference/Pen and File/Options/Difference/Line mode are used to control the appearance of the difference curve. Use these settings to clearly separate the difference curve from the simulated and measured spectra. You can use, for example, pen 3 (green by default) and line mode 3 (dashed).

No import routine

There is no import routine for my spectra. How can I get my data into the software?

If there is not import routine for your type of spectra, you should check first if your spectrometer system can export the spectra in a format which is recognized by our software. Most spectrometer packages can generate tables of the measured data in ASCII format which can be imported using the ‘xy-format’.

In desperate cases you can ask us to write an import routine for your type of spectra. We can do this if we get a description of the data format, and if it can be done with a reasonable amount of effort.

Store to database

How do I store optical constants in the database?

Make sure that the material object you want to store to the database is in good shape: It will appear in the database like it is formatted at this time. Select a proper name and color for the object.

In the treeview, open the subbranches of ‘Materials’ by clicking on the small ‘+’ sign. The materials in your configuration are now visible as treeview items, including the one you want to enter into the database.

Now right-click the treeview item ‘Optical constant database’ so that the content of the database appears on the right side.

Finally, drag the treeview line of the wanted material to the area on the right which displays the database items, and drop it there. You will have to answer a few questions about the object generation (i.e. program version) of the database item (select a version that every potential user of the database can read), your name and a database comment. Once you have answered all questions the new database item is available for future use.

Absorption

How does the software compute the absorption coefficient?

When the software re-computes optical constants, the so-called dielectric function is computed first. This material quantity (a complex number with real and imaginary part) connects the electric field of the light wave to the polarization that is caused in the material.

In order to compute the reflection and transmission properties of interfaces between two adjacent materials, the complex square root of the dielectric function is needed. This is called the refractive index. The real part is usually denoted as n, the imaginary part as k. Whereas the real part contains information about the speed of light in the material, the imaginary part is responsible for absorption.

The absorption coefficient alpha, finally, is the exponent of the intensity decay of a light wave traveling through the material, i.e. the intensity decays proportional to exp(-alpha*x) where alpha = 4*pi*k*wavenumber. The wavenumber is the inverse of the wavelength, usually measured in cm.

Master model

The list of materials offers the object type ‘Master model’. What’s that?

Master models are based on the object type ‘Dielectric function model’, i.e. they are used to compute optical constants using a user-defined set of susceptibility terms. In addition, master models have built-in so-called master parameters (you can use up to 6 of them) which can be used to compute selected parameters of the optical constant model as ‘slave parameters’.

A typical application of a master model is this: Suppose you are producing an oxide by a deposition process which can end up in various oxygen concentrations in a layer. If you describe the optical constants with an OJL model, the OJL parameters like bandgap or strength will then depend on the oxygen content of your material. In such a case you can define a master parameter ‘Oxygen content’ and compute the values for the bandgap and strength based on the oxygen content of a particular sample. In order to do this you must know the relations, of course. You can apply user-defined formulas (bandgap vs. oxygen content, for example) or lookup tables which you can generate after a batch analysis of several samples with different oxygen content.
Sometimes it is convenient to apply master parameters just to re-scale parameters. For example, if you do not like to enter bandgaps in wavenumbers, you can define a master parameter that gives the bandgap in eV, and then re-compute the OJL bandgap (which must be specified in wavenumbers for historical reasons) as a slave parameter (like OJL_bandgap = bandgap_eV* 8065).

Warning:
The SCOUT and CODE software contain a list of global master parameters in their treeview which are used to connect and control any parameter of the optical model in these programs. Please try not to mix up global master parameters and the individual master parameters of master models.

Model selection

How do I select the right model for the optical constants?

Selecting appropriate optical constant models with the right number of parameters is difficult and requires some experience. The choice depends – first of all – on the material and also on the spectral range of interest.

In the infrared the choice is rather easy: Use a constant refractive index, and add for each clearly visible vibrational mode a Kim oscillator. If you have free charge carriers (i.e. you deal with a metal or a doped semiconductor) you should add a simple Drude model (in case of highly doped semiconductors use an enhanced Drude model instead).

In the NIR, visible or UV the right choice is not so simple. Here you can be guided by the following rules of thumb:

Metals:
Use a constant to represent high energy interband transitiions. For every interband transition causing structure in the wanted spectral range use a Tauc-Lorentz or an OJL term. Take a Drude model for the free electrons.

Semiconductors (crystalline):
Combine a constant and Tauc-Lorentz terms for interband transitions. Add a Drude model for low doped materials. In the case of high doping levels use an extended Drude model.

Semiconductors (amorphous):
Setup a model like for crystalline semiconductors (see above) but replace the Tauc-Lorentz terms by OJL terms.

Oxides and Nitrides:
Combine a constant and an OJL term. If the OJL term alone cannot generate the right absorption and dispersion, you should add a harmonic oscillator in the far UV (resonance frequency 60000 1/cm, oscillator strength in the range 10000 … 100000 1/cm, damping 1 1/cm). In the fitting procedure the harmonic oscillator parameters should be kept fixed with the exception of the oscillator strength.

Organic materials:
Combine a constant, an OJL model and Kim oscillators. Whereas the OJL model is used to describe the ‘fundamental absorption’ in the UV, the Kim oscillators should represent absorption bands in the visible and NIR.

!!! Please note that OJL and Tauc-Lorentz terms may not be inserted in the susceptibility list as the other models. Instead, they have to be used within a KKR susceptibility object. !!!