Table of Contents

NewTightBinding

NewTightBinding() initiates a Tight Binding object with the following standard properties:

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

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\\.

Input

Output

Example

Input

Example.Quanty
--
### Input
```lua
-- Create the tight binding Hamiltonian
HTB = NewTightBinding()
 
print("Printing the TB Object")
print(HTB)
 
print("Callable Properties:")
print("Cell:", HTB.Cell)
print("Units:", HTB.Units)
print("Atoms:", HTB.Atoms)
print("Hopping:", HTB.Hopping)
print("NF:", HTB.NF)
 
t1 = 1
t2 = 2
 
HTB.Name = "My wishes for dinner"
 
HTB.Units = {"2Pi", "Bohr", "Relative"}
 
HTB.Cell = {
    {1, 0, 0},
    {0, 1, 0},
    {0, 0, 1}
}
 
HTB.Atoms = {
    {"pizza", {0, 0, 0}, {{"Margherita", {"0"}}}},
    {"pasta", {0, 1, 0}, {{"Pesto", {"0"}}, {"Carbonara", {"0"}}}}
}
 
HTB.Hopping = {
    {"pizza.Margherita", "pasta.Pesto", {0, 1, 0}, {{t1}}},
    {"pasta.Pesto", "pizza.Margherita", {0, -1, 0}, {{t1}}},
    {"pizza.Margherita", "pasta.Carbonara", {0, 1, 0}, {{t2}}},
    {"pasta.Carbonara", "pizza.Margherita", {0, -1, 0}, {{t2}}}
}

Result

Printing the TB Object
 
Settings of a tight binding model: 
 
printout of Crystal Structure
Units: 2Pi (g.r=2Pi) Angstrom Absolute atom positions
Unit cell parameters:
a:       0.0000000       0.0000000       0.0000000
b:       0.0000000       0.0000000       0.0000000
c:       0.0000000       0.0000000       0.0000000
Reciprocal latice:
a:       0.0000000 30524692131128596033898117733842076213019192344605263171345790071216510328003874622266126017805876259535366806940969625873947115114721700264263639077479994600233826779136.0000000 1469218886842792161082556356812066608987064236852910356089627265978131596617755845105555332403223378390597352733941003451523713467849651601093598519555579669832275433929014952247745114139290238976.0000000
b:       0.0000000       0.0000000 90960625277508849958397981692689239784491225441894123063561438202878853747680593734840616283814676646691536819002770131304362257795846217274641593397548217458628790833363103687190963464137327730221337512979694186028748242944.0000000
c:       0.0000000 14107223910934044308904371602649936698982067006821564283097987256794599528798179656616663629775957882874925536671725932884293417340363744679036673366848766811353566910460765161922523069153280.0000000 73429234843382957416571002197742812553809563142104530001750273049746504128625765208852406031284161247014915814559263665977548191119922018187373791315790938478048641072290406586019038135878180088386949792875281819263322554368.0000000
Number of atoms 0
Containing a total number of 0 orbitals
Hopping definitions ( 0 )
 
 
Callable Properties:
Cell:	{ { 6.0134700169991e-154 , 1.0216608544487e-259 , 2.7856078039899e-91 } , 
  { 4.4759381595362e-91 , 4.4759381595362e-91 , 4.4759381595362e-91 } , 
  { 4.4759381595362e-91 , 4.4759381595362e-91 , 4.4759381595362e-91 } }
Units:	{ 2Pi , Angstrom , Absolute }
Atoms:	{  }
Hopping:	Hopping
NF:	0
 
Settings of a tight binding model: My wishes for dinner
 
printout of Crystal Structure
Units: 2Pi (g.r=2Pi) Bohr     Relative atom positions
Unit cell parameters:
a:       1.0000000       0.0000000       0.0000000
b:       0.0000000       1.0000000       0.0000000
c:       0.0000000       0.0000000       1.0000000
Reciprocal latice:
a:       6.2831853       0.0000000       0.0000000
b:       0.0000000       6.2831853       0.0000000
c:       0.0000000       0.0000000       6.2831853
Number of atoms 2
#   0 | pizza ( 0 ) at position {       0.0000000 ,       0.0000000 ,       0.0000000 }
      | Margherita shell with 1 orbitals { 0 }
#   1 | pasta ( 0 ) at position {       0.0000000 ,       1.0000000 ,       0.0000000 }
      | Pesto shell with 1 orbitals { 0 }
      | Carbonara shell with 1 orbitals { 0 }
Containing a total number of 3 orbitals
Hopping definitions ( 4 )
Hopping from 0 : pizza - Margherita to 1 : pasta - Pesto with translation vector in unit cells: { 0 , 1 , 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.00000000E+00 
 
Hopping from 1 : pasta - Pesto to 0 : pizza - Margherita with translation vector in unit cells: { 0 , -1 , 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.00000000E+00 
 
Hopping from 0 : pizza - Margherita to 1 : pasta - Carbonara with translation vector in unit cells: { 0 , 1 , 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]  2.00000000E+00 
 
Hopping from 1 : pasta - Carbonara to 0 : pizza - Margherita with translation vector in unit cells: { 0 , -1 , 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]  2.00000000E+00 

Table of contents