This is an old revision of the document!
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