Twisted Multilayer Builder

Generate and visualise supercells of twisted multilayer (3+ layer) 2D heterostructures

Set up a layer stack and press Generate structure.
Image
Structure

Search 2D materials databases

FormulaSourcea (Å)b (Å)γatomsthick. (Å)gap (eV)space group

Structures are DFT-relaxed monolayers from the listed databases (bundled snapshot). Some 2DMatPedia entries are hypothetical (“bottom-up”) materials. Please cite the source database for any structure you use.

Import a monolayer from a structure file

POSCAR/CONTCAR, CIF, XSF, (extended) XYZ, Quantum ESPRESSO input or ASE JSON — e.g. the structure downloads offered by C2DB, Materials Cloud, JARVIS or the Materials Project. The first two lattice vectors must span the layer; it is rotated into the xy-plane and re-joined across the periodic boundary automatically.

Method & citation

Supercells are generated with supercell-core (T. Necio & M. Birowska, AIP Advances 10, 105105 (2020), doi:10.1063/5.0023984), using a locally patched copy that fixes (1) atomic z-positions of multi-atomic-layer materials (e.g. S–W–S) and (2) needlessly large supercells for commensurate layers.

The bottom layer is the reference (substrate); twist angles θ of the other layers are measured relative to it. Layers can be linked to a shared twist θ with a multiplier k (angle = k·θ), which describes alternating (0, θ, 0, …), helical (0, θ, 2θ, …) and twisted double-stack designs with a single parameter; in search mode the shared θ is scanned and all linked layers move together. A single supercell must be commensurate with every layer at once, so stacks with several distinct angles or lattice constants usually need larger supercells. Each layer is strained so that the supercell vectors are integer combinations of its own lattice vectors. Strain tensor ε of a layer is defined by (ε + I)·aj = a′j, where aj and a′j are its unstrained and strained lattice vectors. Max. strain is Σlayers maxij|εij|, the quantity minimised by the search.

Materials databases (bundled snapshot, searchable via “Search 2D database…”): C2DB can be added from its full dataset (available from its authors on request) with tools/import_c2db.py, and individual C2DB structures can be imported as files.

Symmetry & allowed responses. The point group of the generated stack is found from its atomic positions (tolerance: auto = set by the commensuration strain, so the ideal stack’s symmetry is reported). From the point-group operations, the allowed components of the second-order susceptibility χ(2)ijk (SHG, symmetric in j,k) and of the gyration tensor gij (natural optical activity / circular dichroism) are derived, in the electric-dipole approximation for a non-magnetic structure. Axes: x along the substrate a₁, z along the stacking direction; “normal incidence” means light along z (in-plane fields). These are selection rules — they say which responses are allowed, not how strong they are.

Built-in lattice constants are approximate bulk experimental values; verify them against the source you cite. Layer spacing is set by the gap (Å) between the highest atom of one layer and the lowest atom of the next.