PyAtoms simulation (2048 x 2048 px, 40 x 40 nm) of twisted bilayer graphene (a = 0.246 nm, twist = 1.3°).
Scanning probe measurements are notoriously time-consuming, with topographic images taking mintes to hours and spectroscopic mapping data taking several days. Often it is crucial to know a priori the correct image resolution in order to satisfy the Nyquist relations to capture relevant scattering patterns in Fourier-transformed STM images in reciprocal space. Additionally, when measuring 2D systems that display a moiré pattern — a super-lattice pattern originating from the combination of two or more lattices — it is helpful to have a tool for simulating SPM images in real-time in order to quickly extract the experimental lattice parameters, such as the local twist and/or lattice constants. To address this, we created PyAtoms, an open-source Python-based graphical user interface (GUI) that simulates atomic, charge density wave, and moiré lattices and super-lattices in real time.
We purposely made PyAtoms user-friendly but incredibly robust, with the ability to simulate square and triangular lattices, the ability to shift the lattice origin, the ability to stack up to 3 atomic lattices, and to deform independent lattices to mimic strain or image drift. PyAtoms is also a powerful educational tool for understanding atomic lattices and their Fourier transforms in real- and reciprocal-space and has been used in senior-level Introduction to Solid State Physics courses at UCLA. More information about PyAtoms is available on GitHub. A preprint describing the theoretical underpinnings of PyAtoms can be found here.
Download PyAtoms here.
PyAtoms was created by former undergraduate (and current UCLA NSF-GRFP) Asari Prado and Prof. Gutiérrez with financial support from the APS Bridge Program, UCLA Cota-Robles Fellowship, and teaching relief support from the UCLA offices of the Executive Vice Chancellor and Provost.
Screenshot of the PyAtoms graphical user interface.
Left: Experimental STM image of highly-ordered pyrolitic graphite (HOPG) using an asymmetric tip that produces an image displaying both A- and B-sublattices.
Right: PyAtoms simulation of a honeycomb structure with A- and B-sublattice amplitudes tuned to match experiment.
Simulations (512 x 512 px, 10 nm) of the nearly commensurate (3 x 3)R0° charge density wave in 2H-NbSe2 with varying CDW phase: Se-site centered (left) or Se-bond centered (right).
The phase is set in PyAtoms by choosing the origin for the triangular CDW lattice: at a Se site or a Se-Se bond.
Top: Experimental measurement of NbSe2 showing a CDW phase gradient from bond- to site-centered from Sanna et al, npj Quantum Materials 7, 6 (2022).
Bottom: PyAtoms simulation of this phase gradient by adding a small discommensuration term, δ, so that the CDW superlattice is given by (3 + δ)x(3 + δ)R0°.