Table of Contents
This is an old revision of the document!
CreateClusterHamiltonian
The function CreateClusterHamiltonian(TB, cluster, …) generates a Hamiltonian operator using the input tight-binding Object (TB) and the information regarding the cluster (cluster). The cluster can be an open cluster or a periodic one.
Open Cluster
HCl, HClTB = CreateClusterHamiltonian(TB, {“open”, AtomPos}, …)
Input
-
TB: tight-binding object
-
AtomPos: list of atoms, their positions and (optionally) their spin-orbitals. AtomPos can have the format: {Atom.Name, Atom.Position, {Atom.Shells}} with Atom.Shells is an option. If not given all shells of this atom are included. (same for orbitals per shell)
Output
-
HCl: Hamiltonian operator, corresponding to the input cluster, generated using the input tight-binding object.
-
HClTB: tight-binding object, corresponding to the input cluster, generated using the input tight-binding object.
Example
A small example:
Input
- Example.Quanty
-- set parameters dAB = 0.2 tnn = 1.1 -- create the tight binding Hamiltonian HTB = NewTightBinding() HTB.Name = "dichalcogenide tight binding" HTB.Cell = {{sqrt(3),0,0}, {sqrt(3/4),3/2,0}, {0,0,1}} HTB.Atoms = { {"A", {0,0,0}, {{"p", {"0"}}}}, {"B", {sqrt(3),1,0}, {{"p", {"0"}}}}} HTB.Hopping = {{"A.p","A.p",{ 0, 0,0},{{-dAB/2}}}, {"B.p","B.p",{ 0, 0,0},{{ dAB/2}}}, {"A.p","B.p",{ 0, 1,0},{{ tnn }}}, {"B.p","A.p",{ 0, -1,0},{{ tnn }}}, {"A.p","B.p",{ sqrt(3/4),-1/2,0},{{ tnn }}}, {"B.p","A.p",{-sqrt(3/4), 1/2,0},{{ tnn }}}, {"A.p","B.p",{-sqrt(3/4),-1/2,0},{{ tnn }}}, {"B.p","A.p",{ sqrt(3/4), 1/2,0},{{ tnn }}} } AtomPos = {{"A", {0,0,0}}, {"B", {sqrt(3),1,0}}, {"B", {0,1,0}}, {"B", { sqrt(3/4),-1/2,0}}, {"B", {-sqrt(3/4),-1/2,0}}, {"A", {sqrt(3),0,0}}, {"A", {sqrt(3/4), 3/2,0}}, {"A", {3*sqrt(3/4), 3/2,0}}} print("create a cluster Hamiltonian") HCl, HClTB = CreateClusterHamiltonian(HTB, {"open", AtomPos}) print("Output operator:") print(HCl) print("Output TB object:") print(HClTB)
Result
text produced as output