Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
documentation:language_reference:objects:tightbinding:start [2024/09/13 21:37] Maurits W. Haverkortdocumentation:language_reference:objects:tightbinding:start [2024/09/18 14:35] (current) Sina Shokri
Line 1: Line 1:
-====== Tightbinding ======+{{indexmenu_n>999}} 
 +====== Tight binding ======
  
 ### ###
-Operators define quantum mechanical operators implemented in second quantization. The most general operator one can implement is: +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 //[[documentation:language_reference:functions:NewTightBinding|NewTightBinding()]]// or can be generated from the output of DFT calculation (seefor example//[[documentation:language_reference:functions:TightBindingDefFromDresdenFPLO|TightBindingDefFromDresdenFPLO()]]//).   
-$$ \begin{align} +The tight-binding objects are used to more efficiently generate cluster Hamiltonians (see //[[documentation:language_reference:functions:CreateClusterHamiltonian|CreateClusterHamiltonian()]]//).
-O&=\alpha^{(0,0)} \\ +
- &+\sum_{\tau} \alpha^{(0,1)}_{\tau} a^{\phantom{\dagger}}_{\tau} + \alpha^{(1,0)}_{\tau} a^{\dagger}_{\tau} \\ +
- &+\sum_{\tau_1,\tau_2} \alpha^{(0,2)}_{\tau_1,\tau_2} a^{\phantom{\dagger}}_{\tau_1}a^{\phantom{\dagger}}_{\tau_2} + \alpha^{(1,1)}_{\tau_1,\tau_2} a^{\dagger}_{\tau_1}a^{\phantom{\dagger}}_{\tau_2} + \alpha^{(2,0)}_{\tau_1,\tau_2} a^{\dagger}_{\tau_1}a^{\dagger}_{\tau_2} \\ +
-& + \sum_{\tau_1,\tau_2,\tau_3} \alpha^{(0,3)}_{\tau_1,\tau_2,\tau_3} a^{\phantom{\dagger}}_{\tau_1}a^{\phantom{\dagger}}_{\tau_2}a^{\phantom{\dagger}}_{\tau_3} + \alpha^{(1,2)}_{\tau_1,\tau_2,\tau_3} a^{\dagger}_{\tau_1}a^{\phantom{\dagger}}_{\tau_2}a^{\phantom{\dagger}}_{\tau_3}  + \alpha^{(2,1)}_{\tau_1,\tau_2,\tau_3} a^{\dagger}_{\tau_1}a^{\dagger}_{\tau_2}a^{\phantom{\dagger}}_{\tau_3}  + \alpha^{(3,0)}_{\tau_1,\tau_2,\tau_3} a^{\dagger}_{\tau_1}a^{\dagger}_{\tau_2}a^{\dagger}_{\tau_3} \\ +
-&+ \dots +
-\end{align} $$ +
-Note that as $a^{\dagger}_{\tau_1}a^{\phantom{\dagger}}_{\tau_2} = \delta_{\tau_1,\tau_2}-a^{\phantom{\dagger}}_{\tau_2}a^{\dagger}_{\tau_1}$ for Fermions and $a^{\dagger}_{\tau_1}a^{\phantom{\dagger}}_{\tau_2} = a^{\phantom{\dagger}}_{\tau_2}a^{\dagger}_{\tau_1}-\delta_{\tau_1,\tau_2}$ for Bosons the equation above allows for any operator to be definedOperator defines an object that can store the most general operator. Several methods that act on this object are implemented. Furthermore one can access several properties of Operators.  +
-###+
  
-### +For more details see the [[documentation:language_reference:objects:tightbinding:properties:start|properties]] of tight-binding objects.
-Operators can act on Fermions and Bosons. An operator //O// has //O.NF// Fermions and //O.NB// Bosons. The Fermions are indexed from //0// to //O.NF-1//, the Bosons are indexed from //O.NF// to //O.NF+O.NB-1//. +
-###+
  
 +<code Quanty 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  }}}
 +                }
  
-===== Table of contents ===== +print("Tight-binding object:") 
-{{indexmenu>.#2}}+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) 
 +</code> 
 +###
  
-==== Result ==== 
 <file Quanty_Output> <file Quanty_Output>
-text produced as output+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
 </file> </file>
  
Print/export