Changes between Version 5 and Version 6 of SpaceGroupInterpreter


Ignore:
Timestamp:
Apr 30, 2010 9:57:47 AM (13 years ago)
Author:
toby
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SpaceGroupInterpreter

    v5 v6  
    1 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.
     1GSAS-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 [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/GSASIIspc.py GSASIIspc.py] is intended to be used as an independent module for programs needing space group interpretation capabilities.
    22
    3 The symmetry code includes:   
     3The symmetry code includes routines:   
    44
    55 * !SpcGroup: Determines cell and symmetry information from a short H-M space group name
     
    77 * !GenAtom: Generates the full set of equivalent positions for a space group and one member of the set
    88 * !SytSym: Determines the site multiplicity for a supplied fractional coordinate and classifies the site symmetry
     9See the documentation inside the code for more information.
    910
    1011The files used in this module are:
     
    1213 * [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/GSASIIspc.py GSASIIspc.py]: The top-level space group routines
    1314 * [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/pyspg.for pyspg.for]: The Fortran interface code to the GSAS library
    14  * [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/spsubs/ spsubs/]: space group subroutines from GSAS needed by pyspg.for
    15  * [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/testinp/ testinp/]: files used for running unit tests on GSASIIspc.py ([https://subversion.xor.aps.anl.gov/pyGSAS/trunk/testinp/sgtbxtestinp.py sgtbxtestinp.py] and [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/testinp/spctestinp.py spctestinp.py]). The contents of these files are created using [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/testinp/gensgtbx.py gensgtbx.py] and [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/testinp/genselftest.py genselftest.py].
     15 * [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/spsubs/ spsubs/]: space group subroutines from GSAS needed by pyspg.for when not linking directly against the GSAS subroutine library.
     16 * [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/testinp/ testinp/]: files used for running [#unittests unit tests] on GSASIIspc.py ([https://subversion.xor.aps.anl.gov/pyGSAS/trunk/testinp/sgtbxtestinp.py sgtbxtestinp.py] and [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/testinp/spctestinp.py spctestinp.py]). The contents of these files are created using [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/testinp/gensgtbx.py gensgtbx.py] and [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/testinp/genselftest.py genselftest.py].
    1617 * [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/Makefile Makefile]: an input file used in GNU make to compile and link pyspg.for. Editing is required to select the platform to use.
    1718
    18 === Unit Tests ===
     19=== Unit Tests === #unittests
    1920
    20 Unit tests are provided that check that the output from SpcGroup and SpaceGroup are identical across platforms for all 230 space groups and
     21Unit tests are provided that check that the results from !SpcGroup and !SpaceGroup are identical across platforms and match those computed independently (from program sgtbx in cctbx). Tests are done on !SpcGroup and !SpaceGroup on all 230 space groups. The !SytSym & !GenAtom routines are tested on representative space group settings against values taken from then International Tables Volume A.
     22
     23The unit tests can be run by simply invoking the [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/GSASIIspc.py GSASIIspc.py] file directly ({{{python GSASIIspc.py}}}). Alternately the
     24python package {{{nosetests}}} which will run file [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/unit_tests.py unit_tests.py] will test all defined unit tests in GSAS-II. Note that unit tests require as input files
     25[https://subversion.xor.aps.anl.gov/pyGSAS/trunk/testinp/sgtbxtestinp.py sgtbxtestinp.py] and [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/testinp/spctestinp.py spctestinp.py] in directory
     26[https://subversion.xor.aps.anl.gov/pyGSAS/trunk/testinp/ testinp/].
     27
     28=== Binary distributions ===
     29
     30Binary distributions are provided that include a compiled and linked version of [https://subversion.xor.aps.anl.gov/pyGSAS/trunk/GSASIIspc.py GSASIIspc.py] as a loadable library (.pyd on windows and .so on Linux and Mac/OS X). The binary distributions for a limited number of platforms are found here [https://subversion.xor.aps.anl.gov/pyGSAS/binaries] in directories named bin{{{XXX}}}'''N.m'''{{{proc}}}/ where {{{XXX}}} can be win, mac or linux and '''N.m''' indicates the python version (2.5 or 2.6) and the optional suffix {{{proc}}} indicates a processor type, if not i86 (Intel 32-bit). The binary distributions can be placed in the directory with this name in the same location as the GSASIIspc.py file or in a directory named bin/. The GSASIIspc.pyd or GSASIIspc.so file can also be in any location in the python search path, but bin/ will be checked first and then bin{{{XXX}}}'''N.m'''{{{proc}}}/.
    2131
    2232=== Compiling and linking pyspg.for ===
     33
     34A sample Makefile is provided to compile and link the Fortran routines used in GSAS-II. In all likelihood, all that is needed to changed in the file will be to provide values for the variables:
     35
     36 * COMPILER: this defines the compiler options supplied to f2py
     37 * PACKCOPTS: this defines extra compiler options needed to compile the pack_f program (not used in GSASIIspg)
     38 * SUFFIX: name added to produced library (pyd or so)
     39 * F2PY: name of f2py program (f2py.py or f2py, if not in path, include a full path name.)
     40 * MOVE: name of program used to copy or move the compiled/linked library to directory bin/
     41 * DEL: delete command to be used after a copy or move
     42 * GSASlib: full path to GSAS library (needed only for pypowder, not used in GSASIIspg).
     43