Multislice
The multislice algorithm is a method for the simulation of the elastic interaction of an electron beam with matter, including all multiple scattering effects. The method is reviewed in the book by Cowley. The algorithm is used in the simulation of high resolution Transmission electron microscopy micrographs, and serves as a useful tool for analyzing experimental images. Here we describe relevant background information, the theoretical basis of the technique, approximations used, and several software packages that implement this technique. Moreover, we delineate some of the advantages and limitations of the technique and important considerations that need to be taken  into account for real-world use. Background. The multislice method has found wide application in electron crystallography. The mapping from a crystal structure to its image or diffraction pattern has been relatively well understood and documented. However, the reverse mapping from electron micrograph images to the crystal structure is generally more complicated. The fact that the images are two-dimensional projections of three-dimensional crystal structure makes it tedious to compare these projections to all plausible crystal structures. Hence, the use of numerical techniques in simulating results for different crystal structure is integral to the field of electron microscopy and  crystallography. Several software packages exist to simulate electron micrographs. There are two widely used simulation techniques that exist in literature: the Bloch wave method, derived from Hans Bethe's original theoretical treatment of the Davisson-Germer experiment, and the multislice method. In this paper, we will primarily focus on the multislice method for simulation of diffraction patterns, including multiple elastic scattering effects. Most of the packages that exist implement the multislice algorithm along with Fourier analysis to incorporate electron lens aberration effects to determine electron microscope image and address aspects such as phase contrast and diffraction contrast. For electron microscope  samples in the form of a thin crystalline slab in the transmission geometry, the aim of these software packages is to provide a map of the crystal potential, however this inversion process is greatly complicated by the presence of multiple elastic scattering. The first description of what is now known as the multislice theory was given in the classic paper by Cowley and Moodie. In this work, the authors describe scattering of electrons using a physical optics approach without invoking quantum mechanical arguments. Many other derivations of these iterative equations have since been given using alternative methods, such as Greens  functions, differential equations, scattering matrices or path integral methods. A summary of the development of a computer algorithm from the multislice theory of Cowley and Moodie for numerical computation was reported by Goodman and Moodie. They also discussed in detail the relationship of the multislice to the other formulations. Specifically, using Zassenhaus's theorem, this paper gives the mathematical path from multislice to 1. Schroedingers equation (derived from the multislice), 2. Darwin's differential equations, widely used for diffraction contrast TEM image simulations - the Howie-Whelan equations derived from the multislice. 3. Sturkey's scattering matrix method. 4. the free -space propagation case, 5. The phase grating approximation, 6. A new "thick-phase grating" approximation, which has never been used, 7. Moodie's polynomial expression for multiple scattering, 8. The Feynman path-integral formulation, and 9. relationship of multislice to the Born series. The relationship between algorithms is summarized in Section 5.11 of Spence (2013), (see Figure 5.9). Theory. The form of multislice algorithm presented here has been adapted from Peng, Dudarev and Whelan 2003. The multislice algorithm is an approach to solving the Schrödinger wave equation: formula_1 In 1957, Cowley and Moodie showed that the Schrödinger equation can be  solved analytically to evaluate the amplitudes of diffracted beams. Subsequently, the effects of dynamical diffraction can be calculated and the resulting simulated image will exhibit good similarities with the actual image taken from a microscope under dynamical conditions. Furthermore, the multislice algorithm does not make any assumption about the periodicity of the structure and can thus be used to simulate HREM images of aperiodic systems as well. The following section will include a mathematical formulation of the Multislice algorithm. The Schrödinger equation can also be represented in the form of incident and scattered wave as: formula_2 where formula_3 is the  Green's function that represents the amplitude of the electron wave function at a point formula_4 due to a source at point formula_5. Hence for an incident plane wave of the form formula_6 the Schrödinger equation can be written as We then choose the coordinate axis in such a way that the incident beam hits the sample at (0,0,0) in the formula_7-direction, i.e., formula_8. Now we consider a wave-function formula_9 with a modulation function formula_10 for the amplitude. Equation () becomes then an equation for the modulation function, i.e., formula_11. Now we make substitutions with regards to the coordinate  system we have adhered, i.e., formula_12 and thus formula_13 and convergence. This program is good to use if one already has structure files for a material that have been used in other calculations (for example, Density Functional Theory). These structure files can be used to general X-Ray structure factors which are then used as input for the PTBV routine in NUMIS. Microscope parameters can be changed through the MICROVB routine. MacTempas. This software is specifically developed to run in Mac OS X by Dr. Roar Kilaas of Lawrence Berkeley National Laboratory. It is designed to have a user-friendly  user interface and has been well-maintained relative to many other codes (last update May 2013). It is available (for a fee) from here. JMULTIS. This is a software for multislice simulation was written in FORTRAN 77 by Dr. J. M. Zuo, while he was a postdoc research fellow at Arizona State University under the guidance of Prof. John C. H. Spence. The source code was published in the book of Electron Microdiffraction. A comparison between multislice and Bloch wave simulations for ZnTe was also published in the book. A separate comparison between several multislice algorithms at the year of  2000 was reported. QSTEM. The Quantitative TEM/STEM (QSTEM) simulations software package was written by Professor Christopher Koch of Humboldt University of Berlin in Germany. Allows simulation of HAADF, ADF, ABF-STEM, as well as conventional TEM and CBED. The executable and source code are available as a free download on the Koch group website. STEM-CELL. This is a code written by Dr Vincenzo Grillo of the Institute for Nanoscience (CNR) in Italy. This code is essentially a graphical frontend to the multislice code written by Kirkland, with more additional features. These include tools to generate complex crystalline structures , simulate HAADF images and model the STEM probe, as well as modeling of strain in materials. Tools for image analysis (e.g. GPA) and filtering are also available. The code is updated quite often with new features and a user mailing list is maintained. Freely available on their website. DR. PROBE. Multi-slice image simulations for high-resolution scanning and coherent imaging transmission electron microscopy written by Dr. Juri Barthel from the Ernst Ruska-Centre at the Jülich Research Centre. The software comprises a graphical user interface version for direct visualization of STEM image calculations, as well as a bundle of  command-line modules for more comprehensive calculation tasks. The programs have been written using Visual C++, Fortran 90, and Perl. Executable binaries for Microsoft Windows 32-bit and 64-bit operating systems are available for free from the website. clTEM. OpenCL accelerated multislice software written by Dr. Adam Dyson and Dr. Jonathan Peters from University of Warwick. clTEM is under development as of October 2019. cudaEM. cudaEM is a multi-GPU enabled code based on CUDA for multislice simulations developed by the group of Prof. Stephen Pennycook.