Changeset 1011 for trunk/GSASIIphsGUI.py


Ignore:
Timestamp:
Jul 25, 2013 6:04:52 PM (10 years ago)
Author:
vondreele
Message:

fix updates of atom parms when RB parms are modified.
Edit Pawley tutorials

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIphsGUI.py

    r1007 r1011  
    31473147            RBObj = Indx[Obj.GetId()]
    31483148            val = Obj.GetValue()
     3149            Ttype = 'A'
    31493150            if val == 'Uiso':
     3151                Ttype = 'I'
    31503152                RBObj['ThermalMotion'][0] = 'Uiso'
    31513153            elif val == 'T':
     
    31563158                RBObj['ThermalMotion'][0] = 'TLS'
    31573159            wx.CallAfter(FillRigidBodyGrid,True)
    3158             #need to set atom I/A here & update Uiso/Uij
     3160            if val != 'None':
     3161                cia = data['General']['AtomPtrs'][3]
     3162                for i,id in enumerate(RBObj['Ids']):
     3163                    data['Atoms'][AtLookUp[id]][cia] = Ttype
    31593164            G2plt.PlotStructure(G2frame,data)
    31603165           
    3161         def ThermDataSizer(RBObj):
     3166        def ThermDataSizer(RBObj,rbType):
    31623167           
    31633168            def OnThermval(event):
     
    31703175                    pass
    31713176                Obj.SetValue('%8.4f'%(RBObj['ThermalMotion'][1][item]))
    3172                 #need to update atom Uiso/Uij here!
     3177                Cart = G2mth.UpdateRBXYZ(Bmat,RBObj,RBData,rbType)[1]
     3178                Uout = G2mth.UpdateRBUIJ(Bmat,Cart,RBObj)
     3179                cia = data['General']['AtomPtrs'][3]
     3180                for i,id in enumerate(RBObj['Ids']):
     3181                    if Uout[i][0] == 'I':
     3182                        data['Atoms'][AtLookUp[id]][cia+1] = Uout[i][1]
     3183                    else:
     3184                        data['Atoms'][AtLookUp[id]][cia+2:cia+8] = Uout[i][2:8]
    31733185                G2plt.PlotStructure(G2frame,data)
    31743186               
     
    33583370            resrbSizer.Add(thermSizer)
    33593371            if RBObj['ThermalMotion'][0] != 'None':
    3360                 resrbSizer.Add(ThermDataSizer(RBObj))
     3372                resrbSizer.Add(ThermDataSizer(RBObj,'Residue'))
    33613373            return resrbSizer
    33623374           
     
    33983410            vecrbSizer.Add(thermSizer)
    33993411            if RBObj['ThermalMotion'][0] != 'None':
    3400                 vecrbSizer.Add(ThermDataSizer(RBObj))
     3412                vecrbSizer.Add(ThermDataSizer(RBObj,'Vector'))
    34013413            return vecrbSizer               
    34023414       
     
    38613873       
    38623874    def OnGlobalResRBTherm(event):
     3875        AtLookUp = G2mth.FillAtomLookUp(data['Atoms'])
    38633876        RBObjs = data['RBModels']['Residue']
    38643877        names = ['None','Uiso','T','TL','TLS']
     3878        cia = data['General']['AtomPtrs'][3]
    38653879        dlg = wx.SingleChoiceDialog(G2frame,'Select','Residue thermal motion model',names)
    38663880        if dlg.ShowModal() == wx.ID_OK:
    38673881            sel = dlg.GetSelection()
    38683882            parm = names[sel]
    3869         for rbObj in RBObjs:
    3870             rbObj['ThermalMotion'][0] = parm
     3883            Ttype = 'A'
     3884            if parm == 'Uiso':
     3885                Ttype = 'I'       
     3886            for rbObj in RBObjs:
     3887                rbObj['ThermalMotion'][0] = parm
     3888                if parm != 'None':
     3889                    for i,id in enumerate(rbObj['Ids']):
     3890                        data['Atoms'][AtLookUp[id]][cia] = Ttype
    38713891        dlg.Destroy()
    3872         FillRigidBodyGrid(True)
     3892        wx.CallAfter(FillRigidBodyGrid,True)
    38733893
    38743894    def OnGlobalResRBRef(event):
     
    49514971    def ChangePage(page):
    49524972        text = G2frame.dataDisplay.GetPageText(page)
    4953         print 'Select',page,text
     4973#        print 'Select',page,text
    49544974        if text == 'General':
    49554975            G2gd.SetDataMenuBar(G2frame,G2frame.dataFrame.DataGeneral)
Note: See TracChangeset for help on using the changeset viewer.