Changeset 313


Ignore:
Timestamp:
Jun 27, 2011 4:04:41 PM (10 years ago)
Author:
vondreele
Message:

work on texture display & computation

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIlattice.py

    r312 r313  
    796796             for j in range(0,l+1,4):
    797797                 im = j/4+1
    798                  pcrs = ptx.pyplmpsi(l,j,phi)
     798                 pcrs = ptx.pyplmpsi(l,j,1,phi)
    799799                 Kcl += BOH['L='+str(l)][n-1][im-1]*pcrs*cosd(j*beta)       
    800800         else:                #all but cubic
    801              pcrs = ptx.pyplmpsi(l,n,phi)*RSQPI
     801             pcrs = ptx.pyplmpsi(l,n,1,phi)*RSQPI
    802802             if n == 0:
    803803                 pcrs /= SQ2
     
    831831        if abs(ODFln[term][1]) > 1.e-3:
    832832            l,m,n = eval(term.strip('C'))
    833             psrs = ptx.pyplmpsi(l,m,psi)
     833            psrs = ptx.pyplmpsi(l,m,len(psi),psi)
    834834            if SamSym in ['-1','2/m']:
    835835                if m != 0:
  • trunk/GSASIIphsGUI.py

    r311 r313  
    209209                        self.dataDisplay.DeletePage(self.dataDisplay.FindPage('Draw Atoms'))
    210210                        self.dataDisplay.AdvanceSelection()
    211                     if not self.dataDisplay.FindPage('Pawley reflections'):     
    212                         self.dataDisplay.AddPage(G2gd.GSGrid(self.dataDisplay),'Pawley reflections')
     211                    if not self.dataDisplay.FindPage('Pawley/Lebail reflections'):     
     212                        self.dataDisplay.AddPage(G2gd.GSGrid(self.dataDisplay),'Pawley/LeBail reflections')
    213213            else:
    214214                TypeTxt.SetValue(generalData['Type'])
     
    18881888            textureData['SH Coeff'][1] = SetSHCoef()
    18891889            UpdateDData()
    1890             G2plt.PlotTexture(self,data)
     1890            G2plt.PlotTexture(self,data,newPlot=False)
    18911891                       
    18921892        def OnShModel(event):
     
    18941894            textureData['SH Coeff'][1] = SetSHCoef()
    18951895            UpdateDData()
    1896             G2plt.PlotTexture(self,data)
     1896            G2plt.PlotTexture(self,data,newPlot=False)
    18971897           
    18981898        def OnSHRefine(event):
     
    19151915            Obj.SetValue('%8.2f'%(value))
    19161916            textureData[valIndx[Obj.GetId()]][1] = value
    1917             G2plt.PlotTexture(self,data)
     1917            G2plt.PlotTexture(self,data,newPlot=False)
    19181918           
    19191919        def OnODFValue(event):
     
    19251925            Obj.SetValue('%8.3f'%(value))
    19261926            textureData['SH Coeff'][1][ODFIndx[Obj.GetId()]] = value
    1927             G2plt.PlotTexture(self,data)
     1927            G2plt.PlotTexture(self,data,newPlot=False)
    19281928           
    19291929        def OnPfType(event):
    19301930            textureData['PlotType'] = pfType.GetValue()
    19311931            UpdateDData()
    1932             G2plt.PlotTexture(self,data)
     1932            G2plt.PlotTexture(self,data,newPlot=False)
    19331933           
    19341934        def OnPFValue(event):
     
    19361936            if textureData['PlotType'] in ['Pole figure','Pole distribution','Axial pole distribution']:
    19371937                try:
    1938 #                    value =  int(Obj.GetValue())
    19391938                    value = '['+Obj.GetValue()+']'
    19401939                    hkl = eval(value)
     
    19421941                    value = str(textureData['PFhkl'])
    19431942                    hkl = eval(value)
    1944 #                    value = textureData['PFhkl'][pfIndx[Obj.GetId()]]
    19451943                Obj.SetValue('%d,%d,%d'%(hkl[0],hkl[1],hkl[2]))
    1946 #                Obj.SetValue('%3d'%(value))
    1947 #                textureData['PFhkl'][pfIndx[Obj.GetId()]] = value
    19481944                textureData['PFhkl'] = hkl
    19491945            else:
     
    19541950                Obj.SetValue('%3.1f'%(value))
    19551951                textureData['PFxyz'][pfIndx[Obj.GetId()]] = value
    1956             G2plt.PlotTexture(self,data)
     1952            G2plt.PlotTexture(self,data,newPlot=True)
    19571953       
    19581954        def OnScaleRef(event):
     
    26152611            self.dataFrame.Bind(wx.EVT_MENU, OnHklfAdd, id=G2gd.wxID_HKLFADD)
    26162612            self.dataFrame.Bind(wx.EVT_MENU, OnDataDelete, id=G2gd.wxID_DATADELETE)
    2617             UpdateDData()           
     2613            UpdateDData()
    26182614            G2plt.PlotStrain(self,data)
    2619             G2plt.PlotTexture(self,data)
     2615            G2plt.PlotTexture(self,data,newPlot=True)
    26202616        elif text == 'Draw Options':
    26212617            self.dataFrame.SetMenuBar(self.dataFrame.BlankMenu)
     
    26362632            UpdateDrawAtoms()
    26372633            G2plt.PlotStructure(self,data)
    2638         elif text == 'Pawley reflections':
     2634        elif text == 'Pawley/LeBail reflections':
    26392635            self.dataFrame.SetMenuBar(self.dataFrame.PawleyMenu)
    26402636            self.dataFrame.Bind(wx.EVT_MENU, OnPawleyLoad, id=G2gd.wxID_PAWLEYLOAD)
     
    26552651        self.dataDisplay.AddPage(DData,'Data')
    26562652        PawleyRefl = G2gd.GSGrid(self.dataDisplay)
    2657         self.dataDisplay.AddPage(PawleyRefl,'Pawley reflections')
     2653        self.dataDisplay.AddPage(PawleyRefl,'Pawley/LeBail reflections')
    26582654    else:
    26592655        DData = wx.ScrolledWindow(self.dataDisplay)
  • trunk/GSASIIplot.py

    r311 r313  
    11831183    Page.canvas.draw()
    11841184   
    1185 def PlotTexture(self,data):
     1185def PlotTexture(self,data,newPlot=False):
    11861186    '''Pole figure, inverse pole figure(?), 3D pole distribution and 3D inverse pole distribution(?)
    11871187    plotting; Need way to select 
     
    11991199    cell = generalData['Cell'][1:7]
    12001200    Start = True
    1201        
    1202        
     1201               
    12031202    try:
    12041203        plotNum = self.G2plotNB.plotList.index('Texture')
     
    12061205        Page.figure.clf()
    12071206        Plot = Page.figure.gca()
     1207        if not Page.IsShown():
     1208            Page.Show()
    12081209    except ValueError:
    12091210        Plot = self.G2plotNB.addMpl('Texture').gca()
    12101211        plotNum = self.G2plotNB.plotList.index('Texture')
    12111212        Page = self.G2plotNB.nb.GetPage(plotNum)
    1212     Page.SetFocus()
     1213        Page.SetFocus()
    12131214   
    12141215    if 'Axial' in SHData['PlotType']:
     
    12281229       
    12291230    else:       
    1230         self.G2plotNB.status.SetStatusText('Adjust frame size to get desired aspect ratio',1)
     1231#        self.G2plotNB.status.SetStatusText('Adjust frame size to get desired aspect ratio',1)
    12311232        if 'inverse' in SHData['PlotType']:
    12321233            PX = np.array(SHData['PFxyz'])
     
    12351236            PH = np.array(SHData['PFhkl'])
    12361237            phi,beta = G2lat.CrsAng(PH,cell,SGData)
     1238            npts = 201
    12371239            ODFln = G2lat.Flnh(Start,SHCoef,phi,beta,SGData)
    1238             X,Y = np.meshgrid(np.linspace(1.,-1.,51),np.linspace(-1.,1.,51))
     1240            X,Y = np.meshgrid(np.linspace(1.,-1.,npts),np.linspace(-1.,1.,npts))
    12391241            R,P = np.sqrt(X**2+Y**2).flatten(),npatan2d(X,Y).flatten()
    12401242            R = np.where(R <= 1.,2.*npasind(R*0.70710678),0.0)
    12411243            Z = np.zeros_like(R)
    1242             for i,r in enumerate(R):
    1243                 Z[i] = G2lat.polfcal(ODFln,SamSym[textureData['Model']],r,P[i])
    1244             Z = np.reshape(Z,(51,51))
    1245             Plot.imshow(Z.T,aspect='equal',cmap='binary')
    1246    
    1247                
     1244            Z = G2lat.polfcal(ODFln,SamSym[textureData['Model']],R,P)
     1245            Z = np.reshape(Z,(npts,npts))
     1246            Img = Plot.imshow(Z.T,aspect='equal',cmap='binary')
     1247            if newPlot:
     1248                Page.figure.colorbar(Img)
     1249                newPlot = False
     1250            Plot.set_title('Pole figure for HKL='+str(SHData['PFhkl']))
    12481251    Page.canvas.draw()
     1252    return
    12491253
    12501254           
  • trunk/fsource/pytexture.for

    r310 r313  
    44      END
    55
    6       SUBROUTINE PYPLMPSI(L,I,PHI,PCRS)
     6      SUBROUTINE PYPLMPSI(L,I,NPHI,PHI,PCRS)
    77Cf2py intent(in) L
    88Cf2Py intent(in) I
     9Cf2py intent(in) NPHI
    910Cf2py intent(in) PHI
    1011Cf2py intent(out) PCRS
     12Cf2py depend(NPHI) PHI,PCRS
    1113
    1214      INTEGER*4     L
    1315      INTEGER*4     I
    14       REAL*4        PHI
    15       REAL*4        PCRS
     16      REAL*4        PHI(0:NPHI-1)
     17      REAL*4        PCRS(0:NPHI-1)
    1618
    17       CALL PLMPSI(L,I,PHI,PCRS)
     19
     20      DO K = 0,NPHI-1
     21         CALL PLMPSI(L,I,PHI(K),PCRS(K))
     22      END DO
    1823      RETURN
    1924      END
  • trunk/fsource/texturesubs/qlmninit.for

    r305 r313  
    3030      DO L=2,34,2
    3131        DO M=0,L
    32           DO N=0,M,2                   
     32          DO N=0,M,2
    3333            J = J+1
    3434            LMN = L-M-N
Note: See TracChangeset for help on using the changeset viewer.