Clarification on Interaction Range Differences in TB2J 0.9.12.7 vs 0.9.12.20

45 views
Skip to first unread message

Satish Kumar

unread,
Feb 27, 2026, 2:42:00 PM (13 days ago) Feb 27
to mail...@gmail.com, tb...@googlegroups.com

Subject: Clarification on Interaction Range Differences in TB2J 0.9.12.7 vs 0.9.12.20

Dear TB2J Development Team,

I hope you are doing well.

I am currently using TB2J for calculating magnetic exchange interactions in my system, and I recently noticed a difference in the interaction range between two versions of the code: TB2J 0.9.12.7 (which I previously used) and TB2J 0.9.12.20 (the newer version I am using now).

In the newer version, the reported interaction range appears to be different compared to the older version for the same system and similar input setup. Because of this, I am confused about:

  1. Why the interaction range differs between TB2J 0.9.12.7 and TB2J 0.9.12.20.

  2. Whether there were any changes in default parameters, cutoff handling, distance calculations, or symmetry treatment between these versions.

  3. Which version should be considered more accurate or reliable for exchange interaction analysis.

  4. Whether the newer version introduces any corrections or methodological improvements that affect the interaction range.

Since my magnetic analysis (e.g., determining dominant exchange paths and magnetic ordering tendencies) depends strongly on the interaction range and J values, I want to ensure that I am using the correct and reliable approach.

Could you please clarify:

  • What causes this difference in range between the two versions?

  • Whether the newer version (0.9.12.20) should be preferred for publication-quality results?

  • If there are any recommended settings to ensure consistent and physically meaningful exchange parameters?

I would be very grateful if you could confirm this at your earliest convenience, as I am currently quite confused about which results to rely on for my analysis.

If needed, I can also provide input files and outputs from both versions for comparison.

Thank you very much for your time and support.

Best regards,
Satish Kumar

TB2J 0.9.12.7.pdf
TB2J 0.9.12.20.pdf

Xu He

unread,
Mar 2, 2026, 11:31:55 AM (10 days ago) Mar 2
to Satish Kumar, tb...@googlegroups.com
Hello, 
Could you try the most recent version 0.9.12.25. 
There was a bug introduced around 0.9.12.20. 
Best regards, 
HeXu

Satish Kumar

unread,
Mar 3, 2026, 9:32:57 AM (9 days ago) Mar 3
to mail...@gmail.com, tb...@googlegroups.com
Dear TB2J team, 
Thank you for your prompt reply. I try the 0.9.12.25. recent version as you suggest its work is the same as the 0.9.12.20 
So, how i can say this? The result is good. Can you please check the error and provide which is reliable to calculate anisotropy with Siesta?
thank you 

Satish Kumar

unread,
Mar 3, 2026, 9:54:02 AM (9 days ago) Mar 3
to mail...@gmail.com, tb...@googlegroups.com
please find the attachment 
TB2J_results.zip

Xu He

unread,
Mar 3, 2026, 1:24:26 PM (9 days ago) Mar 3
to Satish Kumar, tb...@googlegroups.com
Hello, 
I checked that the bug was introduced in 0.9.12.23 (Feb 9), and soon fixed in 0.9.12.24 (Feb 10). So indeed version 0.9.12.20 is not affected. I think you can trust the result in the latest version. 
But in case you can send me the siesta files (the fdf file, pseudo potential, and if the size is fine, the file containing the Hamiltonian and overlap matrix). 
Best, 
HeXu

Satish Kumar

unread,
Mar 3, 2026, 2:08:56 PM (9 days ago) Mar 3
to mail...@gmail.com, tb...@googlegroups.com

I would like to bring to your attention an issue I noticed while using TB2J. I have already attached a file generated with TB2J version 0.9.12.25, which produces results consistent with version 0.9.12.20. However, when I used the older TB2J version 0.9.12.7, the results differed significantly.

More importantly, I observed that TB2J does not distinguish between atoms of the same species that have different DFT+U values. For example, if I label two nickel atoms as Ni1 and Ni2 and assign U = 2.0 eV to Ni1 and U = 3.0 eV to Ni2, TB2J does not consider this distinction when I run the command:

 siesta2J.py --fdf_fname input.fdf Ni1 Ni2 Te Te P --kmesh 20 20 1

As a result, TB2J does not recognize Ni1 and Ni2 as distinct atoms—it only considers twho has name like Te , Te and P Consequently, it totally ignore the Ni1 and Ni2 and produce a result without error, any differences in DFT+U values applied to Ni1 and Ni2 are ignored. This behavior can lead to inconsistencies and affect the reliability of results for systems where DFT+U is applied differently to atoms of the same species.

Could you please clarify why this behavior is not currently addressed in TB2J and whether there are any recommended workarounds for such cases?

Regarding the details of my work, I cannot share the full project publicly. However, I would be happy to arrange a meeting to demonstrate how this issue appears in my calculations. I have already sent the results for TB2J versions 0.9.12.25, 0.9.12.20, and 0.9.12.7 in a previous email for your reference. Please check them at your convenience.

I would greatly appreciate your guidance on this matter.

Thank you very much for your time and support.

Best regards,
Satish Kumar

Xu He

unread,
Mar 4, 2026, 1:54:06 AM (8 days ago) Mar 4
to Satish Kumar, tb...@googlegroups.com
Hello, 
- For distinguishing species with different U values, I don't see this as a problem. You just need to put Ni instead of Ni1 and Ni2. In the result, they are all called Ni but you can easily distinguish Ni1 and Ni2 by the order of the atoms or the positions. 
- For the difference between v0.9.12.7 and the recent versions. There was a change of algorithm which affects some materials. This is related to the emin parameter, which is used as a guidance to the code to find a gap deep below the Fermi energy, to separate the bands which are strictly fully occupied and does not contribute to the magnetism. However, the algorithm does not work perfectly and in some cases the lower bound was too low that there is a huge energy range between the lowest used band and the Fermi energy, that the number of point used in the integration can lead to large numerical error.   This has been fixed and improved the result quite a bit for these materials. 

Best regards, 
HeXu
Reply all
Reply to author
Forward
0 new messages