All posts by Wolfgang

Several bugfixes

We have removed an irritating “feature” which had caused some trouble in the past: If you worked with KKR susceptibilities and had already selected some of the interband transition parameters as fit parameters, it was not possible to insert new interband models before the existing ones without doing damage to the configuration. It was also not allowed to change the order of interband transition models. These restrictions have been removed.

It was also possible to delete an item inside a KKR susceptibility although a parameter of this item was selected as fit parameter. This caused access violation errors. This issue has been resolved as well.

Pressing F7 to switch from the treeview level back to the main view caused access violations in some cases (without doing damage – it was just annoying). This has been fixed.

Editing objects sometimes means to go through several user dialogs. The behaviour of the ‘Cancel’ button has been changed in some cases: It used to cancel the current dialog and jump to the next one – now a click on ‘Cancel’ shuts down the edit operation completely.

Color fluctuation – bugfix and new feature

The integral quantity “Color fluctuation” computes the variation of color in the case of thickness fluctuations of a layer stack. Up to now the size of the “Color cloud” is computed using distances in L*, a*, b* space. You have now the additional option to compute the distance in the a*,b* plane only, neglecting fluctuations for L*.

In addition, we have removed a bug in the computation: Be aware that the values computed with the new version are different from the ones calculated with previous versions – sorry!

New ellipsometry import routine

Ellipsometry objects can now import data saved in *.pae files by SOPRA ellipsometers.

Although the angle of incidence is stored in such files the value of the angle of incidence of the ellipsometry object (which is used for the computation of simulated data) is not changed. This way you can import data measured at 70°, for example, and still do the computations for 69.9° – a small difference is sometimes  necessary to correct for experimental uncertainties.

Updated import routine

The import routine for text files (xy-format) has been improved to allow to read data from files with several data columns. If you use this routine in batch operations or through OLE automation, you can now specify the column to read from as input option. Option = 1 means to read from the first column, option = 3 reads from the 3rd.

Angular color: New visualization

The angular dependence of the color of coatings can now be visualized in more ways. In addition to charts showing the variation of L*, a* and b* with angle you can now use a direct visualization of color in the main view.

You can introduce a colored background of the chart or show the appearance of a coated cylinder as shown in the example below. Like all view elements you have instant update if a parameter slider is moved.

bragg reflector

Bugfix SQL export of results

While processing new results the main application brein.exe was blocked if the export to an external SQL database went wrong for some reason. The new results did not arrive in BREIN at all.

Every SQL export command is now embedded in a so-called “try-finally” statement. This way the internal processing of new results should not be disturbed by SQL problems any more.

Improvement of Gervais oscillators

Certain parameter combinations of Gervais oscillators may lead to unphysical optical constants (i.e. negative imaginary part of the dielectric function). Physical meaningful solutions satisfy a sum rule for the damping constants which may be used to steer the fit into the direction of ‘good’ solutions.

The “check sum” (sum of the difference of LO damping and TO damping for all oscillators) can now be obtained as optical function. Use the optical function “my_material (Gervais_condition)” to retrieve the current value of the check sum.

In order to make use of this number in a fit you can proceed like this(this hint will work in CODE only): Generate an integral quantity of type ‘function of int. quant.’ and call it ‘Gervais check sum’. As formula to compute the value use the term “of(1)” (here it is assumed that the check sum is the first optical function). So the integral quantity is the check sum itself.

Now define a penalty shape function for this integral quantity. It should be 0 if the check sum is positive, and get large for large negative values of the check sum. An expression like “abs(y)*step(-y)y)” will do the job (in penalty shape functions for integral quantities the symbol “y” refers to the current value of the integral quantity). This way large negative values of the check sum are severely punished whereas positive values do not contribute to the fit deviation at all.

Finally activate the option “Combine fit deviations of integral quantities and spectra” in the fit options dialog (File/Options/Fit). This lets CODE simultaneously minimize the difference of measured and simulated spectra and the fit deviation of the integral quantities (which is in this case the penalty for an unphysical check sum). Eventually you have to experiment a little bit with the weight of the ‘Gervais check sum’ in the list of integral quantities in order to get a good fit.