source: trunk/tests/genselftest.py @ 30

Last change on this file since 30 was 30, checked in by toby, 12 years ago

document GSASIIspc for independent use and develop unit tests

File size: 6.0 KB
Line 
1'''
2 this generates space group tables for ~all 230 space groups in
3 standard settings using the GSASIIspc.SpcGroup routine
4 (N.B. R space groups are set in both hex and rhomb. settings so there
5 are more than 230 tests generated).
6
7 Run this redirected to SGdat.py to create the input file.
8'''
9import sys
10import datetime
11sys.path.append('..')
12import GSASIIspc
13
14sgdat = {}
15sglist = {}
16def GenSGdat(spc):
17    (E,D) = GSASIIspc.SpcGroup(spc)
18    if E: 
19        print >> sys.stderr, "error on: ",spc
20    else:
21        sgdat[spc] = D
22        sglist[spc] = GSASIIspc.SGPrint(D)
23
24#cubic
25GenSGdat('p 2 3')
26GenSGdat('f 2 3')
27GenSGdat('i 2 3')
28GenSGdat('p 21 3')
29GenSGdat('i 21 3')
30GenSGdat('p m 3')
31GenSGdat('p n -3')
32GenSGdat('f m 3')
33GenSGdat('f d -3')
34GenSGdat('i m -3')
35GenSGdat('p a 3')
36GenSGdat('i a 3')
37GenSGdat('p 4 3 2')
38GenSGdat('p 42 3 2')
39GenSGdat('f 4 3 2')
40GenSGdat('f 41 3 2')
41GenSGdat('i 4 3 2')
42GenSGdat('p 43 3 2')
43GenSGdat('p 41 3 2')
44GenSGdat('i 41 3 2')
45GenSGdat('p -4 3 m')
46GenSGdat('f -4 3 m')
47GenSGdat('i -4 3 m')
48GenSGdat('p -4 3 n')
49GenSGdat('f -4 3 c')
50GenSGdat('i -4 3 d')
51GenSGdat('p m -3 m')
52GenSGdat('p n -3 n')
53GenSGdat('p m -3 n')
54GenSGdat('p n -3 m')
55GenSGdat('f m -3 m')
56GenSGdat('f m -3 c')
57GenSGdat('f d -3 m')
58GenSGdat('f d -3 c')
59GenSGdat('i m -3 m')
60GenSGdat('i a -3 d')
61# ortho
62GenSGdat('p 2 2 2')
63GenSGdat('p 2 2 21')
64GenSGdat('p 21 21 2')
65GenSGdat('p 21 21 21')
66GenSGdat('c 2 2 21')
67GenSGdat('c 2 2 2')
68GenSGdat('f 2 2 2')
69GenSGdat('i 2 2 2')
70GenSGdat('i 21 21 21')
71GenSGdat('p m m 2')
72GenSGdat('p m c 21')
73GenSGdat('p c c 2')
74GenSGdat('p m a 2')
75GenSGdat('p c a 21')
76GenSGdat('p n c 2')
77GenSGdat('p m n 21')
78GenSGdat('p b a 2')
79GenSGdat('p n a 21')
80GenSGdat('p n n 2')
81GenSGdat('c m m 2')
82GenSGdat('c m c 21')
83GenSGdat('c c c 2')
84GenSGdat('a m m 2')
85GenSGdat('a b m 2')
86GenSGdat('a m a 2')
87GenSGdat('a b a 2')
88GenSGdat('f m m 2')
89GenSGdat('f d d 2')
90GenSGdat('i m m 2')
91GenSGdat('i b a 2')
92GenSGdat('i m a 2')
93GenSGdat('p m m m')
94GenSGdat('p n n n')
95GenSGdat('p c c m')
96GenSGdat('p b a n')
97GenSGdat('p m m a')
98GenSGdat('p n n a')
99GenSGdat('p m n a')
100GenSGdat('p c c a')
101GenSGdat('p b a m')
102GenSGdat('p c c n')
103GenSGdat('p b c m')
104GenSGdat('p n n m')
105GenSGdat('p m m n')
106GenSGdat('p b c n')
107GenSGdat('p b c a')
108GenSGdat('p n m a')
109GenSGdat('c m c m')
110GenSGdat('c m c a')
111GenSGdat('c m m m')
112GenSGdat('c c c m')
113GenSGdat('c m m a')
114GenSGdat('c c c a')
115GenSGdat('f m m m')
116GenSGdat('f d d d')
117GenSGdat('i m m m')
118GenSGdat('i b a m')
119GenSGdat('i b c a')
120GenSGdat('i m m a')
121# tetragonal
122GenSGdat('p 4')
123GenSGdat('p 41')
124GenSGdat('p 42')
125GenSGdat('p 43')
126GenSGdat('i 4')
127GenSGdat('i 41 1 1')
128GenSGdat('p -4')
129GenSGdat('i -4')
130GenSGdat('p 4/m')
131GenSGdat('p 42/m')
132#GenSGdat('p 4/n 1 ') # does not work
133GenSGdat('p 4/n')
134GenSGdat('p 42/n')
135GenSGdat('i 4/m')
136GenSGdat('i 41/a')
137GenSGdat('p 4 2 2')
138GenSGdat('p 4 21 2')
139GenSGdat('p 41 2 2')
140GenSGdat('p 41 21 2')
141GenSGdat('p 42 2 2')
142GenSGdat('p 42 21 2')
143GenSGdat('p 43 2 2 ')
144GenSGdat('p 43 21 2')
145GenSGdat('i 4 2 2')
146GenSGdat('i 41 2 2')
147GenSGdat('p 4 m m')
148GenSGdat('p 4 b m')
149GenSGdat('p 2 c m')
150GenSGdat('p 42 n m')
151GenSGdat('p 4 c c')
152GenSGdat('p 4 n c')
153GenSGdat('p 42 m c')
154GenSGdat('p 42 b c')
155GenSGdat('i 4 m m')
156GenSGdat('i 4 c m')
157GenSGdat('i 41 m d')
158GenSGdat('i 41 c d')
159GenSGdat('p -4 2 m')
160GenSGdat('p -4 2 c')
161GenSGdat('p -4 21 m')
162GenSGdat('p -4 21 c')
163GenSGdat('p -4 m 2')
164GenSGdat('p -4 c 2')
165GenSGdat('p -4 b 2')
166GenSGdat('p -4 n 2')
167GenSGdat('i -4 m 2')
168GenSGdat('i -4 c 2')
169GenSGdat('i -4 2 m')
170GenSGdat('i -4 2 d')
171GenSGdat('p 4/m m m')
172GenSGdat('p 4/m c c')
173GenSGdat('p 4/n b m')
174GenSGdat('p 4/n n c')
175GenSGdat('p 4/m b m')
176GenSGdat('p 4/m n c')
177GenSGdat('p 4/n m m')
178GenSGdat('p 4/n c c')
179GenSGdat('p 42/m m c')
180GenSGdat('p 42/m c m')
181GenSGdat('p 42/n b c')
182GenSGdat('p 42/n n m')
183GenSGdat('p 42/m b c')
184GenSGdat('p 42/m n m')
185GenSGdat('p 42/n m c')
186GenSGdat('p 42/n c m')
187GenSGdat('i 4/m m m')
188GenSGdat('i 4/m c m ')
189GenSGdat('i 41/a m d')
190GenSGdat('i 41/a c d')
191# triclinic
192GenSGdat('p 1')
193GenSGdat('p -1')
194# monoclinic
195GenSGdat('p 2')
196GenSGdat('p 21')
197GenSGdat('c 2 1 1')
198GenSGdat('p m')
199GenSGdat('p c')
200GenSGdat('c m')
201GenSGdat('c c')
202GenSGdat('p 1 2/m 1')
203GenSGdat('p 21/m')
204GenSGdat('c 2/m')
205GenSGdat('p 2/c')
206GenSGdat('p 21/c')
207GenSGdat('c 1 2/c 1')
208# trigonal
209GenSGdat('p 31')
210GenSGdat('p 32 1 1')
211GenSGdat('r 3')
212GenSGdat('r 3 r')
213GenSGdat('p -3')
214GenSGdat('r -3')
215GenSGdat('r -3 r')
216GenSGdat('p 3 1 2')
217GenSGdat('p 3 2 1')
218GenSGdat('p 31 1 2')
219GenSGdat('p 31 2 1')
220GenSGdat('p 32 1 2')
221GenSGdat('p 32 2 1')
222GenSGdat('r 3 2 h')
223GenSGdat('r 3 2 r')
224GenSGdat('p 3 m 1')
225GenSGdat('p 3 1 m')
226GenSGdat('p 3 c 1')
227GenSGdat('p 3 1 c')
228GenSGdat('r 3 m h')
229GenSGdat('r 3 m r')
230GenSGdat('r 3 c')
231GenSGdat('r 3 c r')
232GenSGdat('p -3 1 m')
233GenSGdat('p -3 1 c')
234GenSGdat('p -3 m 1')
235GenSGdat('p -3 c 1')
236GenSGdat('r -3 m')
237GenSGdat('r -3 m r')
238GenSGdat('r -3 c')
239GenSGdat('r -3 c r')
240# hexagonal
241GenSGdat('p 6')
242GenSGdat('p 61')
243GenSGdat('p 65 1 1')
244GenSGdat('p 62')
245GenSGdat('p 64')
246GenSGdat('p 63')
247GenSGdat('p -6')
248GenSGdat('p 6/m 1 1')
249GenSGdat('p 63/m')
250GenSGdat('p 6 2 2')
251GenSGdat('p 61 2 2')
252GenSGdat('p 65 2 2')
253GenSGdat('p 62 2 2')
254GenSGdat('p 64 2 2')
255GenSGdat('p 63 2 2')
256GenSGdat('p 6 m m')
257GenSGdat('p 6 c c')
258GenSGdat('p 63 c m')
259GenSGdat('p 63 m c')
260GenSGdat('p -6 m 2')
261GenSGdat('p -6 c 2')
262GenSGdat('p -6 2 m')
263GenSGdat('p -6 2 c')
264GenSGdat('p 6/m m m')
265GenSGdat('p 6/m c c')
266GenSGdat('p 63/m c m')
267GenSGdat('p 63/m m c')
268# non-standard space groups
269GenSGdat('p 1 1 2/m')
270GenSGdat('p 2/m 1 1')
271GenSGdat('F -1')
272GenSGdat('a 2 2 2')
273
274
275print "# output from GSASIIspc computed on platform",sys.platform,"on",datetime.date.today()
276print "import numpy as np"
277print "array = np.array"
278print "float32=np.float32"
279print 'SGdat = {'
280for spc in sgdat:
281    print ('"%s":' % spc),sgdat[spc],","
282print "}"
283
284print 'SGlist = {'
285for spc in sgdat:
286    print ('"%s":' % spc),sglist[spc],","
287print "}"
Note: See TracBrowser for help on using the repository browser.