Changeset 5021
- Timestamp:
- Sep 3, 2021 3:19:48 PM (21 months ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIdataGUI.py
r5003 r5021 4814 4814 sumnum = 0. 4815 4815 for [elem,num] in Formula: 4816 ElData = G2elem.GetElInfo(elem,Parms)4816 ElData = copy.deepcopy(G2elem.GetElInfo(elem,Parms)) 4817 4817 ElData['FormulaNo'] = float(num) 4818 4818 sumnum += float(num) … … 4821 4821 except ValueError: 4822 4822 G2G.G2MessageBox(self,'Carbon-based (and wrong) PDF will be generated','Missing chemical formula') 4823 ElData = G2elem.GetElInfo('C',Parms)4823 ElData = copy.deepcopy(G2elem.GetElInfo('C',Parms)) 4824 4824 sumnum = 1.0 4825 4825 ElData['FormulaNo'] = 1.0 -
trunk/GSASIIobj.py
r5010 r5021 3314 3314 {'Limits':[1.,5.],'Background':[2,[0.,-0.2*np.pi],False],'Peaks':[]}) 3315 3315 return Id 3316 #%% 3316 3317 3317 class ShowTiming(object): 3318 3318 '''An object to use for timing repeated sections of code. … … 3363 3363 for i,(lbl,val) in enumerate(zip(self.label,self.timeSum)): 3364 3364 print('{} {:20} {:8.2f} ms {:5.2f}%'.format(i,lbl,1000.*val,100*val/sumT)) 3365 #%%3366 3365 3367 3366 def validateAtomDrawType(typ,generalData={}): -
trunk/GSASIIpwd.py
r5018 r5021 347 347 Abs += SA 348 348 MuR = Abs*data['Diam']/2. 349 IofQ[1][1] /= Absorb(data['Geometry'],MuR,inst['2-theta'][1]*np.ones(len(wave))) 349 IofQ[1][1] /= Absorb(data['Geometry'],MuR,inst['2-theta'][1]*np.ones(len(wave))) 350 # improves look of F(Q) but no impact on G(R) 351 # bBut,aBut = signal.butter(8,.5,"lowpass") 352 # IofQ[1][1] = signal.filtfilt(bBut,aBut,IofQ[1][1]) 350 353 XY = IofQ[1] 351 354 #convert to Q 352 # nQpoints = len(XY[0]) #points for Q interpolation353 355 nQpoints = 5000 354 356 if 'C' in inst['Type'][0]: … … 539 541 # auxPlot.append([Qpoints,Qsmooth,'interpolate:'+RDFcontrols['Smooth']]) 540 542 DofR = dq*np.imag(fft.fft(Qsmooth,16*nR)[:nR]) 541 # DofR = dq*np.imag(ft.fft(Qsmooth,16*nR)[:nR])542 543 auxPlot.append([R[:iFin],DofR[:iFin],'D(R) for '+RDFcontrols['UseObsCalc']]) 543 544 return auxPlot 544 545 545 546 # PDF optimization ============================================================= 546 def OptimizePDF(data,xydata,limits,inst,showFit=True,maxCycles= 5):547 def OptimizePDF(data,xydata,limits,inst,showFit=True,maxCycles=25): 547 548 import scipy.optimize as opt 548 549 numbDen = GetNumDensity(data['ElList'],data['Form Vol']) … … 564 565 method='L-BFGS-B',options={'maxiter':maxCycles},tol=0.001) 565 566 else: 566 res = opt.minimize(Min,xstart,bounds=([0 ,None],[0,1],[0.01,1.]),567 res = opt.minimize(Min,xstart,bounds=([0.,None],[0,1],[0.01,1.]), 567 568 method='L-BFGS-B',options={'maxiter':maxCycles},tol=0.001) 568 569 Done(res['x']) … … 594 595 else: 595 596 F,B,R = arg 596 Data['Flat Bkg'] = F*BkgMax597 Data['Flat Bkg'] = BkgMax*(2.*F-1.) 597 598 Data['BackRatio'] = B 598 599 Data['Ruland'] = R … … 610 611 return [max(data['Ruland'],.05),data['Sample']['Mult']] 611 612 try: 612 F = data['Flat Bkg']/BkgMax613 F = 0.5+0.5*data['Flat Bkg']/BkgMax 613 614 except: 614 615 F = 0 … … 623 624 else: 624 625 F,B,R = arg 625 data['Flat Bkg'] = F*BkgMax626 data['Flat Bkg'] = BkgMax*(2.*F-1.) 626 627 data['BackRatio'] = B 627 628 data['Ruland'] = R -
trunk/GSASIIpwdGUI.py
r5016 r5021 2888 2888 wx.CallLater(100,UpdateSampleGrid,G2frame,data) 2889 2889 2890 2891 ######## DEBUG #######################################################2892 #import GSASIIpwdGUI2893 #reload(GSASIIpwdGUI)2894 #reload(G2gd)2895 ######################################################################2896 2890 Inst = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 2897 2891 G2frame,G2frame.PatternId, 'Instrument Parameters'))[0] … … 7104 7098 def FillElemSizer(elemSizer,ElData): 7105 7099 7106 def AfterChange(invalid,value,tc):7100 def OnElemNum(invalid,value,tc): 7107 7101 if invalid: return 7108 7102 data['Form Vol'] = max(10.0,SumElementVolumes()) … … 7113 7107 label=' Element: '+'%2s'%(ElData['Symbol'])+' * '),0,WACV) 7114 7108 num = G2G.ValidatedTxtCtrl(G2frame.dataWindow,ElData,'FormulaNo',nDig=(10,3),xmin=0.0, 7115 typeHint=float,OnLeave= AfterChange)7109 typeHint=float,OnLeave=OnElemNum) 7116 7110 elemSizer.Add(num,0,WACV) 7117 7111 elemSizer.Add(wx.StaticText(parent=G2frame.dataWindow, … … 7278 7272 sqBox.Add(obliqCoeff,0) 7279 7273 sqBox.Add(wx.StaticText(G2frame.dataWindow,label=' Flat Bkg.: '),0,WACV) 7280 G2frame.flatBkg = G2G.ValidatedTxtCtrl(G2frame.dataWindow,data,'Flat Bkg',nDig=(10,0), xmin=0,7274 G2frame.flatBkg = G2G.ValidatedTxtCtrl(G2frame.dataWindow,data,'Flat Bkg',nDig=(10,0), 7281 7275 typeHint=float,OnLeave=AfterChangeNoRefresh) 7282 7276 sqBox.Add(G2frame.flatBkg,0) … … 7412 7406 7413 7407 def OnCopyPDFControls(event): 7414 import copy7415 7408 TextList = GetFileList(G2frame,'PDF') 7416 7409 Source = G2frame.GPXtree.GetItemText(G2frame.PatternId) … … 7494 7487 if El not in ElList: 7495 7488 try: 7496 data['ElList'][El] = G2elem.GetElInfo(El,inst)7489 data['ElList'][El] = copy.deepcopy(G2elem.GetElInfo(El,inst)) 7497 7490 data['ElList'][El]['FormulaNo'] = 1.0 7498 7491 except IndexError: # happens with element Q … … 7767 7760 7768 7761 def OnCopyPDFPeaks(event): 7769 import copy7770 7762 TextList = GetFileList(G2frame,'PDF') 7771 7763 Source = G2frame.GPXtree.GetItemText(G2frame.PatternId)
Note: See TracChangeset
for help on using the changeset viewer.