Tight binding

The object tight-binding defines the tight-binding structure of a crystal or a molecule, including the onsite energy of spin-orbitals and the local and non-local hopping among the spin-orbitals. The tight-binding object can be created directly in Lua using the function NewTightBinding() or can be generated from the output of DFT calculation (see, for example, TightBindingDefFromDresdenFPLO()). The tight-binding objects are used to more efficiently generate cluster Hamiltonians (see CreateClusterHamiltonian()).

For more details see the properties of tight-binding objects.

Example.Quanty
-- set parameters
dAB = 0.2
tnn = 1.1
-- create the tight binding Hamiltonian
HTB = NewTightBinding()
HTB.Name = "dichalcogenide tight binding"
HTB.Cell = {{sqrt(3),0,0},
            {sqrt(3/4),3/2,0},
            {0,0,1}}
HTB.Atoms = { {"A", {0,0,0},       {{"p", {"0"}}}},
                {"B", {sqrt(3),1,0}, {{"p", {"0"}}}}}
HTB.Hopping = {{"A.p","A.p",{         0,   0,0},{{-dAB/2}}},
                {"B.p","B.p",{         0,   0,0},{{ dAB/2}}},
                {"A.p","B.p",{         0,   1,0},{{ tnn  }}},
                {"B.p","A.p",{         0,  -1,0},{{ tnn  }}},
                {"A.p","B.p",{ sqrt(3/4),-1/2,0},{{ tnn  }}},
                {"B.p","A.p",{-sqrt(3/4), 1/2,0},{{ tnn  }}},
                {"A.p","B.p",{-sqrt(3/4),-1/2,0},{{ tnn  }}},
                {"B.p","A.p",{ sqrt(3/4), 1/2,0},{{ tnn  }}}
                }
 
print("Tight-binding object:")
print(HTB)
 
print("create a periodic cluster Hamiltonian with 4 unit-cells along the z-axis:")
HCl = CreateClusterHamiltonian(HTB, {"periodic", {{1,0,0},{0,1,0},{0,0,4}}})
print(HCl)

Tight-binding object:
 
Settings of a tight binding model: dichalcogenide tight binding
 
printout of Crystal Structure
Units: 2Pi (g.r=2Pi) Angstrom Absolute atom positions
Unit cell parameters:
a:       1.7320508       0.0000000       0.0000000
b:       0.8660254       1.5000000       0.0000000
c:       0.0000000       0.0000000       1.0000000
Reciprocal latice:
a:       3.6275987      -2.0943951       0.0000000
b:       0.0000000       4.1887902       0.0000000
c:       0.0000000       0.0000000       6.2831853
Number of atoms 2
#   0 | A ( 0 ) at position {       0.0000000 ,       0.0000000 ,       0.0000000 }
      | p shell with 1 orbitals { 0 }
#   1 | B ( 5 ) at position {       1.7320508 ,       1.0000000 ,       0.0000000 }
      | p shell with 1 orbitals { 0 }
Containing a total number of 2 orbitals
Hopping definitions ( 8 )
Hopping from 0 : A - p to 0 : A - p with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00  0.00000000E+00  0.00000000E+00 })
Matrix =
Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums])
          [           0]
[     0] -1.00000000E-01 
 
Hopping from 1 : B - p to 1 : B - p with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00  0.00000000E+00  0.00000000E+00 })
Matrix =
Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums])
          [           0]
[     0]  1.00000000E-01 
 
Hopping from 0 : A - p to 1 : B - p with translation vector in unit cells: { -1 , 0 , 0 } ({ 0.00000000E+00  1.00000000E+00  0.00000000E+00 })
Matrix =
Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums])
          [           0]
[     0]  1.10000000E+00 
 
Hopping from 1 : B - p to 0 : A - p with translation vector in unit cells: { 1 , 0 , 0 } ({ 0.00000000E+00 -1.00000000E+00  0.00000000E+00 })
Matrix =
Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums])
          [           0]
[     0]  1.10000000E+00 
 
Hopping from 0 : A - p to 1 : B - p with translation vector in unit cells: { 0 , -1 , 0 } ({ 8.66025404E-01 -5.00000000E-01  0.00000000E+00 })
Matrix =
Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums])
          [           0]
[     0]  1.10000000E+00 
 
Hopping from 1 : B - p to 0 : A - p with translation vector in unit cells: { 0 , 1 , 0 } ({-8.66025404E-01  5.00000000E-01  0.00000000E+00 })
Matrix =
Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums])
          [           0]
[     0]  1.10000000E+00 
 
Hopping from 0 : A - p to 1 : B - p with translation vector in unit cells: { -1 , -1 , 0 } ({-8.66025404E-01 -5.00000000E-01  0.00000000E+00 })
Matrix =
Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums])
          [           0]
[     0]  1.10000000E+00 
 
Hopping from 1 : B - p to 0 : A - p with translation vector in unit cells: { 1 , 1 , 0 } ({ 8.66025404E-01  5.00000000E-01  0.00000000E+00 })
Matrix =
Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums])
          [           0]
[     0]  1.10000000E+00 
 
 
 
create a periodic cluster Hamiltonian with 4 unit-cells along the z-axis:
 
Operator: Operator
QComplex         =          0 (Real==0 or Complex==1 or Mixed==2)
MaxLength        =          2 (largest number of product of lader operators)
NFermionic modes =          8 (Number of fermionic modes (site, spin, orbital, ...) in the one particle basis)
NBosonic modes   =          0 (Number of bosonic modes (phonon modes, ...) in the one particle basis)
 
Operator of Length   2
QComplex      =          0 (Real==0 or Complex==1)
N             =         16 (number of operators of length   2)
C  0 A  0 | -1.00000000000000E-01
C  1 A  1 |  1.00000000000000E-01
C  0 A  1 |  3.30000000000000E+00
C  1 A  0 |  3.30000000000000E+00
C  2 A  2 | -1.00000000000000E-01
C  3 A  3 |  1.00000000000000E-01
C  2 A  3 |  3.30000000000000E+00
C  3 A  2 |  3.30000000000000E+00
C  4 A  4 | -1.00000000000000E-01
C  5 A  5 |  1.00000000000000E-01
C  4 A  5 |  3.30000000000000E+00
C  5 A  4 |  3.30000000000000E+00
C  6 A  6 | -1.00000000000000E-01
C  7 A  7 |  1.00000000000000E-01
C  6 A  7 |  3.30000000000000E+00
C  7 A  6 |  3.30000000000000E+00

Table of contents

Print/export