I have a tight binding model built up already and I want to achieve the same result using the functions in GTPack. I have followed the reference book but there’s something that I am missing since I don’t obtain the same result in both calculations.

My tight binding Hamiltonian has onsite energies, first and second neighbour interaction plus overlap between wave functions (generalized eigenvalue problem). I have 3 carbon atoms (“C1”, “C2”, “C3”) and I choose 2 shells around each atom. In order to set up the Hamiltonian I have the following lines:

basorb = {{“C1”, 1, {0}}, {“C2”, 1, {0}}, {“C3”, 1, {0}}};
shellsBR = {2, 2, 2};
latBR = GTShells[cl, bas0, shellsBR, GOVerbose -> True,
GOTbLattice -> {{“C1,C1”, {0}}, {“C2,C2”, {0}}, {“C3,C3”, {0}}, \
{“C1,C2”, {1, 2}}, {“C1,C3”, {1, 2}}, {“C2,C3”, {1, 2}}},
GOPosition -> “Relative”];

My question is about how to specify that the carbon atoms inside the unit cell have a specific hopping and its amplitude is different if it’s intracell or intercell. For example, given that a parameter ss0^{Ci,Cj}_{alpha} specifies the hopping amplitude between two carbons from shell alpha to shell 0, I need a parameter like ss0^{Ci,Cj}_{0}, which would mean “intracell hopping”. How can I specify something like this? I haven’t been able to get it, for example, by specifying something like:

GOTbLattice -> {{“C1,C1”, {0}}, {“C2,C2”, {0}}, {“C3,C3”, {0}}, {“C1,C2”, {0,1}}, {“C1,C3”, {0,1}}, {“C2,C3”, {0,1}}}


GOTbLattice -> {{“C1,C1”, {0}}, {“C2,C2”, {0}}, {“C3,C3”, {0}}, {“C1,C2”, {0}}, {“C1,C3”, {0}}, {“C2,C3”, {0}},{“C1,C2”, {1}}, {“C1,C3”, {1}}, {“C2,C3”, {1}}}

Hope it is clear what I mean. Thank you very much in advance.

Wolfram Hergert Answered question 11. May 2021