- Timestamp:
- May 26, 2012 12:56:38 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/GSASII.py ¶
r630 r635 2008 2008 return 2009 2009 #works - but it'd be better if it could restore plots 2010 dlg = wx.ProgressDialog('Residual',' Powder profile Rwp=',101.0,2010 dlg = wx.ProgressDialog('Residual','All data Rw =',101.0, 2011 2011 style = wx.PD_ELAPSED_TIME|wx.PD_AUTO_HIDE|wx.PD_CAN_ABORT) 2012 2012 screenSize = wx.ClientDisplayRect() … … 2015 2015 dlg.SetPosition(wx.Point(screenSize[2]-Size[0]-305,screenSize[1]+5)) 2016 2016 dlg.SetSize(Size) 2017 Rw p= 100.002017 Rw = 100.00 2018 2018 try: 2019 Rw p= G2str.Refine(self.GSASprojectfile,dlg)2019 Rw = G2str.Refine(self.GSASprojectfile,dlg) 2020 2020 finally: 2021 2021 dlg.Destroy() 2022 dlg = wx.MessageDialog(self,'Load new result?','Refinement results, Rw p =%.3f'%(Rwp),wx.OK|wx.CANCEL)2022 dlg = wx.MessageDialog(self,'Load new result?','Refinement results, Rw =%.3f'%(Rw),wx.OK|wx.CANCEL) 2023 2023 try: 2024 2024 if dlg.ShowModal() == wx.ID_OK: -
TabularUnified trunk/GSASIIgrid.py ¶
r633 r635 863 863 value = 1.0 864 864 data['minF/sig'] = value 865 Factr.SetValue('%.2f'%(value))865 minSig.SetValue('%.2f'%(value)) 866 866 867 867 LSSizer = wx.FlexGridSizer(cols=4,vgap=5,hgap=5) -
TabularUnified trunk/GSASIIstruct.py ¶
r633 r635 1465 1465 elif 'HKLF' in histogram: 1466 1466 pfx = str(pId)+':'+str(hId)+':' 1467 print ' Final refinement RF, RF^2 = %.2f%%, %.2f%% on %d reflections' \ 1468 %(Histogram[pfx+'Rf'],Histogram[pfx+'Rf^2'],Histogram[pfx+'Nref']) 1467 1469 ScalExtSig = {} 1468 1470 for item in ['Scale','Ep','Eg','Es']: … … 1818 1820 print '\n Histogram: ',histogram,' histogram Id: ',hId 1819 1821 print 135*'-' 1820 print ' Final refinement wR p = %.2f%% on %d observations in this histogram'%(Histogram['wRp'],Histogram['Nobs'])1822 print ' Final refinement wR = %.2f%% on %d observations in this histogram'%(Histogram['wR'],Histogram['Nobs']) 1821 1823 if Print: 1822 1824 print ' Instrument type: ',Sample['Type'] … … 2883 2885 varylist,Histogram,Phases,calcControls,pawleyLookup) 2884 2886 if dlg: 2885 dlg.Update(Histogram['wR p'],newmsg='Hessian for histogram %d Rwp=%8.3f%s'%(hId,Histogram['wRp'],'%'))[0]2887 dlg.Update(Histogram['wR'],newmsg='Hessian for histogram %d Rw=%8.3f%s'%(hId,Histogram['wR'],'%'))[0] 2886 2888 if len(Hess): 2887 2889 Vec += np.sum(dMdvh*np.sqrt(w[xB:xF])*dy[xB:xF],axis=1) … … 2904 2906 Histogram['Nobs'] = len(refList) 2905 2907 dFdvDict = StructureFactorDerv(refList,G,hfx,pfx,SGData,calcControls,parmdict) 2906 df = np. empty(len(refList))2908 df = np.zeros(len(refList)) 2907 2909 for i,ref in enumerate(refList): 2908 2910 if ref[6] > 0: … … 2911 2913 ref[8] = ref[5]/parmdict[phfx+'Scale'] 2912 2914 df[i] = (ref[5]-ref[7])/ref[6] 2913 sumwYo += ref[5]/ref[6]**22915 sumwYo += (ref[5]/ref[6])**2 2914 2916 M = np.concatenate((M,df)) 2915 2917 … … 2925 2927 Histograms,Phases = HistoPhases 2926 2928 M = np.empty(0) 2927 sumwYo = 02929 SumwYo = 0 2928 2930 Nobs = 0 2929 2931 histoList = Histograms.keys() … … 2944 2946 Nobs += Histogram['Nobs'] 2945 2947 Histogram['sumwYo'] = np.sum(w[xB:xF]*y[xB:xF]**2) 2946 sumwYo += Histogram['sumwYo']2948 SumwYo += Histogram['sumwYo'] 2947 2949 yc[xB:xF],yb[xB:xF] = getPowderProfile(parmdict,x[xB:xF], 2948 2950 varylist,Histogram,Phases,calcControls,pawleyLookup) … … 2951 2953 Histogram['sumwYd'] = np.sum(np.sqrt(w[xB:xF])*(yd[xB:xF])) 2952 2954 wdy = -np.sqrt(w[xB:xF])*(yd[xB:xF]) 2953 Histogram['wR p'] = min(100.,np.sqrt(np.sum(wdy**2)/Histogram['sumwYo'])*100.)2955 Histogram['wR'] = min(100.,np.sqrt(np.sum(wdy**2)/Histogram['sumwYo'])*100.) 2954 2956 if dlg: 2955 dlg.Update(Histogram['wR p'],newmsg='For histogram %d Rwp=%8.3f%s'%(hId,Histogram['wRp'],'%'))[0]2957 dlg.Update(Histogram['wR'],newmsg='For histogram %d Rw=%8.3f%s'%(hId,Histogram['wR'],'%'))[0] 2956 2958 M = np.concatenate((M,wdy)) 2957 2959 elif 'HKLF' in histogram[:4]: … … 2969 2971 Histogram['Nobs'] = len(refList) 2970 2972 refList = StructureFactor(refList,G,hfx,pfx,SGData,calcControls,parmdict) 2971 df = np.empty(len(refList)) 2973 df = np.zeros(len(refList)) 2974 sumwYo = 0 2975 sumFo = 0 2976 sumFo2 = 0 2977 sumdF = 0 2978 sumdF2 = 0 2972 2979 for i,ref in enumerate(refList): 2973 2980 if ref[6] > 0 and ref[5] > 0: … … 2976 2983 if calcControls['F**2']: 2977 2984 if ref[5]/ref[6] >= calcControls['minF/sig']: 2985 sumFo2 += ref[5] 2986 Fo = np.sqrt(ref[5]) 2987 sumFo += Fo 2988 sumFo2 += ref[5] 2989 sumdF += abs(Fo-np.sqrt(ref[7])) 2990 sumdF2 += abs(ref[5]-ref[7]) 2978 2991 Nobs += 1 2979 2992 df[i] = -(ref[5]-ref[7])/ref[6] 2980 sumwYo += ref[5]/ref[6]**22993 sumwYo += (ref[5]/ref[6])**2 2981 2994 else: 2982 2995 Fo = np.sqrt(ref[5]) … … 2984 2997 sig = ref[6]/(2.0*Fo) 2985 2998 if Fo/sig >= calcControls['minF/sig']: 2999 sumFo += Fo 3000 sumFo2 += ref[5] 3001 sumdF += abs(Fo-Fc) 3002 sumdF2 += abs(ref[5]-ref[7]) 2986 3003 Nobs += 1 2987 3004 df[i] = (Fo-Fc)/sig 2988 sumwYo += Fo/sig**2 3005 sumwYo += (Fo/sig)**2 3006 Histogram['sumwYo'] = sumwYo 3007 SumwYo += sumwYo 3008 Histogram['wR'] = min(100.,np.sqrt(np.sum(df**2)/Histogram['sumwYo'])*100.) 3009 Histogram[phfx+'Rf'] = 100.*sumdF/sumFo 3010 Histogram[phfx+'Rf^2'] = 100.*sumdF2/sumFo2 3011 Histogram[phfx+'Nref'] = Nobs 3012 if dlg: 3013 dlg.Update(Histogram['wR'],newmsg='For histogram %d Rw=%8.3f%s'%(hId,Histogram['wR'],'%'))[0] 2989 3014 M = np.concatenate((M,df)) 2990 2991 2992 Histograms['sumwYo'] = sumwYo 3015 Histograms['sumwYo'] = SumwYo 2993 3016 Histograms['Nobs'] = Nobs 2994 Rwp = min(100.,np.sqrt(np.sum(M**2)/sumwYo)*100.) 2995 print 'Rwp',sumwYo,np.sum(M**2),np.sqrt(np.sum(M**2)),Rwp,Nobs 3017 Rw = min(100.,np.sqrt(np.sum(M**2)/SumwYo)*100.) 2996 3018 if dlg: 2997 GoOn = dlg.Update(Rw p,newmsg='%s%8.3f%s'%('Powder profile Rwp =',Rwp,'%'))[0]3019 GoOn = dlg.Update(Rw,newmsg='%s%8.3f%s'%('All data Rw =',Rw,'%'))[0] 2998 3020 if not GoOn: 2999 3021 parmDict['saved values'] = values … … 3093 3115 print ' Number of function calls:',result[2]['nfev'],' Number of observations: ',Histograms['Nobs'],' Number of parameters: ',len(varyList) 3094 3116 print ' Refinement time = %8.3fs, %8.3fs/cycle, for %d cycles'%(runtime,runtime/ncyc,ncyc) 3095 print ' wR p= %7.2f%%, chi**2 = %12.6g, reduced chi**2 = %6.2f'%(Rvals['Rwp'],Rvals['chisq'],Rvals['GOF'])3117 print ' wR = %7.2f%%, chi**2 = %12.6g, reduced chi**2 = %6.2f'%(Rvals['Rwp'],Rvals['chisq'],Rvals['GOF']) 3096 3118 try: 3097 3119 covMatrix = result[1]*Rvals['GOF']
Note: See TracChangeset
for help on using the changeset viewer.