Changeset 5050
- Timestamp:
- Oct 20, 2021 7:57:52 AM (2 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIphsGUI.py
r5049 r5050 4992 4992 fileSizer.Add((5,5),0) 4993 4993 if 'Select' not in Rfile and 'PDFfit' in G2frame.RMCchoice: 4994 fileSizer.Add(wx.StaticText(G2frame.FRMC,label=' R range (from/to)'),0,WACV)4994 fileSizer.Add(wx.StaticText(G2frame.FRMC,label=' R-range (from/to)'),0,WACV) 4995 4995 fileSizer.Add(G2G.ValidatedTxtCtrl(G2frame.FRMC,RMCPdict[Name]['Fitrange'],0,xmin=RMCPdict[Name]['Datarange'][0],xmax=3.0),0,WACV) 4996 4996 fileSizer.Add(G2G.ValidatedTxtCtrl(G2frame.FRMC,RMCPdict[Name]['Fitrange'],1,xmin=10.0,xmax=RMCPdict[Name]['Datarange'][1]),0,WACV) … … 6128 6128 subp.Popen(['/bin/bash','pdffit2.sh']) 6129 6129 #update choice? here? 6130 6131 G2pwdr.UpdatePDFfit(data,RMCPdata) 6132 6130 wx.MessageBox('PDFfit finished',caption='Updating results',style=wx.ICON_EXCLAMATION) 6131 RMCPdict = data['RMC']['PDFfit'] 6132 G2pwd.UpdatePDFfit(data,RMCPdict) 6133 wx.CallAfter(UpdateRMC) 6134 6133 6135 6134 6136 -
trunk/GSASIIpwd.py
r5049 r5050 2691 2691 fl.write('IGNORE_HISTORY_FILE ::\n') 2692 2692 fl.write('\n') 2693 fl.write('NEUTRON_COEFFICIENTS :: '+''.join(['% 8.5f'%coeff for coeff in Ncoeff])+'\n')2693 fl.write('NEUTRON_COEFFICIENTS :: '+''.join(['%9.5f'%coeff for coeff in Ncoeff])+'\n') 2694 2694 fl.write('DISTANCE_WINDOW ::\n') 2695 2695 fl.write(' > MNDIST :: %s\n'%minD) … … 2789 2789 fl.write(' > DMIN :: %.2f\n'%(dMin-0.02)) 2790 2790 fl.write(' > WEIGHT :: %10.3f\n'%BraggWt) 2791 fl.write(' > SCATTERING LENGTH :: '+''.join(['% 7.4f'%blen for blen in Nblen])+'\n')2791 fl.write(' > SCATTERING LENGTH :: '+''.join(['%8.4f'%blen for blen in Nblen])+'\n') 2792 2792 fl.write('\n') 2793 2793 fl.write('END ::\n') … … 3000 3000 from diffpy.pdffit2 import PdfFit 3001 3001 pf = PdfFit() 3002 3003 3002 # Load data ------------------------------------------------------------------ 3004 3005 # Load experimental x-ray PDF data3006 3003 qmax = 30.0 # Q-cutoff used in PDF calculation in 1/A 3007 3004 qdamp = 0.01 # instrument Q-resolution factor, responsible for PDF decay 3008 pf.read_data('Ni-xray.gr', 'X', qmax, qdamp)3009 pf.read_data('Ni-neutron.gr', 'N', qmax, qdamp)3010 3011 # Load nickel structure, must be in PDFFIT or DISCUS format3012 pf.read_struct('Ni.stru')3013 3005 ''' 3006 rundata += "pf.read_data(%s, 'X', qmax, qdamp)\n" 3007 rundata += "pf.read_data(%s, 'N', qmax, qdamp)\n" 3008 rundata += "pf.read_struct(%s)\n" 3014 3009 3015 fName = General['Name']+'.py' 3016 3010 fName = General['Name']+'.py' 3017 3011 rfile = open(fName,'w') 3018 3012 rfile.writelines(rundata) … … 3020 3014 3021 3015 3022 print('PDFfit2 prep under construction')3023 3016 3024 3017 def UpdatePDFfit(Phase,RMCPdict): … … 3028 3021 rstr = open(fName.replace(' ','_'),'r') 3029 3022 lines = rstr.readlines() 3030 resdict = dict(zip(lines[:6].split(' ',))) 3031 General['Cell'][:7] = resdict['cell'] 3032 for inam,name in enumerate(['delta1','delta2','sratio','spdiameter']): 3033 RMCPdict['delta1'] = resdict['sharp'][0] 3034 3035 3036 print('PDFfit2 update under construction') 3023 rstr.close() 3024 header = [line[:-1].split(' ',1) for line in lines[:7]] 3025 resdict = dict(header) 3026 for item in ['scale','sharp','cell']: 3027 resdict[item] = [float(val) for val in resdict[item].split(',')] 3028 General['Cell'][1:7] = resdict['cell'] 3029 for inam,name in enumerate(['delta2','delta1','sratio']): 3030 RMCPdict[name][0] = resdict['sharp'][inam] 3031 if 'shape' in resdict and 'sphere' in resdict['shape']: 3032 RMCPdict['spdiameter'][0] = resdict['shape'][-1] 3033 cx,ct,cs,ci = G2mth.getAtomPtrs(Phase) 3034 Atoms = Phase['Atoms'] 3035 atmBeg = 0 3036 for line in lines: 3037 atmBeg += 1 3038 if 'atoms' in line: 3039 break 3040 for atom in Atoms: 3041 atstr = lines[atmBeg][:-1].split() 3042 Uiistr = lines[atmBeg+2][:-1].split() 3043 Uijstr = lines[atmBeg+4][:-1].split() 3044 atom[cx:cx+4] = [float(atstr[1]),float(atstr[2]),float(atstr[3]),float(atstr[4])] 3045 atom[ci] = 'A' 3046 atom[ci+2:ci+5] = [float(Uiistr[0]),float(Uiistr[1]),float(Uiistr[2])] 3047 atom[ci+5:ci+8] = [float(Uijstr[0]),float(Uijstr[1]),float(Uijstr[2])] 3048 atmBeg += 6 3037 3049 3038 3050 def MakefullrmcRun(pName,Phase,RMCPdict):
Note: See TracChangeset
for help on using the changeset viewer.