Author Topic: ATK-SE: Slater-Koster Hamiltonian  (Read 5813 times)

0 Members and 1 Guest are viewing this topic.

Offline ramkrishna

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 253
  • Country: us
  • Reputation: 5
    • View Profile
ATK-SE: Slater-Koster Hamiltonian
« on: September 9, 2012, 17:41 »
Dear Sir,
         In the tutorial http://www.quantumwise.com/publications/tutorials/mini-tutorials/167,  the calculator uses ATK-SE: Slater-Koster for both the system. Is it possible to extract (or get) the Slater -Koster Hamiltonian matrix (Nearest-neighbor model) for these materials like the tutorial http://www.quantumwise.com/documents/tutorials/latest/SlaterKosterModel/index.html/?

Regards
Ramkrishna

Offline kstokbro

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 392
  • Reputation: 13
    • View Profile
    • QuantumWise
Re: ATK-SE: Slater-Koster Hamiltonian
« Reply #1 on: September 10, 2012, 14:44 »

Offline ams_nanolab

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 389
  • Country: in
  • Reputation: 11
    • View Profile
Re: ATK-SE: Slater-Koster Hamiltonian
« Reply #2 on: September 25, 2012, 07:01 »
Dear Sir,

I obtained the Hamiltonian from ATK using the code HS.py given in http://quantumwise.com/forum/index.php?topic=1548.0 but could you kindly tell us what basis is being used in the Hamiltonian for MoS2 (spd , spds* etc).

I am getting two 17x17 matrices but a little bit confused regarding the elements, as to what basis and what direction cosines they are associated with.

Please help regarding this.

Offline kstokbro

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 392
  • Reputation: 13
    • View Profile
    • QuantumWise
Re: ATK-SE: Slater-Koster Hamiltonian
« Reply #3 on: September 25, 2012, 21:44 »
try to calculatate and print out the mulliken population, this will give you a list of the orbitals

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5417
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: ATK-SE: Slater-Koster Hamiltonian
« Reply #4 on: September 25, 2012, 22:31 »
Which orbitals you have depends on which basis set you used. An easy way to find out is to send the geometry to the Script Generator, add a New Calculator and select the basis set you want, then change "Script detail" to "Show Defaults" and send the script to the Editor. Isolating the relevant lines, you can find that for instance for the default DoubleZetaPolarized set, you have

Molybdenum: orbitals=[ molybdenum_4d , molybdenum_5s , molybdenum_4d_split , molybdenum_5s_split , molybdenum_5s_polarization]
Sulfur: orbitals=[ sulfur_3s , sulfur_3p , sulfur_3s_split , sulfur_3p_split , sulfur_3p_polarization ]

The H and S matrices follow the ordering of the atoms first, then the order of the orbitals in the basis set. In the case of a single unit cell of single-layer MoS2, the matrix is 41x41 (1 Mo, 2 S, d=5 orbitals, p=3, s=1, note that p-polarization is d and s-polarization is p).

Note that this is not a supported feature, so you're pretty much on your own here.
« Last Edit: September 25, 2012, 22:33 by Anders Blom »

Offline ams_nanolab

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 389
  • Country: in
  • Reputation: 11
    • View Profile
Re: ATK-SE: Slater-Koster Hamiltonian
« Reply #5 on: September 28, 2012, 07:56 »
Thanks for the answer ........ :)

But say for instance I'm running ATK-SE:Slater-Koster for MoS2 using the (default) CP2K basis.

Then the matrices are 17x17 right?

I don't know what orbitals cp2k uses... could you help on that?

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5417
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: ATK-SE: Slater-Koster Hamiltonian
« Reply #6 on: September 28, 2012, 10:28 »
If you set it all up in the Script Generator, you can add these lines at the bottom of the script:
Code: python
bs = calculator.basisSet()
bs.onsiteParameters()['mo'].angularMomenta()
bs.onsiteParameters()['s'].angularMomenta()
You will then see that the Mo basis set is sp3d5 and for S it's sp3. So you have 9 orbitals for Mo and 4 for each S atom = 17 in total. The ordering is also seen from the printout, and of course there is a major ordering by atoms. That is, for instance the matrix element on row 9, column 8, i.e. H[9,8] (remember, the first row/column is (0,0)) would be the Hamiltonian element between a d-orbital in Mo and a p-orbital in the first S atom. H[13,16] would be between the s-orbital in the second S atom and a p-orbital in the second S atom. The orbitals with in spd are ordered as s: s p: y, z, x d: x*y, y*z, x^2+y^2-2*z^2,  x*z, x^2-y^2

Offline ams_nanolab

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 389
  • Country: in
  • Reputation: 11
    • View Profile
Re: ATK-SE: Slater-Koster Hamiltonian
« Reply #7 on: September 28, 2012, 13:08 »
Thanks :)

Offline ams_nanolab

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 389
  • Country: in
  • Reputation: 11
    • View Profile
Re: ATK-SE: Slater-Koster Hamiltonian
« Reply #8 on: October 2, 2012, 07:48 »
Dear Sir,

Another thing that I was wondering... since we're calculating E-k relation in the G, M, K, G path, so the system hamiltonian I'm getting at the output using the HS.py script must be the system Hamiltonian at the final Gamma point ?

So in similar way if I calculate in the G, M, K direction then the final H matrix will give the value of the system H at K point ?

Kindly clarify... :)

Offline zh

  • QuantumATK Support
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 1141
  • Reputation: 24
    • View Profile
Re: ATK-SE: Slater-Koster Hamiltonian
« Reply #9 on: October 2, 2012, 08:21 »
That 'HS.py' script file is designed for printing out the Hamiltonian matrix of a given k point. So you must explicitly define which k point will be calculated, it does not matter with the direction used in the E-k dispersion.

That is to day, if you want to print the Hamiltonian matrix at Gamma point, you have to specify the  "ka=0.0, kb=0.0, kc=0.0". For the K point, you have to  specify the "ka=0.33333, kb=0.333333, kc=0.0" or the equivalent ones.

Offline ams_nanolab

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 389
  • Country: in
  • Reputation: 11
    • View Profile
Re: ATK-SE: Slater-Koster Hamiltonian
« Reply #10 on: November 5, 2012, 10:28 »
could you tell what energy unit quantumwise uses for internal calculations ? and are the outputs from HS.py script in eV? Hartree/ Rydberg/ eV ?

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5417
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: ATK-SE: Slater-Koster Hamiltonian
« Reply #11 on: November 5, 2012, 13:49 »
Everything internal in ATK is in Hartree and Bohr.