Changeset 3716 for trunk/GSASIIspc.py


Ignore:
Timestamp:
Nov 4, 2018 8:21:47 AM (4 years ago)
Author:
vondreele
Message:

implement new version of SUBGROUPS & k-SUBGROUPDMAG that return conjugacy & super group lists
display the results from these
remove lattice parameter constraints (for now at least) - occasionally fail with bad consequences

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIspc.py

    r3710 r3716  
    17021702            '31m':['(00g)','(1/31/3g)'],
    17031703            '6/m':['(00g)',],
    1704             '6/mmm':['(00g)',]}
     1704            '6/mmm':['(00g)',],
     1705            'm3':['',],'m3m':['',]}
    17051706           
    17061707    laueTS = {'-1':['',],
     
    17131714            '31m':['','t00','0ss'],
    17141715            '6/m':['','h','t','s','s0'],
    1715             '6/mmm':['','h00','t00','s00','ss0','0ss','s0s','s0s0','00ss','s00s','ss00','0ss0','0s0s']}
     1716            '6/mmm':['','h00','t00','s00','ss0','0ss','s0s','s0s0','00ss','s00s','ss00','0ss0','0s0s'],
     1717            'm3':['',],'m3m':['',]}
    17161718    laue = SGData['SGLaue']
    17171719    SSChoice = []
     
    28392841        dM = posFourier(tau,nH,delt6[:3],delt6[3:]) #+np.array(Mxyz)[:,nxs,nxs]
    28402842        dMTP = []
    2841         CSI = [[1,0,0],[2,0,0],[3,0,0], [4,0,0],[5,0,0],[6,0,0]],6*[[1.,0.,0.],]
     2843        CSI = [np.zeros((6,3),dtype='i'),np.zeros((6,3))]
     2844        print(siteSym)
    28422845        if siteSym == '1':
    28432846            CSI = [[1,0,0],[2,0,0],[3,0,0],[4,0,0],[5,0,0],[6,0,0]],6*[[1.,0.,0.],]
    2844         elif siteSym in ['-1',]:
     2847        elif siteSym in ['-1','mmm',]:
    28452848            CSI = 3*[[0,0,0],]+[[1,0,0],[2,0,0],[3,0,0]],3*[[0.,0.,0.],]+3*[[1.,0.,0.],]
     2849        elif siteSym in ['4(z)','422(z)']:
     2850            CSI[0][0][0] = CSI[0][4][1] = 1
     2851            CSI[1][0][0] = 1.0
     2852            CSI[1][4][1] = -1.0
     2853        elif siteSym in ['-4m2(z)','422(z)',]:
     2854            CSI[0][5][0] = 1
     2855            CSI[1][5][0] = 1.0
     2856        elif siteSym in ['-32(100)',]:
     2857            CSI[0][2][0] = 1
     2858            CSI[1][2][0] = 1.0
     2859        elif siteSym in ['3',]:
     2860            CSI[0][0][0] = CSI[0][3][0] = CSI[0][4][0] = 1
     2861            CSI[1][0][0] = -np.sqrt(3.0)
     2862            CSI[1][3][0] = 2.0
     2863            CSI[1][4][0] = 1.0
     2864        elif siteSym in ['622','2(100)',]:
     2865            CSI[0][0][0] = CSI[0][1][0] = CSI[0][3][0] = 1
     2866            CSI[1][0][0] = 1.0
     2867            CSI[1][1][0] = 2.0
     2868            CSI[1][3][0] = np.sqrt(3.0)
    28462869        else:
    28472870              #3x6x12 modulated moment array (M,Spos,tau)& force positive
     
    28602883                dMTP.append(dMT)
    28612884                for i in range(3):
    2862                     if not np.allclose(dM[i,i,:],-dMT[i,i,:]):
     2885                    if 'm(' in siteSym and not np.allclose(dM[i,i,:],-dMT[i,i,:]):
    28632886                        msc[i] = 0
    2864                     if not np.allclose(dM[i,i+3,:],-dMT[i,i+3,:]):
     2887                    elif '2(' in siteSym and not np.allclose(dM[i,i,:],dMT[i,i,:]):
     2888                        msc[i] = 0
     2889                    if 'm(' in siteSym and not np.allclose(dM[i,i+3,:],-dMT[i,i+3,:]):
     2890                        msc[i+3] = 0
     2891                    elif '2(' in siteSym and not np.allclose(dM[i,i+3,:],dMT[i,i+3,:]):
    28652892                        msc[i+3] = 0
    28662893                if np.any(dtau%.5) and ('1/2' in SSGData['modSymb'] or '1' in SSGData['modSymb']):
     
    28842911                        CSI[1][3:] = [0.,0.,0.],[0.,0.,0.],[0.,0.,0.]
    28852912                if '4/mmm' in laue:
     2913                    if siteSym in ['4/mmm(z)',]:
     2914                        CSI = 3*[[0,0,0],]+[[0,0,0],[0,0,0],[1,0,0]],3*[[0.,0.,0.],]+3*[[1.,0.,0.],]
    28862915                    if np.any(dtau%.5) and '1/2' in SSGData['modSymb']:
    28872916                        if '(xy)' in siteSym:
Note: See TracChangeset for help on using the changeset viewer.