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