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:08] – Sina Shokri | documentation:language_reference:objects:tightbinding:properties:start [2024/09/18 18:08] (current) – Sina Shokri | ||
---|---|---|---|
Line 6: | Line 6: | ||
* 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, | + | |
- | * Hopping: A list of local and non-local hoppings among spin-orbitals. Each element has the format {spinOrb1, spinOrb1, {a, | + | |
- | * 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, Atom2.Shell_j, {a, |
+ | * 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 | + | The //Units// property is a list of three strings with the following |
- | * Units[1]: Sets the scaling for the reciprocal lattice, e.g., $\vec{r}\cdot\vec{g}=2\pi$ for " | + | * 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[2]: Defines the unit of measurement as " |
- | * Units[3]: Selects " | + | * Units[3]: Selects " |
- | Once a Tight Binding | + | For creating |
===== 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 } } | ||
</ | </ | ||