Changeset 353 for trunk/GSASIIgrid.py
- Timestamp:
- Aug 24, 2011 4:07:29 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIgrid.py
r346 r353 492 492 493 493 def UpdateControls(self,data): 494 #patch 495 if 'deriv type' not in data: 496 data['deriv type'] = 'analytical' 497 data['min dM/M'] = 0.0001 498 #end patch 494 499 ''' 495 500 #Fourier controls … … 501 506 502 507 def SetStatusLine(text): 503 Status.SetStatusText(text) 504 505 def OnNumCycles(event): 506 try: 507 value = max(0,min(200,int(Ncyc.GetValue()))) 508 except ValueError: 509 value = 3 510 data['Ncycles'] = value 511 Ncyc.SetValue('%d'%(value)) 508 Status.SetStatusText(text) 512 509 513 510 def OnConvergence(event): 514 511 try: 515 value = max( 0.01,min(100.,float(Cnvrg.GetValue())))512 value = max(1.e-9,min(1.0,float(Cnvrg.GetValue()))) 516 513 except ValueError: 517 value = 0.01 518 data['minSumShftESD'] = value 519 Cnvrg.SetValue('%.2f'%(value)) 520 521 def OnAtomShift(event): 522 try: 523 value = max(0.1,min(5.,float(AtShft.GetValue()))) 524 except ValueError: 525 value = 2.0 526 data['maxShift'] = value 527 AtShft.SetValue('%.1f'%(value)) 528 529 def OnMarquardt(event): 530 try: 531 value = max(1.0,min(10.0,float(Marq.GetValue()))) 532 except ValueError: 533 value = 1.0 534 data['Marquardt'] = value 535 Marq.SetValue('%.2f'%(value)) 536 537 def OnBandWidth(event): 538 try: 539 value = max(0,min(200,int(Band.GetValue()))) 540 except ValueError: 541 value = 0 542 data['bandWidth'] = value 543 Band.SetValue('%d'%(value)) 544 545 def OnRestraint(event): 546 data['restraintWeight'] = Restraint.GetValue() 547 514 value = 0.0001 515 data['min dM/M'] = value 516 Cnvrg.SetValue('%.2g'%(value)) 517 518 def OnDerivType(event): 519 data['deriv type'] = derivSel.GetValue() 520 derivSel.SetValue(data['deriv type']) 521 548 522 if self.dataDisplay: 549 523 self.dataDisplay.Destroy() … … 558 532 mainSizer.Add(wx.StaticText(self.dataDisplay,label=' Refinement Controls:'),0,wx.ALIGN_CENTER_VERTICAL) 559 533 LSSizer = wx.FlexGridSizer(cols=4,vgap=5,hgap=5) 560 LSSizer.Add(wx.StaticText(self.dataDisplay,label=' Max cycles: '),0,wx.ALIGN_CENTER_VERTICAL) 561 Ncyc = wx.TextCtrl(self.dataDisplay,-1,value='%d'%(data['Ncycles']),style=wx.TE_PROCESS_ENTER) 562 Ncyc.Bind(wx.EVT_TEXT_ENTER,OnNumCycles) 563 Ncyc.Bind(wx.EVT_KILL_FOCUS,OnNumCycles) 564 LSSizer.Add(Ncyc,0,wx.ALIGN_CENTER_VERTICAL) 565 LSSizer.Add(wx.StaticText(self.dataDisplay,label=' Min sum(shift/esd)^2: '),0,wx.ALIGN_CENTER_VERTICAL) 566 Cnvrg = wx.TextCtrl(self.dataDisplay,-1,value='%.2f'%(data['minSumShftESD']),style=wx.TE_PROCESS_ENTER) 534 LSSizer.Add(wx.StaticText(self.dataDisplay,label='Refinement derivatives: '),0,wx.ALIGN_CENTER_VERTICAL) 535 Choice=['analytic','numeric'] 536 derivSel = wx.ComboBox(parent=self.dataDisplay,value=data['deriv type'],choices=Choice, 537 style=wx.CB_READONLY|wx.CB_DROPDOWN) 538 derivSel.SetValue(data['deriv type']) 539 derivSel.Bind(wx.EVT_COMBOBOX, OnDerivType) 540 LSSizer.Add(derivSel,0,wx.ALIGN_CENTER_VERTICAL) 541 LSSizer.Add(wx.StaticText(self.dataDisplay,label=' Min delta-M/M: '),0,wx.ALIGN_CENTER_VERTICAL) 542 Cnvrg = wx.TextCtrl(self.dataDisplay,-1,value='%.2g'%(data['min dM/M']),style=wx.TE_PROCESS_ENTER) 567 543 Cnvrg.Bind(wx.EVT_TEXT_ENTER,OnConvergence) 568 544 Cnvrg.Bind(wx.EVT_KILL_FOCUS,OnConvergence) 569 545 LSSizer.Add(Cnvrg,0,wx.ALIGN_CENTER_VERTICAL) 570 LSSizer.Add(wx.StaticText(self.dataDisplay,label=' Max atom shift: '),0,wx.ALIGN_CENTER_VERTICAL)571 AtShft = wx.TextCtrl(self.dataDisplay,-1,value='%.1f'%(data['maxShift']),style=wx.TE_PROCESS_ENTER)572 AtShft.Bind(wx.EVT_TEXT_ENTER,OnAtomShift)573 AtShft.Bind(wx.EVT_KILL_FOCUS,OnAtomShift)574 LSSizer.Add(AtShft,0,wx.ALIGN_CENTER_VERTICAL)575 LSSizer.Add(wx.StaticText(self.dataDisplay,label=' Marquardt factor: '),0,wx.ALIGN_CENTER_VERTICAL)576 Marq = wx.TextCtrl(self.dataDisplay,-1,value='%.2f'%(data['Marquardt']),style=wx.TE_PROCESS_ENTER)577 Marq.Bind(wx.EVT_TEXT_ENTER,OnMarquardt)578 Marq.Bind(wx.EVT_KILL_FOCUS,OnMarquardt)579 LSSizer.Add(Marq,0,wx.ALIGN_CENTER_VERTICAL)580 LSSizer.Add(wx.StaticText(self.dataDisplay,label=' Matrix band width: '),0,wx.ALIGN_CENTER_VERTICAL)581 Band = wx.TextCtrl(self.dataDisplay,-1,value='%d'%(data['bandWidth']),style=wx.TE_PROCESS_ENTER)582 Band.Bind(wx.EVT_TEXT_ENTER,OnBandWidth)583 Band.Bind(wx.EVT_KILL_FOCUS,OnBandWidth)584 LSSizer.Add(Band,0,wx.ALIGN_CENTER_VERTICAL)585 Restraint = wx.CheckBox(self.dataDisplay,-1,label='Modify restraint weights?')586 Restraint.Bind(wx.EVT_CHECKBOX, OnRestraint)587 Restraint.SetValue(data['restraintWeight'])588 LSSizer.Add(Restraint,0,wx.ALIGN_CENTER_VERTICAL)589 546 590 547 … … 753 710 data = { 754 711 #least squares controls 755 'Ncycles':3,'maxShift':2.0,'bandWidth':0,'Marquardt':1.0,'restraintWeight':False, 756 'minSumShftESD':0.01, 712 'deriv type':'analytic','min dM/M':0.0001, 757 713 #Fourier controls 758 714 'mapType':'Fobs','d-max':100.,'d-min':0.2,'histograms':[],
Note: See TracChangeset
for help on using the changeset viewer.