Agent Skill
2/7/2026

tb2j

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.

M
mailhexu
91GitHub Stars
2Views
npx skills add mailhexu/TB2J

SKILL.md

Nametb2j
DescriptionGuide 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.

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.
Skills Info
Original Name:tb2jAuthor:mailhexu