Changeset 1539 for trunk/GSASIIspc.py


Ignore:
Timestamp:
Oct 26, 2014 10:30:34 AM (8 years ago)
Author:
vondreele
Message:

fix GOF & more supercell stuff

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIspc.py

    r1534 r1539  
    641641                E,SSGOps = extendSSGOps(SSGOps)
    642642        elif SGData['SGPtGrp'] in ['4/mmm',]:
    643             SSGOps[1][0][3,3] = SSGKl[1]
    644             if '1/2' in SSGData['modSymb']:
    645                 SSGOps[1][0][3,3] *= -1
    646                 SSGOps[1][0][3,1] = -1
    647             SSGOps[2][0][3,3] = SSGKl[1]
    648             SSGOps[3][0][3,3] = SSGKl[2]
    649             SSGOps[4][0][3,3] = SSGKl[3]
     643            for i,j in enumerate([1,10,6,7]):
     644                SSGOps[j][0][3,3] = SSGKl[i]
     645                if genQ[i]:
     646                    SSGOps[j][1][3] = genQ[i]
     647                for k in iFrac:
     648                    print i,k,SSGKl[i],SSGOps[j][0]
     649                    SSGOps[j][0][3,k] = SSGKl[i]
     650                E,SSGOps = extendSSGOps(SSGOps)
    650651# trigonal
    651652        elif SGData['SGPtGrp'] == '3':
     
    674675                    SSGOps[j][1][3] = genQ[i]
    675676                E,SSGOps = extendSSGOps(SSGOps)
    676         elif SGData['SGPtGrp'] in ['6/mmm',]: #not OK
    677             for i,j in enumerate([1,15,19,11]):
     677        elif SGData['SGPtGrp'] in ['6/mmm',]: #OK
     678            for i,j in enumerate([1,15,10,11]):
    678679                SSGOps[j][0][3,3] = SSGKl[i]
    679680                if genQ[i]:
     
    687688    def specialGen(gensym):
    688689        sym = ''.join(gensym)
     690        if SGData['SGPtGrp'] in ['2/m',] and 'n' in SGData['SpGrp']:
     691            if 's' in sym:
     692                gensym = 'ss'
    689693        if SGData['SGPtGrp'] in ['-62m',] and sym == '00s':
    690694            gensym = '0ss'
     695        elif SGData['SGPtGrp'] in ['222',]:
     696            if sym == '00s':
     697                gensym = '0ss'
     698            elif sym == '0s0':
     699                gensym = 'ss0'
     700            elif sym == 's00':
     701                gensym = 's0s'
    691702        return gensym
    692703                   
     
    789800    if len(gensym) and len(gensym) != len(SSGKl):
    790801        return 'Wrong number of items in generator symbol '+''.join(gensym),None
    791     gensym = specialGen(gensym)
    792802    if not checkGen(gensym):
    793803        return 'Generator '+''.join(gensym)+' not consistent with space group '+SGData['SpGrp'],None
     804    gensym = specialGen(gensym)
    794805    genQ = [Fracs[mod] for mod in gensym]
    795806    if not genQ:
     
    799810    for icen,cen in enumerate(SGData['SGCen']):
    800811        SSCen[icen,0:3] = cen
     812    SSCen[0] = np.zeros(4)
    801813    SSGData['SSGCen'] = SSCen
    802814    SSGData['SSGOps'] = []
     
    875887            txt = str(int(round(M[j][k])))
    876888            txt = txt.replace('1',XYZS[k]).replace('0','')
     889            if '2' in txt:
     890                txt += XYZS[k]
    877891            if IJ and M[j][k] > 0:
    878892                IJ += '+'+txt
Note: See TracChangeset for help on using the changeset viewer.