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)


For twists on bilayer hexagonal lattices,
we provide "hex.table" which lists all the 
commensurate twist-angles. Along with the 
superlattice vectors (m,n) and (p,q):

A1 = m*a1 + n*a2 
A2 = p*a1 + q*a2

where a1 and a2 are unit cell vectors.

To construct a super lattice:
1. Select the angle you wish to use from the table.
2. Use the corresponding twist angle (in radians), (m,n) and (p,q)
   in the input file: twist.inp (see Graphene/ and MoS2/ examples)
3. Provide the basis atoms in crystal units in a file:
   basis_pos_crys (additionally provide another basis file for 
   layer 2. See MoS2/Angle_63.48 for an example)
3. Run twister:
python path_to_Twister_1.0/src/twister.py 

The superlattice vectors in Angstroms, 
and atom positions constituting the superlattice 
are provided in superlattice.dat

Twister performs a check after execution to 
make sure the number of atoms in each layer is 
n_basis*(Area_SL/Area_UC)

n_basis: number of basis atoms, 
Area_SL: Area of superlattice and
Area_UC: Area of unit cell

Note:
1. To simulate angles close to 60 degrees, 
   you need to provide two basis files to simulate Bernal 
   stacking, and twist by a small angle in hex.table. See ../README. 
2. For very small angles, avoid plotting the lattice by using the 
   Plot_lattice flag (turn it to False) to reduce computation time.

Format of twist.inp:
# Normalized Unit cell vectors
a1:
0.5 0.8660254 0.0
a2:
-0.5 0.8660254 0.0
a3:
0.0 0.0 1.0

# Twist angle in radians
angle:
0.3802512066936

# Unit cell cell parameters in Angstroms
celldm1, celldm2, celldm3: (Angstrom)
3.148621 3.148621 35.534473883846

# Interlayer spacing to be introduced
translate_z: (Angstrom)
5.97946086263966

# Superlattice vector 1
Superlattice1: (m,n)
1 2


# Superlattice vector 2
Superlattice2: (p,q)
-2 3

# Plot the lattice and the superlattice vectors
Plot_lattice:
True
