Changeset 1878
- Timestamp:
- Jun 4, 2015 1:49:58 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIddataGUI.py
r1875 r1878 153 153 return scaleSizer 154 154 155 def OnUseData(event):156 Obj = event.GetEventObject()157 UseList[G2frame.hist]['Use'] = Obj.GetValue()158 159 155 def OnLGmixRef(event): 160 156 Obj = event.GetEventObject() … … 212 208 G2plt.PlotSizeStrainPO(G2frame,data,hist) 213 209 214 def OnSizeAxis(event):215 Obj = event.GetEventObject()216 Saxis = Obj.GetValue().split()217 try:218 hkl = [int(Saxis[i]) for i in range(3)]219 except (ValueError,IndexError):220 hkl = UseList[G2frame.hist]['Size'][3]221 if not np.any(np.array(hkl)):222 hkl = UseList[G2frame.hist]['Size'][3]223 UseList[G2frame.hist]['Size'][3] = hkl224 h,k,l = hkl225 Obj.SetValue('%3d %3d %3d'%(h,k,l))226 227 def OnResetSize(event):228 Obj = event.GetEventObject()229 Obj.SetValue(False)230 item,name = Indx[Obj.GetId()]231 if name == 'isotropic':232 UseList[item]['Size'][1][0] = 1.0233 elif name == 'uniaxial':234 UseList[item]['Size'][1][0] = 1.0235 UseList[item]['Size'][1][1] = 1.0236 elif name == 'ellipsoidal':237 for i in range(3):238 UseList[item]['Size'][4][i] = 1.0239 UseList[item]['Size'][4][i+3] = 0.0240 G2plt.PlotSizeStrainPO(G2frame,data,item)241 wx.CallLater(100,RepaintHistogramInfo)242 243 210 def OnStrainType(event): 244 211 Obj = event.GetEventObject() … … 377 344 return newPOCoef 378 345 379 def OnExtRef(event):380 Obj = event.GetEventObject()381 UseList[G2frame.hist]['Extinction'][1] = Obj.GetValue()382 383 def OnExtVal(event):384 Obj = event.GetEventObject()385 try:386 ext = float(Obj.GetValue())387 if ext >= 0:388 UseList[G2frame.hist]['Extinction'][0] = ext389 except ValueError:390 pass391 Obj.SetValue("%.2f"%(UseList[G2frame.hist]['Extinction'][0]))392 393 def OnBabRef(event):394 Obj = event.GetEventObject()395 item,bab = Indx[Obj.GetId()]396 UseList[item]['Babinet']['Bab'+bab][1] = Obj.GetValue()397 398 def OnFlackRef(event):399 Obj = event.GetEventObject()400 UseList[G2frame.hist]['Flack'][1] = Obj.GetValue()401 402 def OnBabVal(event):403 Obj = event.GetEventObject()404 item,bab = Indx[Obj.GetId()]405 try:406 val = float(Obj.GetValue())407 if val >= 0:408 UseList[item]['Babinet']['Bab'+bab][0] = val409 except ValueError:410 pass411 Obj.SetValue("%.3f"%(UseList[item]['Babinet']['Bab'+bab][0]))412 413 def OnFlackVal(event):414 Obj = event.GetEventObject()415 try:416 flack = float(Obj.GetValue())417 UseList[G2frame.hist]['Flack'][0] = flack418 except ValueError:419 pass420 Obj.SetValue("%.3f"%(UseList[G2frame.hist]['Flack'][0]))421 422 def OnTbarVal(event):423 Obj = event.GetEventObject()424 try:425 tbar = float(Obj.GetValue())426 if tbar > 0:427 UseList[G2frame.hist]['Extinction'][2]['Tbar'] = tbar428 except ValueError:429 pass430 Obj.SetValue("%.3f"%(UseList[G2frame.hist]['Extinction'][2]['Tbar']))431 432 def OnCos2TM(event):433 Obj = event.GetEventObject()434 try:435 val = float(Obj.GetValue())436 if 0. < val <= 1.:437 UseList[G2frame.hist]['Extinction'][2]['Cos2TM'] = val438 except ValueError:439 pass440 Obj.SetValue("%.3f"%(UseList[G2frame.hist]['Extinction'][2]['Cos2TM']))441 442 def OnEval(event):443 Obj = event.GetEventObject()444 item = Indx[Obj.GetId()]445 try:446 val = float(Obj.GetValue())447 if val > 0:448 UseList[item[0]]['Extinction'][2][item[1]][0] = val449 except ValueError:450 pass451 Obj.SetValue("%10.3e"%(UseList[item[0]]['Extinction'][2][item[1]][0]))452 453 def OnEref(event):454 Obj = event.GetEventObject()455 item = Indx[Obj.GetId()]456 UseList[item[0]]['Extinction'][2][item[1]][1] = Obj.GetValue()457 458 def OnSCExtType(event):459 Obj = event.GetEventObject()460 item = Indx[Obj.GetId()]461 UseList[item[0]]['Extinction'][item[1]] = Obj.GetValue()462 wx.CallLater(100,RepaintHistogramInfo)463 464 346 def checkAxis(axis): 465 347 if not np.any(np.array(axis)): … … 710 592 return shPenalty 711 593 712 def ExtSizer(): 713 extSizer = wx.BoxSizer(wx.HORIZONTAL) 714 extRef = wx.CheckBox(DData,wx.ID_ANY,label=' Extinction: ') 715 extRef.SetValue(UseList[G2frame.hist]['Extinction'][1]) 716 extRef.Bind(wx.EVT_CHECKBOX, OnExtRef) 717 extSizer.Add(extRef,0,WACV|wx.LEFT,5) 718 extVal = wx.TextCtrl(DData,wx.ID_ANY, 719 '%.2f'%(UseList[G2frame.hist]['Extinction'][0]),style=wx.TE_PROCESS_ENTER) 720 extVal.Bind(wx.EVT_TEXT_ENTER,OnExtVal) 721 extVal.Bind(wx.EVT_KILL_FOCUS,OnExtVal) 722 extSizer.Add(extVal,0,WACV) 594 def ExtSizer(Type): 595 596 def OnSCExtType(event): 597 Obj = event.GetEventObject() 598 item = Indx[Obj.GetId()] 599 UseList[item[0]]['Extinction'][item[1]] = Obj.GetValue() 600 wx.CallLater(100,RepaintHistogramInfo) 601 602 def OnTbarVal(event): 603 Obj = event.GetEventObject() 604 try: 605 tbar = float(Obj.GetValue()) 606 if tbar > 0: 607 UseList[G2frame.hist]['Extinction'][2]['Tbar'] = tbar 608 except ValueError: 609 pass 610 Obj.SetValue("%.3f"%(UseList[G2frame.hist]['Extinction'][2]['Tbar'])) 611 612 def OnCos2TM(event): 613 Obj = event.GetEventObject() 614 try: 615 val = float(Obj.GetValue()) 616 if 0. < val <= 1.: 617 UseList[G2frame.hist]['Extinction'][2]['Cos2TM'] = val 618 except ValueError: 619 pass 620 Obj.SetValue("%.3f"%(UseList[G2frame.hist]['Extinction'][2]['Cos2TM'])) 621 622 def OnEval(event): 623 Obj = event.GetEventObject() 624 item = Indx[Obj.GetId()] 625 try: 626 val = float(Obj.GetValue()) 627 if val > 0: 628 UseList[item[0]]['Extinction'][2][item[1]][0] = val 629 except ValueError: 630 pass 631 Obj.SetValue("%10.3e"%(UseList[item[0]]['Extinction'][2][item[1]][0])) 632 633 def OnEref(event): 634 Obj = event.GetEventObject() 635 item = Indx[Obj.GetId()] 636 UseList[item[0]]['Extinction'][2][item[1]][1] = Obj.GetValue() 637 638 def OnExtRef(event): 639 Obj = event.GetEventObject() 640 UseList[G2frame.hist]['Extinction'][1] = Obj.GetValue() 641 642 def OnExtVal(event): 643 Obj = event.GetEventObject() 644 try: 645 ext = float(Obj.GetValue()) 646 if ext >= 0: 647 UseList[G2frame.hist]['Extinction'][0] = ext 648 except ValueError: 649 pass 650 Obj.SetValue("%.2f"%(UseList[G2frame.hist]['Extinction'][0])) 651 652 extSizer = wx.BoxSizer(wx.VERTICAL) 653 if Type == 'HKLF': 654 typeSizer = wx.BoxSizer(wx.HORIZONTAL) 655 typeSizer.Add(wx.StaticText(DData,wx.ID_ANY,' Extinction type: '),0,WACV) 656 Choices = ['None','Primary','Secondary Type I','Secondary Type II',] # remove 'Secondary Type I & II' 657 typeTxt = wx.ComboBox(DData,wx.ID_ANY,choices=Choices,value=UseList[G2frame.hist]['Extinction'][1], 658 style=wx.CB_READONLY|wx.CB_DROPDOWN) 659 Indx[typeTxt.GetId()] = [G2frame.hist,1] 660 typeTxt.Bind(wx.EVT_COMBOBOX,OnSCExtType) 661 typeSizer.Add(typeTxt) 662 typeSizer.Add(wx.StaticText(DData,wx.ID_ANY,' Approx: '),0,WACV) 663 Choices=['Lorentzian','Gaussian'] 664 approxTxT = wx.ComboBox(DData,wx.ID_ANY,choices=Choices,value=UseList[G2frame.hist]['Extinction'][0], 665 style=wx.CB_READONLY|wx.CB_DROPDOWN) 666 Indx[approxTxT.GetId()] = [G2frame.hist,0] 667 approxTxT.Bind(wx.EVT_COMBOBOX,OnSCExtType) 668 typeSizer.Add(approxTxT) 669 if UseList[G2frame.hist]['Extinction'][1] == 'None': 670 extSizer.Add(typeSizer,0,WACV) 671 else: 672 extSizer.Add(typeSizer,0,WACV|wx.BOTTOM,5) 673 if 'Tbar' in UseList[G2frame.hist]['Extinction'][2]: #skipped for TOF 674 valSizer =wx.BoxSizer(wx.HORIZONTAL) 675 valSizer.Add(wx.StaticText(DData,wx.ID_ANY,' Tbar(mm):'),0,WACV) 676 tbarVal = wx.TextCtrl(DData,wx.ID_ANY, 677 '%.3f'%(UseList[G2frame.hist]['Extinction'][2]['Tbar']),style=wx.TE_PROCESS_ENTER) 678 tbarVal.Bind(wx.EVT_TEXT_ENTER,OnTbarVal) 679 tbarVal.Bind(wx.EVT_KILL_FOCUS,OnTbarVal) 680 valSizer.Add(tbarVal,0,WACV) 681 valSizer.Add(wx.StaticText(DData,wx.ID_ANY,' cos(2ThM):'),0,WACV) 682 cos2tm = wx.TextCtrl(DData,wx.ID_ANY, 683 '%.3f'%(UseList[G2frame.hist]['Extinction'][2]['Cos2TM']),style=wx.TE_PROCESS_ENTER) 684 cos2tm.Bind(wx.EVT_TEXT_ENTER,OnCos2TM) 685 cos2tm.Bind(wx.EVT_KILL_FOCUS,OnCos2TM) 686 valSizer.Add(cos2tm,0,WACV) 687 extSizer.Add(valSizer,0,WACV) 688 val2Sizer =wx.BoxSizer(wx.HORIZONTAL) 689 if 'Primary' in UseList[G2frame.hist]['Extinction'][1]: 690 Ekey = ['Ep',] 691 elif 'Secondary Type II' == UseList[G2frame.hist]['Extinction'][1]: 692 Ekey = ['Es',] 693 elif 'Secondary Type I' == UseList[G2frame.hist]['Extinction'][1]: 694 Ekey = ['Eg',] 695 else: 696 Ekey = ['Eg','Es'] 697 for ekey in Ekey: 698 Eref = wx.CheckBox(DData,wx.ID_ANY,label=ekey+' : ') 699 Eref.SetValue(UseList[G2frame.hist]['Extinction'][2][ekey][1]) 700 Indx[Eref.GetId()] = [G2frame.hist,ekey] 701 Eref.Bind(wx.EVT_CHECKBOX, OnEref) 702 val2Sizer.Add(Eref,0,WACV|wx.LEFT,5) 703 Eval = wx.TextCtrl(DData,wx.ID_ANY, 704 '%10.3e'%(UseList[G2frame.hist]['Extinction'][2][ekey][0]),style=wx.TE_PROCESS_ENTER) 705 Indx[Eval.GetId()] = [G2frame.hist,ekey] 706 Eval.Bind(wx.EVT_TEXT_ENTER,OnEval) 707 Eval.Bind(wx.EVT_KILL_FOCUS,OnEval) 708 val2Sizer.Add(Eval,0,WACV) 709 extSizer.Add(val2Sizer,0,WACV) 710 else: #PWDR 711 extRef = wx.CheckBox(DData,wx.ID_ANY,label=' Extinction: ') 712 extRef.SetValue(UseList[G2frame.hist]['Extinction'][1]) 713 extRef.Bind(wx.EVT_CHECKBOX, OnExtRef) 714 extSizer.Add(extRef,0,WACV|wx.LEFT,5) 715 extVal = wx.TextCtrl(DData,wx.ID_ANY, 716 '%.2f'%(UseList[G2frame.hist]['Extinction'][0]),style=wx.TE_PROCESS_ENTER) 717 extVal.Bind(wx.EVT_TEXT_ENTER,OnExtVal) 718 extVal.Bind(wx.EVT_KILL_FOCUS,OnExtVal) 719 extSizer.Add(extVal,0,WACV) 720 723 721 return extSizer 724 725 def SCExtSizer():726 extSizer = wx.BoxSizer(wx.VERTICAL)727 typeSizer = wx.BoxSizer(wx.HORIZONTAL)728 typeSizer.Add(wx.StaticText(DData,wx.ID_ANY,' Extinction type: '),0,WACV)729 Choices = ['None','Primary','Secondary Type I','Secondary Type II',] # remove 'Secondary Type I & II'730 typeTxt = wx.ComboBox(DData,wx.ID_ANY,choices=Choices,value=UseList[G2frame.hist]['Extinction'][1],731 style=wx.CB_READONLY|wx.CB_DROPDOWN)732 Indx[typeTxt.GetId()] = [G2frame.hist,1]733 typeTxt.Bind(wx.EVT_COMBOBOX,OnSCExtType)734 typeSizer.Add(typeTxt)735 typeSizer.Add(wx.StaticText(DData,wx.ID_ANY,' Approx: '),0,WACV)736 Choices=['Lorentzian','Gaussian']737 approxTxT = wx.ComboBox(DData,wx.ID_ANY,choices=Choices,value=UseList[G2frame.hist]['Extinction'][0],738 style=wx.CB_READONLY|wx.CB_DROPDOWN)739 Indx[approxTxT.GetId()] = [G2frame.hist,0]740 approxTxT.Bind(wx.EVT_COMBOBOX,OnSCExtType)741 typeSizer.Add(approxTxT)742 if UseList[G2frame.hist]['Extinction'][1] == 'None':743 extSizer.Add(typeSizer,0,WACV)744 else:745 extSizer.Add(typeSizer,0,WACV|wx.BOTTOM,5)746 if 'Tbar' in UseList[G2frame.hist]['Extinction'][2]: #skipped for TOF747 valSizer =wx.BoxSizer(wx.HORIZONTAL)748 valSizer.Add(wx.StaticText(DData,wx.ID_ANY,' Tbar(mm):'),0,WACV)749 tbarVal = wx.TextCtrl(DData,wx.ID_ANY,750 '%.3f'%(UseList[G2frame.hist]['Extinction'][2]['Tbar']),style=wx.TE_PROCESS_ENTER)751 tbarVal.Bind(wx.EVT_TEXT_ENTER,OnTbarVal)752 tbarVal.Bind(wx.EVT_KILL_FOCUS,OnTbarVal)753 valSizer.Add(tbarVal,0,WACV)754 valSizer.Add(wx.StaticText(DData,wx.ID_ANY,' cos(2ThM):'),0,WACV)755 cos2tm = wx.TextCtrl(DData,wx.ID_ANY,756 '%.3f'%(UseList[G2frame.hist]['Extinction'][2]['Cos2TM']),style=wx.TE_PROCESS_ENTER)757 cos2tm.Bind(wx.EVT_TEXT_ENTER,OnCos2TM)758 cos2tm.Bind(wx.EVT_KILL_FOCUS,OnCos2TM)759 valSizer.Add(cos2tm,0,WACV)760 extSizer.Add(valSizer,0,WACV)761 val2Sizer =wx.BoxSizer(wx.HORIZONTAL)762 if 'Primary' in UseList[G2frame.hist]['Extinction'][1]:763 Ekey = ['Ep',]764 elif 'Secondary Type II' == UseList[G2frame.hist]['Extinction'][1]:765 Ekey = ['Es',]766 elif 'Secondary Type I' == UseList[G2frame.hist]['Extinction'][1]:767 Ekey = ['Eg',]768 else:769 Ekey = ['Eg','Es']770 for ekey in Ekey:771 Eref = wx.CheckBox(DData,wx.ID_ANY,label=ekey+' : ')772 Eref.SetValue(UseList[G2frame.hist]['Extinction'][2][ekey][1])773 Indx[Eref.GetId()] = [G2frame.hist,ekey]774 Eref.Bind(wx.EVT_CHECKBOX, OnEref)775 val2Sizer.Add(Eref,0,WACV|wx.LEFT,5)776 Eval = wx.TextCtrl(DData,wx.ID_ANY,777 '%10.3e'%(UseList[G2frame.hist]['Extinction'][2][ekey][0]),style=wx.TE_PROCESS_ENTER)778 Indx[Eval.GetId()] = [G2frame.hist,ekey]779 Eval.Bind(wx.EVT_TEXT_ENTER,OnEval)780 Eval.Bind(wx.EVT_KILL_FOCUS,OnEval)781 val2Sizer.Add(Eval,0,WACV)782 783 extSizer.Add(val2Sizer,0,WACV)784 return extSizer785 722 786 723 def BabSizer(): 724 725 def OnBabVal(event): 726 Obj = event.GetEventObject() 727 item,bab = Indx[Obj.GetId()] 728 try: 729 val = float(Obj.GetValue()) 730 if val >= 0: 731 UseList[item]['Babinet']['Bab'+bab][0] = val 732 except ValueError: 733 pass 734 Obj.SetValue("%.3f"%(UseList[item]['Babinet']['Bab'+bab][0])) 735 736 def OnBabRef(event): 737 Obj = event.GetEventObject() 738 item,bab = Indx[Obj.GetId()] 739 UseList[item]['Babinet']['Bab'+bab][1] = Obj.GetValue() 740 787 741 babSizer = wx.BoxSizer(wx.HORIZONTAL) 788 742 for bab in ['A','U']: … … 801 755 802 756 def FlackSizer(): 757 758 def OnFlackVal(event): 759 Obj = event.GetEventObject() 760 try: 761 flack = float(Obj.GetValue()) 762 UseList[G2frame.hist]['Flack'][0] = flack 763 except ValueError: 764 pass 765 Obj.SetValue("%.3f"%(UseList[G2frame.hist]['Flack'][0])) 766 767 def OnFlackRef(event): 768 Obj = event.GetEventObject() 769 UseList[G2frame.hist]['Flack'][1] = Obj.GetValue() 770 803 771 flackSizer = wx.BoxSizer(wx.HORIZONTAL) 804 772 flackRef = wx.CheckBox(DData,wx.ID_ANY,label=' Flack parameter: ') … … 831 799 832 800 def ShowHistogramInfo(): 801 802 def OnUseData(event): 803 Obj = event.GetEventObject() 804 UseList[G2frame.hist]['Use'] = Obj.GetValue() 805 806 def OnResetSize(event): 807 Obj = event.GetEventObject() 808 Obj.SetValue(False) 809 item,name = Indx[Obj.GetId()] 810 if name == 'isotropic': 811 UseList[item]['Size'][1][0] = 1.0 812 elif name == 'uniaxial': 813 UseList[item]['Size'][1][0] = 1.0 814 UseList[item]['Size'][1][1] = 1.0 815 elif name == 'ellipsoidal': 816 for i in range(3): 817 UseList[item]['Size'][4][i] = 1.0 818 UseList[item]['Size'][4][i+3] = 0.0 819 G2plt.PlotSizeStrainPO(G2frame,data,item) 820 wx.CallLater(100,RepaintHistogramInfo) 821 822 def OnSizeAxis(event): 823 Obj = event.GetEventObject() 824 Saxis = Obj.GetValue().split() 825 try: 826 hkl = [int(Saxis[i]) for i in range(3)] 827 except (ValueError,IndexError): 828 hkl = UseList[G2frame.hist]['Size'][3] 829 if not np.any(np.array(hkl)): 830 hkl = UseList[G2frame.hist]['Size'][3] 831 UseList[G2frame.hist]['Size'][3] = hkl 832 h,k,l = hkl 833 Obj.SetValue('%3d %3d %3d'%(h,k,l)) 834 833 835 try: 834 836 histData = UseList[G2frame.hist] … … 930 932 931 933 bottomSizer.Add(poSizer,0,WACV|wx.TOP|wx.BOTTOM,5) 932 bottomSizer.Add(ExtSizer( ),0,WACV|wx.TOP|wx.BOTTOM,5)934 bottomSizer.Add(ExtSizer('PWDR'),0,WACV|wx.TOP|wx.BOTTOM,5) 933 935 bottomSizer.Add(BabSizer(),0,WACV|wx.BOTTOM,5) 934 936 elif G2frame.hist[:4] == 'HKLF': … … 937 939 UseList[G2frame.hist]['Flack'] = [0.0,False] 938 940 #end patch 939 bottomSizer.Add( SCExtSizer(),0,WACV|wx.BOTTOM,5)941 bottomSizer.Add(ExtSizer('HKLF'),0,WACV|wx.BOTTOM,5) 940 942 bottomSizer.Add(BabSizer(),0,WACV|wx.BOTTOM,5) 941 #if not SGData['SGInv']: #not operational yet - no test data942 #bottomSizer.Add(FlackSizer(),0,WACV|wx.BOTTOM,5)943 if not SGData['SGInv']: #not operational yet - no test data 944 bottomSizer.Add(FlackSizer(),0,WACV|wx.BOTTOM,5) 943 945 return bottomSizer 944 946 -
trunk/GSASIIgrid.py
r1852 r1878 237 237 self.force = wx.RadioBox(panel,-1,'Force to unit cell?',choices=choice) 238 238 self.force.Bind(wx.EVT_RADIOBOX, self.OnOpSelect) 239 mainSizer.Add(self.force,0,WACV) 240 mainSizer.Add((5,5),0) 241 if SGData['SGInv']: 242 choice = ['No','Yes'] 243 self.inv = wx.RadioBox(panel,-1,'Choose inversion?',choices=choice) 244 self.inv.Bind(wx.EVT_RADIOBOX, self.OnOpSelect) 245 mainSizer.Add(self.inv,0,WACV) 246 mainSizer.Add((5,5),0) 239 mainSizer.Add(self.force,0,WACV|wx.TOP,5) 240 # if SGData['SGInv']: 241 choice = ['No','Yes'] 242 self.inv = wx.RadioBox(panel,-1,'Choose inversion?',choices=choice) 243 self.inv.Bind(wx.EVT_RADIOBOX, self.OnOpSelect) 244 mainSizer.Add(self.inv,0,WACV) 247 245 if SGData['SGLatt'] != 'P': 248 246 LattOp = G2spc.Latt2text(SGData['SGLatt']).split(';') … … 250 248 self.latt.Bind(wx.EVT_RADIOBOX, self.OnOpSelect) 251 249 mainSizer.Add(self.latt,0,WACV) 252 mainSizer.Add((5,5),0)253 250 if SGData['SGLaue'] in ['-1','2/m','mmm','4/m','4/mmm']: 254 251 Ncol = 2 … … 261 258 majorDimension=Ncol) 262 259 self.oprs.Bind(wx.EVT_RADIOBOX, self.OnOpSelect) 263 mainSizer.Add(self.oprs,0,WACV) 264 mainSizer.Add((5,5),0) 260 mainSizer.Add(self.oprs,0,WACV|wx.BOTTOM,5) 265 261 mainSizer.Add(wx.StaticText(panel,-1," Choose unit cell?"),0,WACV) 266 mainSizer.Add((5,5),0)267 262 cellSizer = wx.BoxSizer(wx.HORIZONTAL) 268 cellSizer.Add((5,0),0)269 263 cellName = ['X','Y','Z'] 270 264 self.cell = [] … … 275 269 self.cell[-1].Bind(wx.EVT_SPINCTRL, self.OnOpSelect) 276 270 cellSizer.Add(self.cell[-1],0,WACV) 277 mainSizer.Add(cellSizer,0, )271 mainSizer.Add(cellSizer,0,WACV|wx.BOTTOM,5) 278 272 if self.New: 279 273 choice = ['No','Yes'] … … 281 275 self.new.Bind(wx.EVT_RADIOBOX, self.OnOpSelect) 282 276 mainSizer.Add(self.new,0,WACV) 283 mainSizer.Add((5,5),0)284 277 285 278 OkBtn = wx.Button(panel,-1,"Ok") … … 300 293 301 294 def OnOpSelect(self,event): 302 if self.SGData['SGInv']:303 295 # if self.SGData['SGInv']: 296 self.OpSelected[0] = self.inv.GetSelection() 304 297 if self.SGData['SGLatt'] != 'P': 305 298 self.OpSelected[1] = self.latt.GetSelection() -
trunk/GSASIIpwd.py
r1874 r1878 270 270 MuR = Abs*data['Diam']/20.0 271 271 xydata['IofQ'][1][1] /= Absorb(data['Geometry'],MuR,Tth) 272 xydata['IofQ'][1][1] /= Polarization(inst['Polariz.'][1],Tth,Azm=inst['Azimuth'][1])[0] 272 if 'X' in inst['Type'][0]: 273 xydata['IofQ'][1][1] /= Polarization(inst['Polariz.'][1],Tth,Azm=inst['Azimuth'][1])[0] 273 274 if data['DetType'] == 'Image plate': 274 275 xydata['IofQ'][1][1] *= Oblique(data['ObliqCoeff'],Tth) … … 993 994 for name in varyList: 994 995 if 'Debye' in name: 995 parm,id = name.split(' :')996 parm,id = name.split(';') 996 997 ip = names.index(parm) 997 998 dMdv[varyList.index(name)] = dMddb[3*int(id)+ip] … … 1204 1205 debyeList = [] 1205 1206 for i in range(Debye['nDebye']): 1206 debyeNames = ['DebyeA :'+str(i),'DebyeR:'+str(i),'DebyeU:'+str(i)]1207 debyeNames = ['DebyeA;'+str(i),'DebyeR;'+str(i),'DebyeU;'+str(i)] 1207 1208 debyeDict.update(dict(zip(debyeNames,Debye['debyeTerms'][i][::2]))) 1208 1209 debyeList += zip(debyeNames,Debye['debyeTerms'][i][1::2]) … … 1332 1333 iDb = 0 1333 1334 while True: 1334 names = ['DebyeA :','DebyeR:','DebyeU:']1335 names = ['DebyeA;','DebyeR;','DebyeU;'] 1335 1336 try: 1336 1337 for i,name in enumerate(names): … … 1365 1366 print 'Background not refined' 1366 1367 if Background[1]['nDebye']: 1367 parms = ['DebyeA ','DebyeR','DebyeU']1368 parms = ['DebyeA;','DebyeR;','DebyeU;'] 1368 1369 print 'Debye diffuse scattering coefficients' 1369 1370 ptfmt = "%12.5f" 1370 names = 'names :' 1371 ptstr = 'values:' 1372 sigstr = 'esds :' 1373 for item in sigDict: 1374 if 'Debye' in item: 1375 names += '%12s'%(item) 1376 sigstr += ptfmt%(sigDict[item]) 1377 parm,id = item.split(':') 1378 ip = parms.index(parm) 1379 ptstr += ptfmt%(Background[1]['debyeTerms'][int(id)][2*ip]) 1380 print names 1381 print ptstr 1382 print sigstr 1371 print ' term DebyeA esd DebyeR esd DebyeU esd' 1372 for term in range(Background[1]['nDebye']): 1373 line = ' term %d'%(term) 1374 for ip,name in enumerate(parms): 1375 line += ptfmt%(Background[1]['debyeTerms'][term][2*ip]) 1376 if name+str(term) in sigDict: 1377 line += ptfmt%(sigDict[name+str(term)]) 1378 print line 1383 1379 if Background[1]['nPeaks']: 1384 1380 parms = ['BkPkpos','BkPkint','BkPksig','BkPkgam'] … … 1530 1526 ptstr += ptfmt[name] % (parmDict[parName]) 1531 1527 if parName in varyList: 1532 # ptstr += G2IO.ValEsd(parmDict[parName],sigDict[parName])1533 1528 ptstr += ptfmt[name] % (sigDict[parName]) 1534 1529 else: 1535 # ptstr += G2IO.ValEsd(parmDict[parName],0.0) 1536 ptstr += 10*' ' 1530 if name in ['alp','bet']: 1531 ptstr += 8*' ' 1532 else: 1533 ptstr += 10*' ' 1537 1534 print '%s'%(('Peak'+str(i+1)).center(8)),ptstr 1538 1535 -
trunk/GSASIIpwdGUI.py
r1841 r1878 854 854 bakSizer = wx.FlexGridSizer(0,5,5,5) 855 855 for i,value in enumerate(data[0][3:]): 856 bakVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,'%10.4 f'%(value),style=wx.TE_PROCESS_ENTER)856 bakVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,'%10.4g'%(value),style=wx.TE_PROCESS_ENTER) 857 857 bakSizer.Add(bakVal,0,WACV) 858 858 ValObj[bakVal.GetId()] = [i+3] … … 4188 4188 global inst 4189 4189 tth2q = lambda t,w:4.0*math.pi*sind(t/2.0)/w 4190 tof2q = lambda t,C:2.0*math.pi*C/t 4190 4191 dataFile = G2frame.PatternTree.GetItemText(G2frame.PatternId) 4191 4192 powName = 'PWDR'+dataFile[4:] … … 4193 4194 fullLimits,limits = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId, 'Limits'))[:2] 4194 4195 inst = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId, 'Instrument Parameters'))[0] 4195 if 'Lam' in inst: 4196 keV = 12.397639/inst['Lam'][1] 4197 else: 4198 keV = 12.397639/inst['Lam1'][0] 4199 wave = 12.397639/keV 4200 qLimits = [tth2q(fullLimits[0],wave),tth2q(fullLimits[1],wave)] 4196 if 'C' in inst['Type'][0]: 4197 if 'Lam' in inst: 4198 keV = 12.397639/inst['Lam'][1] 4199 else: 4200 keV = 12.397639/inst['Lam1'][0] 4201 wave = 12.397639/keV 4202 qLimits = [tth2q(fullLimits[0],wave),tth2q(fullLimits[1],wave)] 4203 polariz = inst['Polariz.'][1] 4204 else: #'T'of 4205 qLimits = [tof2q(fullLimits[1],inst['difC'][1]),tof2q(fullLimits[0],inst['difC'][1])] 4206 polariz = 1.0 4201 4207 data['QScaleLim'][1] = min(qLimits[1],data['QScaleLim'][1]) 4202 4208 if data['QScaleLim'][0]: … … 4204 4210 else: #initial setting at 90% of max Q 4205 4211 data['QScaleLim'][0] = 0.90*data['QScaleLim'][1] 4206 polariz = inst['Polariz.'][1]4207 4212 azimuth = inst['Azimuth'][1] 4208 4213 itemDict = {} … … 4493 4498 El = PE.Elem 4494 4499 if El not in ElList and El != 'None': 4495 ElemSym = El.strip().capitalize() 4496 FpMu = G2elem.FPcalc(G2elem.GetXsectionCoeff(ElemSym), keV) 4497 ElData = G2elem.GetFormFactorCoeff(ElemSym)[0] 4498 ElData['FormulaNo'] = 0.0 4499 ElData.update(G2elem.GetAtomInfo(ElemSym)) 4500 ElData.update(dict(zip(['fp','fpp','mu'],FpMu))) 4501 ElData.update(G2elem.GetFFC5(El)) 4500 ElemSym = El.strip().capitalize() 4501 if 'X' in inst['Type'][0]: 4502 FpMu = G2elem.FPcalc(G2elem.GetXsectionCoeff(ElemSym), keV) 4503 ElData = G2elem.GetFormFactorCoeff(ElemSym)[0] 4504 ElData['FormulaNo'] = 0.0 4505 ElData.update(G2elem.GetAtomInfo(ElemSym)) 4506 ElData.update(dict(zip(['fp','fpp','mu'],FpMu))) 4507 ElData.update(G2elem.GetFFC5(El)) 4508 else: #'N'eutron 4509 ElData = {} 4510 ElData.update(G2elem.GetAtomInfo(ElemSym)) 4511 ElData['FormulaNo'] = 0.0 4512 ElData.update({'mu':0.0,'fp':0.0,'fpp':0.0}) 4502 4513 data['ElList'][El] = ElData 4503 4514 data['Form Vol'] = max(10.0,SumElementVolumes()) … … 4578 4589 mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' PDF data files: '),0,WACV) 4579 4590 mainSizer.Add((5,5),0) 4580 str = ' Sample file: PWDR %s Wavelength, A: %.5f Energy, keV: %.3f Polariz.: %.2f '%(dataFile[3:],wave,keV,polariz) 4581 mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=str),0,WACV) 4591 if 'C' in inst['Type'][0]: 4592 str = ' Sample file: PWDR %s Wavelength, A: %.5f Energy, keV: %.3f Polariz.: %.2f '%(dataFile[3:],wave,keV,polariz) 4593 mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=str),0,WACV) 4582 4594 # dataSizer = wx.BoxSizer(wx.HORIZONTAL) 4583 4595 # dataSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label='Azimuth'),0,WACV) -
trunk/GSASIIstrMath.py
r1877 r1878 816 816 FFtables = calcControls['FFtables'] 817 817 BLtables = calcControls['BLtables'] 818 Flack = 1.0 819 if not SGData['SGInv'] and 'S' in calcControls[hfx+'histType']: 820 Flack = 1.-2.*parmDict[phfx+'Flack'] 818 821 Tdata,Mdata,Fdata,Xdata,dXdata,IAdata,Uisodata,Uijdata = GetAtomFXU(pfx,calcControls,parmDict) 819 822 FF = np.zeros(len(Tdata)) … … 856 859 FPP = np.repeat(FPP.T,len(SGT),axis=0) 857 860 Bab = np.repeat(parmDict[phfx+'BabA']*np.exp(-parmDict[phfx+'BabU']*SQfactor),len(SGT)) 858 Flack = 1.0859 # Flack = 1.-2.*parmDict[phfx+'Flack']860 861 Tindx = np.array([refDict['FF']['El'].index(El) for El in Tdata]) 861 862 FF = np.repeat(refDict['FF']['FF'][iBeg:iFin].T[Tindx].T,len(SGT),axis=0) … … 912 913 dFdua = np.zeros((nRef,mSize,6)) 913 914 dFdbab = np.zeros((nRef,2)) 915 dFdfl = np.zeros(nRef) 916 Flack = 1.0 917 if not SGData['SGInv'] and 'S' in calcControls[hfx+'histType']: 918 Flack = 1.-2.*parmDict[phfx+'Flack'] 914 919 for iref,refl in enumerate(refDict['RefList']): 915 920 if 'T' in calcControls[hfx+'histType']: … … 935 940 Tuij = np.where(HbH<1.,np.exp(HbH),1.0) 936 941 Tcorr = Tiso*Tuij 937 Flack = 1.0938 # Flack = (1.-2.*parmDict[phfx+'Flack'])939 942 fot = (FF+FP-Bab)*occ*Tcorr 940 fotp = F lack*FPP*occ*Tcorr941 fa = np.array([fot[:,np.newaxis]*cosp, fotp[:,np.newaxis]*cosp]) #non positions942 fb = np.array([fot[:,np.newaxis]*sinp, -fotp[:,np.newaxis]*sinp])943 fotp = FPP*occ*Tcorr 944 fa = np.array([fot[:,np.newaxis]*cosp,-Flack*fotp[:,np.newaxis]*sinp]) #non positions 945 fb = np.array([fot[:,np.newaxis]*sinp,Flack*fotp[:,np.newaxis]*cosp]) 943 946 944 947 fas = np.sum(np.sum(fa,axis=1),axis=1) #real sum over atoms & unique hkl 945 948 fbs = np.sum(np.sum(fb,axis=1),axis=1) #imag sum over atoms & uniq hkl 946 fax = np.array([-fot[:,np.newaxis]*sinp,-fotp[:,np.newaxis]* sinp]) #positions947 fbx = np.array([fot[:,np.newaxis]*cosp,-fot [:,np.newaxis]*cosp])949 fax = np.array([-fot[:,np.newaxis]*sinp,-fotp[:,np.newaxis]*cosp]) #positions 950 fbx = np.array([fot[:,np.newaxis]*cosp,-fotp[:,np.newaxis]*sinp]) 948 951 #sum below is over Uniq 949 952 dfadfr = np.sum(fa/occ[:,np.newaxis],axis=2) #Fdata != 0 ever avoids /0. problem … … 958 961 dfbdua = np.sum(-Hij*fb[:,:,:,np.newaxis],axis=2) 959 962 dfbdba = np.sum(-sinp*(occ*Tcorr)[:,np.newaxis],axis=1) 963 dfadfl = np.sum(fotp[:,np.newaxis]*cosp) 964 dfbdfl = np.sum(-fotp[:,np.newaxis]*sinp) 960 965 else: 961 966 dfbdfr = np.zeros_like(dfadfr) … … 964 969 dfbdua = np.zeros_like(dfadua) 965 970 dfbdba = np.zeros_like(dfadba) 971 dfadfl = 0.0 972 dfbdfl = 0.0 966 973 #NB: the above have been checked against PA(1:10,1:2) in strfctr.for for Al2O3! 967 974 if 'P' in calcControls[hfx+'histType']: #checked perfect for centro & noncentro … … 982 989 dFdui[iref] = 2.*SA*(dfadui[0]+dfbdui[1])+2.*SB*(dfbdui[0]+dfadui[1]) 983 990 dFdua[iref] = 2.*SA*(dfadua[0]+dfbdua[1])+2.*SB*(dfbdua[0]+dfadua[1]) 991 dFdfl[iref] = -4.*SA*(dfadfl+dfbdfl)-4.*SB*(dfbdfl+dfadfl) 984 992 dFdbab[iref] = 2.*fas[0]*np.array([np.sum(dfadba*dBabdA),np.sum(-dfadba*parmDict[phfx+'BabA']*SQfactor*dBabdA)]).T+ \ 985 993 2.*fbs[0]*np.array([np.sum(dfbdba*dBabdA),np.sum(-dfbdba*parmDict[phfx+'BabA']*SQfactor*dBabdA)]).T 994 986 995 #loop over atoms - each dict entry is list of derivatives for all the reflections 987 996 for i in range(len(Mdata)): … … 997 1006 dFdvDict[pfx+'AU13:'+str(i)] = 0.5*dFdua.T[4][i] 998 1007 dFdvDict[pfx+'AU23:'+str(i)] = 0.5*dFdua.T[5][i] 999 dFdvDict[pfx+'BabA'] = dFdbab.T[0] 1000 dFdvDict[pfx+'BabU'] = dFdbab.T[1] 1008 dFdvDict[phfx+'BabA'] = dFdbab.T[0] 1009 dFdvDict[phfx+'BabU'] = dFdbab.T[1] 1010 dFdvDict[phfx+'Flack'] = dFdfl.T 1001 1011 return dFdvDict 1002 1012 … … 1112 1122 dFdvDict[pfx+'AU23:'+str(i)] = .5*dFdua.T[5][i] 1113 1123 #need dFdvDict[pfx+'Xsin:'+str[i]:str(m)], etc for modulations... 1114 dFdvDict[p fx+'BabA'] = dFdbab.T[0]1115 dFdvDict[p fx+'BabU'] = dFdbab.T[1]1124 dFdvDict[phfx+'BabA'] = dFdbab.T[0] 1125 dFdvDict[phfx+'BabU'] = dFdbab.T[1] 1116 1126 return dFdvDict 1117 1127 -
trunk/imports/G2pwd_fxye.py
r1834 r1878 433 433 else: 434 434 return 0 435
Note: See TracChangeset
for help on using the changeset viewer.