TB2J Skill
This skill provides expert guidance on using the TB2J package to calculate magnetic interaction parameters (Heisenberg exchange $J$, DMI $D$, Anisotropy $J_{ani}$) from DFT inputs.
References
- Command Reference: Detailed flags and arguments for all scripts (
wann2J.py,siesta2J.py, etc.). - Workflows & DFT Prep: Step-by-step guides for preparing VASP/Wannier90/Siesta inputs.
- Conventions: Vital information on Hamiltonian signs, units, and spin normalization.
- Outputs: Explanations of
exchange.out,exchange.xml, and interfaces to Vampire/Multibinit.
Common Workflows
1. Wannier90 (VASP, QE, Abinit)
- Command:
wann2J.py - Key Step: Ensure
projectionsin.winfile cover magnetic orbitals. - See: Workflows > Wannier90
2. Siesta
- Command:
siesta2J.py - Key Step: Set
SaveHS Truein.fdf. - See: Workflows > Siesta
3. Abacus
- Command:
abacus2J.py - Key Step: Set
out_mat_hs2 1inINPUT. - See: Workflows > Abacus
4. Non-Collinear / Anisotropy
- Option A: Full non-collinear DFT +
wann2J.py --spinor. - Option B: "Rotate and Merge" using
TB2J_rotate.py(generate structures) -> DFT ->TB2J_merge.py(combine results). - See: Workflows > Non-Collinear
Troubleshooting / FAQ
Results contradict experiment?
- Check Conventions. Are you comparing $J$ vs $2J$?
- Verify the Fermi Energy (
--efermi) matches the DFT calculation exactly. - Is the system metallic? Try increasing K-mesh or adjusting
--nz.
Wannier functions not localized?
- Check
wannier90.woutfor spreads. - Adjust
dis_win(outer window) to include all relevant bands. - Check projections.
- Check
"Orbitals not found" error?
- Ensure
--elementsmatches the atoms in the structure file. - Check if
exclude_orbsis needed for semi-core states.
- Ensure
Source: mailhexu/TB2J — distributed by TomeVault.