MnF2 — Collinear antiferromagnet#

MnF2 orders below \(T_N = 67\) K as a two-sublattice antiferromagnet with Mn2+ moments along the tetragonal c-axis [1]. Space group \(P4_2/mnm\) (No. 136), propagation vector k = (0, 0, 0): magnetic satellite peaks coincide with nuclear Bragg positions.

Setup#

import numpy as np
from msgjson import maximal_msgs, orbit_moments, magnetic_structure_factors

SG   = 136
K    = [0, 0, 0]
SITE = [0, 0, 0]   # Mn^2+ Wyckoff 2a

Magnetic space group#

top = maximal_msgs(SG, k=K, sites=[SITE])

for r in top:
    s = r.sites[0]
    v = s.moment_basis[:, 0] / np.linalg.norm(s.moment_basis[:, 0])
    print(f"BNS {r.bns_number}  type={r.msg_type}  n_ops={r.n_ops}"
          f"  n_free={s.n_free}  m || [{v[0]:.0f},{v[1]:.0f},{v[2]:.0f}]")
BNS 136.499  type=3  n_ops=16  n_free=1  m || [0,0,1]
BNS 136.501  type=3  n_ops=16  n_free=1  m || [0,0,1]

Both type-III MSGs force mc and represent the same observable structure at k = 0. No structural domains arise from this ordering.

Moment orbit#

r = top[0]   # BNS 136.499
s = r.sites[0]

m_amp = 4.9                           # μ_B, measured Mn²⁺ ordered moment
m_ref = m_amp * s.moment_basis[:, 0]  # [0., 0., 4.9]

site_moms = orbit_moments(r, site_idx=0, m_ref=m_ref, k=K)

for pos, mom in site_moms:
    print(f"  {pos}:  m = {np.round(mom, 2)} μ_B")
[0.  0.  0.]:  m = [0.  0.  4.9] μ_B
[0.5 0.5 0.5]:  m = [0.  0. -4.9] μ_B

Two-sublattice antiferromagnet; net moment zero.

Structure factors#

For k = 0 the satellite positions coincide with integer hkl. Passing the tetragonal lattice parameters activates the Mn2+ form factor:

lattice = np.diag([4.873, 4.873, 3.306])   # Å, tetragonal

hkl = [(1,0,0), (0,0,1), (1,0,1), (1,1,0), (1,1,1), (2,0,1), (2,1,0)]
F2 = magnetic_structure_factors(
    site_moms, hkl, K, lattice=lattice, ion="Mn2+"
)

print(f"  {'hkl':12s}  |F_M|² (μ_B²)")
for idx, f2 in zip(hkl, F2):
    print(f"  {str(idx):12s}  {f2:10.2f}")
hkl           |F_M|² (μ_B²)
(1, 0, 0)          76.26
(0, 0, 1)          58.81
(1, 0, 1)           0.00
(1, 1, 0)           0.00
(1, 1, 1)          38.54
(2, 0, 1)          25.86
(2, 1, 0)          32.59

Selection rule: \(F_M \propto 1 - e^{i\pi(h+k+l)}\) — zero when h + k + l is even, active when odd. Although (0, 0, 1) has a nonzero \(|F_M|^2\), the moment is parallel to Q (sin²α = 0) so the peak carries no neutron cross-section.