mag4.magnon.sublattice

Inequivalent magnetic sites and bond table for the multi-sublattice exchange matrix.

Functions

get_inequivalent_sites(cif_path, element)

Group magnetic sites into crystallographically inequivalent classes.

get_sublattice_bonds(cif_path, element, ...)

Build the bond table for the full N_mag × N_mag primitive-cell exchange matrix.

mag4.magnon.sublattice.get_inequivalent_sites(cif_path, element)[source]

Group magnetic sites into crystallographically inequivalent classes.

Uses pymatgen.symmetry.analyzer.SpacegroupAnalyzer to derive Wyckoff orbits and returns one list of global site indices per class.

Return type:

List[List[int]]

Parameters:
  • cif_path (str)

  • element (str)

mag4.magnon.sublattice.get_sublattice_bonds(cif_path, element, cutoff, shells, j_values, tol=0.01)[source]

Build the bond table for the full N_mag × N_mag primitive-cell exchange matrix.

Every magnetic atom is treated as its own sublattice. The reciprocal-space exchange matrix is

\[J_{αβ}(q) = Σ_{\text{images}} J_n · \exp(i\,q · r_{αβ,\text{image}})\]
Returns:

Keys: n_sub, site_labels, bonds, inequiv_groups, global_to_wyck, mag_idx, cif_path, orig_rec_matrix, prim_fracs, lat_matrix.

Return type:

dict

Parameters: