SCIF
findspingroup can export a repo-generated spinCIF-style .scif snapshot from
the MagSymmetryResult, and can also parse that generated .scif back through
the same public input path.
Export
from findspingroup import example_path, find_spin_group
result = find_spin_group(example_path("0.800_MnTe.mcif"))
scif_text = result.scif
assert scif_text == result.to_scif(cell_mode="ssg_convention_oriented")
Available export modes:
scif_convention = result.to_scif(cell_mode="ssg_convention_oriented")
scif_standard = result.to_scif(cell_mode="database_standard_oriented")
scif_primitive = result.to_scif(cell_mode="magnetic_primitive_oriented")
scif_input_direct = result.to_scif(cell_mode="input_oriented")
| Mode | Meaning |
|---|---|
ssg_convention_oriented |
Default public OSSG convention output. |
ssg_convention_cartesian |
Public OSSG convention output with Cartesian spin components. |
database_standard_oriented |
Raw selected SSG database standard setting, with spin components tied to the emitted lattice basis. |
database_standard_cartesian |
Raw selected SSG database standard setting, with Cartesian spin components. |
magnetic_primitive_oriented |
ACC magnetic primitive-cell output, with spin components tied to the emitted lattice basis. |
magnetic_primitive_cartesian |
ACC magnetic primitive-cell output, with Cartesian spin components. |
input_oriented |
Direct input-cell identified output, with spin components tied to the input lattice basis. |
input_cartesian |
Direct input-cell identified output, with Cartesian spin components. |
Legacy aliases are kept for compatibility: database_standard,
magnetic_primitive, and input_identified map to the corresponding oriented
modes. There is no separate input SCIF mode.
Database-standard output
database_standard_* writes the symmetry operations in the selected database
standard setting used by identify-index:
- non-type-k results use the raw
G0stdsetting - type-k results use the raw
L0stdsetting - the setting is taken before any final-convention canonicalization
Generated SCIF text records the choice with repo-local tags:
_space_group_spin.fsg_scif_real_space_setting "G0std"
_space_group_spin.fsg_scif_spin_frame_setting "oriented"
For *_oriented modes, spin components are tied to the emitted lattice basis.
For *_cartesian modes, spin components are Cartesian. The transform written in
_space_group_spin.transform_spinframe_P_abc records the spin-frame basis used
by the file.
Current generator rules
- repo-local FINDSPINGROUP metadata is emitted under CIF-legal
_space_group_spin.fsg_*tags - symmetry-operation and transform coefficients keep full precision by default
- values near simple fractions or common square-root forms may be written as
symbolic expressions such as
1/3,2/3, orsqrt(6)/3 _space_group_spin.number_Chen_Liuis the SSG number for the exported SCIF mode; forinput_identified, it is the directly identified input-cell number- repo-generated
.sciffiles can be parsed back withfind_spin_group(...)and are regression-tested to preserve the identifiedindex - in quasi-2D mode, generated SCIF may include additive repo-local tags such as
_space_group_spin.fsg_calculation_mode,_space_group_spin.fsg_vacuum_axis_input, and_space_group_spin.fsg_spin_splitting_2d_interpretation; these tags do not change the SSG index encoded by the file