FindSpinGroup
From a magnetic structure to its spin-space symmetry and symmetry-allowed physical responses.
FindSpinGroup identifies the oriented spin space group (OSSG) of a supplied magnetic configuration, its spin-orbit-compatible magnetic space group (MSG), and symmetry constraints on spin splitting, anomalous Hall conductivity, spin texture, polar axes, magnetic sites, and related quantities.
FindSpinGroup analyzes symmetry. It does not calculate energies, transition temperatures, band splittings, conductivity magnitudes, or magnetic ground states.
Start In One Minute
python -m pip install --upgrade findspingroup
fsg path/to/structure.mcif
Or from Python:
from findspingroup import find_spin_group_basic
result = find_spin_group_basic("path/to/structure.mcif")
print(result["index"])
print(result["magnetic_phase"])
print(result["msg_bns_number"], result["msg_symbol"])
print(result["properties"])
Read The Result In This Order
| Read first | Question answered | Scientific meaning |
|---|---|---|
index, ossg_symbol_linear |
What is the nonrelativistic spin-space symmetry? | OSSG symmetry of the supplied ordered magnetic configuration. |
msg_bns_number, msg_symbol |
What symmetry is compatible with SOC? | MSG after spin and real-space rotations are locked. |
conf |
How are the moments geometrically arranged? | Collinear, coplanar, or noncoplanar; not an FM/AFM label. |
magnetic_phase |
How is the magnetic configuration classified? | Rule-based, tolerance-dependent phase label. |
properties |
Which responses are symmetry-allowed? | Spin splitting and AHC permission with and without SOC. |
spin_texture_config_* |
What is the leading momentum dependence? | Lowest-order symmetry-allowed spin-texture polynomial in the reported frame. |
allowed means “not forced to vanish by the analyzed symmetry.” It does not
mean that a response is necessarily large or experimentally observable.
Choose By Your Goal
| I want to... | Start here |
|---|---|
| identify one material and understand the main output | Quickstart |
| understand the physical meaning and limitations | Interpret Your Result |
| choose between quick, full, and input-cell analysis | Choose a Workflow |
| decide whether to change tolerances | Parameters and Reliability |
| run commands or export files | CLI by Task |
| integrate FindSpinGroup in Python | Python API |
| inspect every field and nested payload | Result Schemas |
Three Analysis Levels
Quick analysis
Use fsg FILE or find_spin_group_basic(FILE) for identification, screening,
and the main physics-facing constraints. This is the right starting point for
most users.
Full analysis
Use fsg --full FILE --show FIELD or find_spin_group(FILE) when you need
cells, operations, tensor constraints, magnetic-site analysis,
SCIF/POSCAR/KPOINTS, quasi-2D diagnostics, or route audits. The CLI requires a
selected field so a huge raw result cannot bury the requested information.
Input-cell operation export
Use fsg -w FILE or find_spin_group_input_ssg(FILE) when a downstream code
needs SSG and MSG operations expressed in the user-supplied cell. Check the
returned warning before using operations from a non-primitive input cell.
Before You Publish A Result
- Record the FindSpinGroup version and all non-default parameters.
- Confirm that the input magnetic moments and their coordinate convention are correct.
- Check tolerance sensitivity for noisy, nearly symmetric, or very small moments.
- Keep every operation, coordinate, spin-texture basis, and generated file attached to its reported cell/spin-frame setting.
- Describe symmetry outputs as allowed or forbidden constraints, not computed response magnitudes.