Changeset 1618
- Timestamp:
- Dec 26, 2014 9:08:45 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASII.py
r1606 r1618 2794 2794 DelList = [] 2795 2795 DelItemList = [] 2796 nItems = {'PWDR':0,'SASD':0,'IMG':0,'HKLF':0,'PDF':0} 2796 2797 ifPWDR = False 2797 2798 ifSASD = False … … 2805 2806 if name not in ['Notebook','Controls','Covariance','Constraints', 2806 2807 'Restraints','Phases','Rigid bodies']: 2807 if 'PWDR' in name: ifPWDR = True 2808 if 'SASD' in name: ifSASD = True 2809 if 'IMG' in name: ifIMG = True 2810 if 'HKLF' in name: ifHKLF = True 2811 if 'PDF' in name: ifPDF = True 2808 if 'PWDR' in name: ifPWDR = True; nItems['PWDR'] += 1 2809 if 'SASD' in name: ifSASD = True; nItems['SASD'] += 1 2810 if 'IMG' in name: ifIMG = True; nItems['IMG'] += 1 2811 if 'HKLF' in name: ifHKLF = True; nItems['HKLF'] += 1 2812 if 'PDF' in name: ifPDF = True; nItems['PDF'] += 1 2812 2813 TextList.append(name) 2813 2814 item, cookie = self.PatternTree.GetNextChild(self.root, cookie) … … 2836 2837 item, cookie = self.PatternTree.GetFirstChild(self.root) 2837 2838 while item: 2838 if self.PatternTree.GetItemText(item) in DelList: DelItemList.append(item) 2839 itemName = self.PatternTree.GetItemText(item) 2840 if itemName in DelList: 2841 if 'PWDR' in itemName: nItems['PWDR'] -= 1 2842 elif 'SASD' in itemName: nItems['SASD'] -= 1 2843 elif 'IMG' in itemName: nItems['IMG'] -= 1 2844 elif 'HKLF' in itemName: nItems['HKLF'] -= 1 2845 elif 'PDF' in itemName: nItems['PDF'] -= 1 2846 DelItemList.append(item) 2839 2847 item, cookie = self.PatternTree.GetNextChild(self.root, cookie) 2840 2848 for item in DelItemList: 2841 2849 self.PatternTree.Delete(item) 2842 2850 self.PickId = 0 2843 wx.CallAfter(G2plt.PlotPatterns,self,True) #so plot gets updated 2851 if nItems['PWDR']: 2852 wx.CallAfter(G2plt.PlotPatterns,self,True) 2853 else: 2854 self.G2plotNB.Delete('Powder Patterns') 2855 if not nItems['IMG']: 2856 self.G2plotNB.Delete('2D Powder Image') 2857 if not nItems['HKLF']: 2858 self.G2plotNB.Delete('Structure Factors') 2859 if '3D Structure Factors' in self.G2plotNB.plotList: 2860 self.G2plotNB.Delete('3D Structure Factors') 2844 2861 finally: 2845 2862 dlg.Destroy() … … 3281 3298 3282 3299 return HistogramNames 3283 3284 3300 3285 3301 def GetUsedHistogramsAndPhasesfromTree(self): -
trunk/GSASIIgrid.py
r1614 r1618 1360 1360 Ncol = 3 1361 1361 OpList = [] 1362 for M,Tin SGData['SGOps']:1363 OpList.append(G2spc.MT2text( M,T))1362 for Opr in SGData['SGOps']: 1363 OpList.append(G2spc.MT2text(Opr)) 1364 1364 self.oprs = wx.RadioBox(panel,-1,'Choose space group operator?',choices=OpList, 1365 1365 majorDimension=Ncol) -
trunk/GSASIIplot.py
r1613 r1618 1647 1647 if G2frame.PatternTree.GetItemText(PickId) in ['Index Peak List','Unit Cells List']: 1648 1648 peaks = np.array((G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Index Peak List')))) 1649 if not peaks: return # are there any peaks?1649 if not len(peaks): return # are there any peaks? 1650 1650 for peak in peaks[0]: 1651 1651 if peak[2]: -
trunk/GSASIIpwdGUI.py
r1617 r1618 2302 2302 controls[13] = spcSel.GetString(spcSel.GetSelection()) 2303 2303 G2frame.dataFrame.RefineCell.Enable(True) 2304 OnHklShow(event) 2304 2305 2305 2306 def SetCellValue(Obj,ObjId,value): … … 2376 2377 spc = controls[13] 2377 2378 SGData = G2spc.SpcGroup(spc)[1] 2378 if 'C' in Inst['Type'][0]:2379 dmin = G2lat.Pos2dsp(Inst,limits[1])2380 else: #TOF - use other limit!2381 dmin = G2lat.Pos2dsp(Inst,limits[0])2379 # if 'C' in Inst['Type'][0]: 2380 # dmin = G2lat.Pos2dsp(Inst,limits[1]) 2381 # else: #TOF - use other limit! 2382 # dmin = G2lat.Pos2dsp(Inst,limits[0]) 2382 2383 if ssopt.get('Use',False): 2384 dmin = peaks[0][-1][8] 2383 2385 SSGData = G2spc.SSpcGroup(SGData,ssopt['ssSymb'])[1] 2384 2386 Vec = ssopt['ModVec'] … … 2388 2390 M20,X20 = G2indx.calc_M20SS(peaks[0],G2frame.HKL) 2389 2391 else: 2392 dmin = peaks[0][-1][7] 2390 2393 G2frame.HKL = G2pwd.getHKLpeak(dmin,Inst,SGData,A) 2391 2394 peaks = [G2indx.IndexPeaks(peaks[0],G2frame.HKL)[1],peaks[1]] #keep esds from peak fit 2392 2395 M20,X20 = G2indx.calc_M20(peaks[0],G2frame.HKL) 2393 print ' new M20,X20: %.2f %d '%(M20,X20)2396 print ' new M20,X20: %.2f %d fraction found: %.3f'%(M20,X20,float(len(peaks[0]))/len(G2frame.HKL)) 2394 2397 G2frame.PatternTree.SetItemPyData(G2gd.GetPatternTreeItemId(G2frame,PatternId, 'Index Peak List'),peaks) 2395 2398 if 'PKS' in G2frame.PatternTree.GetItemText(G2frame.PatternId): -
trunk/GSASIIstrIO.py
r1616 r1618 1024 1024 1025 1025 Natoms[pfx] = 0 1026 maxSSwave = {'Sfrac':0,'Spos':0,'Sadp':0,'Smag':0} 1026 1027 if Atoms and not General.get('doPawley'): 1027 1028 cx,ct,cs,cia = General['AtomPtrs'] … … 1124 1125 eqv[1] /= coef 1125 1126 G2mv.StoreEquivalence(name,equiv[1:]) 1127 maxSSwave['Stype'] = max(maxSSwave['Stype'],iw+1) 1128 phaseDict[pfx+'maxSSwave'] = maxSSwave 1126 1129 textureData = General['SH Texture'] 1127 1130 if textureData['Order']: -
trunk/GSASIIstrMath.py
r1613 r1618 534 534 return Tdata,Mdata,Fdata,Xdata,dXdata,IAdata,Uisodata,Uijdata 535 535 536 def GetAtomSSFXU(pfx,calcControls,parmDict): 537 'Needs a doc string' 538 Natoms = calcControls['Natoms'][pfx] 539 maxSSwave = parmDict[pfx+'maxSSwave'] 540 Nwave = {'F':maxSSwave['Sfrac'],'X':maxSSwave['Spos'],'Y':maxSSwave['Spos'],'Z':maxSSwave['Spos'], 541 'U':maxSSwave['Sadp'],'M':maxSSwave['Smag']} 542 XSSdata = np.zeros((6,maxSSwave['Spos'],Natoms)) 543 FSSdata = np.zeros((2,maxSSwave['Sfrac'],Natoms)) 544 USSdata = np.zeros((12,maxSSwave['Sadp'],Natoms)) 545 MSSdata = np.zeros((6,maxSSwave['Smag'],Natoms)) 546 keys = {'Fsin:':FSSdata[0],'Fcos:':FSSdata[1], 547 'Xsin:':XSSdata[0],'Ysin:':XSSdata[1],'Zsin:':XSSdata[2],'Xcos:':XSSdata[3],'Ycos:':XSSdata[4],'Zcos:':XSSdata[5], 548 'U11sin:':USSdata[0],'U22sin:':USSdata[1],'U33sin:':USSdata[2],'U12sin:':USSdata[3],'U13sin:':USSdata[4],'U23sin:':USSdata[5], 549 'U11cos:':USSdata[6],'U22cos:':USSdata[7],'U33cos:':USSdata[8],'U12cos:':USSdata[9],'U13cos:':USSdata[10],'U23cos:':USSdata[11], 550 'MXsin:':MSSdata[0],'MYsin:':MSSdata[1],'MZsin:':MSSdata[2],'MXcos:':MSSdata[3],'MYcos:':MSSdata[4],'MZcos:':MSSdata[5]} 551 for iatm in range(Natoms): 552 for key in keys: 553 for m in range(Nwave[key[0]]): 554 parm = pfx+key+str(iatm)+':%d'%(m) 555 if parm in parmDict: 556 keys[key][iatm] = parmDict[parm] 557 return FSSdata,XSSdata,USSdata,MSSdata 558 536 559 def StructureFactor(refDict,G,hfx,pfx,SGData,calcControls,parmDict): 537 560 ''' Not Used: here only for comparison the StructureFactor2 - faster version … … 635 658 SGMT = np.array([ops[0].T for ops in SGData['SGOps']]) 636 659 SGT = np.array([ops[1] for ops in SGData['SGOps']]) 660 SSGMT = np.array([ops[0].T for ops in SSGData['SSGOps']]) 661 SSGT = np.array([ops[1] for ops in SSGData['SSGOps']]) 637 662 FFtables = calcControls['FFtables'] 638 663 BLtables = calcControls['BLtables'] 639 664 Tdata,Mdata,Fdata,Xdata,dXdata,IAdata,Uisodata,Uijdata = GetAtomFXU(pfx,calcControls,parmDict) 665 SSFdata,SSXdata,SSUdata,SSMdata = GetAtomSSFXU(pfx,calcControls,parmDict) 640 666 FF = np.zeros(len(Tdata)) 641 667 if 'NC' in calcControls[hfx+'histType']: … … 658 684 fbs = np.array([0,0]) 659 685 H = refl[:4] 660 if refl[3]:661 continue662 686 SQ = 1./(2.*refl[4+im])**2 663 687 SQfactor = 4.0*SQ*twopisq … … 1850 1874 if not Phase['General'].get('doPawley'): 1851 1875 time0 = time.time() 1852 StructureFactor2(refDict,G,hfx,pfx,SGData,calcControls,parmDict) 1876 if im: 1877 SStructureFactor(refDict,im,G,hfx,pfx,SGData,calcControls,parmDict) 1878 else: 1879 StructureFactor2(refDict,G,hfx,pfx,SGData,calcControls,parmDict) 1853 1880 # print 'sf calc time: %.3fs'%(time.time()-time0) 1854 1881 time0 = time.time() … … 2026 2053 if not Phase['General'].get('doPawley'): 2027 2054 time0 = time.time() 2028 dFdvDict = StructureFactorDerv(refDict,G,hfx,pfx,SGData,calcControls,parmDict) 2055 if im: 2056 dFdvDict = StructureFactorDerv(refDict,im,G,hfx,pfx,SGData,calcControls,parmDict) 2057 else: 2058 dFdvDict = StructureFactorDerv(refDict,G,hfx,pfx,SGData,calcControls,parmDict) 2029 2059 # print 'sf-derv time %.3fs'%(time.time()-time0) 2030 2060 ApplyRBModelDervs(dFdvDict,parmDict,rigidbodyDict,Phase) … … 2264 2294 G,g = G2lat.A2Gmat(A) #recip & real metric tensors 2265 2295 refDict = Histogram['Data'] 2266 dFdvDict = StructureFactorDerv(refDict,G,hfx,pfx,SGData,calcControls,parmDict) 2296 if im: 2297 dFdvDict = StructureFactorDerv(refDict,im,G,hfx,pfx,SGData,calcControls,parmDict) 2298 else: 2299 dFdvDict = StructureFactorDerv(refDict,G,hfx,pfx,SGData,calcControls,parmDict) 2267 2300 ApplyRBModelDervs(dFdvDict,parmDict,rigidbodyDict,Phase) 2268 2301 dMdvh = np.zeros((len(varylist),len(refDict['RefList']))) … … 2537 2570 SStructureFactor(refDict,im,G,hfx,pfx,SGData,calcControls,parmDict) 2538 2571 else: 2539 StructureFactor(refDict,G,hfx,pfx,SGData,calcControls,parmDict) 2540 # StructureFactor2(refDict,G,hfx,pfx,SGData,calcControls,parmDict) 2572 StructureFactor2(refDict,G,hfx,pfx,SGData,calcControls,parmDict) 2541 2573 # print 'sf-calc time: %.3f'%(time.time()-time0) 2542 2574 df = np.zeros(len(refDict['RefList'])) -
trunk/exports/G2export_shelx.py
r1261 r1618 67 67 self.Write("LATT "+str(lattnum)) 68 68 # generate symmetry operations not including centering and center of symmetry 69 for M,Tin phasedict['General']['SGData']['SGOps']:70 sym = G2spc.MT2text( M,T).lower().replace(" ,",", ")69 for Opr in phasedict['General']['SGData']['SGOps']: 70 sym = G2spc.MT2text(Opr).lower().replace(" ,",", ") 71 71 self.Write('SYMM '+G2IO.trim(sym)) 72 72 # scan through atom types, count the number of times that each element occurs
Note: See TracChangeset
for help on using the changeset viewer.