mag4.magnon.ordering

Ground-state ordering analysis: Luttinger-Tisza q₀ and spin direction assignment.

Functions

analyse_ordering(Jq, evals, q_frac, q_cart, ...)

Find q₀ = argmin λ_min(q) and characterise the magnetic ordering.

get_spin_dirs_from_q0(bond_data, q0_frac)

Assign collinear spin directions in the primitive cell from the ordering wavevector.

mag4.magnon.ordering.analyse_ordering(Jq, evals, q_frac, q_cart, structure)[source]

Find q₀ = argmin λ_min(q) and characterise the magnetic ordering.

The output dict contains:

idx0, q0_cart, q0_frac, lam0, eigvec, ratios, character, sc_dims, commensurate.

Return type:

Dict

mag4.magnon.ordering.get_spin_dirs_from_q0(bond_data, q0_frac)[source]

Assign collinear spin directions in the primitive cell from the ordering wavevector.

\[s_α = \mathrm{sign}\bigl(\cos(2π\,q₀ · r_α)\bigr)\]

where r_α is the fractional coordinate of site α. This is the TB2J strategy: the LSWT dynamical matrix is then built directly in the primitive cell, giving exactly n_sub magnon branches with a Goldstone mode at k = q₀. No supercell replication is required.

Return type:

ndarray

Parameters: