This paper proposes a new software implementation for the rapid development and deployment of computer simulations of reflection high-energy electron diffraction (RHEED) intensity oscillations during the growth of thin epitaxial films. The calculations are based on the kinematical approximation. In this model the RHEED intensity oscillations from growing layers is considered as an effect of changes of surface roughness. New version program summaryProgram Title: growth22CPC Library link to program files:https://doi.org/10.17632/zkpwhrrfng.1Licensing provisions: GNU General Public License 3Programming language: C++Journal reference of previous version: Computer Physics Communications 170 (2005) 265–286Does the new version supersede the previous version?: YesReasons for the new version:The previous version of the program was written in Object Pascal [1]. This programming language is no longer popular in the scientific community. Responding to user's feedback, the current distribution of the software has been implemented in C++. This version implements improvements for ergonomics, computational performances and code readability. In addition, the output generated by the growth22 (saved in the coverageProfiles.dat file) can be used directly by program [2].Summary of revisions:The growth22 is written in standard C++, therefore one can use the GNU g++ compiler or any ANSI C++ compliant compiler to build the executable program. The code is distributed in the form of one growth22.cpp source file. A Table 1 lists the retired Object Pascal procedures and shows replacements by C++ functions. The present version of the program enables the user to easily manage the input data. Input data are loaded from a manually prepared inputData.dat text file where the user provides information on the parameters of the simulation, i.e. the growth model, the number of growing layers, the upper limit of growth time interval, the values of the phenomenological parameters that measure the net rate of transfer from one layer to the next, and the values of the growth rate for each layer. The user can edit this file as per the requirement of the problem domain. Details of the parameters in the sample inputData.dat file are described in the readme.pdf file provided with the software.The nature of problem:Generally, in order to explain the experimental data two theories—kinematical and dynamical—associated with high-energy electron diffraction in epitaxial layers are used. The dynamical theories take into account multiple scattering within the crystal and are used whenever diffraction from a perfect epitaxial layers is considered [3]. On the other hand, the kinematical theory treats the scattering from each plane in the crystal sample as being independent of others [1,4].In the kinematical theory of RHEED it is assumed that electron wave scatters from atom in the surface layer only once and then interferes with waves scattered on other atoms. This model can be used to describe diffraction effects for small angles of incidence, when the electron beam does not penetrate the deeper layers of the crystal. In the kinematical model the intensity oscillations of specularly reflected electron beam from growing layer is considered as an effect of changes of surface roughness.In this paper we present a time-efficient computer model for kinematical calculations of RHEED intensity oscillations during the growth of thin epitaxial films.The method of solution:According to kinematical approximation the diffracted-beam intensity is given by [4]:(1)I(S‖→=0,Sz)=|∑n=0∞(θn−θn+1)exp(−iSznd)|2 where S→ is the scattering vector, d is the interlayer spacing and n is an integer. θn−θn+1 is the exposed layer coverage which is treated as the atomic distribution function gives the position of surface atoms. For Sz=π/d Eq. (1) simplifies to:(2)I=|∑n=0∞(θn−θn+1)cos(nπ)|2.Variation of the coverage ratio θn of the nth surface layer is modelled by a set of non-linear differential equations [1,4]. The Cash-Karp fifth-order Runge-Kutta method [5] with error estimation and adaptive stepsize control was used for solving initial value problem for non-linear differential equations [6]. The absolute and relative error tolerances and number of integration intervals are fully user-configurable.The proposed code approaches the modelling of RHEED from two different points of view, i.e. the data and functional perspectives. The data perspective (i.e. calculating the layer coverages as a function of their growth time) is used to characterize the data sources of the program whereas the functional perspective includes services provided by the program. It should be noted that the perspective of the data can be expressed by a completely different model introduced by the user.The coverage evolution curves for the diffusive growth model, corresponding kinematical diffracted intensity and total roughness of the surface are shown in Fig. 1. During the numerical calculations showed in Fig. 1 it was assumed that the number of growing layers (numLayers) equals 15, the upper limit of growth time interval (tMax) equals 12, the growth rate equals 1 MLs−1 (for all layers), and the values of the parameter kn (that determines the amount of interlayer diffusion) changing according to the linear relation:(3)kn=k1−(k1−kN)n−1N−1, where N is the total number of growing layers.
Read full abstract