  GenL is a flexible program that can be used to simulate and/or fit x-ray
diffraction data from epitaxial thin films exhibiting Laue oscillations. It
utilizes differential evolution within a genetic algorithm for the fitting of
data and is based on the kinematic theory of diffraction. 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 Licence.
