  Analysis of measured X-ray diffraction (XRD) data from heterostructures with
fitting analysis is discussed, for which computer program was written. Lattice
constant and Poisson's ratio of a multi-compound layer is calculated from
Vegard's law. Layers are strained in in-plane direction causing additional
strain in out-of-plane direction and may be only partially strained. For
crystals, wavelength-dependent electric susceptibility is represented as
Fourier series, components of which are calculated from atomic scattering
factors, H\"onl anomalous dispersion correction terms and Debye-Waller factor.
XRD intensity from heterostructures as a function of angle is calculated with
dynamical diffraction theory using Takagi-Taupin differential equation solution
in form of recursive equations. XRD measurements are analyzed by fitting a
simulated XRD curve to the measured XRD curve. Inverse problem related to curve
fitting is solved with differential evolution where principal component
analysis is used to reduce interparameter dependencies. For measurement
analysis a software was written with Java/Matlab, user interface (UI) of which
was designed by taking into account feedback from users. With UI, it is really
easy to build a layer model, parameters of which are obtained by fitting a
simulation to measurement. Software is also able to use GNU Octave and
therefore works without requiring any commercial components. Operability of
simulation code of XRD curves was tested by comparing the curves simulated by
it with curves simulated by 2 other software using single/multilayer InGaAs,
GaAs and GaAsN structures. Software was tested by analyzing a measurement
series having been published previously. Software was observed to produce
results similar to other software and the fitting algorithm was observed to
work efficiently.
