@@ -82,5 +82,65 @@ def test_reflections(self):
8282 print (spg , h , k , l , G .is_valid_hkl (h , k , l ), expected )
8383 assert G .is_valid_hkl (h , k , l ) == expected
8484
85+ def test_site_symms (self ):
86+
87+ data = [
88+ (146 , "3." ),
89+ (147 , "-1" , "-1" , "3.." , "3.." , "-3.." , "-3.." ),
90+ (148 , "-1" , "-1" , "3." , "-3." , "-3." ),
91+ (149 , "..2" , "..2" , "3.." , "3.." , "3.." , "3.2" , "3.2" , "3.2" , "3.2" , "3.2" , "3.2" ),
92+ (150 , ".2." , ".2." , "3.." , "3.." , "32." , "32." ),
93+ (151 , "..2" , "..2" ),
94+ (152 , ".2." , ".2." ),
95+ (153 , "..2" , "..2" ),
96+ (154 , ".2." , ".2." ),
97+ (155 , ".2" , ".2" , "3." , "32" , "32" ),
98+ (156 , ".m." , "3m." , "3m." , "3m." ),
99+ (157 , "..m" , "3.." , "3.m" ),
100+ (158 , "3.." , "3.." , "3.." ),
101+ (159 , "3.." , "3.." ),
102+ (160 , ".m" , "3m" ),
103+ (161 , "3." ),
104+ (162 , "..m" , "..2" , "..2" , "3.." , "..2/m" , "..2/m" , "3.m" , "3.2" , "3.2" , "-3.m" , "-3.m" ),
105+ (163 , "..2" , "-1" , "3.." , "3.." , "3.2" , "3.2" , "-3.." , "3.2" ),
106+ (164 , ".m." , ".2." , ".2." , ".2/m." , ".2/m." , "3m." , "3m." , "-3m." , "-3m." ),
107+ (165 , ".2." , "-1" , "3.." , "3.." , "-3.." , "32." ),
108+ (166 , ".m" , ".2" , ".2" , ".2/m" , ".2/m" , "3m" , "-3m" , "-3m" ),
109+ (167 , ".2" , "-1" , "3." , "-3." , "32" ),
110+ (168 , "2.." , "3.." , "6.." ),
111+ (171 , "2.." , "2.." ),
112+ (172 , "2.." , "2.." ),
113+ (173 , "3.." , "3.." ),
114+ (174 , "m.." , "m.." , "3.." , "3.." , "3.." , "-6.." , "-6.." , "-6.." , "-6.." , "-6.." ),
115+ (175 , "m.." , "m.." , "2.." , "3.." , "2/m.." , "2/m.." , "6.." , "-6.." , "-6.." , "6/m.." , "6/m.." ),
116+ (176 , "m.." , "-1" , "3.." , "3.." , "-6.." , "-6.." , "-3.." , "-6.." ),
117+ (177 , "..2" , "..2" , ".2." , ".2." , "2.." , "3.." , "222" , "222" , "6.." , "3.2" , "3.2" , "622" , "622" ),
118+ (178 , "..2" , ".2." ),
119+ (179 , "..2" , ".2." ),
120+ (180 , "..2" , "..2" , ".2." , ".2." , "2.." , "2.." , "222" , "222" , "222" , "222" ),
121+ (181 , "..2" , "..2" , ".2." , ".2." , "2.." , "2.." , "222" , "222" , "222" , "222" ),
122+ (182 , "..2" , ".2." , "3.." , "3.." , "3.2" , "3.2" , "3.2" , "32." ),
123+ (183 , ".m." , "..m" , "2mm" , "3m." , "6mm" ),
124+ (184 , "2.." , "3.." , "6.." ),
125+ (185 , "..m" , "3.." , "3.m" ),
126+ (186 , ".m." , "3m." , "3m." ),
127+ (187 , ".m." , "m.." , "m.." , "mm2" , "mm2" , "3m." , "3m." , "3m." , "-6m2" , "-6m2" , "-6m2" , "-6m2" , "-6m2" , "-6m2" ),
128+ (188 , "m.." , "..2" , "3.." , "3.." , "3.." , "-6.." , "3.2" , "-6.." , "3.2" ),
129+ (189 , "m.." , "m.." , "..m" , "3.." , "m2m" , "m2m" , "3.m" , "-6.." , "-6.." , "-62m" , "-62m" ),
130+ (190 , "m.." , ".2." , "3.." , "3.." , "-6.." , "-6.." , "-6.." , "32." ),
131+ (191 , "m.." , "m.." , ".m." , "..m" , "mm2" , "mm2" , "m2m" , "m2m" , "2mm" , "3m." , "mmm" , "mmm" , "6mm" ,
132+ "-6m2" , "-6m2" , "6/mmm" , "6/mmm" ),
133+ (192 , "m.." , "..2" , ".2." , "2.." , "3.." , "2/m.." , "222" , "6.." , "-6.." , "3.2" , "6/m.." , "622" ),
134+ (193 , "..m" , "m.." , "..2" , "3.." , "m2m" , "..2/m" , "3.m" , "3.2" , "-6.." , "-3.m" , "-62m" ),
135+ (194 , ".m." , "m.." , ".2." , "mm2" , ".2/m." , "3m." , "3m." , "-6m2" , "-6m2" , "-6m2" , "-3m." ),
136+ ]
137+ for d in data :
138+ g = Group (d [0 ])
139+ for i in range (1 , len (d )):
140+ wp = g [i ]
141+ wp .get_site_symmetry ()
142+ assert wp .site_symm == d [i ]
143+
144+
85145if __name__ == "__main__" :
86146 unittest .main ()
0 commit comments