Differences

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

Link to this comparison view

Next revision
Previous revision
documentation:language_reference:functions:newtightbinding [2016/10/06 21:46] – created Maurits W. Haverkortdocumentation:language_reference:functions:newtightbinding [2024/08/29 18:03] (current) Micheangelo Tagliavini
Line 1: Line 1:
 +====== 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 ====
 +<code Quanty 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}}}
 +}
 +
 +</code>
 +
 +==== Result ====
 +<file Quanty_Output>
 +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 
 +</file>
 +
 +===== Table of contents =====
 +{{indexmenu>.#1}}
  
Print/export