Table of Contents
This is an old revision of the document!
NewTightBinding
NewTightBinding() initiates a Tight Binding object with the following standard properties:
-
Name: “” (empty string)
-
Cell: {a,b,c} with a, b, c as random vectors.
-
Atoms: {}
-
Units: {“2Pi”, “Angstrom”, “Absolute”}
-
NF: `0` (number of orbitals defined in Atoms)
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\\.
Input
Output
-
A Tight Binding Object
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