Changeset 1692


Ignore:
Timestamp:
Mar 7, 2015 4:33:51 PM (7 years ago)
Author:
vondreele
Message:

further work on SS special position parameter restrictions - orthorhombic now OK (I think). Test cases match J2K.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIctrls.py

    r1688 r1692  
    21422142            return True
    21432143        raise Exception("Problem transferring Tutorial from web")
     2144       
    21442145    def LoadExercise(self,tutorialname,fullpath=tutorialPath,baseURL=G2BaseURL):
    21452146        'Load Exercise file(s) for a Tutorial to the selected location'
     
    21472148            return True
    21482149        raise Exception("Problem transferring Exercise from web")
     2150       
    21492151    def SelectDownloadLoc(self,event):
    21502152        '''Select a download location,
  • trunk/GSASIIspc.py

    r1658 r1692  
    15021502            epsinv = ssopinv[3][3]
    15031503            Sdtau.append(np.sum(mst*(XYZ-SGOps[iop][1])-epsinv*SSGOps[iop][1][3]))
    1504     Sdtau = np.array(Sdtau)
    1505     SdIndx = np.argsort(Sdtau)
    1506     print SdIndx,[Sdtau[i] for i in SdIndx]
     1504    SdIndx = np.argsort(np.array(Sdtau))     # just to do in sensible order
    15071505    OpText =  [MT2text(s).replace(' ','') for s in Sop]         #debug?
    15081506    SSOpText = [SSMT2text(ss).replace(' ','') for ss in SSop]   #debug?
     
    15551553        dT = 1.0
    15561554        if np.any(dtau%.5):
    1557             dT = np.tan(np.pi*np.sum(dtau))
     1555            dT = np.tan(np.pi*np.sum(dtau%.5))
    15581556        tauT = np.inner(mst,XYZ-sop[1])+epsinv*(tau-ssop[1][3])
    15591557        if waveType == 'Fourier':
     
    15671565        dXT[:,:3,:] *= ssdet
    15681566        dXTP.append(dXT)
     1567        print 'dtau,dT',dtau,dT
    15691568        if waveType == 'Fourier':
    15701569            if np.any(dtau%.5) and ('1/2' in SSGData['modSymb'] or '1' in SSGData['modSymb']):
    1571                 dt = dT**(sdet*epsinv)
    15721570                CSI['Spos'] = [[[1,0,0],[2,0,0],[3,0,0], [1,0,0],[2,0,0],[3,0,0]],
    1573                     [[1.,0.,0.],[1.,0.,0.],[1.,0.,0.], [1.,0.,0.],[1.,0.,0.],[1.,0.,0.]]]
     1571                    [[1.,0.,0.],[1.,0.,0.],[1.,0.,0.], [1.,0.,0.],[1.,0.,0.],[1.,0.,0.]]]                   
    15741572                if '(x)' in siteSym:
    1575                     CSI['Spos'][1][3:] = [1./dt,0.,0.],[-dt,0.,0.],[-dt,0.,0.]
     1573                    CSI['Spos'][1][3:] = [1./dT,0.,0.],[-dT,0.,0.],[-dT,0.,0.]
     1574                    if 'm' in siteSym and len(SdIndx) == 1:
     1575                        CSI['Spos'][1][3:] = [-dT,0.,0.],[1./dT,0.,0.],[1./dT,0.,0.]
    15761576                elif '(y)' in siteSym:
    1577                     CSI['Spos'][1][3:] = [-dt,0.,0.],[1./dt,0.,0.],[-dt,0.,0.]
     1577                    CSI['Spos'][1][3:] = [-dT,0.,0.],[1./dT,0.,0.],[-dT,0.,0.]
     1578                    if 'm' in siteSym and len(SdIndx) == 1:
     1579                        CSI['Spos'][1][3:] = [1./dT,0.,0.],[-dT,0.,0.],[1./dT,0.,0.]
    15781580                elif '(z)' in siteSym:
    1579                     CSI['Spos'][1][3:] = [-dt,0.,0.],[-dt,0.,0.],[1./dt,0.,0.]
     1581                    CSI['Spos'][1][3:] = [-dT,0.,0.],[-dT,0.,0.],[1./dT,0.,0.]
     1582                    if 'm' in siteSym and len(SdIndx) == 1:
     1583                        CSI['Spos'][1][3:] = [1./dT,0.,0.],[1./dT,0.,0.],[-dT,0.,0.]
    15801584                for i in range(3):
    15811585                    if not XSC[i]:
     
    16091613       
    16101614            if np.any(dtau%.5) and ('1/2' in SSGData['modSymb'] or '1' in SSGData['modSymb']):
    1611                 dt = dT     #**epsinv
    16121615                fsc = [1,1]
    1613                 CSI['Sfrac'] = [[[1,0],[1,0]],[[1.,0.],[1/dt,0.]]]
     1616                CSI['Sfrac'] = [[[1,0],[1,0]],[[1.,0.],[1/dT,0.]]]
    16141617                for i in range(2):
    16151618                    if not FSC[i]:
     
    16311634        dUT = np.array(U2Uij(dUijT))
    16321635        dUT = dUT[:,:,np.argsort(tauT)]
    1633         dUT[:,:6,:] *= ssdet*sdet
     1636        dUT[:,:6,:] *= ssdet*sdet*epsinv
    16341637        dUTP.append(dUT)
    16351638        if np.any(dtau%.5) and ('1/2' in SSGData['modSymb'] or '1' in SSGData['modSymb']):
    1636             dt = dT**(sdet*epsinv)
    1637             print epsinv,sdet,ssdet,dT,dt
    16381639            CSI['Sadp'] = [[[1,0,0],[2,0,0],[3,0,0],[4,0,0],[5,0,0],[6,0,0],
    16391640            [1,0,0],[2,0,0],[3,0,0],[4,0,0],[5,0,0],[6,0,0]],
    16401641            [[1.,0.,0.],[1.,0.,0.],[1.,0.,0.], [1.,0.,0.],[1.,0.,0.],[1.,0.,0.],
    1641             [1./dt,0.,0.],[1./dt,0.,0.],[1./dt,0.,0.], [1.,0.,0.],[1.,0.,0.],[1.,0.,0.]]]
     1642            [1./dT,0.,0.],[1./dT,0.,0.],[1./dT,0.,0.], [1.,0.,0.],[1.,0.,0.],[1.,0.,0.]]]
    16421643            if '(x)' in siteSym:
    1643                 CSI['Sadp'][1][9:] = [-dt,0.,0.],[-dt,0.,0.],[1./dt,0.,0.]
     1644                CSI['Sadp'][1][9:] = [-dT,0.,0.],[-dT,0.,0.],[1./dT,0.,0.]
    16441645            elif '(y)' in siteSym:
    1645                 CSI['Sadp'][1][9:] = [-dt,0.,0.],[1./dt,0.,0.],[-dt,0.,0.]
     1646                CSI['Sadp'][1][9:] = [-dT,0.,0.],[1./dT,0.,0.],[-dT,0.,0.]
    16461647            elif '(z)' in siteSym:
    1647                 CSI['Sadp'][1][9:] = [1./dt,0.,0.],[-dt,0.,0.],[-dt,0.,0.]
     1648                CSI['Sadp'][1][9:] = [1./dT,0.,0.],[-dT,0.,0.],[-dT,0.,0.]
    16481649            for i in range(6):
    16491650                if not USC[i]:
Note: See TracChangeset for help on using the changeset viewer.