Theoretical background
Heisenberg Hamiltonian
The sign convention used throughout the library is:
Four-state method
For a given dimer i,j, four collinear spin configurations are built by
freezing the magnetic bath (all other atoms):
Label |
\(S_i\) |
\(S_j\) |
DFT energy (to be computed) |
|---|---|---|---|
|
+S |
+S |
\(E_{uu}\) |
|
−S |
−S |
\(E_{dd}\) |
|
+S |
−S |
\(E_{ud}\) |
|
−S |
+S |
\(E_{du}\) |
Projecting onto \(H = +J_{ij}\, S_i \cdot S_j\) gives:
A supercell is required so that the two atoms of the dimer are distinct
sites (otherwise they would be periodic images of each other and their spins
would be locked together). The mag4.dimers.find_dimers() function
automatically diagnoses too-short axes and suggests the appropriate
--supercell flag.
The four-state divisor is generalised to \(4M\) when the chosen dimer also couples to its own periodic images through the same shell (multiplicity \(M\)); mag4’s supercell search additionally enforces a no-self-folding rule — no coupling within the model may connect an atom to its own image, which would silently fold another shell into the extracted J.
Energy-mapping method
Instead of a few targeted configurations per bond, every inequivalent collinear order of the supercell is enumerated and its DFT energy fitted to the exact Ising-projected model
by linear least squares (one global solve; error bars, variance-inflation
diagnostics, and indeterminate-column detection come free). The optional
four-spin ring exchange column
\(c_\mathrm{ring} = \sum_\square s_i s_j s_k s_l\) (--jring) is
essential for square-lattice cuprates, where
\(J_\mathrm{ring} \approx 0.25\,J_1\).
16-state ring method
To isolate \(J_\mathrm{ring}\) alone, the four atoms of one square plaquette are flipped over a fixed bath (\(2^4 = 16\) states) and the energies contracted with the four-spin parity \(\chi = s_1 s_2 s_3 s_4\) (mathematically, the Walsh character of the spin-flip group \(\mathbb{Z}_2^4\)):
Parity (character) orthogonality cancels every term involving three or fewer plaquette spins — the constant, the bath fields, all pairwise bonds — for any fixed bath, so the projection is exact. The plaquette must be fully isolated (\(M = 1\)); mag4 grows the supercell until it is.
Symmetry reduction — the magnetic grey group
Configurations are deduplicated under the magnetic (grey) group: the unitary crystal operations plus each of them composed with time reversal \(T\) (global spin flip), exact in collinear no-SOC DFT. Two configurations whose spin vectors are related by
(\(\pi\) a site permutation from a crystal operation; the minus sign is
the antiunitary branch) have the same energy: only one is computed.
On an antiferromagnetic reference the antiunitary branch does real work —
e.g. the square-plaquette \(C_4\) composed with \(T\) — and the
pairs it merges typically differ in total \(S_z\), so no unitary
operation could relate them. --check-degeneracy keeps those pairs as
separate DFT runs and mag4-extract verifies their degeneracy, a direct
numerical test of the antiunitary symmetry. See
mag4.spinconfig.find_unique_configs().
Every configuration is additionally classified into one of the 1651 magnetic (Shubnikov) space groups (BNS number and type, via spglib’s magnetic dataset) with its magnetic point group — colourless \(G\), grey \(G1'\) (every type-IV configuration), or black–white \(G(H)\) in Shubnikov notation.
Ring renormalisation of the couplings
The four-state formulas contain no ring term, so a real
\(J_\mathrm{ring}\) biases the extracted bilinear J’s — mag4’s
--jring/--jprime diagnostics print the leakage and a corrected-J
formula. Conversely, at the harmonic (LSWT) level about the Néel state the
cyclic four-spin operator reduces exactly to renormalised bilinear
couplings (Coldea et al., PRL 86, 5377 (2001)); in mag4’s native
\(JS^2\) units, per bond,
which mag4-magnon --jring applies (and documents) before computing the
magnon spectrum and \(T_c\).
Linear spin-wave theory
For the multi-sublattice ordered phase, the reciprocal-space exchange matrix is:
The ordering wavevector is \(\mathbf{q}_0 = \arg\min_q \lambda_{\min}(J(q))\) (Luttinger-Tisza approach).
Magnon dispersion
The Goldstone mode (\(\omega = 0\)) automatically lands at \(\mathbf{k} = \mathbf{q}_0\).
Critical temperatures
Mean-field:
Tyablikov RPA:
For \(\mathbf{q}_0 \approx \Gamma\), an exact LSWT-RPA acoustic-branch
variant is used instead — see mag4.magnon.tc.compute_tc_lswt().
Honesty guards on \(T_c\)
An isotropic Heisenberg model cannot order at \(T > 0\) in two or fewer dimensions (Mermin–Wagner). mag4 computes the dimensionality of the exchange network, where a coupling counts as zero only when it is statistically unresolved from zero (\(|JS^2| < 2\sigma\) of its own fit error bar, or below the fit RMS) — physical smallness alone never excludes a coupling, since any genuinely finite interlayer J orders a quasi-2D magnet — and, when it is not 3D, states plainly that the printed temperatures are an energy scale of short-range correlations, not a Néel/Curie temperature. A related diagnostic reports ordering-vector components along dispersion-flat axes as undetermined rather than as spurious incommensurate modulations.