| name | TB2J |
| description | Guide for using TB2J command-line tools to calculate magnetic interaction parameters (J, DMI, etc.) from DFT outputs (Wannier90, Siesta, Abacus). Use this skill when the user asks about running TB2J commands, their parameters, inputs, or outputs. |
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
projections in .win file cover magnetic orbitals.
- See: Workflows > Wannier90
2. Siesta
3. 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.wout for spreads.
- Adjust
dis_win (outer window) to include all relevant bands.
- Check projections.
-
"Orbitals not found" error?
- Ensure
--elements matches the atoms in the structure file.
- Check if
exclude_orbs is needed for semi-core states.