Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| documentation:language_reference:objects:tightbinding:properties:start [2024/09/16 14:00] – Sina Shokri | documentation:language_reference:objects:tightbinding:properties:start [2024/09/18 18:08] (current) – Sina Shokri | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| ====== Properties ====== | ====== Properties ====== | ||
| - | ### | ||
| Tight Binding objects have the following standard properties: | Tight Binding objects have the following standard properties: | ||
| * Name: a string | * 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. | * 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, | + | |
| - | * Hoppings: A list of local and non-local hoppings among spin-orbitals. | + | |
| - | * Units: {“2Pi”, “Angstrom”, “Absolute”} | + | * NAtoms: number of atoms in // |
| - | * NF: number of fermionic modes | + | * Hopping: A list of local and non-local hoppings among atomic shells. Each element has the format {Atom1.Shell_i, |
| - | ### | + | * Units: {Units[1], Units[2], Units[3]} (see below) |
| + | * NF: number of fermionic modes | ||
| + | |||
| + | The //Units// property is a list of three strings with the following components: | ||
| + | * Units[1]: Sets the scaling for the reciprocal lattice, e.g., $\vec{r}\cdot\vec{g}=2\pi$ for " | ||
| + | * Units[2]: Defines the unit of measurement as " | ||
| + | * Units[3]: Selects " | ||
| + | |||
| + | For creating a tight-binding object, one needs to define at least the properties // | ||
| ===== Example ===== | ===== Example ===== | ||
| ### | ### | ||
| - | description text | + | Two simple examples (with and without spin): |
| ### | ### | ||
| ==== Input ==== | ==== Input ==== | ||
| <code Quanty Example.Quanty> | <code Quanty Example.Quanty> | ||
| - | -- some example code | + | -- set parameters |
| + | dAB = 0.2 | ||
| + | tnn = 1.1 | ||
| + | -- create the tight binding Hamiltonian | ||
| + | HTB = NewTightBinding() | ||
| + | HTB.Name = " | ||
| + | HTB.Cell = {{sqrt(3), | ||
| + | {sqrt(3/ | ||
| + | {0,0,1}} | ||
| + | HTB.Atoms = { {" | ||
| + | {" | ||
| + | HTB.Hopping = {{" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | } | ||
| + | |||
| + | print(" | ||
| + | print(HTB.Name) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.Cell) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.Atoms) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.NAtoms) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.Hopping) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.Units) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.NF) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.Hk) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.ReciprocalCell) | ||
| + | |||
| + | -- create the tight binding Hamiltonian | ||
| + | HTB = NewTightBinding() | ||
| + | HTB.Name = " | ||
| + | HTB.Cell = {{sqrt(3), | ||
| + | {sqrt(3/ | ||
| + | {0,0,1}} | ||
| + | HTB.Atoms = { {" | ||
| + | {" | ||
| + | HTB.Hopping = {{" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | {" | ||
| + | } | ||
| + | |||
| + | print(" | ||
| + | print(HTB.Name) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.Cell) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.Atoms) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.NAtoms) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.Hopping) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.Units) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.NF) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.Hk) | ||
| + | |||
| + | print(" | ||
| + | print(HTB.ReciprocalCell) | ||
| </ | </ | ||
| ==== Result ==== | ==== Result ==== | ||
| <file Quanty_Output> | <file Quanty_Output> | ||
| - | text produced as output | + | 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 } } | ||
| + | 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.NAtoms: | ||
| + | 2 | ||
| + | |||
| + | HTB.Hopping: | ||
| + | Hopping | ||
| + | |||
| + | HTB.Units: | ||
| + | { 2Pi , Angstrom , Absolute } | ||
| + | |||
| + | HTB.NF: | ||
| + | 4 | ||
| + | |||
| + | HTB.Hk: | ||
| + | Hk | ||
| + | |||
| + | HTB.ReciprocalCell: | ||
| + | { { 3.6275987284684 , -2.0943951023932 , 0 } , | ||
| + | { 0 , 4.1887902047864 , 0 } , | ||
| + | { 0 , 0 , 6.2831853071796 } } | ||
| </ | </ | ||