TB2J

Status

Verified

Links

Docs, DOI, Github

Languages

Python

Spin Hamiltonian

TB2J calculates parameters for the following bilinear spin Hamiltonian:

\[\mathcal{H} = -\sum_{i \neq j} \mathbf{S}_i \cdot \mathcal{J}_{ij} \cdot \mathbf{S}_j - \sum_i \mathbf{S}_i \cdot A_i \cdot \mathbf{S}_i\]

where \(\mathbf{S}_i\) is a classical spin vector at magnetic site \(i\) normalized to 1; \(\mathcal{J}_{ij}\) is a 3x3 exchange tensor, that can be decomposed into physical components

  1. Isotropic Heisenberg Exchange

    \[H_{\text{iso}} = -\sum_{i \neq j} J_{ij} (\mathbf{S}_i \cdot \mathbf{S}_j)\]
  2. Dzyaloshinskii-Moriya Interaction

    \[H_{\text{DM}} = -\sum_{i \neq j} \mathbf{D}_{ij} \cdot (\mathbf{S}_i \times \mathbf{S}_j)\]
  3. Symmetric Anisotropic Exchange

    \[H_{\text{sym-ani}} = -\sum_{i \neq j} \mathbf{S}_i \cdot \mathcal{J}^{\text{ANI}}_{ij} \cdot \mathbf{S}_j\]

    where \(\mathcal{J}^{\text{ANI}}_{ij}\) is the traceless symmetric part of \(\mathcal{J}_{ij}\).

Convention

Spin normalized

yes

Multiple counting

yes