Changeset 1695


Ignore:
Timestamp:
Mar 11, 2015 3:57:09 PM (7 years ago)
Author:
vondreele
Message:

4/m ss site symmetries seem now all ok

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIspc.py

    r1692 r1695  
    15651565        dXT[:,:3,:] *= ssdet
    15661566        dXTP.append(dXT)
    1567         print 'dtau,dT',dtau,dT
    15681567        if waveType == 'Fourier':
    15691568            if np.any(dtau%.5) and ('1/2' in SSGData['modSymb'] or '1' in SSGData['modSymb']):
     
    16281627           
    16291628        usc = np.ones(12,dtype='i')
    1630         # make 12x12x4x4 with tau layers?
    1631         dUT = posFourier(tauT,nH,delt12[:6],delt12[6:])                  #Uij modulations - 6x12x12 array
    1632         dUijT = np.rollaxis(np.rollaxis(np.array(Uij2U(dUT)),3),3)    #convert dUT to 12x12x3x3
     1629        dUT = posFourier(tauT,nH,delt12[:6],delt12[6:])                  #Uij modulations - 6x12x49 array
     1630        dUijT = np.rollaxis(np.rollaxis(np.array(Uij2U(dUT)),3),3)    #convert dUT to 12x49x3x3
    16331631        dUijT = np.rollaxis(np.inner(np.inner(sop[0],dUijT),sop[0].T),3)
    16341632        dUT = np.array(U2Uij(dUijT))
    16351633        dUT = dUT[:,:,np.argsort(tauT)]
    1636         dUT[:,:6,:] *= ssdet*sdet*epsinv
    16371634        dUTP.append(dUT)
    16381635        if np.any(dtau%.5) and ('1/2' in SSGData['modSymb'] or '1' in SSGData['modSymb']):
     
    16541651                    CSI['Sadp'][1][i+6] = [0.,0.,0.]
    16551652        else:
     1653                       
    16561654            for i in range(6):
    1657                 if np.allclose(dU[i,i,:],dUT[i,i,:]):
     1655                if np.allclose(dU[i,i,:],dUT[i,i,:]*sdet):
    16581656                    usc[i] = 1
    16591657                else:
     
    16631661                else:
    16641662                    usc[i+6] = 0
     1663            if '4/m' in siteSym and np.any(dUT[0,1,:]):
     1664                CSI['Sadp'][0][6:8] = [[12,0,0],[12,0,0]]
     1665                if ssop[1][3]:
     1666                    CSI['Sadp'][1][6:8] = [[1.,0.,0.],[-1.,0.,0.]]
     1667                    usc[9] = 1
     1668                else:
     1669                    CSI['Sadp'][1][6:8] = [[1.,0.,0.],[1.,0.,0.]]
     1670                    usc[9] = 0
     1671            elif '4' in siteSym and np.any(dUT[0,1,:]):
     1672                CSI['Sadp'][0][6:8] = [[12,0,0],[12,0,0]]
     1673                CSI['Sadp'][0][:2] = [[11,0,0],[11,0,0]]
     1674                if ssop[1][3]:
     1675                    CSI['Sadp'][1][:2] = [[1.,0.,0.],[-1.,0.,0.]]
     1676                    CSI['Sadp'][1][6:8] = [[1.,0.,0.],[-1.,0.,0.]]
     1677                    usc[3] = 1
     1678                    usc[9] = 1
     1679                else:
     1680                    CSI['Sadp'][1][:2] = [[1.,0.,0.],[1.,0.,0.]]
     1681                    CSI['Sadp'][1][6:8] = [[1.,0.,0.],[1.,0.,0.]]
     1682                    usc[3] = 0               
     1683                    usc[9] = 0
     1684            print SSMT2text(ssop).replace(' ',''),sdet,ssdet,epsinv,usc
    16651685        USC &= usc
    16661686    if not np.any(dtau%.5):
Note: See TracChangeset for help on using the changeset viewer.