GenL: An extensible fitting program for Laue oscillations and whole pattern fitting
Anna L. Ravensburg, Johan Bylin, Vassilios Kapaklis, Gunnar K. Pálsson
Abstract
GenL is a flexible program that can be used to simulate and/or fit X-ray reflectivity and X-ray diffraction data from epitaxial thin films exhibiting, for example, Laue oscillations. It utilizes a differential evolution within a genetic algorithm for fitting data and uses a modular approach based on either the kinematic theory of diffraction or the dynamic theory. Effects of polarization, absorption, the Lorentz factor, as well as instrumental resolution and lattice vibrations are taken into account. Useful parameters that can be extracted after fitting include atomic interplanar spacings, number of coherently scattering atomic planes, strain profiles along the film thickness, and crystal roughness. The program has been developed in MATLAB and employs a graphical user interface. The deployment strategy is twofold, whereby the software can either be obtained in source code form and executed within the MATLAB environment, or as a pre-compiled binary for those who prefer not to run it within MATLAB. Finally, GenL can be easily extended to simulate multilayered film systems, superlattices, and films with atomic steps. The program is released under the GNU General Public License.
