Changeset 1569


Ignore:
Timestamp:
Nov 12, 2014 4:14:09 PM (7 years ago)
Author:
vondreele
Message:

Make 222, mm2, m2m & 2mm SS work. Fill some SS choices

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIspc.py

    r1568 r1569  
    532532                            return False,Txt
    533533        return True,SSGOps
     534       
     535    def findMod(modSym):
     536        for a in ['a','b','g']:
     537            if a in modSym:
     538                return a
    534539               
    535540    def genSSGOps():
    536541        SSGOps = SSGData['SSGOps'][:]
    537         OrthOp = {'g':[1,2,3],'a':[3,1,2],'b':[2,3,1]}
    538         OrFrac = {0:[1,3],1:[2,3],2:[1,2]}
    539542        iFrac = {}
    540543        for i,frac in enumerate(SSGData['modSymb']):
     
    562565           
    563566# orthorhombic
    564         elif SGData['SGPtGrp'] in ['222','mm2','m2m','2mm']:
     567        elif SGData['SGPtGrp'] in ['222','mm2','m2m','2mm']:    #OK
     568            if SGData['SGPtGrp'] == '222':
     569                OrOps = {'g':{0:[1,3],1:[2,3]},'a':{1:[1,2],2:[1,3]},'b':{2:[3,2],0:[1,2]}} #OK
     570            elif SGData['SGPtGrp'] == 'mm2':
     571                OrOps = {'g':{0:[1,3],1:[2,3]},'a':{1:[2,1],2:[3,1]},'b':{0:[1,2],2:[3,2]}} #OK
     572            elif SGData['SGPtGrp'] == 'm2m':
     573                OrOps = {'b':{0:[1,2],2:[3,2]},'g':{0:[1,3],1:[2,3]},'a':{1:[2,1],2:[3,1]}} #OK
     574            elif SGData['SGPtGrp'] == '2mm':
     575                OrOps = {'a':{1:[2,1],2:[3,1]},'b':{0:[1,2],2:[3,2]},'g':{0:[1,3],1:[2,3]}} #OK
     576            a = findMod(SSGData['modSymb'])
     577            OrFrac = OrOps[a]
    565578            for j in iFrac:
    566579                for i in OrFrac[j]:
    567                     SSGOps[i][0][3,j] = -2.*eval(iFrac[j])*SSGKl[j]
     580                    SSGOps[i][0][3,j] = -2.*eval(iFrac[j])*SSGKl[i-1]
    568581            for i in [0,1,2]:
    569                 SSGOps[(i)%3+1][0][3,3] = SSGKl[(i)%3]  #OK
    570                 SSGOps[(i)%3+1][1][3] = genQ[(i)%3]     #OK
     582                SSGOps[i+1][0][3,3] = SSGKl[i]
     583                SSGOps[i+1][1][3] = genQ[i]
    571584                E,SSGOps = extendSSGOps(SSGOps)
    572585                if not E:
    573586                    return E,SSGOps
    574587        elif SGData['SGPtGrp'] == 'mmm':
     588            OrOps = {'g':{0:[1,3],1:[2,3]},'a':{1:[2,1],2:[3,1]},'b':{0:[1,2],2:[3,2]}} #'a' & 'b' NO; 'g' OK
     589            a = findMod(SSGData['modSymb'])
     590            OrFrac = OrOps[a]
     591            print a,OrFrac,iFrac
    575592            for j in iFrac:
    576593                for i in OrFrac[j]:
    577594                    SSGOps[i][0][3,j] = -2.*eval(iFrac[j])
    578595            for i in [0,1,2]:
    579                 SSGOps[(i+1)%3+1][0][3,3] = 1
    580                 SSGOps[(i+1)%3+1][1][3] = genQ[(i+1)%3]
     596                SSGOps[i+1][0][3,3] = 1
     597                SSGOps[i+1][1][3] = genQ[i]
    581598                E,SSGOps = extendSSGOps(SSGOps)
    582599                if not E:
     
    19171934        '(00g)','(00g)0s0','(01/2g)','(0b0)','(0b0)s00','(0b1/2)',],
    19181935#27       
    1919     'P c c 2':[],
    1920     'P 2 a a':[],
    1921     'P b 2 b':[],
     1936    'P c c 2':['(00g)','(00g)s0s','(00g)0ss','(01/2g)','(1/20g)','(1/21/2g)',
     1937        '(a00)','(a00)0s0','(a1/20)','(0b0)','(0b0)s00','(1/2b0)',],
     1938    'P 2 a a':['(a00)','(a00)ss0','(a00)s0s','(a01/2)','(a1/20)','(a1/21/2)',
     1939        '(0b0)','(0b0)00s','(0b1/2)','(00g)','(00g)0s0','(01/2g)',],
     1940    'P b 2 b':['(0b0)','(0b0)0ss','(0b0)ss0','(1/2b0)','(0b1/2)','(1/2b1/2)',
     1941        '(00g)','(00g)s00','(1/20g)','(a00)','(a00)00s','(a01/2)',],
    19221942#28       
    1923     'P m a 2':[],
     1943    'P m a 2':['(00g)','(00g)s0s','(00g)0ss','(00g)ss0','(01/2g)','(01/2g)s0s',
     1944        ],
    19241945    'P b m 2':[],
    19251946    'P 2 m b':[],
     
    19651986#35       
    19661987    'C m m 2':[],
     1988    'A 2 m m':[],
     1989    'B m 2 m':[],
    19671990#36
    19681991    'C m c 21':[],
     1992    'C c m 21':[],
     1993    'A 21 m a':[],
     1994    'A 21 a m':[],
     1995    'B m 21 b':[],
     1996    'B b 21 m':[],
    19691997#37
    19701998    'C c c 2':[],
     1999    'A 2 a a':[],
     2000    'B b 2 b':[],
    19712001#38
     2002    'C m 2 m':[],
    19722003    'C 2 m m':[],
    1973     'C m 2 m':[],
     2004    'A m m 2':[],
     2005    'A m 2 m':[],
     2006    'B 2 m m':[],
     2007    'B m m 2':[],
    19742008#39
    19752009    'C 2 m b':[],
    19762010    'C m 2 a':[],
     2011    'A b m 2':[],
     2012    'A c 2 m':[],
     2013    'B 2 c m':[],
     2014    'B m a 2':[],
    19772015#40       
    19782016    'C 2 c m':[],
    19792017    'C c 2 m':[],
     2018    'A m a 2':[],
     2019    'A m 2 a':[],
     2020    'B 2 m b':[],
     2021    'B b m 2':[],
    19802022#41
    19812023    'C 2 c b':[],
     2024    'C c 2 a':[],
     2025    'A b a 2':[],
     2026    'A c 2 a':[],
     2027    'B 2 c b':[],
     2028    'B b a 2':[],
    19822029       
    19832030#42       
    1984     'F m m 2':['(00g)','(00g)ss0','(00g)0ss','(00g)s0s','(a00)','(a00)0s0',
    1985         '(0b0)','(0b0)s00','(10g)','(10g)ss0','(10g)0ss','(10g)s0s','(a01)','(a01)0s0',
    1986         '(1b0)','(1b0)s00','(01g)','(01g)ss0','(01g)0ss','(01g)s0s','(a10)','(a10)0s0',
    1987         '(0b1)','(0b1)s00',],       
    1988     'F m 2 m':['(0b0)','(0b0)ss0','(0b0)0ss','(0b0)s0s','(a00)','(a00)00s',
    1989         '(00g)','(00g)s00','(1b0)','(1b0)ss0','(1b0)0ss','(1b0)s0s','(a01)','(a01)00s',
    1990         '(01g)','(01g)s00','(0b1)','(0b1)ss0','(0b1)0ss','(0b1)s0s','(a10)','(a10)00s',
    1991         '(10g)','(10g)s00',],       
    1992     'F 2 m m':['(a00)','(a00)ss0','(a00)0ss','(a00)s0s','(0b0)','(0b0)00s',
    1993         '(00g)','(00g)0s0','(a10)','(a10)ss0','(a10)0ss','(a10)s0s','(0b1)','(0b1)00s',
    1994         '(10g)','(10g)0s0','(a01)','(a01)ss0','(a01)0ss','(a01)s0s','(1b0)','(1b0)00s',
    1995         '(01g)','(01g)0s0',],
     2031    'F m m 2':['(00g)','(00g)s0s','(00g)0ss','(00g)ss0','(10g)','(10g)ss0','(10g)s0s',
     2032        '(01g)','(01g)ss0','(01g)0ss','(a00)','(a00)0s0','(a01)','(a01)0s0',
     2033        '(0b0)','(0b0)s00','(0b1)','(0b1)s00',],       
     2034    'F m 2 m':['(0b0)','(0b0)0ss','(0b0)ss0','(0b0)s0s','(0b1)','(0b1)s0s','(0b1)0ss',
     2035        '(1b0)','(1b0)s0s','(1b0)ss0','(00g)','(00g)s00','(01g)','(01g)s00',
     2036        '(a00)','(a00)00s','(a10)','(a10)00s',],       
     2037    'F 2 m m':['(a00)','(a00)ss0','(a00)s0s','(a00)0ss','(a10)','(a10)0ss','(a10)ss0',
     2038        '(a01)','(a01)0ss','(a01)s0s','(0b0)','(0b0)00s','(1b0)','(1b0)00s',
     2039        '(00g)','(00g)0s0','(10g)','(10g)0s0',],
    19962040#43       
    1997     'F d d 2':['(00g)','(00g)ss0','(00g)0ss','(00g)s0s','(a00)','(a00)0s0',
    1998         '(0b0)','(0b0)s00',],
    1999     'F d 2 d':['(0b0)','(0b0)ss0','(0b0)0ss','(0b0)s0s','(a00)','(a00)00s',
    2000         '(00g)','(00g)s00',],
    2001     'F 2 d d':['(a00)','(a00)ss0','(a00)0ss','(a00)s0s','(0b0)','(0b0)00s',
    2002         '(00g)','(00g)0s0',],       
     2041    'F d d 2':['(00g)','(00g)0ss','(00g)s0s','(a00)','(0b0)',],
     2042    'F d 2 d':['(0b0)','(0b0)0ss','(0b0)ss0','(a00)','(00g)',],
     2043    'F 2 d d':['(a00)','(a00)s0s','(a00)ss0','(00g)','(0b0)',],       
    20032044#44
    2004     'I m m 2':[],
    2005     'I m 2 m':[],
    2006     'I 2 m m':[],
     2045    'I m m 2':['(00g)','(00g)ss0','(00g)s0s','(00g)0ss','(a00)','(a00)0s0','(0b0)','(0b0)s00',],
     2046    'I m 2 m':['(0b0)','(0b0)s0s','(0b0)0ss','(0b0)ss0','(00g)','(00g)s00','(a00)','(a00)00s',],
     2047    'I 2 m m':['(a00)','(00g)0ss','(00g)ss0','(00g)s0s','(0b0)','(0b0)00s','(00g)','(00g)0s0',],
    20072048#45       
    2008     'I b a 2':[],
    2009     'I 2 c b':[],
    2010     'I c 2 a':[],
     2049    'I b a 2':['(00g)','(00g)ss0','(00g)s0s','(00g)0ss','(a00)','(a00)0s0','(0b0)','(0b0)s00',],
     2050    'I 2 c b':['(0b0)','(0b0)s0s','(0b0)0ss','(0b0)ss0','(00g)','(00g)s00','(a00)','(a00)00s',],
     2051    'I c 2 a':['(a00)','(00g)0ss','(00g)ss0','(00g)s0s','(0b0)','(0b0)00s','(00g)','(00g)0s0',],
    20112052#46       
    2012     'I m a 2':[],
    2013     'I b m 2':[],
    2014     'I 2 m b':[],       
    2015     'I 2 c m':[],
    2016     'I c 2 m':[],
    2017     'I m 2 a':[],
     2053    'I m a 2':['(a00)','(00g)0ss','(00g)ss0','(00g)s0s','(0b0)','(0b0)00s','(00g)','(00g)0s0',],
     2054    'I b m 2':['(a00)','(00g)0ss','(00g)ss0','(00g)s0s','(0b0)','(0b0)00s','(00g)','(00g)0s0',],
     2055    'I 2 m b':['(0b0)','(0b0)s0s','(0b0)0ss','(0b0)ss0','(00g)','(00g)s00','(a00)','(a00)00s',],       
     2056    'I 2 c m':['(0b0)','(0b0)s0s','(0b0)0ss','(0b0)ss0','(00g)','(00g)s00','(a00)','(a00)00s',],
     2057    'I c 2 m':['(a00)','(00g)0ss','(00g)ss0','(00g)s0s','(0b0)','(0b0)00s','(00g)','(00g)0s0',],
     2058    'I m 2 a':['(a00)','(00g)0ss','(00g)ss0','(00g)s0s','(0b0)','(0b0)00s','(00g)','(00g)0s0',],
    20182059#47       
    20192060    'P m m m':['(00g)','(00g)s00','(00g)0s0','(00g)ss0','(01/2g)','(01/2g)s00','(1/20g)','(1/20g)s00','(1/21/2g)',
     
    20452086    'P m c m':[],
    20462087    'P m a m':[],
    2047        
     2088#52       
    20482089    'P n n a':[],
    20492090    'P n n b':[],
     
    20522093    'P n c n':[],
    20532094    'P n a n':[],
    2054        
     2095#53       
    20552096    'P m n a':[],
    20562097    'P n m b':[],
     
    20592100    'P n c m':[],
    20602101    'P m a n':[],
    2061        
     2102#54       
    20622103    'P c c a':[],
    20632104    'P c c b':[],
     
    20662107    'P b c b':[],
    20672108    'P b a b':[],
    2068        
     2109#55       
    20692110    'P b a m':[],
    20702111    'P m c b':[],
    20712112    'P c m a':[],
    2072        
     2113#56       
    20732114    'P c c n':['(00g)','(00g)s00','(00g)0s0','(00g)ss0','(a00)','(a00)0s0',
    20742115        '(a00)00s','(a00)0ss','(0b0)','(0b0)s00','(0b0)00s','(0b0)s0s'],
     
    20772118    'P b n b':['(00g)','(00g)s00','(00g)0s0','(00g)ss0','(a00)','(a00)0s0',
    20782119        '(a00)00s','(a00)0ss','(0b0)','(0b0)s00','(0b0)00s','(0b0)s0s'],
    2079        
     2120#57       
    20802121    'P b c m':[],
    20812122    'P c a m':[],
     
    20842125    'P b m a':[],
    20852126    'P c m b':[],
    2086        
     2127#58       
    20872128    'P n n m':['(00g)','(00g)s00','(00g)0s0','(00g)ss0','(a00)','(a00)0s0',
    20882129        '(a00)00s','(a00)0ss','(0b0)','(0b0)s00','(0b0)00s','(0b0)s0s'],
     
    20912132    'P n m n':['(00g)','(00g)s00','(00g)0s0','(00g)ss0','(a00)','(a00)0s0',
    20922133        '(a00)00s','(a00)0ss','(0b0)','(0b0)s00','(0b0)00s','(0b0)s0s'],
    2093        
     2134#59       
    20942135    'P m m n':[],
    20952136    'P n m m':[],
    20962137    'P m n m':[],
    2097        
     2138#60       
    20982139    'P b c n':['(00g)','(00g)s00','(00g)0s0','(00g)ss0','(a00)','(a00)0s0',
    20992140        '(a00)00s','(a00)0ss','(0b0)','(0b0)s00','(0b0)00s','(0b0)s0s'],
     
    21082149    'P c n b':['(00g)','(00g)s00','(00g)0s0','(00g)ss0','(a00)','(a00)0s0',
    21092150        '(a00)00s','(a00)0ss','(0b0)','(0b0)s00','(0b0)00s','(0b0)s0s'],
    2110        
     2151#61       
    21112152    'P b c a':[],
    21122153    'P c a b':[],
    2113        
     2154#62       
    21142155    'P n m a':['(00g)','(00g)s00','(00g)0s0','(00g)ss0','(a00)','(a00)0s0',
    21152156        '(a00)00s','(a00)0ss','(0b0)','(0b0)s00','(0b0)00s','(0b0)s0s'],
     
    21242165    'P n a m':['(00g)','(00g)s00','(00g)0s0','(00g)ss0','(a00)','(a00)0s0',
    21252166        '(a00)00s','(a00)0ss','(0b0)','(0b0)s00','(0b0)00s','(0b0)s0s'],
    2126 
    2127     'C m c a':[],
     2167#63
     2168    'C m c m':[],
     2169    'A m m a':[],
     2170    'B b m m':[],
     2171    'B m m b':[],
     2172    'C c m m':[],
     2173    'A m a m':[],
     2174#64       
     2175    'C m c a':['(00g)','(00g)s00','(10g)','(10g)s00','(a00)',],
     2176    'A b m a':[],
     2177    'B b c m':[],
     2178    'B m a b':[],
     2179    'C c m b':[],
     2180    'A c a m':[],
     2181#65       
    21282182    'C m m m':[],
     2183    'A m m m':[],
     2184    'B m m m':[],
     2185#66       
    21292186    'C c c m':[],
     2187    'A m m a':[],
     2188    'B b m b':[],
     2189#67       
    21302190    'C m m a':[],
     2191    'A b m m':[],
     2192    'B m c m':[],
     2193    'B m a m':[],
     2194    'C m m b':[],
     2195    'A c m m':[],
     2196#68       
    21312197    'C c c a':[],
    2132     'C m c m':[],
     2198    'A b a a':[],
     2199    'B b c b':[],
     2200    'B b a b':[],
     2201    'C c c b':[],
     2202    'A c a a':[],
    21332203#69       
    21342204    'F m m m':['(00g)','(00g)s00','(00g)0s0','(00g)ss0','(a00)','(a00)0s0',
Note: See TracChangeset for help on using the changeset viewer.