This is an old revision of the document!


Atoms

TB.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}}.

Example

A simple example:

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.NAtoms:")
print(HTB.NAtoms)
 
print("\nHTB.Hopping:")
print(HTB.Hopping)
 
print("\nHTB.Units:")
print(HTB.Units)
 
print("\nHTB.NF:")
print(HTB.NF)
 
print("\nHTB.Hk:")
print(HTB.Hk)
 
print("\nHTB.ReciprocalCell:")
print(HTB.ReciprocalCell)

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.NAtoms:
2
 
HTB.Hopping:
Hopping
 
HTB.Units:
{ 2Pi , Angstrom , Absolute }
 
HTB.NF:
2
 
HTB.Hk:
Hk
 
HTB.ReciprocalCell:
{ { 3.6275987284684 , -2.0943951023932 , 0 } , 
  { 0 , 4.1887902047864 , 0 } , 
  { 0 , 0 , 6.2831853071796 } }

Table of contents

Print/export