TB2J Skill
SkillDev toolsGuide 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.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the TB2J Skill skill
What this skill tells your AI
The instructions your AI receives, as published by mailhexu/tb2j in skill/TB2J/SKILL.md and read by ahel’s review.
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
Signals
- GitHub stars
- 102
- Forks
- 36
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
tb2j- Source
- github.com/mailhexu/tb2j