Personal Information

Other Contact Information:

email :


Home > Resources > Prismatic

Prismatic Software For STEM Simulation - Documentation, tutorials, and ...

CPU / GPU software for fast simulation of Scanning Transmission Electron Microscopy (STEM) experiments


Prismatic is the name of our simulation code which performs quantum-mechanical simulation of images and diffraction patterns for scanning transmission electron microscopy (STEM). STEM experiments are routinely used for atomic-resolution imaging of samples in materials science and other fields. STEM simulations are difficult primarily because of the "scanning" aspect, where the electron probe is moved over the sample surface - each new probe location requires a full multiple-scattering simulation, and STEM images often contain millions of pixels.

Prismatic is a CUDA/C++/Python software package for fast image simulation in scanning transmission electron microscopy (STEM) and high-resolution transmission electron microscopy (HRTEM). It includes parallel, data-streaming implementations of both the plane-wave reciprocal-space interpolated scattering matrix (PRISM) and multislice algorithms using multicore CPUs and CUDA-enabled GPU(s), in some cases achieving accelerations as high as 1000x or more relative to traditional methods. Prismatic is fast, free, open-sourced, and contains a graphical user interface.

Prismatic is an implementation of two related algorithms for STEM and HRTEM simulation:

  • Multislice

    In this method, we use first compute the projected potentials from a set of atomic coordinates. Next, for all STEM probes, we solve the Schrodinger equation for fast electrons using a split-step method, where we alternate between the transmission operator (which gives the phase shift atoms impart onto the electron wave) and the propagation operator (describing free-space propagation of the electron wave).

  • PRISM

    Multslice STEM simulations can be quite slow, because the scattering of each new STEM probe is recomputed from scratch. An alternative is to use the multislice method to compute a scattering matrix, which is then used to construct each STEM probe. This algorithm often requires roughly the same computational time as the mutlislice method, but also allows for huge speed-ups by using Fourier interpolation of the scattering matrix. Thus we call this approach the plane-wave recriprocal-space interpolated scattering matrix (PRISM) algorithm.

Website: Prismatic Software For STEM Simulation(prism-em.com)