Changeset 1699 for trunk/GSASIIspc.py


Ignore:
Timestamp:
Mar 13, 2015 3:46:05 PM (9 years ago)
Author:
vondreele
Message:

rework the DData window - now shows only one histogram at a time. Eliminate the Show button, Show/Hide? menu item, etc. Show a ListBox? & SpinButton? for histogram selection
some more work on ss special positions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIspc.py

    r1695 r1699  
    14251425def GetSSfxuinel(waveType,nH,XYZ,SGData,SSGData,debug=False):
    14261426   
     1427    def orderParms(CSI):
     1428        parms = [0,]
     1429        for csi in CSI:
     1430            for i in [0,1,2]:
     1431                if csi[i] not in parms:
     1432                    parms.append(csi[i])
     1433        for csi in CSI:
     1434            for i in [0,1,2]:
     1435                csi[i] = parms.index(csi[i])
     1436        return CSI
     1437   
    14271438    def fracCrenel(tau,Toff,Twid):
    14281439        Tau = (tau-Toff)%1.
     
    15871598                        CSI['Spos'][0][i+3] = [0,0,0]
    15881599                        CSI['Spos'][1][i+3] = [0.,0.,0.]
     1600            elif np.allclose(dX[0,0,:],dXT[0,1,:]*sdet):
     1601                if 'xy' in siteSym or '+-0' in siteSym:
     1602                    CSI['Spos'][0][3:5] = [[12,0,0],[12,0,0]]
     1603                    CSI['Spos'][1][3:5] = [[1.,0,0],[-sdet,0,0]]
     1604                    xsc[3:5] = 0
    15891605            else:
    15901606                for i in range(3):
     
    16611677                else:
    16621678                    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
     1679            if np.any(dUT[0,1,:]):
     1680                if '4/m' in siteSym:
     1681                    CSI['Sadp'][0][6:8] = [[12,0,0],[12,0,0]]
     1682                    if ssop[1][3]:
     1683                        CSI['Sadp'][1][6:8] = [[1.,0.,0.],[-1.,0.,0.]]
     1684                        usc[9] = 1
     1685                    else:
     1686                        CSI['Sadp'][1][6:8] = [[1.,0.,0.],[1.,0.,0.]]
     1687                        usc[9] = 0
     1688                elif '4' in siteSym:
     1689                    CSI['Sadp'][0][6:8] = [[12,0,0],[12,0,0]]
     1690                    CSI['Sadp'][0][:2] = [[11,0,0],[11,0,0]]
     1691                    if ssop[1][3]:
     1692                        CSI['Sadp'][1][:2] = [[1.,0.,0.],[-1.,0.,0.]]
     1693                        CSI['Sadp'][1][6:8] = [[1.,0.,0.],[-1.,0.,0.]]
     1694                        usc[3] = 1
     1695                        usc[9] = 1
     1696                    else:
     1697                        CSI['Sadp'][1][:2] = [[1.,0.,0.],[1.,0.,0.]]
     1698                        CSI['Sadp'][1][6:8] = [[1.,0.,0.],[1.,0.,0.]]
     1699                        usc[3] = 0               
     1700                        usc[9] = 0
     1701                elif 'xy' in siteSym or '+-0' in siteSym:
     1702                    if np.allclose(dU[0,0,:],dUT[0,1,:]*sdet):
     1703                        print np.allclose(dU[0,0,:],dUT[0,1,:]*sdet),sdet
     1704                        CSI['Sadp'][0][4:6] = [[12,0,0],[12,0,0]]
     1705                        CSI['Sadp'][0][6:8] = [[11,0,0],[11,0,0]]
     1706                        CSI['Sadp'][1][4:6] = [[1.,0.,0.],[sdet,0.,0.]]
     1707                        CSI['Sadp'][1][6:8] = [[1.,0.,0.],[sdet,0.,0.]]
     1708                        usc[4:6] = 0
     1709                        usc[6:8] = 0
     1710                   
    16841711            print SSMT2text(ssop).replace(' ',''),sdet,ssdet,epsinv,usc
    16851712        USC &= usc
     
    17061733            else:
    17071734                CSI['Sfrac'][0][i] = 0
    1708                 CSI['Sfrac'][1][i] = 0.           
     1735                CSI['Sfrac'][1][i] = 0.
     1736    CSI['Spos'][0] = orderParms(CSI['Spos'][0])
     1737    CSI['Sadp'][0] = orderParms(CSI['Sadp'][0])           
    17091738    if debug:
    17101739        return CSI,[tau,tauT],[dF,dFTP],[dX,dXTP],[dU,dUTP]
Note: See TracChangeset for help on using the changeset viewer.