Bug with siesta-sisl-tb2j

30 views
Skip to first unread message

Dorye Esteras

unread,
Mar 29, 2025, 7:30:00 AM3/29/25
to TB2J
Hello,

I just wanted to report what I believe is a bug, please forgive me if I am wrong.

Before, in the siesta input atomic coordinates could be written like this:
0.000 0.000 0.000 1
or like this:
0.000 0.000 0.000 1 Cr
However in the recent versions you could also write them like this:
Cr 0.000 0.000 0.000 1
Which indeed is more consistent with other DFT packages. Then, when you run tb2j, there is a crash:     species = _a.fromiteri(map(lambda x: x.split()[3], species[:na])) - 1
ValueError: invalid literal for int() with base 10: '0.000' Which it comes from sisl trying to extract the species type (1) from the number in the 4th position which is the z coordinate in this format (0.000). In my case, I will just change to the old format my coordinates, but I wanted to report this issue. Thanks a lot, Dorye

Xu He

unread,
Mar 30, 2025, 4:37:23 AM3/30/25
to Dorye Esteras, TB2J
Hi, 
Thanks for reporting this issue. Could you send me an example input file in the new format so I can try with it? 
TB2J does not actually parse the siesta input, but calls sisl as a library to do that. So I cannot modify TB2J to fix this. But indeed we can try if updating to the most recent version of sisl works. Otherwise I will have a look at the sisl code. 
Best regards, 
HeXu

--
You received this message because you are subscribed to the Google Groups "TB2J" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tb2j+uns...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/tb2j/a0da51f0-0955-4110-9d7a-19c3ad028374n%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

D

unread,
Mar 31, 2025, 6:15:08 AM3/31/25
to mail...@gmail.com, TB2J
Hi,

I send you an input of siesta that crashes and one with the old convention that does not crash. Also the command of tb2j and the crash.
Thanks for your answer!
Dorye

siesta2J.py --fdf_fname I_crash.fdf --elements Cr --kmesh 1 1 1 --np 1

 species = _a.fromiteri(map(lambda x: x.split()[3], species[:na])) - 1
ValueError: invalid literal for int() with base 10: '6.872000000'
I_crash.fdf
I_dont_crash.fdf
Reply all
Reply to author
Forward
0 new messages