I am getting crazy. Nothing works and ReMagX is always crashing

Keep cool. The program is work in progress and there will be always bugs. Write a brief bug report and sent it to the author of the program. If possible sent the .all file too.

I cannot import my data. I get some errors about wrong lines or wrong import format. But everything seems alright

Check the number format in Windows. Especially the decimal point and use this format for importing data. The program is well tested by using the “.” as decimal point. Most of the other files, like optical constants files are working only with “.” as decimal point.

What algorithm is the best suited for my problem?

The best option is to begin with Parratt to make the structural fits and then use Zak- or the matrix-formalism to refine the model.

I cannot get a good fit of my reflectivity curve. What I am doing wrong?

The 5 main errors in descending order are.

  1. Wrong model for the film. Keep in mind that most films are not ideal. Even if the crystal structure is known there can be some oxidized layers at the substrate and at the top of the film. For good fits such additional films have to be taken into account.
  2. Wrong optical constants. In the perfect case the optical constants should not be fitted. Instead one should take some tabulated values (look in the tutorial and the link section for more information). Of course this is only possible if the density and the chemical formula of the films is known. Keep in mind the tabulated values are only valid far off-resonant.
  3. Wrong measurement parameters. Take a look if you have chosen the correct energy and polarization of the incident ray. Did you calculate the momentum transfer qz correctly.
  4. The fit parameters have some limits given in the tab “parameters”. Maybe the limits have to be changed.
  5. Wrong measurement. This could be wrong alignment, non-linearities of the photon counts or a background signal not subtracted from the measuremnt.
What is kinematical or first order Born approximation in reflectometry

The kinematical approximation is another very easy way to calculate reflectivity spectra. Actually it uses following approximations.

  1. Considering just the real part (delta) of the refractive index. In this approximation delta is proportional to the electron density.
  2. Multiple scattering is neglected.
  3. Polarization of the light is neglected.

The main advantage is that one obtains an easy analytical formula in which the reflectivity is expressed as the Fourier transformation of the z-derivative of the electron density. In principle the reflectivity curve can be inverted to get the density profile. (see e.g. K.-M. Zimmermann, W. Press, Phase determination of x-ray reflection coefficients, Physical Review B 62, 15 (2000)). The major drawback is the usable energy range in which the absorption is very small. e. g. off-resonant hard X-rays. In soft X-rays the absorbing part of the refractive index could be too large. If there is demand to implement this inversion algorithm don't hesitate to ask.

In the polarization tab you define two polarization. What meaning has the second polarization?

The second beam is used in the two calculation modes dichroic and asymmetry. It just means that in one calculation the ray has polarization 1 and in the other one polarization 2. In dichroic mode this means that the two separate reflectivities are calculated and plotted. The asymmetry mode does the same but in this case the weighted differences of these two curves are plotted. The matrix-formalisms are faster as they depend on the incoming polarization only in the last step of the calculation. In the Parratt-Formalism the whole algorithm have to run two times.