zerothi / sisl

Electronic structure Python package for post analysis and large scale tight-binding DFT/NEGF calculations
https://zerothi.github.io/sisl
Mozilla Public License 2.0
182 stars 58 forks source link

read_hamiltonian() does not work with lanthanides? #491

Closed novidad21 closed 2 years ago

novidad21 commented 2 years ago

Describe the bug

Reproducable code

import sisl
fdf=sisl.get_sile("PATH_TO_FDF")
ham=fdf.read_hamiltonian()

Freshly installed siesta from master brench yesterday. After running a calculation with SpinOrbit true using psml pseudopotentials downloaded from dojo-pseudo.org the hamiltonian cannot be read:

ValueError: AtomicOrbital does not implement shell h and above!

Version details 3.9.12 (main, Apr 5 2022, 06:56:58) [GCC 7.5.0] 0.0.0.dev+eacb8351ff416ad9f7f93732777c3d7931c5f711 lase.zip

zerothi commented 2 years ago

Yes, currently sisl does not implement the h-shell.

zerothi commented 2 years ago

Could you please try the latest commit? It should work now :) Thanks!

novidad21 commented 2 years ago

Thanks @zerothi it seems the issue resolved. However I still don't really understand the issue here, because in the produced pseudopotential files I see no indication of h shells, it does not go above l=4. But anyway, no it works! Thank you.

zerothi commented 2 years ago

But if one of the l=4 shells gets polarized, it will be an l=5. Probably that is why. Weird anyway, I haven't had a look yet. Thanks!

novidad21 commented 2 years ago

Yes, I assumed the same, so I switched to DZ, and still I ran into the same problem.

zerothi commented 2 years ago

Hm. Sounds like this really needs to be checked!

zerothi commented 2 years ago

I'll just reopen to make me remember

zerothi commented 2 years ago

This was related to #462. So fully fixed. Can be closed now.