crystod-mag#
Symmetry-adapted spin bases (cluster multipoles / SAMM): every symmetry-distinct magnetic order allowed on the sites of one element, printed with its irrep, its per-atom spin directions, a ready-to-paste VASP or Quantum ESPRESSO magnetization input, and a VESTA file with spin arrows.
I want to … |
command |
|---|---|
enumerate the magnetic orders at q = 0 |
|
survey every special k point |
|
get a Quantum ESPRESSO input instead |
|
build a magnetic supercell at q ≠ 0 |
|
28. Symmetry-adapted spin bases#
Example directory: example/28_spin_basis (testsuite section 28)
Treat the spins on the sites of a magnetic element as axial-vector degrees of freedom and decompose them into space-group irreps at a q point by projection — a complete, symmetry-exhaustive enumeration of the ferromagnetic and antiferromagnetic arrangements, following the cluster-multipole / symmetry-adapted multipole moment (SAMM) framework of M.-T. Suzuki et al. [PRB 95, 094406 (2017); PRB 99, 174407 (2019)]:
crystod-mag -c example/test_POSCARs/221_PPOSCAR_AlNi3 --element Ni --qpoint 0 0 0
crystod-mag -c example/test_POSCARs/221_PPOSCAR_AlNi3 --element Ni --qpoint 0 0 0 --format qe
# survey mode: spin-multipole irreps at ALL special k points
crystod-mag -c example/test_POSCARs/221_PPOSCAR_AlNi3 --element Ni
The output opens with the magnetic sites and the complete irrep enumeration — for the Ni 3c cluster of AlNi3 (the Mn3Ir geometry), 9 spin degrees of freedom decompose into exactly three symmetry-adapted families:
Space group: Pm-3m (#221)
Magnetic sites: Ni x 3
Ni1: [0.5, 0.5, 0.0]
Ni2: [0.5, 0.0, 0.5]
Ni3: [0.0, 0.5, 0.5]
Selected q-point: GAMMA = [0.0, 0.0, 0.0]
Spin (axial-vector) representation on Ni sites: 9 dimensions
Decomposition: 2 x GM4+(3) + GM5+(3)
Symmetry-adapted spin bases:
GM4+(3): dim 3 [FM, dipole]
GM4+(3): dim 3 [AFM, octupole]
GM5+(3): dim 3 [AFM, octupole]
Every basis vector is then printed with its per-atom spin directions, net moment, and the magnetization input. The [111] component of the GM4+ cluster octupole is the experimentally realized 120-degree structure of Mn3Ir — note the exactly vanishing net moment:
=== GM4+(3) [AFM, octupole] ===
component 111:
Ni1: S = [ 0.4082, 0.4082, 0.8165]
Ni2: S = [ 0.4082, -0.8165, -0.4082]
Ni3: S = [-0.8165, 0.4082, -0.4082]
net moment: [0.0, 0.0, -0.0]
spin directions (all atoms, POSCAR order):
Al1: [0, 0, 0]
Ni2: [0.4082, 0.4082, 0.8165]
Ni3: [0.4082, -0.8165, -0.4082]
Ni4: [-0.8165, 0.4082, -0.4082]
MAGMOM = 0 0 0 0.4082 0.4082 0.8165 0.4082 -0.8165 -0.4082 -0.8165 0.4082 -0.4082
written to: POSCAR_AlNi3_spin_GM4+_octupole_111.vesta
Per-atom spin directions and a ready-to-paste noncollinear magnetization input
are printed by default for every basis vector. --format selects the input
format:
vasp(default) prints a noncollinearMAGMOMline;qeprints the Quantum ESPRESSO counterpart —noncolin = .true.with per-typestarting_magnetization(i)/angle1(i)(polar angle from z) /angle2(i)(azimuth from x) for the&SYSTEMnamelist, where the magnetic element is split into one atom type per distinct spin direction (the atom membership of each type is printed as comments forATOMIC_SPECIES/ATOMIC_POSITIONS).
With --format qe, the same 120-degree octupole becomes (Ni split into three
types because the three spins point in three different directions):
Quantum ESPRESSO noncollinear magnetization (&SYSTEM):
noncolin = .true.
! type 1 (Al): Al1 -- non-magnetic
! type 2 (Ni1): Ni2 S = [0.4082, 0.4082, 0.8165]
starting_magnetization(2) = 1.0000
angle1(2) = 35.2611
angle2(2) = 45.0000
! type 3 (Ni2): Ni3 S = [0.4082, -0.8165, -0.4082]
starting_magnetization(3) = 1.0000
angle1(3) = 114.0928
angle2(3) = -63.4378
! type 4 (Ni3): Ni4 S = [-0.8165, 0.4082, -0.4082]
starting_magnetization(4) = 1.0000
angle1(4) = 114.0928
angle2(4) = 153.4378
! angle1 = polar angle from the z axis (deg); angle2 = azimuth from the x axis in the xy plane (deg).
! Split Ni into the types above in ATOMIC_SPECIES / ATOMIC_POSITIONS to realize this spin arrangement.
When --qpoint is omitted, the spin (axial-vector) irrep decomposition is
listed for every special k point of the space group — the magnetic counterpart
of the crystod SALC survey (e.g. for AlNi3: GM: 2.0 [GM4+(3)] + 1.0 [GM5+(3)],
R: R2+ + R3+ + R4+ + R5+, …).
For the Mn3Ir-type Ni 3c cluster of AlNi3 this yields
9 dims = 2 x GM4+(3) + GM5+(3): the GM4+ (T1g) cluster dipole (FM), the GM4+
(T1g) cluster octupole (AFM: the experimentally realized 120-degree structure of
Mn3Ir, which shares the irrep with the dipole and hence allows the anomalous
Hall effect), and the GM5+ (T2g) cluster octupole (AFM). Every AFM basis
satisfies sum_i S_i = 0 exactly.
Each basis vector is exported as
POSCAR_<formula>_spin_<irrep>_<dipole|octupole|...>_<direction>.vesta
(e.g. POSCAR_AlNi3_spin_GM4+_octupole_111.vesta for the 120-degree Mn3Ir-type
state), with spin arrows on the magnetic atoms scaled so that the largest spin
gets --amplitude Angstroms (default 1.5). For q != 0 (e.g. --qpoint R) the
commensurate magnetic supercell is built automatically, with the Bloch phase
applied to the spins and the MAGMOM/VESTA output referring to the supercell.
--conventional exports the spin structures in the conventional cell instead of
the primitive cell (VESTA files get a _conv suffix, and for q != 0 the
conventional cell is multiplied until the Bloch phase is commensurate);
--tolerance sets the symmetry tolerance (default 1e-5).
See also
Theory: the construction is the SALC projection used elsewhere in CrystOD
(1. Theoretical background) with the Cartesian
part replaced by det(R) R, since spins are axial vectors; irrep labels come
from spgrep + the bundled ISO-IR (ISOTROPY, Miller-Love) tables as usual.
Within a multiply-occurring irrep the unique net-moment (dipole) combination is
split off from the net-zero (higher-multipole) ones, and multipole ranks
(dipole, octupole, …) are assigned representation-theoretically from the
parity-resolved angular-momentum characters (Suzuki’s Table III logic).