Version 5 (modified by toby, 13 years ago) (diff) |
---|
GSAS-II incorporates the unique space group interpretation code developed for GSAS by Alan Larson as a set of Python modules that wrap the GSAS Fortran code. These codes interpret the supplied space group name, rather than looking it up from tables, so it is capable of generation of operators for a very large number of non-standard space group settings. The f2py tool supplied in SciPy integrates the Fortran code into Python quite nicely.
The symmetry code includes:
- SpcGroup: Determines cell and symmetry information from a short H-M space group name
- SpaceGroup: Prints the results from SpcGroup in a nicely formatted way
- GenAtom: Generates the full set of equivalent positions for a space group and one member of the set
- SytSym: Determines the site multiplicity for a supplied fractional coordinate and classifies the site symmetry
The files used in this module are:
- GSASIIspc.py: The top-level space group routines
- pyspg.for: The Fortran interface code to the GSAS library
- spsubs/: space group subroutines from GSAS needed by pyspg.for
- testinp/: files used for running unit tests on GSASIIspc.py (sgtbxtestinp.py and spctestinp.py). The contents of these files are created using gensgtbx.py and genselftest.py.
- Makefile: an input file used in GNU make to compile and link pyspg.for. Editing is required to select the platform to use.
Unit Tests
Unit tests are provided that check that the output from SpcGroup? and SpaceGroup? are identical across platforms for all 230 space groups and