# Changeset 3716

Ignore:
Timestamp:
Nov 4, 2018 8:21:47 AM (5 years ago)
Message:

implement new version of SUBGROUPS & k-SUBGROUPDMAG that return conjugacy & super group lists
display the results from these
remove lattice parameter constraints (for now at least) - occasionally fail with bad consequences

Location:
trunk
Files:
6 edited

Unmodified
Removed
• ## trunk/GSASIIconstrGUI.py

 r3711 #how do I do Uij's for most Trans? As = ['A0','A1','A2','A3','A4','A5'] Aids = [[0,0,'A0'],[1,1,'A1'],[2,2,'A2'],[0,1,'A3'],[0,2,'A4'],[1,2,'A5']] DepConsDict = dict(zip(As,[[],[],[],[],[],[]])) for iA,Aid in enumerate(Aids): GT = np.zeros((3,3)) if abs(nAcof[iA]) > 1.e-8: GT[Aid[0],Aid[1]] = 1 nGT = G2lat.prodMGMT(GT,Trans) nAT = G2lat.Gmat2A(nGT) for ia,nA in enumerate(nAT): if abs(nA) > 1.e-8 and abs(nAcof[ia]) > 1.e-8: parm = SetUniqAj(npId,As[ia],nSGData['SGLaue']) DepConsDict[Aid[2]].append([nA,G2obj.G2VarObj(parm)]) #unfortunately, this doesn't always work! #    As = ['A0','A1','A2','A3','A4','A5'] #    Aids = [[0,0,'A0'],[1,1,'A1'],[2,2,'A2'],[0,1,'A3'],[0,2,'A4'],[1,2,'A5']] #    DepConsDict = dict(zip(As,[[],[],[],[],[],[]])) #    for iA,Aid in enumerate(Aids): #        GT = np.zeros((3,3)) #        if abs(nAcof[iA]) > 1.e-8: #            GT[Aid[0],Aid[1]] = 1. #            nGT = G2lat.prodMGMT(GT,Trans) #            nAT = G2lat.Gmat2A(nGT) #            for ia,nA in enumerate(nAT): #                if abs(nA) > 1.e-8 and abs(nAcof[ia]) > 1.e-8: #                    parm = SetUniqAj(npId,As[ia],nSGData['SGLaue']) #                    DepConsDict[Aid[2]].append([nA,G2obj.G2VarObj(parm)]) conStrings = [] for iA,Asi in enumerate(As):
• ## trunk/GSASIIlattice.py

 r3686 if result[1]: BNSlatt += '_'+result[1] if 'P_S' in BNSlatt: BNSlatt = 'P_c'    #triclinic fix phase['SGData']['BNSlattsym'] = [BNSlatt,BNSsym[BNSlatt]] G2spc.ApplyBNSlatt(phase['SGData'],phase['SGData']['BNSlattsym'])
• ## trunk/GSASIIphsGUI.py

 r3714 UCdata = list(G2frame.GPXtree.GetItemPyData(UnitCellsId)) magData = UCdata[5] baseList = UCdata[0][16] magKeep = [] magIds = [] magchoices = [] ifMag = False for mid,magdata in enumerate(magData): itemList = [phase.get('gid',ip+1) for ip,phase in enumerate(magData)] phaseDict = dict(zip(itemList,magData)) for im,mid in enumerate(baseList): magdata = phaseDict[mid] if magdata['Keep']: if 'magAtms' in magdata: ifMag = True magdata['No.'] = mid+1 magdata['No.'] = im+1 trans = G2spc.Trans2Text(magdata['Trans']) vec = G2spc.Latt2text([magdata['Uvec'],]) magKeep.append(magdata) magIds.append(mid) magchoices.append('(%d) %s; (%s) + (%s)'%(mid+1,magdata['Name'],trans,vec)) magchoices.append('(%d) %s; (%s) + (%s)'%(im+1,magdata['Name'],trans,vec)) if not len(magKeep): G2frame.ErrorDialog('Subgroup/magnetic phase selection error','No magnetic phases found; be sure to "Keep" some')