This is an old revision of the document!


Properties

Tight Binding objects have the following standard properties:

  • Name: a string
  • Cell: {a,b,c} defining the unit cell of the system. a, b and c are vectors of length 3 and define the uni-cell vectors.
  • Atoms: a list of atoms, their positions within the unit cell and their atomic shells (spin-orbitals). Each element has the format {Atom.Name, Atom.Position, {Atom.Shells}}.
  • Hopping: A list of local and non-local hoppings among spin-orbitals. Each element has the format {spinOrb1, spinOrb1, {a,b,c}, $\{\{t_{\downarrow, \downarrow},t_{\downarrow, \uparrow}\},\{t_{\uparrow, \downarrow}, t_{\uparrow, \uparrow}\}\}$}, where here {a,b,c} is the distance between the two atoms and $\{\{t_{\downarrow, \downarrow},t_{\downarrow, \uparrow}\},\{t_{\uparrow, \downarrow}, t_{\uparrow, \uparrow}\}\}$ defines the hopping matrix elements (in second-quantization language: $ \Sigma t_{\sigma, \sigma'} a^{\dagger}_{\sigma} a_{\sigma'} $)
  • Units: {“2Pi”, “Angstrom”, “Absolute”}
  • NF: number of fermionic modes

The Units property is a list of three strings with the following contributions:

  • Units[1]: Sets the scaling for the reciprocal lattice, e.g., $\vec{r}\cdot\vec{g}=2\pi$ for “2Pi” or $\vec{r}\cdot\vec{g}=1$ for “NoPi”.
  • Units[2]: Defines the unit of measurement as “Angstrom”, “Bohr”, or “nanometer”.
  • Units[3]: Selects “Absolute” or “Relative” for the definition of atom positions.

Once a Tight Binding object is created, all properties can be assigned except NF, which is determined by the number of orbitals defined in Atoms.

Example

description text

Input

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("HTB.Name:")
print(HTB.Name)
 
print("\nHTB.Cell:")
print(HTB.Cell)
 
print("\nHTB.Atoms:")
print(HTB.Atoms)
 
print("\nHTB.Hopping:")
print(HTB.Hopping)
 
print("\nHTB.Units:")
print(HTB.Units)
 
print("\nHTB.NF:")
print(HTB.NF)
 
-- create the tight binding Hamiltonian
HTB = NewTightBinding()
HTB.Name = "dichalcogenide tight binding (with spin)"
HTB.Cell = {{sqrt(3),0,0},
            {sqrt(3/4),3/2,0},
            {0,0,1}}
HTB.Atoms = { {"A", {0,0,0},       {{"p", {"^{dn}","^{up}"}}}},
              {"B", {sqrt(3),1,0}, {{"p", {"^{dn}","^{up}"}}}}}
HTB.Hopping = {{"A.p","A.p",{         0,   0,0},{{-dAB/2, 0}, {0, -dAB/2}}},
               {"B.p","B.p",{         0,   0,0},{{-dAB/2, 0}, {0, -dAB/2}}},
               {"A.p","B.p",{         0,   1,0},{{ tnn, 0  }, { 0, tnn  }}},
               {"B.p","A.p",{         0,  -1,0},{{ tnn, 0  }, { 0, tnn  }}},
               {"A.p","B.p",{ sqrt(3/4),-1/2,0},{{ tnn, 0  }, { 0, tnn  }}},
               {"B.p","A.p",{-sqrt(3/4), 1/2,0},{{ tnn, 0  }, { 0, tnn  }}},
               {"A.p","B.p",{-sqrt(3/4),-1/2,0},{{ tnn, 0  }, { 0, tnn  }}},
               {"B.p","A.p",{ sqrt(3/4), 1/2,0},{{ tnn, 0  }, { 0, tnn  }}}
              }
 
print("HTB.Name:")
print(HTB.Name)
 
print("\nHTB.Cell:")
print(HTB.Cell)
 
print("\nHTB.Atoms:")
print(HTB.Atoms)
 
print("\nHTB.Hopping:")
print(HTB.Hopping)
 
print("\nHTB.Units:")
print(HTB.Units)
 
print("\nHTB.NF:")
print(HTB.NF)

Result

HTB.Name:
dichalcogenide tight binding
 
HTB.Cell:
{ { 1.7320508075689 , 0 , 0 } , 
  { 0.86602540378444 , 1.5 , 0 } , 
  { 0 , 0 , 1 } }
 
HTB.Atoms:
{ { A , 
  { 0 , 0 , 0 } , 
  { { p , 
  { 0 } } } } , 
  { B , 
  { 1.7320508075689 , 1 , 0 } , 
  { { p , 
  { 0 } } } } }
 
HTB.Hopping:
Hopping
 
HTB.Units:
{ 2Pi , Angstrom , Absolute }
 
HTB.NF:
2
HTB.Name:
dichalcogenide tight binding (with spin)
 
HTB.Cell:
{ { 1.7320508075689 , 0 , 0 } , 
  { 0.86602540378444 , 1.5 , 0 } , 
  { 0 , 0 , 1 } }
 
HTB.Atoms:
{ { A , 
  { 0 , 0 , 0 } , 
  { { p , 
  { ^{dn} , ^{up} } } } } , 
  { B , 
  { 1.7320508075689 , 1 , 0 } , 
  { { p , 
  { ^{dn} , ^{up} } } } } }
 
HTB.Hopping:
Hopping
 
HTB.Units:
{ 2Pi , Angstrom , Absolute }
 
HTB.NF:
4

Table of contents

Print/export