Changeset 2750
- Timestamp:
- Mar 8, 2017 9:23:16 AM (6 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIphsGUI.py
r2745 r2750 835 835 pawleySizer.Add(wx.StaticText(General,label=' Pawley controls: '),0,WACV) 836 836 pawlRef = wx.CheckBox(General,-1,label=' Do Pawley refinement?') 837 #ToDo: change parameter to ComboBox of blank, Pawley, LeBail838 837 pawlRef.SetValue(generalData['doPawley']) 839 838 pawlRef.Bind(wx.EVT_CHECKBOX,OnPawleyRef) … … 5557 5556 refDict,reflData = G2frame.PatternTree.GetItemPyData(Id) 5558 5557 UseList[histoName] = {'Histogram':histoName,'Show':False,'Scale':[1.0,True], 5559 'Babinet':{'BabA':[0.0,False],'BabU':[0.0,False]},'LeBail':False, 5558 'Babinet':{'BabA':[0.0,False],'BabU':[0.0,False]},'LeBail':False,'newLeBail':True, 5560 5559 'Extinction':['Lorentzian','None', 5561 5560 {'Tbar':0.1,'Cos2TM':0.955,'Eg':[1.e-7,False],'Es':[1.e-7,False],'Ep':[1.e-7,False]},], … … 5614 5613 copyNames = ['Scale','Extinction','Babinet','Flack','Twins'] 5615 5614 else: #PWDR 5616 copyNames = ['Scale','Pref.Ori.','Size','Mustrain','HStrain','Extinction','Babinet','LeBail' ]5615 copyNames = ['Scale','Pref.Ori.','Size','Mustrain','HStrain','Extinction','Babinet','LeBail','newLeBail',] 5617 5616 copyDict = {} 5618 5617 for name in copyNames: … … 5681 5680 UseList[item]['Twins'][0][1][1] = copyDict['Twins'] 5682 5681 else: 5683 UseList[item][name][1] = copy.deepcopy(copyDict[name]) 5682 try: 5683 UseList[item][name][1] = copy.deepcopy(copyDict[name]) 5684 except KeyError: 5685 continue 5684 5686 elif name in ['Size','Mustrain']: 5685 5687 UseList[item][name][0] = copy.deepcopy(copyDict[name][0]) … … 5758 5760 for histoName in newList: 5759 5761 Id = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,histoName) 5760 UseList[histoName] = {'Histogram':histoName,'Show':False,'LeBail':False, 5762 UseList[histoName] = {'Histogram':histoName,'Show':False,'LeBail':False,'newLeBail':True, 5761 5763 'Scale':[1.0,False],'Pref.Ori.':['MD',1.0,False,[0,0,1],0,{},['',],0.1], 5762 5764 'Size':['isotropic',[1.,1.,1.],[False,False,False],[0,0,1], … … 5993 5995 Obj = event.GetEventObject() 5994 5996 RBId = Indx[Obj.GetId()] 5995 RBData['Residue'][RBId]['useCount'] -= 15996 5997 RBObjs = data['RBModels']['Residue'] 5997 5998 for rbObj in RBObjs: 5998 5999 if RBId == rbObj['RBId']: 5999 data['RBModels']['Residue'].remove(rbObj) 6000 RBData['Residue'][RBId]['useCount'] -= 1 6001 data['RBModels']['Residue'].remove(rbObj) 6000 6002 G2plt.PlotStructure(G2frame,data) 6001 6003 wx.CallAfter(FillRigidBodyGrid,True) -
trunk/GSASIIstrIO.py
r2748 r2750 2774 2774 #skip if histogram not included e.g. in a sequential refinement 2775 2775 continue 2776 print >>pFile,'\n Phase: ',phase,' in histogram: ',histogram2777 print >>pFile,135*'='2778 2776 hapData = HistoPhase[histogram] 2779 2777 hId = Histogram['hId'] … … 2781 2779 pfx = str(pId)+':'+str(hId)+':' 2782 2780 hfx = ':%s:'%(hId) 2781 if pfx+'Nref' not in Histogram['Residuals']: #skip not used phase in histogram 2782 continue 2783 print >>pFile,'\n Phase: ',phase,' in histogram: ',histogram 2784 print >>pFile,135*'=' 2783 2785 if 'PWDR' in histogram: 2784 2786 print >>pFile,' Final refinement RF, RF^2 = %.2f%%, %.2f%% on %d reflections' \ -
trunk/GSASIIstrMath.py
r2732 r2750 667 667 Tdata,Mdata,Fdata,Xdata,dXdata,IAdata,Uisodata,Uijdata,Gdata = \ 668 668 GetAtomFXU(pfx,calcControls,parmDict) 669 if not Xdata.size: #no atoms in phase! 670 return 669 671 if parmDict[pfx+'isMag']: 670 672 Mag = np.sqrt(np.sum(Gdata**2,axis=0)) #magnitude of moments for uniq atoms … … 691 693 blkSize = 100 #no. of reflections in a block - size seems optimal 692 694 nRef = refDict['RefList'].shape[0] 693 if not len(refDict['FF']): #no form factors - 1st time thru StructureFactor 694 SQ = 1./(2.*refDict['RefList'].T[4])**2 695 if 'N' in calcControls[hfx+'histType']: 696 dat = G2el.getBLvalues(BLtables) 697 refDict['FF']['El'] = dat.keys() 698 refDict['FF']['FF'] = np.ones((nRef,len(dat)))*dat.values() 699 refDict['FF']['MF'] = np.zeros((nRef,len(dat))) 700 for iel,El in enumerate(refDict['FF']['El']): 701 if El in MFtables: 702 refDict['FF']['MF'].T[iel] = G2el.MagScatFac(MFtables[El],SQ) 703 else: #'X' 704 dat = G2el.getFFvalues(FFtables,0.) 705 refDict['FF']['El'] = dat.keys() 706 refDict['FF']['FF'] = np.zeros((nRef,len(dat))) 707 for iel,El in enumerate(refDict['FF']['El']): 708 refDict['FF']['FF'].T[iel] = G2el.ScatFac(FFtables[El],SQ) 695 SQ = 1./(2.*refDict['RefList'].T[4])**2 696 if 'N' in calcControls[hfx+'histType']: 697 dat = G2el.getBLvalues(BLtables) 698 refDict['FF']['El'] = dat.keys() 699 refDict['FF']['FF'] = np.ones((nRef,len(dat)))*dat.values() 700 refDict['FF']['MF'] = np.zeros((nRef,len(dat))) 701 for iel,El in enumerate(refDict['FF']['El']): 702 if El in MFtables: 703 refDict['FF']['MF'].T[iel] = G2el.MagScatFac(MFtables[El],SQ) 704 else: #'X' 705 dat = G2el.getFFvalues(FFtables,0.) 706 refDict['FF']['El'] = dat.keys() 707 refDict['FF']['FF'] = np.zeros((nRef,len(dat))) 708 for iel,El in enumerate(refDict['FF']['El']): 709 refDict['FF']['FF'].T[iel] = G2el.ScatFac(FFtables[El],SQ) 709 710 #reflection processing begins here - big arrays! 710 711 iBeg = 0 … … 827 828 Tdata,Mdata,Fdata,Xdata,dXdata,IAdata,Uisodata,Uijdata,Gdata = \ 828 829 GetAtomFXU(pfx,calcControls,parmDict) 830 if not Xdata.size: #no atoms in phase! 831 return {} 829 832 mSize = len(Mdata) 830 833 FF = np.zeros(len(Tdata)) … … 983 986 Tdata,Mdata,Fdata,Xdata,dXdata,IAdata,Uisodata,Uijdata,Gdata = \ 984 987 GetAtomFXU(pfx,calcControls,parmDict) 988 if not Xdata.size: #no atoms in phase! 989 return {} 985 990 mSize = len(Mdata) 986 991 Mag = np.sqrt(np.sum(Gdata**2,axis=0)) #magnitude of moments for uniq atoms … … 1050 1055 dqmx = dqdm[:,:,:,nxs,nxs]*dGdm[:,nxs,nxs,:,:] 1051 1056 dqmx2 = np.sum(dqmx,axis=1) #matrix * vector = vector 1052 dqmx1 = np.swapaxes(np.swapaxes(np.inner(dqdm.T,dGdm.T),0,1),2,3)1057 # dqmx1 = np.swapaxes(np.swapaxes(np.inner(dqdm.T,dGdm.T),0,1),2,3) 1053 1058 dmx = NQ*Q*dGdM[:,nxs,:,:]-Q*dqmx2 #*Mag canceled out of dqmx term 1054 1059 … … 1133 1138 Tdata,Mdata,Fdata,Xdata,dXdata,IAdata,Uisodata,Uijdata,Gdata = \ 1134 1139 GetAtomFXU(pfx,calcControls,parmDict) 1140 if not Xdata.size: #no atoms in phase! 1141 return {} 1135 1142 mSize = len(Mdata) 1136 1143 FF = np.zeros(len(Tdata)) … … 1293 1300 Tdata,Mdata,Fdata,Xdata,dXdata,IAdata,Uisodata,Uijdata,Gdata = \ 1294 1301 GetAtomFXU(pfx,calcControls,parmDict) 1302 if not Xdata.size: #no atoms in phase! 1303 return 1295 1304 waveTypes,FSSdata,XSSdata,USSdata,MSSdata = GetAtomSSFXU(pfx,calcControls,parmDict) 1296 1305 ngl,nWaves,Fmod,Xmod,Umod,glTau,glWt = G2mth.makeWaves(waveTypes,FSSdata,XSSdata,USSdata,Mast) … … 1306 1315 blkSize = 32 #no. of reflections in a block 1307 1316 nRef = refDict['RefList'].shape[0] 1308 if not len(refDict['FF']): 1309 SQ = 1./(2.*refDict['RefList'].T[5])**2 1310 if 'N' in calcControls[hfx+'histType']: 1311 dat = G2el.getBLvalues(BLtables) 1312 refDict['FF']['El'] = dat.keys() 1313 refDict['FF']['FF'] = np.ones((nRef,len(dat)))*dat.values() 1314 refDict['FF']['MF'] = np.zeros((nRef,len(dat))) 1315 for iel,El in enumerate(refDict['FF']['El']): 1316 if El in MFtables: 1317 refDict['FF']['MF'].T[iel] = G2el.MagScatFac(MFtables[El],SQ) 1318 else: 1319 dat = G2el.getFFvalues(FFtables,0.) 1320 refDict['FF']['El'] = dat.keys() 1321 refDict['FF']['FF'] = np.zeros((nRef,len(dat))) 1322 for iel,El in enumerate(refDict['FF']['El']): 1323 refDict['FF']['FF'].T[iel] = G2el.ScatFac(FFtables[El],SQ) 1317 SQ = 1./(2.*refDict['RefList'].T[5])**2 1318 if 'N' in calcControls[hfx+'histType']: 1319 dat = G2el.getBLvalues(BLtables) 1320 refDict['FF']['El'] = dat.keys() 1321 refDict['FF']['FF'] = np.ones((nRef,len(dat)))*dat.values() 1322 refDict['FF']['MF'] = np.zeros((nRef,len(dat))) 1323 for iel,El in enumerate(refDict['FF']['El']): 1324 if El in MFtables: 1325 refDict['FF']['MF'].T[iel] = G2el.MagScatFac(MFtables[El],SQ) 1326 else: 1327 dat = G2el.getFFvalues(FFtables,0.) 1328 refDict['FF']['El'] = dat.keys() 1329 refDict['FF']['FF'] = np.zeros((nRef,len(dat))) 1330 for iel,El in enumerate(refDict['FF']['El']): 1331 refDict['FF']['FF'].T[iel] = G2el.ScatFac(FFtables[El],SQ) 1324 1332 time0 = time.time() 1325 1333 #reflection processing begins here - big arrays! … … 1420 1428 Tdata,Mdata,Fdata,Xdata,dXdata,IAdata,Uisodata,Uijdata,Gdata = \ 1421 1429 GetAtomFXU(pfx,calcControls,parmDict) 1430 if not Xdata.size: #no atoms in phase! 1431 return 1422 1432 waveTypes,FSSdata,XSSdata,USSdata,MSSdata = GetAtomSSFXU(pfx,calcControls,parmDict) 1423 1433 ngl,nWaves,Fmod,Xmod,Umod,glTau,glWt = G2mth.makeWaves(waveTypes,FSSdata,XSSdata,USSdata,Mast) … … 1549 1559 Tdata,Mdata,Fdata,Xdata,dXdata,IAdata,Uisodata,Uijdata,Gdata = \ 1550 1560 GetAtomFXU(pfx,calcControls,parmDict) 1561 if not Xdata.size: #no atoms in phase! 1562 return {} 1551 1563 mSize = len(Mdata) #no. atoms 1552 1564 waveTypes,FSSdata,XSSdata,USSdata,MSSdata = GetAtomSSFXU(pfx,calcControls,parmDict) … … 1761 1773 Tdata,Mdata,Fdata,Xdata,dXdata,IAdata,Uisodata,Uijdata,Gdata = \ 1762 1774 GetAtomFXU(pfx,calcControls,parmDict) 1775 if not Xdata.size: #no atoms in phase! 1776 return {} 1763 1777 mSize = len(Mdata) #no. atoms 1764 1778 waveTypes,FSSdata,XSSdata,USSdata,MSSdata = GetAtomSSFXU(pfx,calcControls,parmDict) … … 1989 2003 Tdata,Mdata,Fdata,Xdata,dXdata,IAdata,Uisodata,Uijdata,Gdata = \ 1990 2004 GetAtomFXU(pfx,calcControls,parmDict) 2005 if not Xdata.size: #no atoms in phase! 2006 return {} 1991 2007 mSize = len(Mdata) #no. atoms 1992 2008 waveTypes,FSSdata,XSSdata,USSdata,MSSdata = GetAtomSSFXU(pfx,calcControls,parmDict)
Note: See TracChangeset
for help on using the changeset viewer.