Changeset 3795 for trunk/GSASIIspc.py
- Timestamp:
- Jan 24, 2019 12:14:33 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIspc.py
r3768 r3795 845 845 elif 'R' in SGData['SGLatt']: 846 846 BNSsym = {'R_I':[0,0,.5]} 847 848 if SGData['SGGray']: 849 for bns in BNSsym: 850 BNSsym[bns].append(0.5) 851 847 852 return UsymOp,OprFlg,BNSsym 848 853 … … 878 883 return Tmat 879 884 SGData['SGSpin'].append(-1) 880 C = SGCen+A 885 C = SGCen+A[:3] 881 886 SGData['SGCen'] = np.vstack((SGCen,C))%1. 882 887 return Tmat … … 1278 1283 sgOp = [M for M,T in SGData['SGOps']] 1279 1284 oprName = [GetOprPtrName(str(irtx)) for irtx in PackRot(SGData['SGOps'])] 1280 if SGData['SGInv'] and not SGData['SGFixed'] and not SGData['SGGray']:1285 if SGData['SGInv'] and not SGData['SGFixed']: 1281 1286 Nsym *= 2 1282 1287 sgOp += [-M for M,T in SGData['SGOps']] … … 1295 1300 GenFlg = SGData.get('GenFlg',[0]) 1296 1301 Ngen = len(SGData['SGGen']) 1297 # print ('GenFlg:',SGData['GenFlg'])1298 # print ('GenSym:',SGData['GenSym'])1299 1302 Nfl = len(GenFlg) 1300 1303 for ieqv in range(Nsym): … … 1302 1305 if SGData['SGGen'][ieqv%Ngen] & GenFlg[iunq]: 1303 1306 SpnFlp[ieqv] *= FlpSpn[iunq] 1304 # print ('\nMagSpGrp:',SGData['MagSpGrp'],Ncv)1305 # print ('FlpSpn:',Nfl,FlpSpn)1306 1307 for incv in range(Ncv): 1307 1308 if incv: … … 1314 1315 MagMom = SpnFlp*np.array(Ncv*detM) #duplicate for no. centerings 1315 1316 SGData['MagMom'] = MagMom 1316 # print ('SgOps:',OprNames)1317 # print ('SGGen:',SGData['SGGen'])1318 # print ('SpnFlp:',SpnFlp)1319 # print ('MagMom:',MagMom)1320 1317 return OprNames,SpnFlp 1321 1318 … … 1641 1638 elif SGData['SGLaue'] in ['3R','3mR']: 1642 1639 return '(3+1) superlattices not defined for rhombohedral settings - use hexagonal setting',None 1643 # if SGData['SGGray'] and SSymbol[-1] == 's':1644 # SSymbol = SSymbol[:-1]1645 1640 try: 1646 1641 modsym,gensym = splitSSsym(SSymbol) … … 1663 1658 if SGData['SGGray']: 1664 1659 SSgSpc = SSgSpc.replace('('," 1'(") 1665 # SSgSpc += 's'1666 1660 SSGData = {'SSpGrp':SSgSpc,'modQ':modQ,'modSymb':modsym,'SSGKl':SSGKl} 1667 1661 SSCen = np.zeros((len(SGData['SGCen']),4)) 1668 1662 for icen,cen in enumerate(SGData['SGCen']): 1669 1663 SSCen[icen,0:3] = cen 1670 SSCen[0] = np.zeros(4)1671 1664 SSGData['SSGCen'] = SSCen 1672 1665 SSGData['SSGOps'] = [] … … 1833 1826 Mult = len(SSGData['SSGCen'])*len(SSGData['SSGOps']) 1834 1827 SSsymb = SSGData['SSpGrp'] 1828 if 'BNSlattsym' in SGData and '_' in SGData['BNSlattsym'][0]: 1829 SSsymb = SGData['BNSlattsym'][0]+SSsymb[1:] 1835 1830 if SGData.get('SGGray',False): 1836 1831 if SGData.get('SGFixed',False): Mult //= 2 … … 1874 1869 for i,Opr in enumerate(SSGData['SSGOps']): 1875 1870 IOpr = [-Opr[0],-Opr[1]] 1876 SSGTable.append('(%2d) %s'%(i+1,SSMT2text(IOpr))) 1877 if SGData['SGGray']: 1878 SSGTable.append(" for 1'") 1879 for i,Opr in enumerate(SSGData['SSGOps']): 1880 Opr2 = [Opr[0],Opr[1]+np.array([0,0,0,.5])] 1881 SSGTable.append('(%2d) %s'%(i+1,SSMT2text(Opr2))) 1871 SSGTable.append('(%2d) %s'%(i+1+len(SSGData['SSGOps']),SSMT2text(IOpr))) 1882 1872 return SSGText,SSGTable 1883 1873 … … 3542 3532 iAx = abs(Ax[0]) 3543 3533 nA = iAx%100-1 3544 nC = len(SGOps)*(iAx//100) 3534 if SGData['SGInv'] and not SGData['SGFixed']: 3535 nC = 2*len(SGOps)*(iAx//100) 3536 else: 3537 nC = len(SGOps)*(iAx//100) 3545 3538 NA = nA 3546 3539 if Ax[0] < 0:
Note: See TracChangeset
for help on using the changeset viewer.