schrodinger.application.matsci.gsas.GSASIIspc module

# Third-party code. No Schrodinger Copyright.

GSASIIspc: Space group module

Space group interpretation routines. Note that space group information is stored in a Space Group (SGData) object.

schrodinger.application.matsci.gsas.GSASIIspc.npsind(x)
schrodinger.application.matsci.gsas.GSASIIspc.npcosd(x)
schrodinger.application.matsci.gsas.GSASIIspc.SpcGroup(SGSymbol)

Determines cell and symmetry information from a short H-M space group name

Parameters

SGSymbol – space group symbol (string) with spaces between axial fields

Returns

(SGError,SGData)

  • SGError = 0 for no errors; >0 for errors (see SGErrors below for details)

  • SGData - is a dict (see Space Group object) with entries:

    • ’SpGrp’: space group symbol, slightly cleaned up

    • ’SGFixed’: True if space group data can not be changed, e.g. from magnetic cif; otherwise False

    • ’SGGray’: True if 1’ in symbol - gray group for mag. incommensurate phases

    • ’SGLaue’: one of ‘-1’, ‘2/m’, ‘mmm’, ‘4/m’, ‘4/mmm’, ‘3R’, ‘3mR’, ‘3’, ‘3m1’, ‘31m’, ‘6/m’, ‘6/mmm’, ‘m3’, ‘m3m’

    • ’SGInv’: boolean; True if centrosymmetric, False if not

    • ’SGLatt’: one of ‘P’, ‘A’, ‘B’, ‘C’, ‘I’, ‘F’, ‘R’

    • ’SGUniq’: one of ‘a’, ‘b’, ‘c’ if monoclinic, ‘’ otherwise

    • ’SGCen’: cell centering vectors [0,0,0] at least

    • ’SGOps’: symmetry operations as [M,T] so that M*x+T = x’

    • ’SGSys’: one of ‘triclinic’, ‘monoclinic’, ‘orthorhombic’, ‘tetragonal’, ‘rhombohedral’, ‘trigonal’, ‘hexagonal’, ‘cubic’

    • ’SGPolax’: one of ‘ ‘, ‘x’, ‘y’, ‘x y’, ‘z’, ‘x z’, ‘y z’, ‘xyz’, ‘111’ for arbitrary axes

    • ’SGPtGrp’: one of 32 point group symbols (with some permutations), which

      is filled by SGPtGroup, is external (KE) part of supersymmetry point group

    • ’SSGKl’: default internal (Kl) part of supersymmetry point group; modified

      in supersymmetry stuff depending on chosen modulation vector for Mono & Ortho

    • ’BNSlattsym’: BNS lattice symbol & cenering op - used for magnetic structures

schrodinger.application.matsci.gsas.GSASIIspc.SGErrors(IErr)

Interprets the error message code from SpcGroup. Used in SpaceGroup.

Parameters

IErr – see SGError in SpcGroup()

Returns

ErrString - a string with the error message or “Unknown error”

schrodinger.application.matsci.gsas.GSASIIspc.SGpolar(SGData)

Determine identity of polar axes if any

schrodinger.application.matsci.gsas.GSASIIspc.SGPtGroup(SGData)

Determine point group of the space group - done after space group symbol has been evaluated by SpcGroup. Only short symbols are allowed

Parameters

SGData – from :func SpcGroup

Returns

SSGPtGrp & SSGKl (only defaults for Mono & Ortho)

schrodinger.application.matsci.gsas.GSASIIspc.SGPrint(SGData, AddInv=False)

Print the output of SpcGroup in a nicely formatted way. Used in SpaceGroup

Parameters

SGData – from SpcGroup()

Returns

SGText - list of strings with the space group details SGTable - list of strings for each of the operations

schrodinger.application.matsci.gsas.GSASIIspc.AllOps(SGData)

Returns a list of all operators for a space group, including those for centering and a center of symmetry

Parameters

SGData – from SpcGroup()

Returns

(SGTextList,offsetList,symOpList,G2oprList) where

  • SGTextList: a list of strings with formatted and normalized symmetry operators.

  • offsetList: a tuple of (dx,dy,dz) offsets that relate the GSAS-II symmetry operation to the operator in SGTextList and symOpList. these dx (etc.) values are added to the GSAS-II generated positions to provide the positions that are generated by the normalized symmetry operators.

  • symOpList: a list of tuples with the normalized symmetry operations as (M,T) values (see SGOps in the Space Group object)

  • G2oprList: The GSAS-II operations for each symmetry operation as a tuple with (center,mult,opnum,opcode), where center is (0,0,0), (0.5,0,0), (0.5,0.5,0.5),…; where mult is 1 or -1 for the center of symmetry where opnum is the number for the symmetry operation, in SGOps (starting with 0) and opcode is mult*(100*icen+j+1).

schrodinger.application.matsci.gsas.GSASIIspc.TextOps(text, table, reverse=False)

Makes formatted operator list :param text,table: arrays of text made by SGPrint :param reverse: True for x+1/2 form; False for 1/2+x form :returns: OpText: full list of symmetry operators; one operation per line generally printed to console for use via cut/paste in other programs, but could be used for direct input

schrodinger.application.matsci.gsas.GSASIIspc.TextGen(SGData, reverse=False)
schrodinger.application.matsci.gsas.GSASIIspc.GetOprNames(SGData)
schrodinger.application.matsci.gsas.GSASIIspc.MT2text(Opr, reverse=False)

From space group matrix/translation operator returns text version

schrodinger.application.matsci.gsas.GSASIIspc.Latt2text(Cen)

From lattice centering vectors returns ‘;’ delimited cell centering vectors

schrodinger.application.matsci.gsas.GSASIIspc.SpaceGroup(SGSymbol)

Print the output of SpcGroup in a nicely formatted way.

Parameters

SGSymbol – space group symbol (string) with spaces between axial fields

Returns

nothing

schrodinger.application.matsci.gsas.GSASIIspc.SetMagnetic(SGData)
schrodinger.application.matsci.gsas.GSASIIspc.GetGenSym(SGData)

Get the space group generator symbols :param SGData: from SpcGroup() LaueSym = (‘-1’,’2/m’,’mmm’,’4/m’,’4/mmm’,’3R’,’3mR’,’3’,’3m1’,’31m’,’6/m’,’6/mmm’,’m3’,’m3m’) LattSym = (‘P’,’A’,’B’,’C’,’I’,’F’,’R’)

schrodinger.application.matsci.gsas.GSASIIspc.ApplyBNSlatt(SGData, BNSlatt)
schrodinger.application.matsci.gsas.GSASIIspc.CheckSpin(isym, SGData)

Check for exceptions in spin rules

schrodinger.application.matsci.gsas.GSASIIspc.MagSGSym(SGData)
schrodinger.application.matsci.gsas.GSASIIspc.fixMono(SpGrp)

fixes b-unique monoclinics in e.g. P 1 2/1c 1 –> P 21/c

schrodinger.application.matsci.gsas.GSASIIspc.Trans2Text(Trans)

from transformation matrix to text

schrodinger.application.matsci.gsas.GSASIIspc.getlattSym(Trans)
schrodinger.application.matsci.gsas.GSASIIspc.Text2MT(mcifOpr, CIF=True)

From space group cif text returns matrix/translation

schrodinger.application.matsci.gsas.GSASIIspc.MagText2MTS(mcifOpr, CIF=True)

From magnetic space group cif text returns matrix/translation + spin flip

schrodinger.application.matsci.gsas.GSASIIspc.MagSSText2MTS(mcifOpr)

From magnetic super space group cif text returns matrix/translation + spin flip

schrodinger.application.matsci.gsas.GSASIIspc.GetSGSpin(SGData, MSgSym)

get spin generators from magnetic space group symbol

schrodinger.application.matsci.gsas.GSASIIspc.GenMagOps(SGData)
schrodinger.application.matsci.gsas.GSASIIspc.GetOpNum(Opr, SGData)
schrodinger.application.matsci.gsas.GSASIIspc.SSpcGroup(SGData, SSymbol)

Determines supersymmetry information from superspace group name; currently only for (3+1) superlattices

Parameters
  • SGData – space group data structure as defined in SpcGroup above (see SGData).

  • SSymbol – superspace group symbol extension (string) defining modulation direction & generator info.

Returns

(SSGError,SSGData)

  • SGError = 0 for no errors; >0 for errors (see SGErrors below for details)

  • SSGData - is a dict (see Superspace Group object) with entries:

    • ’SSpGrp’: full superspace group symbol, accidental spaces removed; for display only

    • ’SSGCen’: 4D cell centering vectors [0,0,0,0] at least

    • ’SSGOps’: 4D symmetry operations as [M,T] so that M*x+T = x’

schrodinger.application.matsci.gsas.GSASIIspc.SSChoice(SGData)

Gets the unique set of possible super space groups for a given space group

schrodinger.application.matsci.gsas.GSASIIspc.splitSSsym(SSymbol)

Splits supersymmetry symbol into two lists of strings

schrodinger.application.matsci.gsas.GSASIIspc.SSGPrint(SGData, SSGData, AddInv=False)

Print the output of SSpcGroup in a nicely formatted way. Used in SSpaceGroup

Parameters
  • SGData – space group data structure as defined in SpcGroup above.

  • SSGData – from SSpcGroup()

Returns

SSGText - list of strings with the superspace group details SGTable - list of strings for each of the operations

schrodinger.application.matsci.gsas.GSASIIspc.SSGModCheck(Vec, modSymb, newMod=True)

Checks modulation vector compatibility with supersymmetry space group symbol. if newMod: Superspace group symbol takes precidence & the vector will be modified accordingly

schrodinger.application.matsci.gsas.GSASIIspc.SSMT2text(Opr)

From superspace group matrix/translation operator returns text version

schrodinger.application.matsci.gsas.GSASIIspc.SSLatt2text(SSGCen)

Lattice centering vectors to text

schrodinger.application.matsci.gsas.GSASIIspc.SSpaceGroup(SGSymbol, SSymbol)

Print the output of SSpcGroup in a nicely formatted way.

Parameters
  • SGSymbol – space group symbol with spaces between axial fields.

  • SSymbol – superspace group symbol extension (string).

Returns

nothing

schrodinger.application.matsci.gsas.GSASIIspc.SGProd(OpA, OpB)
Form space group operator product. OpA & OpB are [M,V] pairs;

both must be of same dimension (3 or 4). Returns [M,V] pair

schrodinger.application.matsci.gsas.GSASIIspc.GetLittleGrpOps(SGData, vec)

Find rotation part of operators that leave vec unchanged

Parameters
  • SGData – space group data structure as defined in SpcGroup above.

  • vec – a numpy array of fractional vector coordinates

Returns

Little - list of operators [M,T] that form the little gropu

schrodinger.application.matsci.gsas.GSASIIspc.MoveToUnitCell(xyz)

Translates a set of coordinates so that all values are >=0 and < 1

Parameters

xyz – a list or numpy array of fractional coordinates

Returns

XYZ - numpy array of new coordinates now 0 or greater and less than 1

schrodinger.application.matsci.gsas.GSASIIspc.Opposite(XYZ, toler=0.0002)
Gives opposite corner, edge or face of unit cell for position within tolerance.

Result may be just outside the cell within tolerance

Parameters
  • XYZ – 0 >= np.array[x,y,z] > 1 as by MoveToUnitCell

  • toler – unit cell fraction tolerance making opposite

Returns

XYZ: dict of opposite positions; key=unit cell & always contains XYZ

schrodinger.application.matsci.gsas.GSASIIspc.GenAtom(XYZ, SGData, All=False, Uij=[], Move=True)

Generates the equivalent positions for a specified coordinate and space group

Parameters
  • XYZ – an array, tuple or list containing 3 elements: x, y & z

  • SGData – from SpcGroup()

  • All – True return all equivalent positions including duplicates; False return only unique positions

  • Uij – [U11,U22,U33,U12,U13,U23] or [] if no Uij

  • Move – True move generated atom positions to be inside cell False do not move atoms

Returns

[[XYZEquiv],Idup,[UijEquiv],spnflp]

  • [XYZEquiv] is list of equivalent positions (XYZ is first entry)

  • Idup = [-][C]SS where SS is the symmetry operator number (1-24), C (if not 0,0,0)

  • is centering operator number (1-4) and - is for inversion Cell = unit cell translations needed to put new positions inside cell [UijEquiv] - equivalent Uij; absent if no Uij given

  • +1/-1 for spin inversion of operator - empty if not magnetic

schrodinger.application.matsci.gsas.GSASIIspc.GenHKL(HKL, SGData)

Generates all equivlent reflections including Friedel pairs :param HKL: [h,k,l] must be integral values :param SGData: space group data obtained from SpcGroup :returns: array Uniq: equivalent reflections

schrodinger.application.matsci.gsas.GSASIIspc.GenHKLf(HKL, SGData)

Uses old GSAS Fortran routine genhkl.for

Parameters
  • HKL – [h,k,l] must be integral values for genhkl.for to work

  • SGData – space group data obtained from SpcGroup

Returns

iabsnt,mulp,Uniq,phi

  • iabsnt = True if reflection is forbidden by symmetry

  • mulp = reflection multiplicity including Friedel pairs

  • Uniq = numpy array of equivalent hkl in descending order of h,k,l

  • phi = phase offset for each equivalent h,k,l

schrodinger.application.matsci.gsas.GSASIIspc.checkSSLaue(HKL, SGData, SSGData)
schrodinger.application.matsci.gsas.GSASIIspc.checkHKLextc(HKL, SGData)

Checks if reflection extinct - does not check centering

Parameters
  • HKL – [h,k,l]

  • SGData – space group data obtained from SpcGroup

Returns

True if extinct; False if allowed

schrodinger.application.matsci.gsas.GSASIIspc.checkMagextc(HKL, SGData)

Checks if reflection magnetically extinct; does fullcheck (centering, too) uses algorthm from Gallego, et al., J. Appl. Cryst. 45, 1236-1247 (2012)

Parameters
  • HKL – [h,k,l]

  • SGData – space group data obtained from SpcGroup; must have magnetic symmetry SpnFlp data

Returns

True if magnetically extinct; False if allowed (to match GenHKLf)

schrodinger.application.matsci.gsas.GSASIIspc.checkSSextc(HKL, SSGData)
schrodinger.application.matsci.gsas.GSASIIspc.GetOprPtrName(key)

Needs a doc string

schrodinger.application.matsci.gsas.GSASIIspc.GetOprPtrNumber(key)

Needs a doc string

schrodinger.application.matsci.gsas.GSASIIspc.GetOprName(key)

Needs a doc string

schrodinger.application.matsci.gsas.GSASIIspc.GetKNsym(key)

Needs a doc string

schrodinger.application.matsci.gsas.GSASIIspc.GetNXUPQsym(siteSym)

The codes XUPQ are for lookup of symmetry constraints for position(X), thermal parm(U) & magnetic moments (P & Q)

schrodinger.application.matsci.gsas.GSASIIspc.GetCSxinel(siteSym)

returns Xyz terms, multipliers, GUI flags

schrodinger.application.matsci.gsas.GSASIIspc.GetCSuinel(siteSym)

returns Uij terms, multipliers, GUI flags & Uiso2Uij multipliers

schrodinger.application.matsci.gsas.GSASIIspc.GetCSpqinel(SpnFlp, dupDir)

returns Mxyz terms, multipliers, GUI flags

schrodinger.application.matsci.gsas.GSASIIspc.getTauT(tau, sop, ssop, XYZ, wave=array([0., 0., 0.]))
schrodinger.application.matsci.gsas.GSASIIspc.OpsfromStringOps(A, SGData, SSGData)
schrodinger.application.matsci.gsas.GSASIIspc.GetSSfxuinel(waveType, Stype, nH, XYZ, SGData, SSGData, debug=False)
schrodinger.application.matsci.gsas.GSASIIspc.MustrainNames(SGData)

Needs a doc string

schrodinger.application.matsci.gsas.GSASIIspc.HStrainVals(HSvals, SGData)
schrodinger.application.matsci.gsas.GSASIIspc.HStrainNames(SGData)

Needs a doc string

schrodinger.application.matsci.gsas.GSASIIspc.MustrainCoeff(HKL, SGData)

Needs a doc string

schrodinger.application.matsci.gsas.GSASIIspc.MuShklMean(SGData, Amat, Shkl)
schrodinger.application.matsci.gsas.GSASIIspc.Muiso2Shkl(muiso, SGData, cell)

this is to convert isotropic mustrain to generalized Shkls

schrodinger.application.matsci.gsas.GSASIIspc.PackRot(SGOps)
schrodinger.application.matsci.gsas.GSASIIspc.SytSym(XYZ, SGData)

Generates the number of equivalent positions and a site symmetry code for a specified coordinate and space group

Parameters
  • XYZ – an array, tuple or list containing 3 elements: x, y & z

  • SGData – from SpcGroup

Returns

a four element tuple:

  • The 1st element is a code for the site symmetry (see GetKNsym)

  • The 2nd element is the site multiplicity

  • Ndup number of overlapping operators

  • dupDir Dict - dictionary of overlapping operators

schrodinger.application.matsci.gsas.GSASIIspc.MagSytSym(SytSym, dupDir, SGData)

site sym operations: 1,-1,2,3,-3,4,-4,6,-6,m need to be marked if spin inversion

schrodinger.application.matsci.gsas.GSASIIspc.UpdateSytSym(Phase)

Update site symmetry/site multiplicity after space group/BNS lattice change

schrodinger.application.matsci.gsas.GSASIIspc.ElemPosition(SGData)

Under development. Object here is to return a list of symmetry element types and locations suitable for say drawing them. So far I have the element type… getting all possible locations without lookup may be impossible!

schrodinger.application.matsci.gsas.GSASIIspc.ApplyStringOps(A, SGData, X, Uij=[])

Needs a doc string

schrodinger.application.matsci.gsas.GSASIIspc.ApplyStringOpsMom(A, SGData, Mom)

Needs a doc string

schrodinger.application.matsci.gsas.GSASIIspc.StringOpsProd(A, B, SGData)

Find A*B where A & B are in strings ‘-’ + ‘100*c+n’ + ‘+ijk’ where ‘-’ indicates inversion, c(>0) is the cell centering operator, n is operator number from SgOps and ijk are unit cell translations (each may be <0). Should return resultant string - C. SGData - dictionary using entries:

  • ‘SGCen’: cell centering vectors [0,0,0] at least

  • ‘SGOps’: symmetry operations as [M,T] so that M*x+T = x’

schrodinger.application.matsci.gsas.GSASIIspc.U2Uij(U)
schrodinger.application.matsci.gsas.GSASIIspc.Uij2U(Uij)
schrodinger.application.matsci.gsas.GSASIIspc.StandardizeSpcName(spcgroup)

Accept a spacegroup name where spaces may have not been used in the names according to the GSAS convention (spaces between symmetry for each axis) and return the space group name as used in GSAS

schrodinger.application.matsci.gsas.GSASIIspc.SpaceGroupNumber(spcgroup)
schrodinger.application.matsci.gsas.GSASIIspc.spgbyNum = [None, 'P 1', 'P -1', 'P 2', 'P 21', 'C 2', 'P m', 'P c', 'C m', 'C c', 'P 2/m', 'P 21/m', 'C 2/m', 'P 2/c', 'P 21/c', 'C 2/c', 'P 2 2 2', 'P 2 2 21', 'P 21 21 2', 'P 21 21 21', 'C 2 2 21', 'C 2 2 2', 'F 2 2 2', 'I 2 2 2', 'I 21 21 21', 'P m m 2', 'P m c 21', 'P c c 2', 'P m a 2', 'P c a 21', 'P n c 2', 'P m n 21', 'P b a 2', 'P n a 21', 'P n n 2', 'C m m 2', 'C m c 21', 'C c c 2', 'A m m 2', 'A b m 2', 'A m a 2', 'A b a 2', 'F m m 2', 'F d d 2', 'I m m 2', 'I b a 2', 'I m a 2', 'P m m m', 'P n n n', 'P c c m', 'P b a n', 'P m m a', 'P n n a', 'P m n a', 'P c c a', 'P b a m', 'P c c n', 'P b c m', 'P n n m', 'P m m n', 'P b c n', 'P b c a', 'P n m a', 'C m c m', 'C m c a', 'C m m m', 'C c c m', 'C m m a', 'C c c a', 'F m m m', 'F d d d', 'I m m m', 'I b a m', 'I b c a', 'I m m a', 'P 4', 'P 41', 'P 42', 'P 43', 'I 4', 'I 41', 'P -4', 'I -4', 'P 4/m', 'P 42/m', 'P 4/n', 'P 42/n', 'I 4/m', 'I 41/a', 'P 4 2 2', 'P 4 21 2', 'P 41 2 2', 'P 41 21 2', 'P 42 2 2', 'P 42 21 2', 'P 43 2 2', 'P 43 21 2', 'I 4 2 2', 'I 41 2 2', 'P 4 m m', 'P 4 b m', 'P 42 c m', 'P 42 n m', 'P 4 c c', 'P 4 n c', 'P 42 m c', 'P 42 b c', 'I 4 m m', 'I 4 c m', 'I 41 m d', 'I 41 c d', 'P -4 2 m', 'P -4 2 c', 'P -4 21 m', 'P -4 21 c', 'P -4 m 2', 'P -4 c 2', 'P -4 b 2', 'P -4 n 2', 'I -4 m 2', 'I -4 c 2', 'I -4 2 m', 'I -4 2 d', 'P 4/m m m', 'P 4/m c c', 'P 4/n b m', 'P 4/n n c', 'P 4/m b m', 'P 4/m n c', 'P 4/n m m', 'P 4/n c c', 'P 42/m m c', 'P 42/m c m', 'P 42/n b c', 'P 42/n n m', 'P 42/m b c', 'P 42/m n m', 'P 42/n m c', 'P 42/n c m', 'I 4/m m m', 'I 4/m c m', 'I 41/a m d', 'I 41/a c d', 'P 3', 'P 31', 'P 32', 'R 3', 'P -3', 'R -3', 'P 3 1 2', 'P 3 2 1', 'P 31 1 2', 'P 31 2 1', 'P 32 1 2', 'P 32 2 1', 'R 3 2', 'P 3 m 1', 'P 3 1 m', 'P 3 c 1', 'P 3 1 c', 'R 3 m', 'R 3 c', 'P -3 1 m', 'P -3 1 c', 'P -3 m 1', 'P -3 c 1', 'R -3 m', 'R -3 c', 'P 6', 'P 61', 'P 65', 'P 62', 'P 64', 'P 63', 'P -6', 'P 6/m', 'P 63/m', 'P 6 2 2', 'P 61 2 2', 'P 65 2 2', 'P 62 2 2', 'P 64 2 2', 'P 63 2 2', 'P 6 m m', 'P 6 c c', 'P 63 c m', 'P 63 m c', 'P -6 m 2', 'P -6 c 2', 'P -6 2 m', 'P -6 2 c', 'P 6/m m m', 'P 6/m c c', 'P 63/m c m', 'P 63/m m c', 'P 2 3', 'F 2 3', 'I 2 3', 'P 21 3', 'I 21 3', 'P m 3', 'P n 3', 'F m -3', 'F d -3', 'I m -3', 'P a -3', 'I a -3', 'P 4 3 2', 'P 42 3 2', 'F 4 3 2', 'F 41 3 2', 'I 4 3 2', 'P 43 3 2', 'P 41 3 2', 'I 41 3 2', 'P -4 3 m', 'F -4 3 m', 'I -4 3 m', 'P -4 3 n', 'F -4 3 c', 'I -4 3 d', 'P m -3 m', 'P n -3 n', 'P m -3 n', 'P n -3 m', 'F m -3 m', 'F m -3 c', 'F d -3 m', 'F d -3 c', 'I m -3 m', 'I a -3 d']

Space groups indexed by number

schrodinger.application.matsci.gsas.GSASIIspc.altSettingOrtho = {'A b a 2': {'abc': 'A b a 2', 'acb': 'A c 2 a', 'bac': 'B b a 2', 'bca': 'C c 2 a', 'cab': 'B 2 c b', 'cba': 'C 2 c b'}, 'A b m 2': {'abc': 'A b m 2', 'acb': 'A c 2 m', 'bac': 'B m a 2', 'bca': 'C m 2 a', 'cab': 'B 2 c m', 'cba': 'C 2 m b'}, 'A m a 2': {'abc': 'A m a 2', 'acb': 'A m 2 a', 'bac': 'B b m 2', 'bca': 'C c 2 m', 'cab': 'B 2 m b', 'cba': 'C 2 c m'}, 'A m m 2': {'abc': 'A m m 2', 'acb': 'A m 2 m', 'bac': 'B m m 2', 'bca': 'C m 2 m', 'cab': 'B 2 m m', 'cba': 'C 2 m m'}, 'C 2 2 2': {'abc': 'C 2 2 2', 'acb': 'B 2 2 2', 'bac': 'C 2 2 2', 'bca': 'B 2 2 2', 'cab': 'A 2 2 2', 'cba': 'A 2 2 2'}, 'C 2 2 21': {'abc': 'C 2 2 21', 'acb': 'B 2 21 2', 'bac': 'C 2 2 21', 'bca': 'B 2 21 2', 'cab': 'A 21 2 2', 'cba': 'A 21 2 2'}, 'C c c 2': {'abc': 'C c c 2', 'acb': 'B b 2 b', 'bac': 'C c c 2', 'bca': 'B b 2 b', 'cab': 'A 2 a a', 'cba': 'A 2 a a'}, 'C c c a': {'abc': 'C c a a', 'acb': 'B b a b', 'bac': 'C c c b', 'bca': 'B b c b', 'cab': 'A b a a', 'cba': 'A c a a'}, 'C c c m': {'abc': 'C c c m', 'acb': 'B b m b', 'bac': 'C c c m', 'bca': 'B b m b', 'cab': 'A m a a', 'cba': 'A m a a'}, 'C m c 21': {'abc': 'C m c 21', 'acb': 'B m 21 b', 'bac': 'C c m 21', 'bca': 'B b 21 m', 'cab': 'A 21 m a', 'cba': 'A 21 a m'}, 'C m c a': {'abc': 'C m c a', 'acb': 'B m a b', 'bac': 'C c m b', 'bca': 'B b c m', 'cab': 'A b m a', 'cba': 'A c a m'}, 'C m c m': {'abc': 'C m c m', 'acb': 'B m m b', 'bac': 'C c m m', 'bca': 'B b m m', 'cab': 'A m m a', 'cba': 'A m a m'}, 'C m m 2': {'abc': 'C m m 2', 'acb': 'B m 2 m', 'bac': 'C m m 2', 'bca': 'B m 2 m', 'cab': 'A 2 m m', 'cba': 'A 2 m m'}, 'C m m a': {'abc': 'C m m a', 'acb': 'B m a m', 'bac': 'C m m b', 'bca': 'B m c m', 'cab': 'A b m m', 'cba': 'A c m m'}, 'C m m m': {'abc': 'C m m m', 'acb': 'B m m m', 'bac': 'C m m m', 'bca': 'B m m m', 'cab': 'A m m m', 'cba': 'A m m m'}, 'F 2 2 2': {'abc': 'F 2 2 2', 'acb': 'F 2 2 2', 'bac': 'F 2 2 2', 'bca': 'F 2 2 2', 'cab': 'F 2 2 2', 'cba': 'F 2 2 2'}, 'F d d 2': {'abc': 'F d d 2', 'acb': 'F d 2 d', 'bac': 'F d d 2', 'bca': 'F d 2 d', 'cab': 'F 2 d d', 'cba': 'F 2 d d'}, 'F d d d': {'abc': 'F d d d', 'acb': 'F d d d', 'bac': 'F d d d', 'bca': 'F d d d', 'cab': 'F d d d', 'cba': 'F d d d'}, 'F m m 2': {'abc': 'F m m 2', 'acb': 'F m 2 m', 'bac': 'F m m 2', 'bca': 'F m 2 m', 'cab': 'F 2 m m', 'cba': 'F 2 m m'}, 'F m m m': {'abc': 'F m m m', 'acb': 'F m m m', 'bac': 'F m m m', 'bca': 'F m m m', 'cab': 'F m m m', 'cba': 'F m m m'}, 'I 2 2 2': {'abc': 'I 2 2 2', 'acb': 'I 2 2 2', 'bac': 'I 2 2 2', 'bca': 'I 2 2 2', 'cab': 'I 2 2 2', 'cba': 'I 2 2 2'}, 'I 21 21 21': {'abc': 'I 21 21 21', 'acb': 'I 21 21 21', 'bac': 'I 21 21 21', 'bca': 'I 21 21 21', 'cab': 'I 21 21 21', 'cba': 'I 21 21 21'}, 'I b a 2': {'abc': 'I b a 2', 'acb': 'I c 2 a', 'bac': 'I b a 2', 'bca': 'I c 2 a', 'cab': 'I 2 c b', 'cba': 'I 2 c b'}, 'I b a m': {'abc': 'I b a m', 'acb': 'I c m a', 'bac': 'I b a m', 'bca': 'I c m a', 'cab': 'I m c b', 'cba': 'I m c b'}, 'I b c a': {'abc': 'I b c a', 'acb': 'I c a b', 'bac': 'I c a b', 'bca': 'I b c a', 'cab': 'I b c a', 'cba': 'I c a b'}, 'I m a 2': {'abc': 'I m a 2', 'acb': 'I m 2 a', 'bac': 'I b m 2', 'bca': 'I c 2 m', 'cab': 'I 2 m b', 'cba': 'I 2 c m'}, 'I m m 2': {'abc': 'I m m 2', 'acb': 'I m 2 m', 'bac': 'I m m 2', 'bca': 'I m 2 m', 'cab': 'I 2 m m', 'cba': 'I 2 m m'}, 'I m m a': {'abc': 'I m m a', 'acb': 'I m a m', 'bac': 'I m m  b', 'bca': 'I m c m', 'cab': 'I b m m', 'cba': 'I c m m'}, 'I m m m': {'abc': 'I m m m', 'acb': 'I m m m', 'bac': 'I m m m', 'bca': 'I m m m', 'cab': 'I m m m', 'cba': 'I m m m'}, 'P 2 2 2': {'abc': 'P 2 2 2', 'acb': 'P 2 2 2', 'bac': 'P 2 2 2', 'bca': 'P 2 2 2', 'cab': 'P 2 2 2', 'cba': 'P 2 2 2'}, 'P 2 2 21': {'abc': 'P 2 2 21', 'acb': 'P 2 21 2', 'bac': 'P 2 2 21', 'bca': 'P 2 21 2', 'cab': 'P 21 2 2', 'cba': 'P 21 2 2'}, 'P 21 21 2': {'abc': 'P 21 21 2', 'acb': 'P 21 2 21', 'bac': 'P 21 21 2', 'bca': 'P 21 2 21', 'cab': 'P 2 21 21', 'cba': 'P 2 21 21'}, 'P 21 21 21': {'abc': 'P 21 21 21', 'acb': 'P 21 21 21', 'bac': 'P 21 21 21', 'bca': 'P 21 21 21', 'cab': 'P 21 21 21', 'cba': 'P 21 21 21'}, 'P b a 2': {'abc': 'P b a 2', 'acb': 'P c 2 a', 'bac': 'P b a 2', 'bca': 'P c 2 a', 'cab': 'P 2 c b', 'cba': 'P 2 c b'}, 'P b a m': {'abc': 'P b a m', 'acb': 'P c m a', 'bac': 'P b a m', 'bca': 'P c m a', 'cab': 'P m c b', 'cba': 'P m c b'}, 'P b a n': {'abc': 'P b a n', 'acb': 'P c n a', 'bac': 'P b a n', 'bca': 'P c n a', 'cab': 'P n c b', 'cba': 'P n c b'}, 'P b c a': {'abc': 'P b c a', 'acb': 'P c a b', 'bac': 'P c a b', 'bca': 'P b c a', 'cab': 'P b c a', 'cba': 'P c a b'}, 'P b c m': {'abc': 'P b c m', 'acb': 'P c m b', 'bac': 'P c a m', 'bca': 'P b m a', 'cab': 'P m c a', 'cba': 'P m a b'}, 'P b c n': {'abc': 'P b c n', 'acb': 'P c n b', 'bac': 'P c a n', 'bca': 'P b n a', 'cab': 'P n c a', 'cba': 'P n a b'}, 'P c a 21': {'abc': 'P c a 21', 'acb': 'P b 21 a', 'bac': 'P b c 21', 'bca': 'P c 21 b', 'cab': 'P 21 a b', 'cba': 'P 21 c a'}, 'P c c 2': {'abc': 'P c c 2', 'acb': 'P b 2 b', 'bac': 'P c c 2', 'bca': 'P b 2 b', 'cab': 'P 2 a a', 'cba': 'P 2 a a'}, 'P c c a': {'abc': 'P c c a', 'acb': 'P b a b', 'bac': 'P c c b', 'bca': 'P b c b', 'cab': 'P b a a', 'cba': 'P c a a'}, 'P c c m': {'abc': 'P c c m', 'acb': 'P b m b', 'bac': 'P c c m', 'bca': 'P b m b', 'cab': 'P m a a', 'cba': 'P m a a'}, 'P c c n': {'abc': 'P c c n', 'acb': 'P b n b', 'bac': 'P c c n', 'bca': 'P b n b', 'cab': 'P n a a', 'cba': 'P n a a'}, 'P m a 2': {'abc': 'P m a 2', 'acb': 'P m 2 a', 'bac': 'P b m 2', 'bca': 'P c 2 m', 'cab': 'P 2 m b', 'cba': 'P 2 c m'}, 'P m c 21': {'abc': 'P m c 21', 'acb': 'P m 21 b', 'bac': 'P c m 21', 'bca': 'P b 21 m', 'cab': 'P 21 m a', 'cba': 'P 21 a m'}, 'P m m 2': {'abc': 'P m m 2', 'acb': 'P m 2 m', 'bac': 'P m m 2', 'bca': 'P m 2 m', 'cab': 'P 2 m m', 'cba': 'P 2 m m'}, 'P m m a': {'abc': 'P m m a', 'acb': 'P m a m', 'bac': 'P m m b', 'bca': 'P m c m', 'cab': 'P b m m', 'cba': 'P c m m'}, 'P m m m': {'abc': 'P m m m', 'acb': 'P m m m', 'bac': 'P m m m', 'bca': 'P m m m', 'cab': 'P m m m', 'cba': 'P m m m'}, 'P m m n': {'abc': 'P m m n', 'acb': 'P m n m', 'bac': 'P m m n', 'bca': 'P m n m', 'cab': 'P n m m', 'cba': 'P n m m'}, 'P m n 21': {'abc': 'P m n 21', 'acb': 'P m 21 n', 'bac': 'P n m 21', 'bca': 'P n 21 m', 'cab': 'P 21 m n', 'cba': 'P 21 n m'}, 'P m n a': {'abc': 'P m n a', 'acb': 'P m a n', 'bac': 'P n m b', 'bca': 'P n c m', 'cab': 'P b m n', 'cba': 'P c n m'}, 'P n a 21': {'abc': 'P n a 21', 'acb': 'P n 21 a', 'bac': 'P b n 21', 'bca': 'P c 21 n', 'cab': 'P 21 n b', 'cba': 'P 21 c n'}, 'P n c 2': {'abc': 'P n c 2', 'acb': 'P n 2 b', 'bac': 'P c n 2', 'bca': 'P b 2 n', 'cab': 'P 2 n a', 'cba': 'P 2 a n'}, 'P n m a': {'abc': 'P n m a', 'acb': 'P n a m', 'bac': 'P m n b', 'bca': 'P m c n', 'cab': 'P b n m', 'cba': 'P c m n'}, 'P n n 2': {'abc': 'P n n 2', 'acb': 'P n 2 n', 'bac': 'P n n 2', 'bca': 'P n 2 n', 'cab': 'P 2 n n', 'cba': 'P 2 n n'}, 'P n n a': {'abc': 'P n n a', 'acb': 'P n a n', 'bac': 'P n n b', 'bca': 'P n c n', 'cab': 'P b n n', 'cba': 'P c n n'}, 'P n n m': {'abc': 'P n n m', 'acb': 'P n m n', 'bac': 'P n n m', 'bca': 'P n m n', 'cab': 'P m n n', 'cba': 'P m n n'}, 'P n n n': {'abc': 'P n n n', 'acb': 'P n n n', 'bac': 'P n n n', 'bca': 'P n n n', 'cab': 'P n n n', 'cba': 'P n n n'}}

A dictionary of alternate settings for orthorhombic unit cells

schrodinger.application.matsci.gsas.GSASIIspc.spg2origins = {'A b a a': [-0.25, 0, -0.25], 'A c a a': [-0.25, -0.25, 0], 'B b a b': [0, -0.25, -0.25], 'B b c b': [-0.25, -0.25, 0], 'C c c a': [0, -0.25, -0.25], 'C c c b': [-0.25, 0, -0.25], 'F d - c': [-0.375, -0.375, -0.375], 'F d -3': [-0.125, -0.125, -0.125], 'F d -3 c': [-0.375, -0.375, -0.375], 'F d -3 m': [-0.125, -0.125, -0.125], 'F d 3': [-0.125, -0.125, -0.125], 'F d 3 m': [-0.125, -0.125, -0.125], 'F d d d': [-0.125, -0.125, -0.125], 'I 41/a': [0, -0.25, -0.125], 'I 41/a c d': [0, 0.25, -0.125], 'I 41/a m d': [0, 0.25, -0.125], 'P 4/n': [-0.25, -0.25, 0], 'P 4/n b m': [-0.25, -0.25, 0], 'P 4/n c c': [-0.25, -0.25, 0], 'P 4/n m m': [-0.25, -0.25, 0], 'P 4/n n c': [-0.25, -0.25, -0.25], 'P 42/n': [-0.25, -0.25, -0.25], 'P 42/n b c': [-0.25, -0.25, -0.25], 'P 42/n c m': [-0.25, 0.25, -0.25], 'P 42/n m c': [-0.25, 0.25, -0.25], 'P 42/n n m': [-0.25, 0.25, -0.25], 'P b a n': [-0.25, -0.25, 0], 'P c n a': [-0.25, 0, -0.25], 'P m m n': [-0.25, -0.25, 0], 'P m n m': [-0.25, 0, -0.25], 'P n -3 m': [-0.25, -0.25, -0.25], 'P n -3 n': [-0.25, -0.25, -0.25], 'P n 3 m': [-0.25, -0.25, -0.25], 'P n 3 n': [-0.25, -0.25, -0.25], 'P n c b': [0, -0.25, -0.25], 'P n m m': [0, -0.25, -0.25], 'P n n n': [-0.25, -0.25, -0.25], 'p n -3': [-0.25, -0.25, -0.25], 'p n 3': [-0.25, -0.25, -0.25]}

A dictionary of all spacegroups that have 2nd settings; the value is the 1st –> 2nd setting transformation vector as X(2nd) = X(1st)-V, nonstandard ones are included.

schrodinger.application.matsci.gsas.GSASIIspc.spglist = {'A2/m': ('A 2', 'A m', 'A a', 'A n', 'A 2/m', 'A 2/a', 'A 2/n'), 'Ammm': ('A 21 2 2', 'A 2 2 2', 'A 2 m m', 'A 21 m a', 'A 21 a m', 'A 2 a a', 'A m 2 m', 'A m m 2', 'A b m 2', 'A c 2 m', 'A m a 2', 'A m 2 a', 'A b a 2', 'A c 2 a', 'A m m a', 'A m a m', 'A b m a', 'A c a m', 'A m m m', 'A m a a', 'A b m m', 'A c m m', 'A c a a', 'A b a a'), 'Bmmm': ('B 2 21 2', 'B 2 2 2', 'B m 2 m', 'B m 21 b', 'B b 21 m', 'B b 2 b', 'B m m 2', 'B 2 m m', 'B 2 c m', 'B m a 2', 'B 2 m b', 'B b m 2', 'B 2 c b', 'B b a 2', 'B b m m', 'B m m b', 'B b c m', 'B m a b', 'B m m m', 'B b m b', 'B m a m', 'B m c m', 'B b a b', 'B b c b'), 'C1': ('C 1', 'C -1'), 'C2/m': ('C 2', 'C m', 'C c', 'C n', 'C 2/m', 'C 2/c', 'C 2/n'), 'Cmmm': ('C 2 2 21', 'C 2 2 2', 'C m m 2', 'C m c 21', 'C c m 21', 'C c c 2', 'C m 2 m', 'C 2 m m', 'C m 2 a', 'C 2 m b', 'C c 2 m', 'C 2 c m', 'C c 2 a', 'C 2 c b', 'C m c m', 'C c m m', 'C m c a', 'C c m b', 'C m m m', 'C c c m', 'C m m a', 'C m m b', 'C c c a', 'C c c b'), 'Fm3m': ('F 2 3', 'F m 3', 'F m -3', 'F d 3', 'F d -3', 'F 4 3 2', 'F 41 3 2', 'F -4 3 m', 'F -4 3 c', 'F m 3 m', 'F m -3 m', 'F m 3 c', 'F m -3 c', 'F d 3 m', 'F d -3 m', 'F d 3 c', 'F d -3 c'), 'Fmmm': ('F 2 2 2', 'F m m m', 'F d d d', 'F m m 2', 'F m 2 m', 'F 2 m m', 'F d d 2', 'F d 2 d', 'F 2 d d'), 'I2/m': ('I 2', 'I m', 'I a', 'I n', 'I c', 'I 2/m', 'I 2/a', 'I 2/c', 'I 2/n'), 'I4/mmm': ('I 4', 'I 41', 'I -4', 'I 4/m', 'I 41/a', 'I 4 2 2', 'I 41 2 2', 'I 4 m m', 'I 4 c m', 'I 41 m d', 'I 41 c d', 'I -4 m 2', 'I -4 c 2', 'I -4 2 m', 'I -4 2 d', 'I 4/m m m', 'I 4/m c m', 'I 41/a m d', 'I 41/a c d'), 'Im3m': ('I 2 3', 'I 21 3', 'I m 3', 'I m -3', 'I a 3', 'I a -3', 'I 4 3 2', 'I 41 3 2', 'I -4 3 m', 'I -4 3 d', 'I m -3 m', 'I m 3 m', 'I a 3 d', 'I a -3 d', 'I n 3 n', 'I n -3 n'), 'Immm': ('I 2 2 2', 'I 21 21 21', 'I m m 2', 'I m 2 m', 'I 2 m m', 'I b a 2', 'I 2 c b', 'I c 2 a', 'I m a 2', 'I 2 m b', 'I c 2 m', 'I m 2 a', 'I b m 2', 'I 2 c m', 'I m m m', 'I b a m', 'I m c b', 'I c m a', 'I b c a', 'I c a b', 'I m m a', 'I b m m ', 'I m c m', 'I m a m', 'I m m b', 'I c m m'), 'P1': ('P 1', 'P -1'), 'P2/m': ('P 2', 'P 21', 'P m', 'P a', 'P c', 'P n', 'P 2/m', 'P 21/m', 'P 2/c', 'P 2/a', 'P 2/n', 'P 21/c', 'P 21/a', 'P 21/n'), 'P4/mmm': ('P 4', 'P 41', 'P 42', 'P 43', 'P -4', 'P 4/m', 'P 42/m', 'P 4/n', 'P 42/n', 'P 4 2 2', 'P 4 21 2', 'P 41 2 2', 'P 41 21 2', 'P 42 2 2', 'P 42 21 2', 'P 43 2 2', 'P 43 21 2', 'P 4 m m', 'P 4 b m', 'P 42 c m', 'P 42 n m', 'P 4 c c', 'P 4 n c', 'P 42 m c', 'P 42 b c', 'P -4 2 m', 'P -4 2 c', 'P -4 21 m', 'P -4 21 c', 'P -4 m 2', 'P -4 c 2', 'P -4 b 2', 'P -4 n 2', 'P 4/m m m', 'P 4/m c c', 'P 4/n b m', 'P 4/n n c', 'P 4/m b m', 'P 4/m n c', 'P 4/n m m', 'P 4/n c c', 'P 42/m m c', 'P 42/m c m', 'P 42/n b c', 'P 42/n n m', 'P 42/m b c', 'P 42/m n m', 'P 42/n m c', 'P 42/n c m'), 'P6/mmm': ('P 3', 'P 31', 'P 32', 'P -3', 'P 3 1 2', 'P 3 2 1', 'P 31 1 2', 'P 31 2 1', 'P 32 1 2', 'P 32 2 1', 'P 3 m 1', 'P 3 1 m', 'P 3 c 1', 'P 3 1 c', 'P -3 1 m', 'P -3 1 c', 'P -3 m 1', 'P -3 c 1', 'P 6', 'P 61', 'P 65', 'P 62', 'P 64', 'P 63', 'P -6', 'P 6/m', 'P 63/m', 'P 6 2 2', 'P 61 2 2', 'P 65 2 2', 'P 62 2 2', 'P 64 2 2', 'P 63 2 2', 'P 6 m m', 'P 6 c c', 'P 63 c m', 'P 63 m c', 'P -6 m 2', 'P -6 c 2', 'P -6 2 m', 'P -6 2 c', 'P 6/m m m', 'P 6/m c c', 'P 63/m c m', 'P 63/m m c'), 'Pm3m': ('P 2 3', 'P 21 3', 'P m 3', 'P m -3', 'P n 3', 'P n -3', 'P a 3', 'P a -3', 'P 4 3 2', 'P 42 3 2', 'P 43 3 2', 'P 41 3 2', 'P -4 3 m', 'P -4 3 n', 'P m 3 m', 'P m -3 m', 'P n 3 n', 'P n -3 n', 'P m 3 n', 'P m -3 n', 'P n 3 m', 'P n -3 m'), 'Pmmm': ('P 2 2 2', 'P 2 2 21', 'P 21 2 2', 'P 2 21 2', 'P 21 21 2', 'P 2 21 21', 'P 21 2 21', 'P 21 21 21', 'P m m 2', 'P 2 m m', 'P m 2 m', 'P m c 21', 'P 21 m a', 'P b 21 m', 'P m 21 b', 'P c m 21', 'P 21 a m', 'P c c 2', 'P 2 a a', 'P b 2 b', 'P m a 2', 'P 2 m b', 'P c 2 m', 'P m 2 a', 'P b m 2', 'P 2 c m', 'P c a 21', 'P 21 a b', 'P c 21 b', 'P b 21 a', 'P b c 21', 'P 21 c a', 'P n c 2', 'P 2 n a', 'P b 2 n', 'P n 2 b', 'P c n 2', 'P 2 a n', 'P m n 21', 'P 21 m n', 'P n 21 m', 'P m 21 n', 'P n m 21', 'P 21 n m', 'P b a 2', 'P 2 c b', 'P c 2 a', 'P n a 21', 'P 21 n b', 'P c 21 n', 'P n 21 a', 'P b n 21', 'P 21 c n', 'P n n 2', 'P 2 n n', 'P n 2 n', 'P m m m', 'P n n n', 'P c c m', 'P m a a', 'P b m b', 'P b a n', 'P n c b', 'P c n a', 'P m m a', 'P b m m', 'P m c m', 'P m a m', 'P m m b', 'P c m m', 'P n n a', 'P b n n', 'P n c n', 'P n a n', 'P n n b', 'P c n n', 'P m n a', 'P b m n', 'P n c m', 'P m a n', 'P n m b', 'P c n m', 'P c c a', 'P b a a', 'P b c b', 'P b a b', 'P c c b', 'P c a a', 'P b a m', 'P m c b', 'P c m a', 'P c c n', 'P n a a', 'P b n b', 'P b c m', 'P m c a', 'P b m a', 'P c m b', 'P c a m', 'P m a b', 'P n n m', 'P m n n', 'P n m n', 'P m m n', 'P n m m', 'P m n m', 'P b c n', 'P n c a', 'P b n a', 'P c n b', 'P c a n', 'P n a b', 'P b c a', 'P c a b', 'P n m a', 'P b n m', 'P m c n', 'P n a m', 'P m n b', 'P c m n'), 'R3-H': ('R 3', 'R -3', 'R 3 2', 'R 3 m', 'R 3 c', 'R -3 m', 'R -3 c')}

A dictionary of space groups as ordered and named in the pre-2002 International Tables Volume A, except that spaces are used following the GSAS convention to separate the different crystallographic directions. Note that the symmetry codes here will recognize many non-standard space group symbols with different settings. They are ordered by Laue group

schrodinger.application.matsci.gsas.GSASIIspc.sgequiv_2002_orthorhombic = {'AE2A': 'A c 2 a', 'AE2M': 'A c 2 m', 'AEA2': 'A b a 2', 'AEAA': 'A b a a', 'AEAM': 'A c a m', 'AEM2': 'A b m 2', 'AEMA': 'A b m a', 'AEMM': 'A b m m', 'B2EB': 'B 2 c b', 'B2EM': 'B 2 c m', 'BBE2': 'B b a 2', 'BBEB': 'B b c b', 'BBEM': 'B b c m', 'BME2': 'B m a 2', 'BMEB': 'B m a b', 'BMEM': 'B m c m', 'C2CE': 'C 2 c b', 'C2ME': 'C 2 m b', 'CC2E': 'C c 2 a', 'CCCE': 'C c c a', 'CCME': 'C c m b', 'CM2E': 'C m 2 a', 'CMCE': 'C m c a', 'CMME': 'C m m a'}

A dictionary of orthorhombic space groups that were renamed in the 2002 Volume A, along with the pre-2002 name. The e designates a double glide-plane

schrodinger.application.matsci.gsas.GSASIIspc.selftestlist = [<function test0>, <function test1>, <function test2>, <function test3>]

Defines a list of self-tests

schrodinger.application.matsci.gsas.GSASIIspc.test0()

self-test #0: exercise MoveToUnitCell

schrodinger.application.matsci.gsas.GSASIIspc.test1()

self-test #1: SpcGroup against previous results

schrodinger.application.matsci.gsas.GSASIIspc.test2()

self-test #2: SpcGroup against cctbx (sgtbx) computations

schrodinger.application.matsci.gsas.GSASIIspc.test3()

self-test #3: exercise SytSym (includes GetOprPtrName, GenAtom, GetKNsym) for selected space groups against info in IT Volume A