
TWISTER is a python package that helps you construct 
commensurate superlattices on introducing a twist between 
2D materials. If you use this package please cite the following 
paper for which this code was developed:
"Ultraflatbands and Shear Solitons in Moire Patterns of Twisted Bilayer
Transition Metal Dichalcogenides", Phys. Rev. Lett. 121, 266401 (2018) 
(https://doi.org/10.1103/PhysRevLett.121.266401)

We also provide registry-dependent Kolmogorov-Crespi interlayer potentials
and LAMMPS input files in the KC_ilp/ folder. If you use these potentials 
please cite the following paper:
"Kolmogorov-Crespi Potential For Multilayer Transition Metal Dichalcogenides: 
Capturing Structural Transformations In Moiré Superlattices", arXiv:1903.09920
(https://arxiv.org/abs/1903.09920) 

-------------------------------------------------------------
DEPENDENCIES:

python with Numpy and Matplotlib
-------------------------------------------------------------
HEXAGONAL LATTICES:

For twist angles close to 0 degrees: 

Start with AA stacking of the two layers. The commensurate 
angles are given by:

theta_i = arccos((3*i**2 + 3*i + 0.5)/(3*i**2 + 3*i + 1)) - (1)
(https://doi.org/10.1103/PhysRevLett.99.256802)

for i = 0,1,2,3...

Larger the i, the closer you get to 0 degrees. 

Please look at examples/README for steps on how to run 
the code.

Also see examples/MoS2/ and examples/Graphene
.............................................................

For twist angles close to 60 degrees: 

Start with Bernal/AB stacking of the two layers. Note that the Bernal 
stacking is a 60 degree twist of the AA stacking. Thus, 
starting with a 60 degree stacking, we twist by the same angle  
(1) as above to generate commensurate angles close to 60.

Larger the i, the closer you get to 60 degrees.

Please look at examples/README for steps on how to run 
the code.

Also see examples/MoS2/ and examples/Graphene

------------------------------------------------------------
ORTHORHOMBIC LATTICES and HETEROSTRUCTURES

Under construction.
