Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
documentation:language_reference:objects:responsefunction:functions:totightbinding [2024/12/23 09:01] – Maurits W. Haverkort | documentation:language_reference:objects:responsefunction:functions:totightbinding [2024/12/23 18:02] (current) – Maurits W. Haverkort | ||
---|---|---|---|
Line 7: | Line 7: | ||
### | ### | ||
- | Depending on the representation used for the response function (Tridiagonal, | + | Depending on the representation used for the response function (Tridiagonal, |
### | ### | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ### | ||
+ | In the figure above (from [[https:// | ||
+ | ### | ||
+ | |||
+ | ### | ||
+ | For all representations the table $A$ refers to the onsite energies of the sites and the table $B$ to the hopping between sites. $A_0$ and $B_0$ can not be represented in a tight binding Hamiltonian. The one particle Green' | ||
+ | ### | ||
+ | |||
====== Tri-diagonal representation ====== | ====== Tri-diagonal representation ====== | ||
+ | The Green' | ||
+ | ===== Example ===== | ||
+ | |||
+ | ### | ||
+ | We here create a one dimensional tight binding model with a single $s$-orbital. We then create a // | ||
+ | ### | ||
+ | |||
+ | ==== Input ==== | ||
+ | <code Quanty Example.Quanty> | ||
+ | -- Define a tight binding Hamiltonian for an infinite 1 dimensional chain | ||
+ | HTB = NewTightBinding() | ||
+ | HTB.Name = "1D tight binding" | ||
+ | HTB.Cell = {{1,0,0}, | ||
+ | {0,1,0}, | ||
+ | {0,0,1}} | ||
+ | HTB.Atoms = { {" | ||
+ | HTB.Hopping = { {" | ||
+ | {" | ||
+ | -- create an operator representing a 10 site supercell with periodic boundary conditions | ||
+ | HCl = CreateClusterHamiltonian(HTB, | ||
+ | -- calculate the vacuum one-particle Green' | ||
+ | vacStr="" | ||
+ | for i=1,HCl.NF do | ||
+ | vacStr=vacStr.." | ||
+ | end | ||
+ | psivac = NewWavefunction(HCl.NF, | ||
+ | a0Cr = NewOperator(HCl.NF, | ||
+ | S, G = CreateSpectra(HCl, | ||
+ | -- change the one-particle Green' | ||
+ | GTri = ResponseFunction.ChangeType(G," | ||
+ | GTri.Chop(1E-12, | ||
+ | GTri.name = "G in Tridiagonal representation" | ||
+ | print(" | ||
+ | print(GTri) | ||
+ | -- change the Green' | ||
+ | HTB2 = Chop( ResponseFunction.ToTightBinding(GTri) ) | ||
+ | print(" | ||
+ | print(HTB2) | ||
+ | </ | ||
+ | |||
+ | ==== Result ==== | ||
+ | <file Quanty_Output> | ||
+ | The one particle Green' | ||
+ | { { { { 0 } } , | ||
+ | { { 0 } } , | ||
+ | { { 0 } } , | ||
+ | { { 0 } } , | ||
+ | { { 0 } } , | ||
+ | { { 0 } } , | ||
+ | { { 0 } } } , | ||
+ | { { { 1 } } , | ||
+ | { { 1.4142135623731 } } , | ||
+ | { { 1 } } , | ||
+ | { { 1 } } , | ||
+ | { { 1 } } , | ||
+ | { { 1.4142135623731 } } } , | ||
+ | type = Tri , | ||
+ | name = G in Tridiagonal representation , | ||
+ | BlockSize = { 1 , 1 , 1 , 1 , 1 , 1 , 1 } , | ||
+ | mu = 0 } | ||
+ | A tight binding Hamiltonian with the same one particle Green' | ||
+ | |||
+ | Settings of a tight binding model: G in Tridiagonal representation | ||
+ | |||
+ | printout of Crystal Structure | ||
+ | Units: NoPi (g.r=1) | ||
+ | Unit cell parameters: | ||
+ | a: | ||
+ | b: | ||
+ | c: | ||
+ | Reciprocal latice: | ||
+ | a: | ||
+ | b: | ||
+ | c: | ||
+ | Number of atoms 6 | ||
+ | # 0 | 0 ( 0 ) at position { | ||
+ | | x shell with 1 orbitals { 0 } | ||
+ | # 1 | 1 ( 0 ) at position { | ||
+ | | x shell with 1 orbitals { 0 } | ||
+ | # 2 | 2 ( 0 ) at position { | ||
+ | | x shell with 1 orbitals { 0 } | ||
+ | # 3 | 3 ( 0 ) at position { | ||
+ | | x shell with 1 orbitals { 0 } | ||
+ | # 4 | 4 ( 0 ) at position { | ||
+ | | x shell with 1 orbitals { 0 } | ||
+ | # 5 | 5 ( 0 ) at position { | ||
+ | | x shell with 1 orbitals { 0 } | ||
+ | Containing a total number of 6 orbitals | ||
+ | Hopping definitions ( 5 ) | ||
+ | Hopping from 0 : 0 - x to 1 : 1 - x with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00 | ||
+ | Matrix = | ||
+ | Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums]) | ||
+ | [ 0] | ||
+ | [ | ||
+ | |||
+ | Hopping from 1 : 1 - x to 2 : 2 - x with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00 | ||
+ | Matrix = | ||
+ | Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums]) | ||
+ | [ 0] | ||
+ | [ | ||
+ | |||
+ | Hopping from 2 : 2 - x to 3 : 3 - x with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00 | ||
+ | Matrix = | ||
+ | Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums]) | ||
+ | [ 0] | ||
+ | [ | ||
+ | |||
+ | Hopping from 3 : 3 - x to 4 : 4 - x with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00 | ||
+ | Matrix = | ||
+ | Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums]) | ||
+ | [ 0] | ||
+ | [ | ||
+ | |||
+ | Hopping from 4 : 4 - x to 5 : 5 - x with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00 | ||
+ | Matrix = | ||
+ | Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums]) | ||
+ | [ 0] | ||
+ | [ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====== Anderson representation ====== | ||
+ | |||
+ | The Green' | ||
===== Example ===== | ===== Example ===== | ||
### | ### | ||
- | description text | + | We here create a one dimensional tight binding model with a single $s$-orbital. We then create a // |
### | ### | ||
==== Input ==== | ==== Input ==== | ||
<code Quanty Example.Quanty> | <code Quanty Example.Quanty> | ||
- | -- some example code | + | -- Define a tight binding Hamiltonian for an infinite 1 dimensional chain |
+ | HTB = NewTightBinding() | ||
+ | HTB.Name = "1D tight binding" | ||
+ | HTB.Cell = {{1,0,0}, | ||
+ | {0,1,0}, | ||
+ | {0,0,1}} | ||
+ | HTB.Atoms = { {" | ||
+ | HTB.Hopping = { {" | ||
+ | {" | ||
+ | -- create an operator representing a 10 site supercell with periodic boundary conditions | ||
+ | HCl = CreateClusterHamiltonian(HTB, | ||
+ | -- calculate the vacuum one-particle Green' | ||
+ | vacStr="" | ||
+ | for i=1,HCl.NF do | ||
+ | vacStr=vacStr.." | ||
+ | end | ||
+ | psivac = NewWavefunction(HCl.NF, | ||
+ | a0Cr = NewOperator(HCl.NF, | ||
+ | S, G = CreateSpectra(HCl, | ||
+ | -- change the one-particle Green' | ||
+ | GAnd = ResponseFunction.ChangeType(G," | ||
+ | GAnd.Chop(1E-12, | ||
+ | GAnd.name = "G in Anderson representation" | ||
+ | print(" | ||
+ | print(GAnd) | ||
+ | -- change the Green' | ||
+ | HTB2 = Chop( ResponseFunction.ToTightBinding(GAnd) ) | ||
+ | print(" | ||
+ | print(HTB2) | ||
</ | </ | ||
==== Result ==== | ==== Result ==== | ||
<file Quanty_Output> | <file Quanty_Output> | ||
- | text produced | + | The one particle Green' |
+ | { { { { 0 } } , | ||
+ | { { 0 } } , | ||
+ | { { -1.9021130325903 } } , | ||
+ | { { -1.1755705045849 } } , | ||
+ | { { 0 } } , | ||
+ | { { 1.1755705045849 } } , | ||
+ | { { 1.9021130325903 } } } , | ||
+ | { { { 1 } } , | ||
+ | { { 0.27639320225002 } } , | ||
+ | { { -0.72360679774998 } } , | ||
+ | { { -0.89442719099992 } } , | ||
+ | { { -0.72360679774998 } } , | ||
+ | { { 0.27639320225002 } } } , | ||
+ | name = G in Anderson representation , | ||
+ | mu = 0 , | ||
+ | type = And } | ||
+ | A tight binding Hamiltonian with the same one particle Green' | ||
+ | |||
+ | Settings of a tight binding model: G in Anderson representation | ||
+ | |||
+ | printout of Crystal Structure | ||
+ | Units: NoPi (g.r=1) | ||
+ | Unit cell parameters: | ||
+ | a: | ||
+ | b: | ||
+ | c: | ||
+ | Reciprocal latice: | ||
+ | a: | ||
+ | b: | ||
+ | c: | ||
+ | Number of atoms 6 | ||
+ | # 0 | 0 ( 0 ) at position { | ||
+ | | x shell with 1 orbitals { 0 } | ||
+ | # 1 | 1 ( 0 ) at position { | ||
+ | | x shell with 1 orbitals { 0 } | ||
+ | # 2 | 2 ( 0 ) at position { | ||
+ | | x shell with 1 orbitals { 0 } | ||
+ | # 3 | 3 ( 0 ) at position { | ||
+ | | x shell with 1 orbitals { 0 } | ||
+ | # 4 | 4 ( 0 ) at position { | ||
+ | | x shell with 1 orbitals { 0 } | ||
+ | # 5 | 5 ( 0 ) at position { | ||
+ | | x shell with 1 orbitals { 0 } | ||
+ | Containing a total number of 6 orbitals | ||
+ | Hopping definitions ( 9 ) | ||
+ | Hopping from 1 : 1 - x to 1 : 1 - x with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00 | ||
+ | Matrix = | ||
+ | Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums]) | ||
+ | [ 0] | ||
+ | [ 0] -1.90211303E+00 | ||
+ | |||
+ | Hopping from 2 : 2 - x to 2 : 2 - x with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00 | ||
+ | Matrix = | ||
+ | Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums]) | ||
+ | [ 0] | ||
+ | [ 0] -1.17557050E+00 | ||
+ | |||
+ | Hopping from 4 : 4 - x to 4 : 4 - x with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00 | ||
+ | Matrix = | ||
+ | Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums]) | ||
+ | [ 0] | ||
+ | [ | ||
+ | |||
+ | Hopping from 5 : 5 - x to 5 : 5 - x with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00 | ||
+ | Matrix = | ||
+ | Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums]) | ||
+ | [ 0] | ||
+ | [ | ||
+ | |||
+ | Hopping from 0 : 0 - x to 1 : 1 - x with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00 | ||
+ | Matrix = | ||
+ | Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums]) | ||
+ | [ 0] | ||
+ | [ | ||
+ | |||
+ | Hopping from 0 : 0 - x to 2 : 2 - x with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00 | ||
+ | Matrix = | ||
+ | Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums]) | ||
+ | [ 0] | ||
+ | [ 0] -7.23606798E-01 | ||
+ | |||
+ | Hopping from 0 : 0 - x to 3 : 3 - x with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00 | ||
+ | Matrix = | ||
+ | Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums]) | ||
+ | [ 0] | ||
+ | [ 0] -8.94427191E-01 | ||
+ | |||
+ | Hopping from 0 : 0 - x to 4 : 4 - x with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00 | ||
+ | Matrix = | ||
+ | Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums]) | ||
+ | [ 0] | ||
+ | [ 0] -7.23606798E-01 | ||
+ | |||
+ | Hopping from 0 : 0 - x to 5 : 5 - x with translation vector in unit cells: { 0 , 0 , 0 } ({ 0.00000000E+00 | ||
+ | Matrix = | ||
+ | Real Part of Matrix with dimensions [Ni=1][Nj=1] ([Rows][Collums]) | ||
+ | [ 0] | ||
+ | [ | ||
</ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
===== Table of contents ===== | ===== Table of contents ===== | ||
{{indexmenu> | {{indexmenu> | ||