1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 package ffx.crystal;
39
40 import static ffx.crystal.CrystalSystem.CUBIC;
41 import static ffx.crystal.CrystalSystem.HEXAGONAL;
42 import static ffx.crystal.CrystalSystem.MONOCLINIC;
43 import static ffx.crystal.CrystalSystem.ORTHORHOMBIC;
44 import static ffx.crystal.CrystalSystem.TETRAGONAL;
45 import static ffx.crystal.CrystalSystem.TRICLINIC;
46 import static ffx.crystal.CrystalSystem.TRIGONAL;
47 import static ffx.crystal.LatticeSystem.CUBIC_LATTICE;
48 import static ffx.crystal.LatticeSystem.HEXAGONAL_LATTICE;
49 import static ffx.crystal.LatticeSystem.MONOCLINIC_LATTICE;
50 import static ffx.crystal.LatticeSystem.ORTHORHOMBIC_LATTICE;
51 import static ffx.crystal.LatticeSystem.RHOMBOHEDRAL_LATTICE;
52 import static ffx.crystal.LatticeSystem.TETRAGONAL_LATTICE;
53 import static ffx.crystal.LatticeSystem.TRICLINIC_LATTICE;
54 import static ffx.crystal.LaueSystem.L111;
55 import static ffx.crystal.LaueSystem.L113;
56 import static ffx.crystal.LaueSystem.L114;
57 import static ffx.crystal.LaueSystem.L121;
58 import static ffx.crystal.LaueSystem.L222;
59 import static ffx.crystal.LaueSystem.L223;
60 import static ffx.crystal.LaueSystem.L224;
61 import static ffx.crystal.LaueSystem.L32U;
62 import static ffx.crystal.LaueSystem.LM3B;
63 import static ffx.crystal.LaueSystem.LM3M;
64
65
66
67
68
69
70
71
72
73
74
75
76 public class SpaceGroupDefinitions {
77
78 private static final double f12 = 1.0 / 2.0;
79 private static final double f13 = 1.0 / 3.0;
80 private static final double f23 = 2.0 / 3.0;
81 private static final double f14 = 1.0 / 4.0;
82 private static final double f16 = 1.0 / 6.0;
83 private static final double f18 = 1.0 / 8.0;
84 private static final double f112 = 1.0 / 12.0;
85
86
87
88
89
90
91
92
93 static SpaceGroup getSpaceGroup1(int num) {
94 SpaceGroup spaceGroup = null;
95 switch (num) {
96 case 1 -> spaceGroup =
97 new SpaceGroup(
98 1,
99 1,
100 1,
101 "P1",
102 "PG1",
103 "P 1",
104 TRICLINIC,
105 TRICLINIC_LATTICE,
106 L111,
107 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
108 new double[] {1.0, 1.0, 1.0},
109 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0));
110 case 2 -> spaceGroup =
111 new SpaceGroup(
112 2,
113 2,
114 2,
115 "P-1",
116 "PG1bar",
117 "P -1",
118 TRICLINIC,
119 TRICLINIC_LATTICE,
120 L111,
121 new ASULimit[] {ASULimit.LT, ASULimit.LTE, ASULimit.LT},
122 new double[] {1.0, f12, 1.0},
123 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
124 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0));
125 case 3 -> spaceGroup =
126 new SpaceGroup(
127 3,
128 2,
129 2,
130 "P2",
131 "PG2",
132 "P 1 2 1",
133 MONOCLINIC,
134 MONOCLINIC_LATTICE,
135 L121,
136 new ASULimit[] {ASULimit.LTE, ASULimit.LT, ASULimit.LT},
137 new double[] {f12, 1.0, 1.0},
138 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
139 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0));
140 case 4 -> spaceGroup =
141 new SpaceGroup(
142 4,
143 2,
144 2,
145 "P21",
146 "PG2",
147 "P 1 21 1",
148 MONOCLINIC,
149 MONOCLINIC_LATTICE,
150 L121,
151 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
152 new double[] {1.0, f12, 1.0},
153 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
154 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_0));
155 case 5 -> spaceGroup =
156 new SpaceGroup(
157 5,
158 4,
159 2,
160 "C2",
161 "PG2",
162 "C 1 2 1",
163 MONOCLINIC,
164 MONOCLINIC_LATTICE,
165 L121,
166 new ASULimit[] {ASULimit.LTE, ASULimit.LT, ASULimit.LT},
167 new double[] {f12, f12, 1.0},
168 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
169 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
170 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
171 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0));
172 case 6 -> spaceGroup =
173 new SpaceGroup(
174 6,
175 2,
176 2,
177 "Pm",
178 "PGm",
179 "P 1 m 1",
180 MONOCLINIC,
181 MONOCLINIC_LATTICE,
182 L121,
183 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
184 new double[] {-1.0, -1.0, -1.0},
185 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
186 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0));
187 case 7 -> spaceGroup =
188 new SpaceGroup(
189 7,
190 2,
191 2,
192 "Pc",
193 "PGm",
194 "P 1 c 1",
195 MONOCLINIC,
196 MONOCLINIC_LATTICE,
197 L121,
198 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
199 new double[] {-1.0, -1.0, -1.0},
200 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
201 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12));
202 case 8 -> spaceGroup =
203 new SpaceGroup(
204 8,
205 4,
206 2,
207 "Cm",
208 "PGm",
209 "C 1 m 1",
210 MONOCLINIC,
211 MONOCLINIC_LATTICE,
212 L121,
213 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
214 new double[] {-1.0, -1.0, -1.0},
215 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
216 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
217 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
218 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0));
219 case 9 -> spaceGroup =
220 new SpaceGroup(
221 9,
222 4,
223 2,
224 "Cc",
225 "PGm",
226 "C 1 c 1",
227 MONOCLINIC,
228 MONOCLINIC_LATTICE,
229 L121,
230 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
231 new double[] {-1.0, -1.0, -1.0},
232 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
233 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
234 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
235 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12));
236 case 10 -> spaceGroup =
237 new SpaceGroup(
238 10,
239 4,
240 4,
241 "P2/m",
242 "PG2/m",
243 "P 1 2/m 1",
244 MONOCLINIC,
245 MONOCLINIC_LATTICE,
246 L121,
247 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LT},
248 new double[] {f12, f12, 1.0},
249 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
250 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
251 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
252 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0));
253 case 11 -> spaceGroup =
254 new SpaceGroup(
255 11,
256 4,
257 4,
258 "P21/m",
259 "PG2/m",
260 "P 1 21/m 1",
261 MONOCLINIC,
262 MONOCLINIC_LATTICE,
263 L121,
264 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
265 new double[] {-1.0, -1.0, -1.0},
266 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
267 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_0),
268 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
269 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_0));
270 case 12 -> spaceGroup =
271 new SpaceGroup(
272 12,
273 8,
274 4,
275 "C2/m",
276 "PG2/m",
277 "C 1 2/m 1",
278 MONOCLINIC,
279 MONOCLINIC_LATTICE,
280 L121,
281 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
282 new double[] {-1.0, -1.0, -1.0},
283 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
284 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
285 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
286 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
287 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
288 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
289 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
290 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0));
291 case 13 -> spaceGroup =
292 new SpaceGroup(
293 13,
294 4,
295 4,
296 "P2/c",
297 "PG2/m",
298 "P 1 2/c 1",
299 MONOCLINIC,
300 MONOCLINIC_LATTICE,
301 L121,
302 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
303 new double[] {-1.0, -1.0, -1.0},
304 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
305 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_12),
306 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
307 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12));
308 case 14 -> spaceGroup =
309 new SpaceGroup(
310 14,
311 4,
312 4,
313 "P21/c",
314 "PG2/m",
315 "P 1 21/c 1",
316 MONOCLINIC,
317 MONOCLINIC_LATTICE,
318 L121,
319 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
320 new double[] {-1.0, -1.0, -1.0},
321 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
322 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
323 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
324 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12));
325 case 15 -> spaceGroup =
326 new SpaceGroup(
327 15,
328 8,
329 4,
330 "C2/c",
331 "PG2/m",
332 "C 1 2/c 1",
333 MONOCLINIC,
334 MONOCLINIC_LATTICE,
335 L121,
336 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
337 new double[] {-1.0, -1.0, -1.0},
338 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
339 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_12),
340 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
341 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
342 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
343 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
344 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
345 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12));
346 case 16 -> spaceGroup =
347 new SpaceGroup(
348 16,
349 4,
350 4,
351 "P222",
352 "PG222",
353 "P 2 2 2",
354 ORTHORHOMBIC,
355 ORTHORHOMBIC_LATTICE,
356 L222,
357 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LT},
358 new double[] {f12, f12, 1.0},
359 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
360 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
361 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
362 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0));
363 case 17 -> spaceGroup =
364 new SpaceGroup(
365 17,
366 4,
367 4,
368 "P2221",
369 "PG222",
370 "P 2 2 21",
371 ORTHORHOMBIC,
372 ORTHORHOMBIC_LATTICE,
373 L222,
374 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LT},
375 new double[] {f12, f12, 1.0},
376 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
377 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
378 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_12),
379 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0));
380 case 18 -> spaceGroup =
381 new SpaceGroup(
382 18,
383 4,
384 4,
385 "P21212",
386 "PG222",
387 "P 21 21 2",
388 ORTHORHOMBIC,
389 ORTHORHOMBIC_LATTICE,
390 L222,
391 new ASULimit[] {ASULimit.LT, ASULimit.LTE, ASULimit.LT},
392 new double[] {1.0, f14, 1.0},
393 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
394 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
395 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
396 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0));
397 case 19 -> spaceGroup =
398 new SpaceGroup(
399 19,
400 4,
401 4,
402 "P212121",
403 "PG222",
404 "P 21 21 21",
405 ORTHORHOMBIC,
406 ORTHORHOMBIC_LATTICE,
407 L222,
408 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
409 new double[] {1.0, 1.0, f14},
410 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
411 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
412 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
413 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0));
414 case 20 -> spaceGroup =
415 new SpaceGroup(
416 20,
417 8,
418 4,
419 "C2221",
420 "PG222",
421 "C 2 2 21",
422 ORTHORHOMBIC,
423 ORTHORHOMBIC_LATTICE,
424 L222,
425 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LT},
426 new double[] {f12, f14, 1.0},
427 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
428 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
429 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_12),
430 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
431 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
432 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
433 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
434 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0));
435 case 21 -> spaceGroup =
436 new SpaceGroup(
437 21,
438 8,
439 4,
440 "C222",
441 "PG222",
442 "C 2 2 2",
443 ORTHORHOMBIC,
444 ORTHORHOMBIC_LATTICE,
445 L222,
446 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LT},
447 new double[] {f12, f14, 1.0},
448 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
449 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
450 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
451 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
452 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
453 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
454 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
455 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0));
456 case 22 -> spaceGroup =
457 new SpaceGroup(
458 22,
459 16,
460 4,
461 "F222",
462 "PG222",
463 "F 2 2 2",
464 ORTHORHOMBIC,
465 ORTHORHOMBIC_LATTICE,
466 L222,
467 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LT},
468 new double[] {f14, f14, 1.0},
469 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
470 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
471 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
472 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
473 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
474 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
475 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
476 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_12),
477 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
478 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
479 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
480 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
481 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
482 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
483 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
484 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0));
485 case 23 -> spaceGroup =
486 new SpaceGroup(
487 23,
488 8,
489 4,
490 "I222",
491 "PG222",
492 "I 2 2 2",
493 ORTHORHOMBIC,
494 ORTHORHOMBIC_LATTICE,
495 L222,
496 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
497 new double[] {f12, f14, 1.0},
498 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
499 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
500 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
501 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
502 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
503 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
504 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
505 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12));
506 case 24 -> spaceGroup =
507 new SpaceGroup(
508 24,
509 8,
510 4,
511 "I212121",
512 "PG222",
513 "I 21 21 21",
514 ORTHORHOMBIC,
515 ORTHORHOMBIC_LATTICE,
516 L222,
517 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
518 new double[] {f12, f12, f12},
519 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
520 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
521 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
522 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
523 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
524 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_0),
525 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_0),
526 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12));
527 case 25 -> spaceGroup =
528 new SpaceGroup(
529 25,
530 4,
531 4,
532 "Pmm2",
533 "PGmm2",
534 "P m m 2",
535 ORTHORHOMBIC,
536 ORTHORHOMBIC_LATTICE,
537 L222,
538 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
539 new double[] {-1.0, -1.0, -1.0},
540 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
541 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
542 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
543 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0));
544 case 26 -> spaceGroup =
545 new SpaceGroup(
546 26,
547 4,
548 4,
549 "Pmc21",
550 "PGmm2",
551 "P m c 21",
552 ORTHORHOMBIC,
553 ORTHORHOMBIC_LATTICE,
554 L222,
555 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
556 new double[] {-1.0, -1.0, -1.0},
557 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
558 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
559 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
560 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0));
561 case 27 -> spaceGroup =
562 new SpaceGroup(
563 27,
564 4,
565 4,
566 "Pcc2",
567 "PGmm2",
568 "P c c 2",
569 ORTHORHOMBIC,
570 ORTHORHOMBIC_LATTICE,
571 L222,
572 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
573 new double[] {-1.0, -1.0, -1.0},
574 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
575 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
576 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
577 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12));
578 case 28 -> spaceGroup =
579 new SpaceGroup(
580 28,
581 4,
582 4,
583 "Pma2",
584 "PGmm2",
585 "P m a 2",
586 ORTHORHOMBIC,
587 ORTHORHOMBIC_LATTICE,
588 L222,
589 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
590 new double[] {-1.0, -1.0, -1.0},
591 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
592 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
593 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_0),
594 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_0_0));
595 case 29 -> spaceGroup =
596 new SpaceGroup(
597 29,
598 4,
599 4,
600 "Pca21",
601 "PGmm2",
602 "P c a 21",
603 ORTHORHOMBIC,
604 ORTHORHOMBIC_LATTICE,
605 L222,
606 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
607 new double[] {-1.0, -1.0, -1.0},
608 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
609 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
610 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_0),
611 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_0_12));
612 case 30 -> spaceGroup =
613 new SpaceGroup(
614 30,
615 4,
616 4,
617 "Pnc2",
618 "PGmm2",
619 "P n c 2",
620 ORTHORHOMBIC,
621 ORTHORHOMBIC_LATTICE,
622 L222,
623 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
624 new double[] {-1.0, -1.0, -1.0},
625 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
626 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
627 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
628 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_12_12));
629 case 31 -> spaceGroup =
630 new SpaceGroup(
631 31,
632 4,
633 4,
634 "Pmn21",
635 "PGmm2",
636 "P m n 21",
637 ORTHORHOMBIC,
638 ORTHORHOMBIC_LATTICE,
639 L222,
640 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
641 new double[] {-1.0, -1.0, -1.0},
642 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
643 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
644 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_12),
645 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0));
646 case 32 -> spaceGroup =
647 new SpaceGroup(
648 32,
649 4,
650 4,
651 "Pba2",
652 "PGmm2",
653 "P b a 2",
654 ORTHORHOMBIC,
655 ORTHORHOMBIC_LATTICE,
656 L222,
657 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
658 new double[] {-1.0, -1.0, -1.0},
659 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
660 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
661 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
662 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0));
663 case 33 -> spaceGroup =
664 new SpaceGroup(
665 33,
666 4,
667 4,
668 "Pna21",
669 "PGmm2",
670 "P n a 21",
671 ORTHORHOMBIC,
672 ORTHORHOMBIC_LATTICE,
673 L222,
674 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
675 new double[] {-1.0, -1.0, -1.0},
676 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
677 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
678 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
679 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12));
680 case 34 -> spaceGroup =
681 new SpaceGroup(
682 34,
683 4,
684 4,
685 "Pnn2",
686 "PGmm2",
687 "P n n 2",
688 ORTHORHOMBIC,
689 ORTHORHOMBIC_LATTICE,
690 L222,
691 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
692 new double[] {-1.0, -1.0, -1.0},
693 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
694 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
695 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
696 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12));
697 case 35 -> spaceGroup =
698 new SpaceGroup(
699 35,
700 8,
701 4,
702 "Cmm2",
703 "PGmm2",
704 "C m m 2",
705 ORTHORHOMBIC,
706 ORTHORHOMBIC_LATTICE,
707 L222,
708 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
709 new double[] {-1.0, -1.0, -1.0},
710 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
711 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
712 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
713 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
714 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
715 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
716 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
717 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0));
718 case 36 -> spaceGroup =
719 new SpaceGroup(
720 36,
721 8,
722 4,
723 "Cmc21",
724 "PGmm2",
725 "C m c 21",
726 ORTHORHOMBIC,
727 ORTHORHOMBIC_LATTICE,
728 L222,
729 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
730 new double[] {-1.0, -1.0, -1.0},
731 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
732 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
733 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
734 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
735 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
736 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
737 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
738 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0));
739 case 37 -> spaceGroup =
740 new SpaceGroup(
741 37,
742 8,
743 4,
744 "Ccc2",
745 "PGmm2",
746 "C c c 2",
747 ORTHORHOMBIC,
748 ORTHORHOMBIC_LATTICE,
749 L222,
750 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
751 new double[] {-1.0, -1.0, -1.0},
752 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
753 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
754 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
755 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
756 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
757 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
758 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
759 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12));
760 case 38 -> spaceGroup =
761 new SpaceGroup(
762 38,
763 8,
764 4,
765 "Amm2",
766 "PGmm2",
767 "A m m 2",
768 ORTHORHOMBIC,
769 ORTHORHOMBIC_LATTICE,
770 L222,
771 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
772 new double[] {-1.0, -1.0, -1.0},
773 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
774 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
775 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
776 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
777 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
778 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
779 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
780 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_12_12));
781 case 39 -> spaceGroup =
782 new SpaceGroup(
783 39,
784 8,
785 4,
786 "Abm2",
787 "PGmm2",
788 "A b m 2",
789 ORTHORHOMBIC,
790 ORTHORHOMBIC_LATTICE,
791 L222,
792 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
793 new double[] {-1.0, -1.0, -1.0},
794 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
795 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
796 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_0),
797 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_12_0),
798 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
799 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
800 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
801 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12));
802 case 40 -> spaceGroup =
803 new SpaceGroup(
804 40,
805 8,
806 4,
807 "Ama2",
808 "PGmm2",
809 "A m a 2",
810 ORTHORHOMBIC,
811 ORTHORHOMBIC_LATTICE,
812 L222,
813 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
814 new double[] {-1.0, -1.0, -1.0},
815 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
816 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
817 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_0),
818 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_0_0),
819 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
820 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
821 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
822 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12));
823 case 41 -> spaceGroup =
824 new SpaceGroup(
825 41,
826 8,
827 4,
828 "Aba2",
829 "PGmm2",
830 "A b a 2",
831 ORTHORHOMBIC,
832 ORTHORHOMBIC_LATTICE,
833 L222,
834 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
835 new double[] {-1.0, -1.0, -1.0},
836 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
837 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
838 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
839 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
840 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
841 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
842 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_12),
843 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_0_12));
844 case 42 -> spaceGroup =
845 new SpaceGroup(
846 42,
847 16,
848 4,
849 "Fmm2",
850 "PGmm2",
851 "F m m 2",
852 ORTHORHOMBIC,
853 ORTHORHOMBIC_LATTICE,
854 L222,
855 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
856 new double[] {-1.0, -1.0, -1.0},
857 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
858 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
859 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
860 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
861 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
862 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
863 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
864 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_12_12),
865 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
866 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
867 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_12),
868 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_0_12),
869 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
870 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
871 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
872 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0));
873 case 43 -> spaceGroup =
874 new SpaceGroup(
875 43,
876 16,
877 4,
878 "Fdd2",
879 "PGmm2",
880 "F d d 2",
881 ORTHORHOMBIC,
882 ORTHORHOMBIC_LATTICE,
883 L222,
884 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
885 new double[] {-1.0, -1.0, -1.0},
886 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
887 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
888 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_14_14_14),
889 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_14_14_14),
890 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
891 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
892 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_14_34_34),
893 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_14_34_34),
894 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
895 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
896 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_34_14_34),
897 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_34_14_34),
898 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
899 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
900 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_34_34_14),
901 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_34_34_14));
902 case 44 -> spaceGroup =
903 new SpaceGroup(
904 44,
905 8,
906 4,
907 "Imm2",
908 "PGmm2",
909 "I m m 2",
910 ORTHORHOMBIC,
911 ORTHORHOMBIC_LATTICE,
912 L222,
913 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
914 new double[] {-1.0, -1.0, -1.0},
915 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
916 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
917 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
918 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
919 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
920 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
921 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
922 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12));
923 case 45 -> spaceGroup =
924 new SpaceGroup(
925 45,
926 8,
927 4,
928 "Iba2",
929 "PGmm2",
930 "I b a 2",
931 ORTHORHOMBIC,
932 ORTHORHOMBIC_LATTICE,
933 L222,
934 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
935 new double[] {-1.0, -1.0, -1.0},
936 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
937 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
938 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
939 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
940 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
941 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
942 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
943 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12));
944 case 46 -> spaceGroup =
945 new SpaceGroup(
946 46,
947 8,
948 4,
949 "Ima2",
950 "PGmm2",
951 "I m a 2",
952 ORTHORHOMBIC,
953 ORTHORHOMBIC_LATTICE,
954 L222,
955 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
956 new double[] {-1.0, -1.0, -1.0},
957 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
958 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
959 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_0),
960 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_0_0),
961 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
962 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
963 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
964 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_12_12));
965 case 47 -> spaceGroup =
966 new SpaceGroup(
967 47,
968 8,
969 8,
970 "Pmmm",
971 "PGmmm",
972 "P 2/m 2/m 2/m",
973 ORTHORHOMBIC,
974 ORTHORHOMBIC_LATTICE,
975 L222,
976 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
977 new double[] {f12, f12, f12},
978 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
979 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
980 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
981 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
982 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
983 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
984 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
985 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0));
986 case 48 -> spaceGroup =
987 new SpaceGroup(
988 48,
989 8,
990 8,
991 "Pnnn",
992 "PGmmm",
993 "P 2/n 2/n 2/n",
994 ORTHORHOMBIC,
995 ORTHORHOMBIC_LATTICE,
996 L222,
997 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
998 new double[] {-1.0, -1.0, -1.0},
999 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1000 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1001 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
1002 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
1003 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
1004 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
1005 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
1006 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12));
1007 case 49 -> spaceGroup =
1008 new SpaceGroup(
1009 49,
1010 8,
1011 8,
1012 "Pccm",
1013 "PGmmm",
1014 "P 2/c 2/c 2/m",
1015 ORTHORHOMBIC,
1016 ORTHORHOMBIC_LATTICE,
1017 L222,
1018 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1019 new double[] {-1.0, -1.0, -1.0},
1020 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1021 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1022 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_12),
1023 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
1024 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1025 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
1026 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
1027 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12));
1028 case 50 -> spaceGroup =
1029 new SpaceGroup(
1030 50,
1031 8,
1032 8,
1033 "Pban",
1034 "PGmmm",
1035 "P 2/b 2/a 2/n",
1036 ORTHORHOMBIC,
1037 ORTHORHOMBIC_LATTICE,
1038 L222,
1039 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1040 new double[] {-1.0, -1.0, -1.0},
1041 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1042 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1043 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
1044 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
1045 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
1046 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_0),
1047 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
1048 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0));
1049 default -> {
1050 }
1051 }
1052 return spaceGroup;
1053 }
1054
1055
1056
1057
1058
1059
1060
1061
1062 static SpaceGroup getSpaceGroup2(int num) {
1063 SpaceGroup spaceGroup = null;
1064 switch (num) {
1065 case 51 -> spaceGroup =
1066 new SpaceGroup(
1067 51,
1068 8,
1069 8,
1070 "Pmma",
1071 "PGmmm",
1072 "P 21/m 2/m 2/a",
1073 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1074 L222,
1075 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1076 new double[] {-1.0, -1.0, -1.0},
1077 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1078 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_0),
1079 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
1080 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_0),
1081 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1082 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_0),
1083 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
1084 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_0_0));
1085 case 52 -> spaceGroup =
1086 new SpaceGroup(
1087 52,
1088 8,
1089 8,
1090 "Pnna",
1091 "PGmmm",
1092 "P 2/n 21/n 2/a",
1093 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1094 L222,
1095 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1096 new double[] {-1.0, -1.0, -1.0},
1097 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1098 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_0),
1099 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
1100 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_12),
1101 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1102 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_0),
1103 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
1104 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_12_12));
1105 case 53 -> spaceGroup =
1106 new SpaceGroup(
1107 53,
1108 8,
1109 8,
1110 "Pmna",
1111 "PGmmm",
1112 "P 2/m 2/n 21/a",
1113 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1114 L222,
1115 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1116 new double[] {-1.0, -1.0, -1.0},
1117 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1118 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
1119 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
1120 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
1121 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1122 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_12),
1123 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_12),
1124 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0));
1125 case 54 -> spaceGroup =
1126 new SpaceGroup(
1127 54,
1128 8,
1129 8,
1130 "Pcca",
1131 "PGmmm",
1132 "P 21/c 2/c 2/a",
1133 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1134 L222,
1135 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1136 new double[] {-1.0, -1.0, -1.0},
1137 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1138 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_0),
1139 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_12),
1140 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
1141 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1142 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_0),
1143 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
1144 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_0_12));
1145 case 55 -> spaceGroup =
1146 new SpaceGroup(
1147 55,
1148 8,
1149 8,
1150 "Pbam",
1151 "PGmmm",
1152 "P 21/b 21/a 2/m",
1153 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1154 L222,
1155 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1156 new double[] {-1.0, -1.0, -1.0},
1157 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1158 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1159 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
1160 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
1161 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1162 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
1163 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
1164 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0));
1165 case 56 -> spaceGroup =
1166 new SpaceGroup(
1167 56,
1168 8,
1169 8,
1170 "Pccn",
1171 "PGmmm",
1172 "P 21/c 21/c 2/n",
1173 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1174 L222,
1175 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1176 new double[] {-1.0, -1.0, -1.0},
1177 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1178 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
1179 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
1180 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
1181 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1182 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_0),
1183 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
1184 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_0_12));
1185 case 57 -> spaceGroup =
1186 new SpaceGroup(
1187 57,
1188 8,
1189 8,
1190 "Pbcm",
1191 "PGmmm",
1192 "P 2/b 21/c 21/m",
1193 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1194 L222,
1195 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1196 new double[] {-1.0, -1.0, -1.0},
1197 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1198 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
1199 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
1200 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_0),
1201 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1202 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_12),
1203 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
1204 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_12_0));
1205 case 58 -> spaceGroup =
1206 new SpaceGroup(
1207 58,
1208 8,
1209 8,
1210 "Pnnm",
1211 "PGmmm",
1212 "P 21/n 21/n 2/m",
1213 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1214 L222,
1215 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1216 new double[] {-1.0, -1.0, -1.0},
1217 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1218 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1219 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
1220 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
1221 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1222 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
1223 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
1224 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12));
1225 case 59 -> spaceGroup =
1226 new SpaceGroup(
1227 59,
1228 8,
1229 8,
1230 "Pmmn",
1231 "PGmmm",
1232 "P 21/m 21/m 2/n",
1233 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1234 L222,
1235 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1236 new double[] {-1.0, -1.0, -1.0},
1237 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1238 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1239 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
1240 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
1241 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
1242 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_0),
1243 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
1244 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0));
1245 case 60 -> spaceGroup =
1246 new SpaceGroup(
1247 60,
1248 8,
1249 8,
1250 "Pbcn",
1251 "PGmmm",
1252 "P 21/b 2/c 21/n",
1253 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1254 L222,
1255 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1256 new double[] {-1.0, -1.0, -1.0},
1257 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1258 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
1259 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_12),
1260 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
1261 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1262 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
1263 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
1264 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0));
1265 case 61 -> spaceGroup =
1266 new SpaceGroup(
1267 61,
1268 8,
1269 8,
1270 "Pbca",
1271 "PGmmm",
1272 "P 21/b 21/c 21/a",
1273 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1274 L222,
1275 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1276 new double[] {-1.0, -1.0, -1.0},
1277 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1278 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
1279 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
1280 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
1281 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1282 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_12),
1283 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
1284 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0));
1285 case 62 -> spaceGroup =
1286 new SpaceGroup(
1287 62,
1288 8,
1289 8,
1290 "Pnma",
1291 "PGmmm",
1292 "P 21/n 21/m 21/a",
1293 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1294 L222,
1295 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1296 new double[] {-1.0, -1.0, -1.0},
1297 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1298 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
1299 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_0),
1300 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
1301 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1302 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_12),
1303 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_0),
1304 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12));
1305 case 63 -> spaceGroup =
1306 new SpaceGroup(
1307 63,
1308 16,
1309 8,
1310 "Cmcm",
1311 "PGmmm",
1312 "C 2/m 2/c 21/m",
1313 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1314 L222,
1315 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1316 new double[] {-1.0, -1.0, -1.0},
1317 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1318 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
1319 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_12),
1320 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
1321 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1322 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_12),
1323 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
1324 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
1325 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
1326 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
1327 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
1328 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
1329 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
1330 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
1331 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
1332 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0));
1333 case 64 -> spaceGroup =
1334 new SpaceGroup(
1335 64,
1336 16,
1337 8,
1338 "Cmca",
1339 "PGmmm",
1340 "C 2/m 2/c 21/a",
1341 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1342 L222,
1343 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1344 new double[] {-1.0, -1.0, -1.0},
1345 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1346 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
1347 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
1348 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
1349 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1350 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_12_12),
1351 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
1352 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
1353 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
1354 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
1355 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
1356 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
1357 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
1358 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_12),
1359 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_12),
1360 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0));
1361 case 65 -> spaceGroup =
1362 new SpaceGroup(
1363 65,
1364 16,
1365 8,
1366 "Cmmm",
1367 "PGmmm",
1368 "C 2/m 2/m 2/m",
1369 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1370 L222,
1371 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
1372 new double[] {f12, f14, f12},
1373 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1374 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1375 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
1376 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
1377 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1378 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
1379 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
1380 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
1381 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
1382 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
1383 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
1384 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
1385 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
1386 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_0),
1387 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
1388 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0));
1389 case 66 -> spaceGroup =
1390 new SpaceGroup(
1391 66,
1392 16,
1393 8,
1394 "Cccm",
1395 "PGmmm",
1396 "C 2/c 2/c 2/m",
1397 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1398 L222,
1399 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1400 new double[] {-1.0, -1.0, -1.0},
1401 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1402 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1403 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_12),
1404 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
1405 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1406 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
1407 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
1408 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
1409 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
1410 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
1411 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
1412 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
1413 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
1414 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_0),
1415 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
1416 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12));
1417 case 67 -> spaceGroup =
1418 new SpaceGroup(
1419 67,
1420 16,
1421 8,
1422 "Cmma",
1423 "PGmmm",
1424 "C 2/m 2/m 2/a",
1425 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1426 L222,
1427 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1428 new double[] {-1.0, -1.0, -1.0},
1429 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1430 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_0),
1431 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_0),
1432 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
1433 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1434 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_12_0),
1435 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_0),
1436 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
1437 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
1438 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_0),
1439 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_0),
1440 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
1441 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
1442 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_0),
1443 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_0),
1444 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0));
1445 case 68 -> spaceGroup =
1446 new SpaceGroup(
1447 68,
1448 16,
1449 8,
1450 "Ccca",
1451 "PGmmm",
1452 "C 2/c 2/c 2/a",
1453 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1454 L222,
1455 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1456 new double[] {-1.0, -1.0, -1.0},
1457 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1458 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
1459 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
1460 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
1461 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_12_12),
1462 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_12),
1463 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
1464 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_0_12),
1465 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
1466 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1467 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
1468 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
1469 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_0_12),
1470 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_12_12),
1471 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_12),
1472 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_12_12));
1473 case 69 -> spaceGroup =
1474 new SpaceGroup(
1475 69,
1476 32,
1477 8,
1478 "Fmmm",
1479 "PGmmm",
1480 "F 2/m 2/m 2/m",
1481 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1482 L222,
1483 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
1484 new double[] {f14, f14, f12},
1485 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1486 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1487 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
1488 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
1489 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1490 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
1491 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
1492 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
1493 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
1494 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
1495 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
1496 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_12),
1497 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_12_12),
1498 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_12_12),
1499 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
1500 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_12_12),
1501 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
1502 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
1503 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
1504 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
1505 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_0_12),
1506 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_12),
1507 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_12),
1508 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_0_12),
1509 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
1510 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
1511 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
1512 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
1513 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
1514 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_0),
1515 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
1516 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0));
1517 case 70 -> spaceGroup =
1518 new SpaceGroup(
1519 70,
1520 32,
1521 8,
1522 "Fddd",
1523 "PGmmm",
1524 "F 2/d 2/d 2/d",
1525 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1526 L222,
1527 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1528 new double[] {-1.0, -1.0, -1.0},
1529 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1530 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1531 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
1532 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
1533 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_14_14_14),
1534 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_14_14_14),
1535 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_14_14_14),
1536 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_14_14_14),
1537 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
1538 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
1539 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
1540 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_12),
1541 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_14_34_34),
1542 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_14_34_34),
1543 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_14_34_34),
1544 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_14_34_34),
1545 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
1546 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
1547 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
1548 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
1549 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_34_14_34),
1550 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_34_14_34),
1551 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_34_14_34),
1552 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_34_14_34),
1553 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
1554 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
1555 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
1556 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
1557 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_34_34_14),
1558 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_34_34_14),
1559 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_34_34_14),
1560 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_34_34_14));
1561 case 71 -> spaceGroup =
1562 new SpaceGroup(
1563 71,
1564 16,
1565 8,
1566 "Immm",
1567 "PGmmm",
1568 "I 2/m 2/m 2/m",
1569 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1570 L222,
1571 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
1572 new double[] {f12, f14, f12},
1573 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1574 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1575 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
1576 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
1577 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1578 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
1579 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
1580 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
1581 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
1582 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
1583 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
1584 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
1585 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
1586 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
1587 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
1588 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12));
1589 case 72 -> spaceGroup =
1590 new SpaceGroup(
1591 72,
1592 16,
1593 8,
1594 "Ibam",
1595 "PGmmm",
1596 "I 2/b 2/a 2/m",
1597 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1598 L222,
1599 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1600 new double[] {-1.0, -1.0, -1.0},
1601 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1602 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1603 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
1604 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
1605 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1606 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
1607 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
1608 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
1609 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
1610 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
1611 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_12),
1612 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
1613 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
1614 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
1615 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
1616 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12));
1617 case 73 -> spaceGroup =
1618 new SpaceGroup(
1619 73,
1620 16,
1621 8,
1622 "Ibca",
1623 "PGmmm",
1624 "I 21/b 21/c 21/a",
1625 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1626 L222,
1627 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1628 new double[] {-1.0, -1.0, -1.0},
1629 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1630 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
1631 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
1632 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
1633 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1634 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_12),
1635 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
1636 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
1637 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
1638 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_0),
1639 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_0),
1640 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
1641 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
1642 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_12_0),
1643 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_0),
1644 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12));
1645 case 74 -> spaceGroup =
1646 new SpaceGroup(
1647 74,
1648 16,
1649 8,
1650 "Imma",
1651 "PGmmm",
1652 "I 21/m 21/m 21/a",
1653 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
1654 L222,
1655 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1656 new double[] {-1.0, -1.0, -1.0},
1657 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1658 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_0),
1659 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_0),
1660 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
1661 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1662 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_12_0),
1663 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_0),
1664 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
1665 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
1666 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
1667 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
1668 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
1669 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
1670 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_12),
1671 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_12),
1672 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12));
1673 case 75 -> spaceGroup =
1674 new SpaceGroup(
1675 75,
1676 4,
1677 4,
1678 "P4",
1679 "PG4",
1680 "P 4",
1681 TETRAGONAL, TETRAGONAL_LATTICE,
1682 L114,
1683 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LT},
1684 new double[] {f12, f12, 1.0},
1685 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1686 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1687 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
1688 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0));
1689 case 76 -> spaceGroup =
1690 new SpaceGroup(
1691 76,
1692 4,
1693 4,
1694 "P41",
1695 "PG4",
1696 "P 41",
1697 TETRAGONAL, TETRAGONAL_LATTICE,
1698 L114,
1699 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1700 new double[] {1.0, 1.0, f14},
1701 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1702 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
1703 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_14),
1704 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_34));
1705 case 77 -> spaceGroup =
1706 new SpaceGroup(
1707 77,
1708 4,
1709 4,
1710 "P42",
1711 "PG4",
1712 "P 42",
1713 TETRAGONAL, TETRAGONAL_LATTICE,
1714 L114,
1715 new ASULimit[] {ASULimit.LTE, ASULimit.LT, ASULimit.LT},
1716 new double[] {f12, 1.0, f12},
1717 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1718 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1719 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_12),
1720 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_12));
1721 case 78 -> spaceGroup =
1722 new SpaceGroup(
1723 78,
1724 4,
1725 4,
1726 "P43",
1727 "PG4",
1728 "P 43",
1729 TETRAGONAL, TETRAGONAL_LATTICE,
1730 L114,
1731 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1732 new double[] {1.0, 1.0, f14},
1733 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1734 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
1735 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_34),
1736 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_14));
1737 case 79 -> spaceGroup =
1738 new SpaceGroup(
1739 79,
1740 8,
1741 4,
1742 "I4",
1743 "PG4",
1744 "I 4",
1745 TETRAGONAL, TETRAGONAL_LATTICE,
1746 L114,
1747 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
1748 new double[] {f12, f12, f12},
1749 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1750 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1751 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
1752 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
1753 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
1754 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
1755 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
1756 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12));
1757 case 80 -> spaceGroup =
1758 new SpaceGroup(
1759 80,
1760 8,
1761 4,
1762 "I41",
1763 "PG4",
1764 "I 41",
1765 TETRAGONAL, TETRAGONAL_LATTICE,
1766 L114,
1767 new ASULimit[] {ASULimit.LTE, ASULimit.LT, ASULimit.LT},
1768 new double[] {f12, 1.0, f14},
1769 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1770 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
1771 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_12_14),
1772 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_0_34),
1773 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
1774 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1775 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_0_34),
1776 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_12_14));
1777 case 81 -> spaceGroup =
1778 new SpaceGroup(
1779 81,
1780 4,
1781 4,
1782 "P-4",
1783 "PG4bar",
1784 "P -4",
1785 TETRAGONAL, TETRAGONAL_LATTICE,
1786 L114,
1787 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1788 new double[] {-1.0, -1.0, -1.0},
1789 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1790 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1791 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
1792 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0));
1793 case 82 -> spaceGroup =
1794 new SpaceGroup(
1795 82,
1796 8,
1797 4,
1798 "I-4",
1799 "PG4bar",
1800 "I -4",
1801 TETRAGONAL, TETRAGONAL_LATTICE,
1802 L114,
1803 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1804 new double[] {-1.0, -1.0, -1.0},
1805 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1806 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1807 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
1808 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
1809 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
1810 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
1811 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
1812 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12));
1813 case 83 -> spaceGroup =
1814 new SpaceGroup(
1815 83,
1816 8,
1817 8,
1818 "P4/m",
1819 "PG4/m",
1820 "P 4/m",
1821 TETRAGONAL, TETRAGONAL_LATTICE,
1822 L114,
1823 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
1824 new double[] {f12, f12, f12},
1825 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1826 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1827 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
1828 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
1829 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1830 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
1831 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
1832 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0));
1833 case 84 -> spaceGroup =
1834 new SpaceGroup(
1835 84,
1836 8,
1837 8,
1838 "P42/m",
1839 "PG4/m",
1840 "P 42/m",
1841 TETRAGONAL, TETRAGONAL_LATTICE,
1842 L114,
1843 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1844 new double[] {-1.0, -1.0, -1.0},
1845 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1846 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1847 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_12),
1848 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_12),
1849 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1850 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
1851 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_12),
1852 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_12));
1853 case 85 -> spaceGroup =
1854 new SpaceGroup(
1855 85,
1856 8,
1857 8,
1858 "P4/n",
1859 "PG4/m",
1860 "P 4/n",
1861 TETRAGONAL, TETRAGONAL_LATTICE,
1862 L114,
1863 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1864 new double[] {-1.0, -1.0, -1.0},
1865 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1866 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1867 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_0),
1868 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_0),
1869 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
1870 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_0),
1871 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
1872 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0));
1873 case 86 -> spaceGroup =
1874 new SpaceGroup(
1875 86,
1876 8,
1877 8,
1878 "P42/n",
1879 "PG4/m",
1880 "P 42/n",
1881 TETRAGONAL, TETRAGONAL_LATTICE,
1882 L114,
1883 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1884 new double[] {-1.0, -1.0, -1.0},
1885 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1886 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1887 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
1888 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
1889 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
1890 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
1891 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
1892 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0));
1893 case 87 -> spaceGroup =
1894 new SpaceGroup(
1895 87,
1896 16,
1897 8,
1898 "I4/m",
1899 "PG4/m",
1900 "I 4/m",
1901 TETRAGONAL, TETRAGONAL_LATTICE,
1902 L114,
1903 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
1904 new double[] {f12, f12, f14},
1905 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1906 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1907 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
1908 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
1909 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
1910 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
1911 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
1912 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
1913 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
1914 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
1915 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
1916 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
1917 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
1918 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
1919 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
1920 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12));
1921 case 88 -> spaceGroup =
1922 new SpaceGroup(
1923 88,
1924 16,
1925 8,
1926 "I41/a",
1927 "PG4/m",
1928 "I 41/a",
1929 TETRAGONAL, TETRAGONAL_LATTICE,
1930 L114,
1931 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
1932 new double[] {-1.0, -1.0, -1.0},
1933 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1934 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
1935 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_12_14),
1936 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_0_34),
1937 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_12_14),
1938 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_34),
1939 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
1940 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
1941 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
1942 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1943 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_0_34),
1944 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_12_14),
1945 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_0_34),
1946 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_12_14),
1947 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
1948 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0));
1949 case 89 -> spaceGroup =
1950 new SpaceGroup(
1951 89,
1952 8,
1953 8,
1954 "P422",
1955 "PG422",
1956 "P 4 2 2",
1957 TETRAGONAL, TETRAGONAL_LATTICE,
1958 L224,
1959 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
1960 new double[] {f12, f12, f12},
1961 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1962 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1963 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
1964 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
1965 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
1966 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
1967 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
1968 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0));
1969 case 90 -> spaceGroup =
1970 new SpaceGroup(
1971 90,
1972 8,
1973 8,
1974 "P4212",
1975 "PG422",
1976 "P 4 21 2",
1977 TETRAGONAL, TETRAGONAL_LATTICE,
1978 L224,
1979 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
1980 new double[] {f12, f12, f12},
1981 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
1982 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
1983 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_0),
1984 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_0),
1985 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
1986 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
1987 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
1988 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0));
1989 case 91 -> spaceGroup =
1990 new SpaceGroup(
1991 91,
1992 8,
1993 8,
1994 "P4122",
1995 "PG422",
1996 "P 41 2 2",
1997 TETRAGONAL, TETRAGONAL_LATTICE,
1998 L224,
1999 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
2000 new double[] {1.0, 1.0, f18},
2001 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2002 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
2003 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_14),
2004 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_34),
2005 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
2006 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
2007 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_34),
2008 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_14));
2009 case 92 -> spaceGroup =
2010 new SpaceGroup(
2011 92,
2012 8,
2013 8,
2014 "P41212",
2015 "PG422",
2016 "P 41 21 2",
2017 TETRAGONAL, TETRAGONAL_LATTICE,
2018 L224,
2019 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
2020 new double[] {1.0, 1.0, f18},
2021 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2022 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
2023 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_14),
2024 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_34),
2025 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_14),
2026 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_34),
2027 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
2028 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12));
2029 case 93 -> spaceGroup =
2030 new SpaceGroup(
2031 93,
2032 8,
2033 8,
2034 "P4222",
2035 "PG422",
2036 "P 42 2 2",
2037 TETRAGONAL, TETRAGONAL_LATTICE,
2038 L224,
2039 new ASULimit[] {ASULimit.LTE, ASULimit.LT, ASULimit.LTE},
2040 new double[] {f12, 1.0, f14},
2041 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2042 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2043 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_12),
2044 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_12),
2045 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
2046 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
2047 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_12),
2048 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12));
2049 case 94 -> spaceGroup =
2050 new SpaceGroup(
2051 94,
2052 8,
2053 8,
2054 "P42212",
2055 "PG422",
2056 "P 42 21 2",
2057 TETRAGONAL, TETRAGONAL_LATTICE,
2058 L224,
2059 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
2060 new double[] {f12, f12, f12},
2061 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2062 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2063 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
2064 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
2065 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
2066 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
2067 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
2068 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0));
2069 case 95 -> spaceGroup =
2070 new SpaceGroup(
2071 95,
2072 8,
2073 8,
2074 "P4322",
2075 "PG422",
2076 "P 43 2 2",
2077 TETRAGONAL, TETRAGONAL_LATTICE,
2078 L224,
2079 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
2080 new double[] {1.0, 1.0, f18},
2081 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2082 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
2083 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_34),
2084 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_14),
2085 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
2086 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
2087 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_14),
2088 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_34));
2089 case 96 -> spaceGroup =
2090 new SpaceGroup(
2091 96,
2092 8,
2093 8,
2094 "P43212",
2095 "PG422",
2096 "P 43 21 2",
2097 TETRAGONAL, TETRAGONAL_LATTICE,
2098 L224,
2099 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
2100 new double[] {1.0, 1.0, f18},
2101 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2102 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
2103 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_34),
2104 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_14),
2105 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_34),
2106 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_14),
2107 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
2108 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12));
2109 case 97 -> spaceGroup =
2110 new SpaceGroup(
2111 97,
2112 16,
2113 8,
2114 "I422",
2115 "PG422",
2116 "I 4 2 2",
2117 TETRAGONAL, TETRAGONAL_LATTICE,
2118 L224,
2119 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
2120 new double[] {f12, f12, f14},
2121 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2122 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2123 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
2124 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
2125 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
2126 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
2127 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
2128 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
2129 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
2130 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
2131 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
2132 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
2133 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
2134 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
2135 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_12),
2136 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12));
2137 case 98 -> spaceGroup =
2138 new SpaceGroup(
2139 98,
2140 16,
2141 8,
2142 "I4122",
2143 "PG422",
2144 "I 41 2 2",
2145 TETRAGONAL, TETRAGONAL_LATTICE,
2146 L224,
2147 new ASULimit[] {ASULimit.LTE, ASULimit.LT, ASULimit.LTE},
2148 new double[] {f12, 1.0, f18},
2149 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2150 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
2151 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_12_14),
2152 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_0_34),
2153 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_34),
2154 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_14),
2155 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_12),
2156 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
2157 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
2158 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2159 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_0_34),
2160 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_12_14),
2161 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_14),
2162 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_34),
2163 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
2164 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12));
2165 case 99 -> spaceGroup =
2166 new SpaceGroup(
2167 99,
2168 8,
2169 8,
2170 "P4mm",
2171 "PG4mm",
2172 "P 4 m m",
2173 TETRAGONAL, TETRAGONAL_LATTICE,
2174 L224,
2175 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2176 new double[] {-1.0, -1.0, -1.0},
2177 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2178 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2179 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
2180 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
2181 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
2182 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
2183 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
2184 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0));
2185 case 100 -> spaceGroup =
2186 new SpaceGroup(
2187 100,
2188 8,
2189 8,
2190 "P4bm",
2191 "PG4mm",
2192 "P 4 b m",
2193 TETRAGONAL, TETRAGONAL_LATTICE,
2194 L224,
2195 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2196 new double[] {-1.0, -1.0, -1.0},
2197 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2198 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2199 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
2200 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
2201 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
2202 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
2203 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_0),
2204 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_0));
2205 default -> {
2206 }
2207 }
2208 return spaceGroup;
2209 }
2210
2211
2212
2213
2214
2215
2216
2217
2218 static SpaceGroup getSpaceGroup3(int num) {
2219 SpaceGroup spaceGroup = null;
2220 switch (num) {
2221 case 101 -> spaceGroup =
2222 new SpaceGroup(
2223 101,
2224 8,
2225 8,
2226 "P42cm",
2227 "PG4mm",
2228 "P 42 c m",
2229 TETRAGONAL, TETRAGONAL_LATTICE,
2230 L224,
2231 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2232 new double[] {-1.0, -1.0, -1.0},
2233 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2234 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2235 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_12),
2236 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_12),
2237 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
2238 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
2239 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
2240 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0));
2241 case 102 -> spaceGroup =
2242 new SpaceGroup(
2243 102,
2244 8,
2245 8,
2246 "P42nm",
2247 "PG4mm",
2248 "P 42 n m",
2249 TETRAGONAL, TETRAGONAL_LATTICE,
2250 L224,
2251 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2252 new double[] {-1.0, -1.0, -1.0},
2253 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2254 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2255 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
2256 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
2257 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
2258 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
2259 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
2260 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0));
2261 case 103 -> spaceGroup =
2262 new SpaceGroup(
2263 103,
2264 8,
2265 8,
2266 "P4cc",
2267 "PG4mm",
2268 "P 4 c c",
2269 TETRAGONAL, TETRAGONAL_LATTICE,
2270 L224,
2271 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2272 new double[] {-1.0, -1.0, -1.0},
2273 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2274 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2275 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
2276 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
2277 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
2278 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
2279 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
2280 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12));
2281 case 104 -> spaceGroup =
2282 new SpaceGroup(
2283 104,
2284 8,
2285 8,
2286 "P4nc",
2287 "PG4mm",
2288 "P 4 n c",
2289 TETRAGONAL, TETRAGONAL_LATTICE,
2290 L224,
2291 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2292 new double[] {-1.0, -1.0, -1.0},
2293 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2294 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2295 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
2296 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
2297 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
2298 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
2299 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
2300 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12));
2301 case 105 -> spaceGroup =
2302 new SpaceGroup(
2303 105,
2304 8,
2305 8,
2306 "P42mc",
2307 "PG4mm",
2308 "P 42 m c",
2309 TETRAGONAL, TETRAGONAL_LATTICE,
2310 L224,
2311 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2312 new double[] {-1.0, -1.0, -1.0},
2313 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2314 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2315 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_12),
2316 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_12),
2317 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
2318 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
2319 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
2320 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12));
2321 case 106 -> spaceGroup =
2322 new SpaceGroup(
2323 106,
2324 8,
2325 8,
2326 "P42bc",
2327 "PG4mm",
2328 "P 42 b c",
2329 TETRAGONAL, TETRAGONAL_LATTICE,
2330 L224,
2331 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2332 new double[] {-1.0, -1.0, -1.0},
2333 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2334 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2335 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_12),
2336 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_12),
2337 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
2338 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
2339 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
2340 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12));
2341 case 107 -> spaceGroup =
2342 new SpaceGroup(
2343 107,
2344 16,
2345 8,
2346 "I4mm",
2347 "PG4mm",
2348 "I 4 m m",
2349 TETRAGONAL, TETRAGONAL_LATTICE,
2350 L224,
2351 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2352 new double[] {-1.0, -1.0, -1.0},
2353 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2354 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2355 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
2356 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
2357 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
2358 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
2359 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
2360 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
2361 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
2362 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
2363 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
2364 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
2365 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
2366 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
2367 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
2368 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12));
2369 case 108 -> spaceGroup =
2370 new SpaceGroup(
2371 108,
2372 16,
2373 8,
2374 "I4cm",
2375 "PG4mm",
2376 "I 4 c m",
2377 TETRAGONAL, TETRAGONAL_LATTICE,
2378 L224,
2379 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2380 new double[] {-1.0, -1.0, -1.0},
2381 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2382 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2383 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
2384 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
2385 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
2386 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
2387 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
2388 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12),
2389 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
2390 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
2391 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
2392 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
2393 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
2394 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
2395 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_0),
2396 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_0));
2397 case 109 -> spaceGroup =
2398 new SpaceGroup(
2399 109,
2400 16,
2401 8,
2402 "I41md",
2403 "PG4mm",
2404 "I 41 m d",
2405 TETRAGONAL, TETRAGONAL_LATTICE,
2406 L224,
2407 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2408 new double[] {-1.0, -1.0, -1.0},
2409 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2410 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
2411 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_12_14),
2412 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_0_34),
2413 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
2414 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
2415 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_12_14),
2416 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_0_34),
2417 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
2418 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2419 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_0_34),
2420 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_12_14),
2421 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
2422 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
2423 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_0_34),
2424 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_12_14));
2425 case 110 -> spaceGroup =
2426 new SpaceGroup(
2427 110,
2428 16,
2429 8,
2430 "I41cd",
2431 "PG4mm",
2432 "I 41 c d",
2433 TETRAGONAL, TETRAGONAL_LATTICE,
2434 L224,
2435 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2436 new double[] {-1.0, -1.0, -1.0},
2437 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2438 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
2439 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_12_14),
2440 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_0_34),
2441 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
2442 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
2443 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_12_34),
2444 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_0_14),
2445 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
2446 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2447 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_0_34),
2448 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_12_14),
2449 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
2450 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
2451 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_0_14),
2452 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_12_34));
2453 case 111 -> spaceGroup =
2454 new SpaceGroup(
2455 111,
2456 8,
2457 8,
2458 "P-42m",
2459 "PG4bar2m",
2460 "P -4 2 m",
2461 TETRAGONAL, TETRAGONAL_LATTICE,
2462 L224,
2463 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2464 new double[] {-1.0, -1.0, -1.0},
2465 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2466 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2467 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2468 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2469 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
2470 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
2471 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
2472 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0));
2473 case 112 -> spaceGroup =
2474 new SpaceGroup(
2475 112,
2476 8,
2477 8,
2478 "P-42c",
2479 "PG4bar2m",
2480 "P -4 2 c",
2481 TETRAGONAL, TETRAGONAL_LATTICE,
2482 L224,
2483 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2484 new double[] {-1.0, -1.0, -1.0},
2485 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2486 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2487 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2488 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2489 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_12),
2490 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
2491 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
2492 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12));
2493 case 113 -> spaceGroup =
2494 new SpaceGroup(
2495 113,
2496 8,
2497 8,
2498 "P-421m",
2499 "PG4bar2m",
2500 "P -4 21 m",
2501 TETRAGONAL, TETRAGONAL_LATTICE,
2502 L224,
2503 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2504 new double[] {-1.0, -1.0, -1.0},
2505 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2506 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2507 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2508 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2509 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
2510 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
2511 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_0),
2512 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_0));
2513 case 114 -> spaceGroup =
2514 new SpaceGroup(
2515 114,
2516 8,
2517 8,
2518 "P-421c",
2519 "PG4bar2m",
2520 "P -4 21 c",
2521 TETRAGONAL, TETRAGONAL_LATTICE,
2522 L224,
2523 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2524 new double[] {-1.0, -1.0, -1.0},
2525 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2526 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2527 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2528 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2529 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
2530 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
2531 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
2532 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12));
2533 case 115 -> spaceGroup =
2534 new SpaceGroup(
2535 115,
2536 8,
2537 8,
2538 "P-4m2",
2539 "PG4barm2",
2540 "P -4 m 2",
2541 TETRAGONAL, TETRAGONAL_LATTICE,
2542 L224,
2543 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2544 new double[] {-1.0, -1.0, -1.0},
2545 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2546 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2547 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2548 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2549 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
2550 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
2551 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
2552 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0));
2553 case 116 -> spaceGroup =
2554 new SpaceGroup(
2555 116,
2556 8,
2557 8,
2558 "P-4c2",
2559 "PG4barm2",
2560 "P -4 c 2",
2561 TETRAGONAL, TETRAGONAL_LATTICE,
2562 L224,
2563 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2564 new double[] {-1.0, -1.0, -1.0},
2565 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2566 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2567 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2568 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2569 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
2570 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
2571 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_12),
2572 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12));
2573 case 117 -> spaceGroup =
2574 new SpaceGroup(
2575 117,
2576 8,
2577 8,
2578 "P-4b2",
2579 "PG4barm2",
2580 "P -4 b 2",
2581 TETRAGONAL, TETRAGONAL_LATTICE,
2582 L224,
2583 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2584 new double[] {-1.0, -1.0, -1.0},
2585 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2586 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2587 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2588 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2589 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
2590 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
2591 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_0),
2592 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_0));
2593 case 118 -> spaceGroup =
2594 new SpaceGroup(
2595 118,
2596 8,
2597 8,
2598 "P-4n2",
2599 "PG4barm2",
2600 "P -4 n 2",
2601 TETRAGONAL, TETRAGONAL_LATTICE,
2602 L224,
2603 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2604 new double[] {-1.0, -1.0, -1.0},
2605 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2606 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2607 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2608 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2609 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
2610 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
2611 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_12),
2612 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12));
2613 case 119 -> spaceGroup =
2614 new SpaceGroup(
2615 119,
2616 16,
2617 8,
2618 "I-4m2",
2619 "PG4barm2",
2620 "I -4 m 2",
2621 TETRAGONAL, TETRAGONAL_LATTICE,
2622 L224,
2623 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2624 new double[] {-1.0, -1.0, -1.0},
2625 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2626 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2627 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2628 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2629 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
2630 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
2631 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
2632 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
2633 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
2634 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
2635 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
2636 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
2637 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
2638 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
2639 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_12),
2640 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12));
2641 case 120 -> spaceGroup =
2642 new SpaceGroup(
2643 120,
2644 16,
2645 8,
2646 "I-4c2",
2647 "PG4barm2",
2648 "I -4 c 2",
2649 TETRAGONAL, TETRAGONAL_LATTICE,
2650 L224,
2651 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2652 new double[] {-1.0, -1.0, -1.0},
2653 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2654 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2655 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2656 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2657 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
2658 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
2659 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_12),
2660 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12),
2661 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
2662 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
2663 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
2664 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
2665 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
2666 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
2667 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_0),
2668 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_0));
2669 case 121 -> spaceGroup =
2670 new SpaceGroup(
2671 121,
2672 16,
2673 8,
2674 "I-42m",
2675 "PG4bar2m",
2676 "I -4 2 m",
2677 TETRAGONAL, TETRAGONAL_LATTICE,
2678 L224,
2679 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2680 new double[] {-1.0, -1.0, -1.0},
2681 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2682 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2683 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2684 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2685 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
2686 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
2687 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
2688 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
2689 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
2690 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
2691 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
2692 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
2693 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
2694 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
2695 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
2696 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12));
2697 case 122 -> spaceGroup =
2698 new SpaceGroup(
2699 122,
2700 16,
2701 8,
2702 "I-42d",
2703 "PG4bar2m",
2704 "I -4 2 d",
2705 TETRAGONAL, TETRAGONAL_LATTICE,
2706 L224,
2707 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2708 new double[] {-1.0, -1.0, -1.0},
2709 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2710 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2711 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2712 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2713 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_34),
2714 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_34),
2715 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_0_34),
2716 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_0_34),
2717 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
2718 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
2719 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
2720 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
2721 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_14),
2722 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_14),
2723 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_12_14),
2724 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_12_14));
2725 case 123 -> spaceGroup =
2726 new SpaceGroup(
2727 123,
2728 16,
2729 16,
2730 "P4/mmm",
2731 "PG4/mmm",
2732 "P 4/m 2/m 2/m",
2733 TETRAGONAL, TETRAGONAL_LATTICE,
2734 L224,
2735 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
2736 new double[] {f12, f12, f12},
2737 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2738 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2739 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
2740 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
2741 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
2742 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
2743 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
2744 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
2745 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
2746 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
2747 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2748 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2749 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
2750 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
2751 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
2752 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0));
2753 case 124 -> spaceGroup =
2754 new SpaceGroup(
2755 124,
2756 16,
2757 16,
2758 "P4/mcc",
2759 "PG4/mmm",
2760 "P 4/m 2/c 2/c",
2761 TETRAGONAL, TETRAGONAL_LATTICE,
2762 L224,
2763 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2764 new double[] {-1.0, -1.0, -1.0},
2765 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2766 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2767 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
2768 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
2769 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_12),
2770 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
2771 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_12),
2772 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12),
2773 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
2774 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
2775 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2776 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2777 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
2778 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
2779 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
2780 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12));
2781 case 125 -> spaceGroup =
2782 new SpaceGroup(
2783 125,
2784 16,
2785 16,
2786 "P4/nbm",
2787 "PG4/mmm",
2788 "P 4/n 2/b 2/m",
2789 TETRAGONAL, TETRAGONAL_LATTICE,
2790 L224,
2791 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2792 new double[] {-1.0, -1.0, -1.0},
2793 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2794 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2795 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
2796 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
2797 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
2798 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
2799 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
2800 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
2801 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
2802 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_0),
2803 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_0),
2804 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_0),
2805 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
2806 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
2807 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_0),
2808 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_0));
2809 case 126 -> spaceGroup =
2810 new SpaceGroup(
2811 126,
2812 16,
2813 16,
2814 "P4/nnc",
2815 "PG4/mmm",
2816 "P 4/n 2/n 2/c",
2817 TETRAGONAL, TETRAGONAL_LATTICE,
2818 L224,
2819 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2820 new double[] {-1.0, -1.0, -1.0},
2821 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2822 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2823 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
2824 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
2825 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
2826 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
2827 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
2828 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
2829 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
2830 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
2831 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
2832 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
2833 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
2834 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
2835 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
2836 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12));
2837 case 127 -> spaceGroup =
2838 new SpaceGroup(
2839 127,
2840 16,
2841 16,
2842 "P4/mbm",
2843 "PG4/mmm",
2844 "P 4/m 21/b 2/m",
2845 TETRAGONAL, TETRAGONAL_LATTICE,
2846 L224,
2847 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2848 new double[] {-1.0, -1.0, -1.0},
2849 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2850 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2851 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
2852 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
2853 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
2854 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
2855 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_0),
2856 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_0),
2857 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
2858 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
2859 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2860 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2861 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
2862 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
2863 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_0),
2864 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_0));
2865 case 128 -> spaceGroup =
2866 new SpaceGroup(
2867 128,
2868 16,
2869 16,
2870 "P4/mnc",
2871 "PG4/mmm",
2872 "P 4/m 21/n 2/c",
2873 TETRAGONAL, TETRAGONAL_LATTICE,
2874 L224,
2875 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2876 new double[] {-1.0, -1.0, -1.0},
2877 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2878 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2879 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
2880 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
2881 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
2882 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
2883 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_12),
2884 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12),
2885 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
2886 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
2887 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2888 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2889 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
2890 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
2891 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
2892 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12));
2893 case 129 -> spaceGroup =
2894 new SpaceGroup(
2895 129,
2896 16,
2897 16,
2898 "P4/nmm",
2899 "PG4/mmm",
2900 "P 4/n 21/m 2/m",
2901 TETRAGONAL, TETRAGONAL_LATTICE,
2902 L224,
2903 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2904 new double[] {-1.0, -1.0, -1.0},
2905 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2906 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2907 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_0),
2908 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_0),
2909 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
2910 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
2911 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
2912 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
2913 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
2914 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_0),
2915 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2916 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2917 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
2918 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
2919 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_0),
2920 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_0));
2921 case 130 -> spaceGroup =
2922 new SpaceGroup(
2923 130,
2924 16,
2925 16,
2926 "P4/ncc",
2927 "PG4/mmm",
2928 "P 4/n 2/c 2/c",
2929 TETRAGONAL, TETRAGONAL_LATTICE,
2930 L224,
2931 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2932 new double[] {-1.0, -1.0, -1.0},
2933 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2934 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2935 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_0),
2936 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_0),
2937 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
2938 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
2939 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_12),
2940 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12),
2941 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
2942 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_0),
2943 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
2944 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
2945 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
2946 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
2947 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
2948 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12));
2949 case 131 -> spaceGroup =
2950 new SpaceGroup(
2951 131,
2952 16,
2953 16,
2954 "P42/mmc",
2955 "PG4/mmm",
2956 "P 42/m 2/m 2/c",
2957 TETRAGONAL, TETRAGONAL_LATTICE,
2958 L224,
2959 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2960 new double[] {-1.0, -1.0, -1.0},
2961 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2962 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2963 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_12),
2964 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_12),
2965 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
2966 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
2967 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_12),
2968 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12),
2969 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
2970 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
2971 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_12),
2972 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_12),
2973 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
2974 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
2975 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
2976 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12));
2977 case 132 -> spaceGroup =
2978 new SpaceGroup(
2979 132,
2980 16,
2981 16,
2982 "P42/mcm",
2983 "PG4/mmm",
2984 "P 42/m 2/c 2/m",
2985 TETRAGONAL, TETRAGONAL_LATTICE,
2986 L224,
2987 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
2988 new double[] {-1.0, -1.0, -1.0},
2989 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
2990 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
2991 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_12),
2992 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_12),
2993 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_12),
2994 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
2995 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
2996 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
2997 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
2998 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
2999 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_12),
3000 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_12),
3001 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
3002 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
3003 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
3004 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0));
3005 case 133 -> spaceGroup =
3006 new SpaceGroup(
3007 133,
3008 16,
3009 16,
3010 "P42/nbc",
3011 "PG4/mmm",
3012 "P 42/n 2/b 2/c",
3013 TETRAGONAL, TETRAGONAL_LATTICE,
3014 L224,
3015 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3016 new double[] {-1.0, -1.0, -1.0},
3017 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3018 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
3019 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
3020 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
3021 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_12),
3022 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
3023 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_0),
3024 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_0),
3025 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
3026 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
3027 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
3028 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
3029 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
3030 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
3031 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
3032 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12));
3033 case 134 -> spaceGroup =
3034 new SpaceGroup(
3035 134,
3036 16,
3037 16,
3038 "P42/nnm",
3039 "PG4/mmm",
3040 "P 42/n 2/n 2/m",
3041 TETRAGONAL, TETRAGONAL_LATTICE,
3042 L224,
3043 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3044 new double[] {-1.0, -1.0, -1.0},
3045 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3046 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
3047 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
3048 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
3049 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
3050 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
3051 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_12),
3052 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12),
3053 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
3054 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
3055 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
3056 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
3057 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
3058 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
3059 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
3060 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0));
3061 case 135 -> spaceGroup =
3062 new SpaceGroup(
3063 135,
3064 16,
3065 16,
3066 "P42/mbc",
3067 "PG4/mmm",
3068 "P 42/m 21/b 2/c",
3069 TETRAGONAL, TETRAGONAL_LATTICE,
3070 L224,
3071 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3072 new double[] {-1.0, -1.0, -1.0},
3073 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3074 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
3075 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_12),
3076 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_12),
3077 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
3078 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
3079 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_12),
3080 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12),
3081 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
3082 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
3083 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_12),
3084 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_12),
3085 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
3086 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
3087 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
3088 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12));
3089 case 136 -> spaceGroup =
3090 new SpaceGroup(
3091 136,
3092 16,
3093 16,
3094 "P42/mnm",
3095 "PG4/mmm",
3096 "P 42/m 21/n 2/m",
3097 TETRAGONAL, TETRAGONAL_LATTICE,
3098 L224,
3099 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3100 new double[] {-1.0, -1.0, -1.0},
3101 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3102 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
3103 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
3104 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
3105 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
3106 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
3107 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
3108 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
3109 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
3110 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
3111 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
3112 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
3113 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
3114 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
3115 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
3116 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0));
3117 case 137 -> spaceGroup =
3118 new SpaceGroup(
3119 137,
3120 16,
3121 16,
3122 "P42/nmc",
3123 "PG4/mmm",
3124 "P 42/n 21/m 2/c",
3125 TETRAGONAL, TETRAGONAL_LATTICE,
3126 L224,
3127 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3128 new double[] {-1.0, -1.0, -1.0},
3129 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3130 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
3131 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
3132 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
3133 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
3134 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
3135 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
3136 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
3137 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
3138 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
3139 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
3140 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
3141 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
3142 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
3143 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
3144 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12));
3145 case 138 -> spaceGroup =
3146 new SpaceGroup(
3147 138,
3148 16,
3149 16,
3150 "P42/ncm",
3151 "PG4/mmm",
3152 "P 42/n 21/c 2/m",
3153 TETRAGONAL, TETRAGONAL_LATTICE,
3154 L224,
3155 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3156 new double[] {-1.0, -1.0, -1.0},
3157 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3158 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
3159 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
3160 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
3161 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
3162 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
3163 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_12),
3164 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12),
3165 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
3166 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
3167 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
3168 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
3169 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
3170 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
3171 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_0),
3172 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_0));
3173 case 139 -> spaceGroup =
3174 new SpaceGroup(
3175 139,
3176 32,
3177 16,
3178 "I4/mmm",
3179 "PG4/mmm",
3180 "I 4/m 2/m 2/m",
3181 TETRAGONAL, TETRAGONAL_LATTICE,
3182 L224,
3183 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
3184 new double[] {f12, f12, f14},
3185 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3186 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
3187 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
3188 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
3189 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
3190 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
3191 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
3192 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
3193 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
3194 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
3195 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
3196 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
3197 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
3198 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
3199 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
3200 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
3201 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
3202 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
3203 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
3204 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
3205 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
3206 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
3207 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_12),
3208 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12),
3209 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
3210 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
3211 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
3212 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
3213 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
3214 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
3215 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
3216 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12));
3217 case 140 -> spaceGroup =
3218 new SpaceGroup(
3219 140,
3220 32,
3221 16,
3222 "I4/mcm",
3223 "PG4/mmm",
3224 "I 4/m 2/c 2/m",
3225 TETRAGONAL, TETRAGONAL_LATTICE,
3226 L224,
3227 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3228 new double[] {-1.0, -1.0, -1.0},
3229 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3230 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
3231 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
3232 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
3233 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_12),
3234 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
3235 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_12),
3236 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12),
3237 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
3238 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
3239 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
3240 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
3241 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
3242 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
3243 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
3244 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12),
3245 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
3246 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
3247 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
3248 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
3249 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
3250 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
3251 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_0),
3252 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_0),
3253 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
3254 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
3255 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
3256 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
3257 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
3258 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
3259 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_0),
3260 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_0));
3261 case 141 -> spaceGroup =
3262 new SpaceGroup(
3263 141,
3264 32,
3265 16,
3266 "I41/amd",
3267 "PG4/mmm",
3268 "I 41/a 2/m 2/d",
3269 TETRAGONAL, TETRAGONAL_LATTICE,
3270 L224,
3271 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3272 new double[] {-1.0, -1.0, -1.0},
3273 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3274 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
3275 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_12_14),
3276 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_0_34),
3277 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_34),
3278 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_14),
3279 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_12),
3280 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
3281 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_12_14),
3282 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_34),
3283 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
3284 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
3285 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
3286 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
3287 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_0_34),
3288 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_12_14),
3289 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
3290 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
3291 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_0_34),
3292 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_12_14),
3293 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_14),
3294 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_34),
3295 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
3296 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12),
3297 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_0_34),
3298 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_12_14),
3299 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
3300 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
3301 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
3302 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
3303 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_12_14),
3304 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_0_34));
3305 case 142 -> spaceGroup =
3306 new SpaceGroup(
3307 142,
3308 32,
3309 16,
3310 "I41/acd",
3311 "PG4/mmm",
3312 "I 41/a 2/c 2/d",
3313 TETRAGONAL, TETRAGONAL_LATTICE,
3314 L224,
3315 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3316 new double[] {-1.0, -1.0, -1.0},
3317 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3318 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
3319 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_12_14),
3320 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_0_34),
3321 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_14),
3322 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_34),
3323 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_0),
3324 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12),
3325 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_12_14),
3326 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_34),
3327 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
3328 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
3329 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
3330 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
3331 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_0_14),
3332 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_12_34),
3333 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
3334 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
3335 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_0_34),
3336 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_12_14),
3337 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_34),
3338 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_14),
3339 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_12),
3340 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_0),
3341 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_0_34),
3342 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_12_14),
3343 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
3344 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
3345 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_12),
3346 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
3347 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_12_34),
3348 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_0_14));
3349 case 143 -> spaceGroup =
3350 new SpaceGroup(
3351 143,
3352 3,
3353 3,
3354 "P3",
3355 "PG3",
3356 "P 3",
3357 TRIGONAL, HEXAGONAL_LATTICE,
3358 L113,
3359 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LT},
3360 new double[] {f23, f23, 1.0},
3361 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3362 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3363 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0));
3364 case 144 -> spaceGroup =
3365 new SpaceGroup(
3366 144,
3367 3,
3368 3,
3369 "P31",
3370 "PG3",
3371 "P 31",
3372 TRIGONAL, HEXAGONAL_LATTICE,
3373 L113,
3374 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3375 new double[] {1.0, 1.0, f13},
3376 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3377 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_13),
3378 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_23));
3379 case 145 -> spaceGroup =
3380 new SpaceGroup(
3381 145,
3382 3,
3383 3,
3384 "P32",
3385 "PG3",
3386 "P 32",
3387 TRIGONAL, HEXAGONAL_LATTICE,
3388 L113,
3389 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3390 new double[] {1.0, 1.0, f13},
3391 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3392 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_23),
3393 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_13));
3394 case 146 -> spaceGroup =
3395 new SpaceGroup(
3396 146,
3397 9,
3398 3,
3399 "H3",
3400 "PG3",
3401 "H 3",
3402 TRIGONAL, HEXAGONAL_LATTICE,
3403 L113,
3404 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LT},
3405 new double[] {f23, f23, f13},
3406 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3407 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3408 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3409 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_23_13_13),
3410 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_23_13_13),
3411 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_23_13_13),
3412 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_13_23_23),
3413 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_13_23_23),
3414 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_13_23_23));
3415 case 147 -> spaceGroup =
3416 new SpaceGroup(
3417 147,
3418 6,
3419 6,
3420 "P-3",
3421 "PG3bar",
3422 "P -3",
3423 TRIGONAL, HEXAGONAL_LATTICE,
3424 L113,
3425 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
3426 new double[] {f23, f23, f12},
3427 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3428 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3429 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3430 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
3431 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_0_0_0),
3432 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_0_0_0));
3433 case 148 -> spaceGroup =
3434 new SpaceGroup(
3435 148,
3436 18,
3437 6,
3438 "H-3",
3439 "PG3bar",
3440 "H -3",
3441 TRIGONAL, HEXAGONAL_LATTICE,
3442 L113,
3443 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
3444 new double[] {f23, f23, f16},
3445 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3446 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3447 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3448 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
3449 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_0_0_0),
3450 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_0_0_0),
3451 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_23_13_13),
3452 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_23_13_13),
3453 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_23_13_13),
3454 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_23_13_13),
3455 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_23_13_13),
3456 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_23_13_13),
3457 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_13_23_23),
3458 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_13_23_23),
3459 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_13_23_23),
3460 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_13_23_23),
3461 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_13_23_23),
3462 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_13_23_23));
3463 case 149 -> spaceGroup =
3464 new SpaceGroup(
3465 149,
3466 6,
3467 6,
3468 "P312",
3469 "PG312",
3470 "P 3 1 2",
3471 TRIGONAL, HEXAGONAL_LATTICE,
3472 L223,
3473 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
3474 new double[] {f23, f23, f12},
3475 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3476 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3477 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3478 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
3479 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_0),
3480 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_0));
3481 case 150 -> spaceGroup =
3482 new SpaceGroup(
3483 150,
3484 6,
3485 6,
3486 "P321",
3487 "PG321",
3488 "P 3 2 1",
3489 TRIGONAL, HEXAGONAL_LATTICE,
3490 L32U,
3491 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
3492 new double[] {f23, f23, f12},
3493 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3494 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3495 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3496 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
3497 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_0),
3498 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_0));
3499 default -> {
3500 }
3501 }
3502 return spaceGroup;
3503 }
3504
3505
3506
3507
3508
3509
3510
3511
3512 static SpaceGroup getSpaceGroup4(int num) {
3513 SpaceGroup spaceGroup = null;
3514 switch (num) {
3515 case 151 -> spaceGroup =
3516 new SpaceGroup(
3517 151,
3518 6,
3519 6,
3520 "P3112",
3521 "PG312",
3522 "P 31 1 2",
3523 TRIGONAL, HEXAGONAL_LATTICE,
3524 L223,
3525 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
3526 new double[] {1.0, 1.0, f16},
3527 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3528 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_13),
3529 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_23),
3530 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_23),
3531 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_13),
3532 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_0));
3533 case 152 -> spaceGroup =
3534 new SpaceGroup(
3535 152,
3536 6,
3537 6,
3538 "P3121",
3539 "PG321",
3540 "P 31 2 1",
3541 TRIGONAL, HEXAGONAL_LATTICE,
3542 L32U,
3543 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
3544 new double[] {1.0, 1.0, f16},
3545 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3546 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_13),
3547 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_23),
3548 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
3549 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_23),
3550 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_13));
3551 case 153 -> spaceGroup =
3552 new SpaceGroup(
3553 153,
3554 6,
3555 6,
3556 "P3212",
3557 "PG312",
3558 "P 32 1 2",
3559 TRIGONAL, HEXAGONAL_LATTICE,
3560 L223,
3561 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
3562 new double[] {1.0, 1.0, f16},
3563 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3564 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_23),
3565 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_13),
3566 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_13),
3567 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_23),
3568 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_0));
3569 case 154 -> spaceGroup =
3570 new SpaceGroup(
3571 154,
3572 6,
3573 6,
3574 "P3221",
3575 "PG321",
3576 "P 32 2 1",
3577 TRIGONAL, HEXAGONAL_LATTICE,
3578 L32U,
3579 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
3580 new double[] {1.0, 1.0, f16},
3581 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3582 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_23),
3583 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_13),
3584 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
3585 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_13),
3586 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_23));
3587 case 155 -> spaceGroup =
3588 new SpaceGroup(
3589 155,
3590 18,
3591 6,
3592 "H32",
3593 "PG321",
3594 "H 3 2",
3595 TRIGONAL, HEXAGONAL_LATTICE,
3596 L32U,
3597 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
3598 new double[] {f23, f23, f16},
3599 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3600 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3601 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3602 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
3603 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_0),
3604 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_0),
3605 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_23_13_13),
3606 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_23_13_13),
3607 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_23_13_13),
3608 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_23_13_13),
3609 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_23_13_13),
3610 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_23_13_13),
3611 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_13_23_23),
3612 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_13_23_23),
3613 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_13_23_23),
3614 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_13_23_23),
3615 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_13_23_23),
3616 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_13_23_23));
3617 case 156 -> spaceGroup =
3618 new SpaceGroup(
3619 156,
3620 6,
3621 6,
3622 "P3m1",
3623 "PG3m1",
3624 "P 3 m 1",
3625 TRIGONAL, HEXAGONAL_LATTICE,
3626 L32U,
3627 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3628 new double[] {-1.0, -1.0, -1.0},
3629 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3630 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3631 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3632 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
3633 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_0),
3634 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_0));
3635 case 157 -> spaceGroup =
3636 new SpaceGroup(
3637 157,
3638 6,
3639 6,
3640 "P31m",
3641 "PG31m",
3642 "P 3 1 m",
3643 TRIGONAL, HEXAGONAL_LATTICE,
3644 L223,
3645 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3646 new double[] {-1.0, -1.0, -1.0},
3647 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3648 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3649 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3650 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
3651 new SymOp(SymOp.Rot_XmY_mY_Z, SymOp.Tr_0_0_0),
3652 new SymOp(SymOp.Rot_mX_mXY_Z, SymOp.Tr_0_0_0));
3653 case 158 -> spaceGroup =
3654 new SpaceGroup(
3655 158,
3656 6,
3657 6,
3658 "P3c1",
3659 "PG3m1",
3660 "P 3 c 1",
3661 TRIGONAL, HEXAGONAL_LATTICE,
3662 L32U,
3663 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3664 new double[] {-1.0, -1.0, -1.0},
3665 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3666 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3667 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3668 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
3669 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_12),
3670 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_12));
3671 case 159 -> spaceGroup =
3672 new SpaceGroup(
3673 159,
3674 6,
3675 6,
3676 "P31c",
3677 "PG31m",
3678 "P 3 1 c",
3679 TRIGONAL, HEXAGONAL_LATTICE,
3680 L223,
3681 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3682 new double[] {-1.0, -1.0, -1.0},
3683 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3684 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3685 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3686 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12),
3687 new SymOp(SymOp.Rot_XmY_mY_Z, SymOp.Tr_0_0_12),
3688 new SymOp(SymOp.Rot_mX_mXY_Z, SymOp.Tr_0_0_12));
3689 case 160 -> spaceGroup =
3690 new SpaceGroup(
3691 160,
3692 18,
3693 6,
3694 "H3m",
3695 "PG3m",
3696 "H 3 m",
3697 TRIGONAL, HEXAGONAL_LATTICE,
3698 L32U,
3699 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3700 new double[] {-1.0, -1.0, -1.0},
3701 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3702 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3703 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3704 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
3705 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_0),
3706 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_0),
3707 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_23_13_13),
3708 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_23_13_13),
3709 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_23_13_13),
3710 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_23_13_13),
3711 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_23_13_13),
3712 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_23_13_13),
3713 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_13_23_23),
3714 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_13_23_23),
3715 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_13_23_23),
3716 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_13_23_23),
3717 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_13_23_23),
3718 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_13_23_23));
3719 case 161 -> spaceGroup =
3720 new SpaceGroup(
3721 161,
3722 18,
3723 6,
3724 "H3c",
3725 "PG3m",
3726 "H 3 c",
3727 TRIGONAL, HEXAGONAL_LATTICE,
3728 L32U,
3729 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3730 new double[] {-1.0, -1.0, -1.0},
3731 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3732 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3733 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3734 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
3735 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_12),
3736 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_12),
3737 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_23_13_13),
3738 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_23_13_13),
3739 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_23_13_13),
3740 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_23_13_56),
3741 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_23_13_56),
3742 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_23_13_56),
3743 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_13_23_23),
3744 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_13_23_23),
3745 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_13_23_23),
3746 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_13_23_16),
3747 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_13_23_16),
3748 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_13_23_16));
3749 case 162 -> spaceGroup =
3750 new SpaceGroup(
3751 162,
3752 12,
3753 12,
3754 "P-31m",
3755 "PG3bar1m",
3756 "P -3 1 2/m",
3757 TRIGONAL, HEXAGONAL_LATTICE,
3758 L223,
3759 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
3760 new double[] {f23, f12, f12},
3761 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3762 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3763 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3764 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
3765 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_0),
3766 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_0),
3767 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
3768 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_0_0_0),
3769 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_0_0_0),
3770 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
3771 new SymOp(SymOp.Rot_XmY_mY_Z, SymOp.Tr_0_0_0),
3772 new SymOp(SymOp.Rot_mX_mXY_Z, SymOp.Tr_0_0_0));
3773 case 163 -> spaceGroup =
3774 new SpaceGroup(
3775 163,
3776 12,
3777 12,
3778 "P-31c",
3779 "PG3bar1m",
3780 "P -3 1 2/c",
3781 TRIGONAL, HEXAGONAL_LATTICE,
3782 L223,
3783 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3784 new double[] {-1.0, -1.0, -1.0},
3785 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3786 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3787 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3788 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12),
3789 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_12),
3790 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_12),
3791 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
3792 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_0_0_0),
3793 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_0_0_0),
3794 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12),
3795 new SymOp(SymOp.Rot_XmY_mY_Z, SymOp.Tr_0_0_12),
3796 new SymOp(SymOp.Rot_mX_mXY_Z, SymOp.Tr_0_0_12));
3797 case 164 -> spaceGroup =
3798 new SpaceGroup(
3799 164,
3800 12,
3801 12,
3802 "P-3m1",
3803 "PG3barm1",
3804 "P -3 2/m 1",
3805 TRIGONAL, HEXAGONAL_LATTICE,
3806 L32U,
3807 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
3808 new double[] {f23, f13, 1.0},
3809 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3810 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3811 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3812 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
3813 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_0),
3814 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_0),
3815 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
3816 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_0_0_0),
3817 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_0_0_0),
3818 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
3819 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_0),
3820 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_0));
3821 case 165 -> spaceGroup =
3822 new SpaceGroup(
3823 165,
3824 12,
3825 12,
3826 "P-3c1",
3827 "PG3barm1",
3828 "P -3 2/c 1",
3829 TRIGONAL, HEXAGONAL_LATTICE,
3830 L32U,
3831 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3832 new double[] {-1.0, -1.0, -1.0},
3833 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3834 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3835 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3836 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_12),
3837 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_12),
3838 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_12),
3839 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
3840 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_0_0_0),
3841 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_0_0_0),
3842 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
3843 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_12),
3844 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_12));
3845 case 166 -> spaceGroup =
3846 new SpaceGroup(
3847 166,
3848 36,
3849 12,
3850 "H-3m",
3851 "PG3barm",
3852 "H -3 2/m",
3853 TRIGONAL, HEXAGONAL_LATTICE,
3854 L32U,
3855 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
3856 new double[] {f23, f23, f16},
3857 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3858 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3859 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3860 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
3861 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_0),
3862 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_0),
3863 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
3864 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_0_0_0),
3865 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_0_0_0),
3866 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
3867 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_0),
3868 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_0),
3869 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_23_13_13),
3870 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_23_13_13),
3871 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_23_13_13),
3872 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_23_13_13),
3873 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_23_13_13),
3874 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_23_13_13),
3875 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_23_13_13),
3876 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_23_13_13),
3877 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_23_13_13),
3878 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_23_13_13),
3879 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_23_13_13),
3880 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_23_13_13),
3881 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_13_23_23),
3882 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_13_23_23),
3883 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_13_23_23),
3884 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_13_23_23),
3885 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_13_23_23),
3886 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_13_23_23),
3887 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_13_23_23),
3888 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_13_23_23),
3889 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_13_23_23),
3890 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_13_23_23),
3891 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_13_23_23),
3892 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_13_23_23));
3893 case 167 -> spaceGroup =
3894 new SpaceGroup(
3895 167,
3896 36,
3897 12,
3898 "H-3c",
3899 "PG3barm",
3900 "H -3 2/c",
3901 TRIGONAL, HEXAGONAL_LATTICE,
3902 L32U,
3903 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3904 new double[] {-1.0, -1.0, -1.0},
3905 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3906 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3907 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3908 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_12),
3909 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_12),
3910 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_12),
3911 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
3912 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_0_0_0),
3913 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_0_0_0),
3914 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
3915 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_12),
3916 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_12),
3917 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_23_13_13),
3918 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_23_13_13),
3919 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_23_13_13),
3920 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_23_13_56),
3921 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_23_13_56),
3922 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_23_13_56),
3923 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_23_13_13),
3924 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_23_13_13),
3925 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_23_13_13),
3926 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_23_13_56),
3927 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_23_13_56),
3928 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_23_13_56),
3929 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_13_23_23),
3930 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_13_23_23),
3931 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_13_23_23),
3932 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_13_23_16),
3933 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_13_23_16),
3934 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_13_23_16),
3935 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_13_23_23),
3936 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_13_23_23),
3937 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_13_23_23),
3938 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_13_23_16),
3939 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_13_23_16),
3940 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_13_23_16));
3941 case 168 -> spaceGroup =
3942 new SpaceGroup(
3943 168,
3944 6,
3945 6,
3946 "P6",
3947 "PG6",
3948 "P 6",
3949 HEXAGONAL, HEXAGONAL_LATTICE,
3950 L114,
3951 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LT},
3952 new double[] {f23, f12, 1.0},
3953 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3954 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
3955 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
3956 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
3957 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_0),
3958 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_0));
3959 case 169 -> spaceGroup =
3960 new SpaceGroup(
3961 169,
3962 6,
3963 6,
3964 "P61",
3965 "PG6",
3966 "P 61",
3967 HEXAGONAL, HEXAGONAL_LATTICE,
3968 L114,
3969 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3970 new double[] {1.0, 1.0, f16},
3971 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3972 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_13),
3973 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_23),
3974 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
3975 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_56),
3976 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_16));
3977 case 170 -> spaceGroup =
3978 new SpaceGroup(
3979 170,
3980 6,
3981 6,
3982 "P65",
3983 "PG6",
3984 "P 65",
3985 HEXAGONAL, HEXAGONAL_LATTICE,
3986 L114,
3987 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
3988 new double[] {1.0, 1.0, f16},
3989 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
3990 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_23),
3991 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_13),
3992 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
3993 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_16),
3994 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_56));
3995 case 171 -> spaceGroup =
3996 new SpaceGroup(
3997 171,
3998 6,
3999 6,
4000 "P62",
4001 "PG6",
4002 "P 62",
4003 HEXAGONAL, HEXAGONAL_LATTICE,
4004 L114,
4005 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4006 new double[] {1.0, 1.0, f13},
4007 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4008 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_23),
4009 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_13),
4010 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4011 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_23),
4012 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_13));
4013 case 172 -> spaceGroup =
4014 new SpaceGroup(
4015 172,
4016 6,
4017 6,
4018 "P64",
4019 "PG6",
4020 "P 64",
4021 HEXAGONAL, HEXAGONAL_LATTICE,
4022 L114,
4023 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4024 new double[] {1.0, 1.0, f13},
4025 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4026 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_13),
4027 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_23),
4028 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4029 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_13),
4030 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_23));
4031 case 173 -> spaceGroup =
4032 new SpaceGroup(
4033 173,
4034 6,
4035 6,
4036 "P63",
4037 "PG6",
4038 "P 63",
4039 HEXAGONAL, HEXAGONAL_LATTICE,
4040 L114,
4041 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LT},
4042 new double[] {f23, f23, f12},
4043 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4044 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4045 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4046 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
4047 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_12),
4048 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_12));
4049 case 174 -> spaceGroup =
4050 new SpaceGroup(
4051 174,
4052 6,
4053 6,
4054 "P-6",
4055 "PG6bar",
4056 "P -6",
4057 HEXAGONAL, HEXAGONAL_LATTICE,
4058 L114,
4059 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4060 new double[] {-1.0, -1.0, -1.0},
4061 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4062 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4063 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4064 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
4065 new SymOp(SymOp.Rot_mY_XmY_mZ, SymOp.Tr_0_0_0),
4066 new SymOp(SymOp.Rot_mXY_mX_mZ, SymOp.Tr_0_0_0));
4067 case 175 -> spaceGroup =
4068 new SpaceGroup(
4069 175,
4070 12,
4071 12,
4072 "P6/m",
4073 "PG6/m",
4074 "P 6/m",
4075 HEXAGONAL, HEXAGONAL_LATTICE,
4076 L114,
4077 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
4078 new double[] {f23, f23, f12},
4079 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4080 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4081 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4082 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4083 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_0),
4084 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_0),
4085 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
4086 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_0_0_0),
4087 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_0_0_0),
4088 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
4089 new SymOp(SymOp.Rot_mY_XmY_mZ, SymOp.Tr_0_0_0),
4090 new SymOp(SymOp.Rot_mXY_mX_mZ, SymOp.Tr_0_0_0));
4091 case 176 -> spaceGroup =
4092 new SpaceGroup(
4093 176,
4094 12,
4095 12,
4096 "P63/m",
4097 "PG6/m",
4098 "P 63/m",
4099 HEXAGONAL, HEXAGONAL_LATTICE,
4100 L114,
4101 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4102 new double[] {-1.0, -1.0, -1.0},
4103 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4104 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4105 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4106 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
4107 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_12),
4108 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_12),
4109 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
4110 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_0_0_0),
4111 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_0_0_0),
4112 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_12),
4113 new SymOp(SymOp.Rot_mY_XmY_mZ, SymOp.Tr_0_0_12),
4114 new SymOp(SymOp.Rot_mXY_mX_mZ, SymOp.Tr_0_0_12));
4115 case 177 -> spaceGroup =
4116 new SpaceGroup(
4117 177,
4118 12,
4119 12,
4120 "P622",
4121 "PG622",
4122 "P 6 2 2",
4123 HEXAGONAL, HEXAGONAL_LATTICE,
4124 L224,
4125 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
4126 new double[] {f23, f12, f12},
4127 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4128 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4129 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4130 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4131 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_0),
4132 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_0),
4133 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
4134 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_0),
4135 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_0),
4136 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
4137 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_0),
4138 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_0));
4139 case 178 -> spaceGroup =
4140 new SpaceGroup(
4141 178,
4142 12,
4143 12,
4144 "P6122",
4145 "PG622",
4146 "P 61 2 2",
4147 HEXAGONAL, HEXAGONAL_LATTICE,
4148 L224,
4149 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
4150 new double[] {1.0, 1.0, f112},
4151 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4152 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_13),
4153 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_23),
4154 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
4155 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_56),
4156 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_16),
4157 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_13),
4158 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_0),
4159 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_23),
4160 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_56),
4161 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_12),
4162 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_16));
4163 case 179 -> spaceGroup =
4164 new SpaceGroup(
4165 179,
4166 12,
4167 12,
4168 "P6522",
4169 "PG622",
4170 "P 65 2 2",
4171 HEXAGONAL, HEXAGONAL_LATTICE,
4172 L224,
4173 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
4174 new double[] {1.0, 1.0, f112},
4175 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4176 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_23),
4177 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_13),
4178 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
4179 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_16),
4180 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_56),
4181 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_23),
4182 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_0),
4183 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_13),
4184 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_16),
4185 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_12),
4186 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_56));
4187 case 180 -> spaceGroup =
4188 new SpaceGroup(
4189 180,
4190 12,
4191 12,
4192 "P6222",
4193 "PG622",
4194 "P 62 2 2",
4195 HEXAGONAL, HEXAGONAL_LATTICE,
4196 L224,
4197 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
4198 new double[] {1.0, 1.0, f16},
4199 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4200 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_23),
4201 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_13),
4202 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4203 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_23),
4204 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_13),
4205 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_23),
4206 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_0),
4207 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_13),
4208 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_23),
4209 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_0),
4210 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_13));
4211 case 181 -> spaceGroup =
4212 new SpaceGroup(
4213 181,
4214 12,
4215 12,
4216 "P6422",
4217 "PG622",
4218 "P 64 2 2",
4219 HEXAGONAL, HEXAGONAL_LATTICE,
4220 L224,
4221 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
4222 new double[] {1.0, 1.0, f16},
4223 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4224 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_13),
4225 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_23),
4226 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4227 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_13),
4228 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_23),
4229 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_13),
4230 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_0),
4231 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_23),
4232 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_13),
4233 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_0),
4234 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_23));
4235 case 182 -> spaceGroup =
4236 new SpaceGroup(
4237 182,
4238 12,
4239 12,
4240 "P6322",
4241 "PG622",
4242 "P 63 2 2",
4243 HEXAGONAL, HEXAGONAL_LATTICE,
4244 L224,
4245 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
4246 new double[] {f23, f23, f14},
4247 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4248 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4249 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4250 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
4251 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_12),
4252 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_12),
4253 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
4254 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_0),
4255 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_0),
4256 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12),
4257 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_12),
4258 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_12));
4259 case 183 -> spaceGroup =
4260 new SpaceGroup(
4261 183,
4262 12,
4263 12,
4264 "P6mm",
4265 "PG6mm",
4266 "P 6 m m",
4267 HEXAGONAL, HEXAGONAL_LATTICE,
4268 L224,
4269 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4270 new double[] {-1.0, -1.0, -1.0},
4271 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4272 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4273 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4274 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4275 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_0),
4276 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_0),
4277 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
4278 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_0),
4279 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_0),
4280 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
4281 new SymOp(SymOp.Rot_XmY_mY_Z, SymOp.Tr_0_0_0),
4282 new SymOp(SymOp.Rot_mX_mXY_Z, SymOp.Tr_0_0_0));
4283 case 184 -> spaceGroup =
4284 new SpaceGroup(
4285 184,
4286 12,
4287 12,
4288 "P6cc",
4289 "PG6mm",
4290 "P 6 c c",
4291 HEXAGONAL, HEXAGONAL_LATTICE,
4292 L224,
4293 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4294 new double[] {-1.0, -1.0, -1.0},
4295 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4296 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4297 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4298 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4299 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_0),
4300 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_0),
4301 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
4302 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_12),
4303 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_12),
4304 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12),
4305 new SymOp(SymOp.Rot_XmY_mY_Z, SymOp.Tr_0_0_12),
4306 new SymOp(SymOp.Rot_mX_mXY_Z, SymOp.Tr_0_0_12));
4307 case 185 -> spaceGroup =
4308 new SpaceGroup(
4309 185,
4310 12,
4311 12,
4312 "P63cm",
4313 "PG6mm",
4314 "P 63 c m",
4315 HEXAGONAL, HEXAGONAL_LATTICE,
4316 L224,
4317 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4318 new double[] {-1.0, -1.0, -1.0},
4319 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4320 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4321 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4322 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
4323 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_12),
4324 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_12),
4325 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
4326 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_12),
4327 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_12),
4328 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
4329 new SymOp(SymOp.Rot_XmY_mY_Z, SymOp.Tr_0_0_0),
4330 new SymOp(SymOp.Rot_mX_mXY_Z, SymOp.Tr_0_0_0));
4331 case 186 -> spaceGroup =
4332 new SpaceGroup(
4333 186,
4334 12,
4335 12,
4336 "P63mc",
4337 "PG6mm",
4338 "P 63 m c",
4339 HEXAGONAL, HEXAGONAL_LATTICE,
4340 L224,
4341 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4342 new double[] {-1.0, -1.0, -1.0},
4343 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4344 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4345 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4346 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
4347 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_12),
4348 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_12),
4349 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
4350 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_0),
4351 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_0),
4352 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12),
4353 new SymOp(SymOp.Rot_XmY_mY_Z, SymOp.Tr_0_0_12),
4354 new SymOp(SymOp.Rot_mX_mXY_Z, SymOp.Tr_0_0_12));
4355 case 187 -> spaceGroup =
4356 new SpaceGroup(
4357 187,
4358 12,
4359 12,
4360 "P-6m2",
4361 "PG6barm2",
4362 "P -6 m 2",
4363 HEXAGONAL, HEXAGONAL_LATTICE,
4364 L224,
4365 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4366 new double[] {-1.0, -1.0, -1.0},
4367 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4368 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4369 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4370 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
4371 new SymOp(SymOp.Rot_mY_XmY_mZ, SymOp.Tr_0_0_0),
4372 new SymOp(SymOp.Rot_mXY_mX_mZ, SymOp.Tr_0_0_0),
4373 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
4374 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_0),
4375 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_0),
4376 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
4377 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_0),
4378 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_0));
4379 case 188 -> spaceGroup =
4380 new SpaceGroup(
4381 188,
4382 12,
4383 12,
4384 "P-6c2",
4385 "PG6barm2",
4386 "P -6 c 2",
4387 HEXAGONAL, HEXAGONAL_LATTICE,
4388 L224,
4389 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4390 new double[] {-1.0, -1.0, -1.0},
4391 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4392 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4393 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4394 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_12),
4395 new SymOp(SymOp.Rot_mY_XmY_mZ, SymOp.Tr_0_0_12),
4396 new SymOp(SymOp.Rot_mXY_mX_mZ, SymOp.Tr_0_0_12),
4397 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
4398 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_12),
4399 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_12),
4400 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
4401 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_0),
4402 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_0));
4403 case 189 -> spaceGroup =
4404 new SpaceGroup(
4405 189,
4406 12,
4407 12,
4408 "P-62m",
4409 "PG6bar2m",
4410 "P -6 2 m",
4411 HEXAGONAL, HEXAGONAL_LATTICE,
4412 L224,
4413 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4414 new double[] {-1.0, -1.0, -1.0},
4415 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4416 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4417 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4418 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
4419 new SymOp(SymOp.Rot_mY_XmY_mZ, SymOp.Tr_0_0_0),
4420 new SymOp(SymOp.Rot_mXY_mX_mZ, SymOp.Tr_0_0_0),
4421 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
4422 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_0),
4423 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_0),
4424 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
4425 new SymOp(SymOp.Rot_XmY_mY_Z, SymOp.Tr_0_0_0),
4426 new SymOp(SymOp.Rot_mX_mXY_Z, SymOp.Tr_0_0_0));
4427 case 190 -> spaceGroup =
4428 new SpaceGroup(
4429 190,
4430 12,
4431 12,
4432 "P-62c",
4433 "PG6bar2m",
4434 "P -6 2 c",
4435 HEXAGONAL, HEXAGONAL_LATTICE,
4436 L224,
4437 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4438 new double[] {-1.0, -1.0, -1.0},
4439 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4440 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4441 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4442 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_12),
4443 new SymOp(SymOp.Rot_mY_XmY_mZ, SymOp.Tr_0_0_12),
4444 new SymOp(SymOp.Rot_mXY_mX_mZ, SymOp.Tr_0_0_12),
4445 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
4446 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_0),
4447 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_0),
4448 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12),
4449 new SymOp(SymOp.Rot_XmY_mY_Z, SymOp.Tr_0_0_12),
4450 new SymOp(SymOp.Rot_mX_mXY_Z, SymOp.Tr_0_0_12));
4451 case 191 -> spaceGroup =
4452 new SpaceGroup(
4453 191,
4454 24,
4455 24,
4456 "P6/mmm",
4457 "PG6/mmm",
4458 "P 6/m 2/m 2/m",
4459 HEXAGONAL, HEXAGONAL_LATTICE,
4460 L224,
4461 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
4462 new double[] {f23, f13, f12},
4463 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4464 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4465 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4466 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4467 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_0),
4468 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_0),
4469 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
4470 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_0),
4471 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_0),
4472 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
4473 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_0),
4474 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_0),
4475 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
4476 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_0_0_0),
4477 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_0_0_0),
4478 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
4479 new SymOp(SymOp.Rot_mXY_mX_mZ, SymOp.Tr_0_0_0),
4480 new SymOp(SymOp.Rot_mY_XmY_mZ, SymOp.Tr_0_0_0),
4481 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
4482 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_0),
4483 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_0),
4484 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
4485 new SymOp(SymOp.Rot_XmY_mY_Z, SymOp.Tr_0_0_0),
4486 new SymOp(SymOp.Rot_mX_mXY_Z, SymOp.Tr_0_0_0));
4487 case 192 -> spaceGroup =
4488 new SpaceGroup(
4489 192,
4490 24,
4491 24,
4492 "P6/mcc",
4493 "PG6/mmm",
4494 "P 6/m 2/c 2/c",
4495 HEXAGONAL, HEXAGONAL_LATTICE,
4496 L224,
4497 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4498 new double[] {-1.0, -1.0, -1.0},
4499 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4500 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4501 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4502 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4503 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_0),
4504 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_0),
4505 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_12),
4506 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_12),
4507 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_12),
4508 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12),
4509 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_12),
4510 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_12),
4511 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
4512 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_0_0_0),
4513 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_0_0_0),
4514 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
4515 new SymOp(SymOp.Rot_mXY_mX_mZ, SymOp.Tr_0_0_0),
4516 new SymOp(SymOp.Rot_mY_XmY_mZ, SymOp.Tr_0_0_0),
4517 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
4518 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_12),
4519 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_12),
4520 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12),
4521 new SymOp(SymOp.Rot_XmY_mY_Z, SymOp.Tr_0_0_12),
4522 new SymOp(SymOp.Rot_mX_mXY_Z, SymOp.Tr_0_0_12));
4523 case 193 -> spaceGroup =
4524 new SpaceGroup(
4525 193,
4526 24,
4527 24,
4528 "P63/mcm",
4529 "PG6/mmm",
4530 "P 63/m 2/c 2/m",
4531 HEXAGONAL, HEXAGONAL_LATTICE,
4532 L224,
4533 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4534 new double[] {-1.0, -1.0, -1.0},
4535 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4536 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4537 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4538 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
4539 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_12),
4540 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_12),
4541 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_12),
4542 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_12),
4543 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_12),
4544 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
4545 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_0),
4546 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_0),
4547 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
4548 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_0_0_0),
4549 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_0_0_0),
4550 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_12),
4551 new SymOp(SymOp.Rot_mXY_mX_mZ, SymOp.Tr_0_0_12),
4552 new SymOp(SymOp.Rot_mY_XmY_mZ, SymOp.Tr_0_0_12),
4553 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
4554 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_12),
4555 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_12),
4556 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
4557 new SymOp(SymOp.Rot_XmY_mY_Z, SymOp.Tr_0_0_0),
4558 new SymOp(SymOp.Rot_mX_mXY_Z, SymOp.Tr_0_0_0));
4559 case 194 -> spaceGroup =
4560 new SpaceGroup(
4561 194,
4562 24,
4563 24,
4564 "P63/mmc",
4565 "PG6/mmm",
4566 "P 63/m 2/m 2/c",
4567 HEXAGONAL, HEXAGONAL_LATTICE,
4568 L224,
4569 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4570 new double[] {-1.0, -1.0, -1.0},
4571 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4572 new SymOp(SymOp.Rot_mY_XmY_Z, SymOp.Tr_0_0_0),
4573 new SymOp(SymOp.Rot_mXY_mX_Z, SymOp.Tr_0_0_0),
4574 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_12),
4575 new SymOp(SymOp.Rot_Y_mXY_Z, SymOp.Tr_0_0_12),
4576 new SymOp(SymOp.Rot_XmY_X_Z, SymOp.Tr_0_0_12),
4577 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
4578 new SymOp(SymOp.Rot_XmY_mY_mZ, SymOp.Tr_0_0_0),
4579 new SymOp(SymOp.Rot_mX_mXY_mZ, SymOp.Tr_0_0_0),
4580 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12),
4581 new SymOp(SymOp.Rot_mXY_Y_mZ, SymOp.Tr_0_0_12),
4582 new SymOp(SymOp.Rot_X_XmY_mZ, SymOp.Tr_0_0_12),
4583 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
4584 new SymOp(SymOp.Rot_Y_mXY_mZ, SymOp.Tr_0_0_0),
4585 new SymOp(SymOp.Rot_XmY_X_mZ, SymOp.Tr_0_0_0),
4586 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_12),
4587 new SymOp(SymOp.Rot_mXY_mX_mZ, SymOp.Tr_0_0_12),
4588 new SymOp(SymOp.Rot_mY_XmY_mZ, SymOp.Tr_0_0_12),
4589 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
4590 new SymOp(SymOp.Rot_mXY_Y_Z, SymOp.Tr_0_0_0),
4591 new SymOp(SymOp.Rot_X_XmY_Z, SymOp.Tr_0_0_0),
4592 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12),
4593 new SymOp(SymOp.Rot_XmY_mY_Z, SymOp.Tr_0_0_12),
4594 new SymOp(SymOp.Rot_mX_mXY_Z, SymOp.Tr_0_0_12));
4595 case 195 -> spaceGroup =
4596 new SpaceGroup(
4597 195,
4598 12,
4599 12,
4600 "P23",
4601 "PG23",
4602 "P 2 3",
4603 CUBIC, CUBIC_LATTICE,
4604 LM3B,
4605 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
4606 new double[] {1.0, 1.0, f12},
4607 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4608 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4609 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
4610 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
4611 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
4612 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
4613 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
4614 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
4615 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
4616 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
4617 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
4618 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0));
4619 case 196 -> spaceGroup =
4620 new SpaceGroup(
4621 196,
4622 48,
4623 12,
4624 "F23",
4625 "PG23",
4626 "F 2 3",
4627 CUBIC, CUBIC_LATTICE,
4628 LM3B,
4629 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LT},
4630 new double[] {f14, f14, 1.0},
4631 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4632 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4633 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
4634 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
4635 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
4636 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
4637 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
4638 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
4639 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
4640 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
4641 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
4642 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
4643 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
4644 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
4645 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
4646 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_12),
4647 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_12_12),
4648 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_12_12),
4649 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_12),
4650 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
4651 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_12_12),
4652 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
4653 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_12_12),
4654 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_12),
4655 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
4656 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
4657 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
4658 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
4659 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_0_12),
4660 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_0_12),
4661 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
4662 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_12),
4663 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_0_12),
4664 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_12),
4665 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_0_12),
4666 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
4667 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
4668 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
4669 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
4670 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
4671 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_0),
4672 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
4673 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_0),
4674 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_0),
4675 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_0),
4676 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_0),
4677 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
4678 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_0));
4679 case 197 -> spaceGroup =
4680 new SpaceGroup(
4681 197,
4682 24,
4683 12,
4684 "I23",
4685 "PG23",
4686 "I 2 3",
4687 CUBIC, CUBIC_LATTICE,
4688 LM3B,
4689 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
4690 new double[] {1.0, 1.0, f12},
4691 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4692 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4693 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
4694 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
4695 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
4696 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
4697 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
4698 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
4699 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
4700 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
4701 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
4702 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
4703 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
4704 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
4705 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
4706 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
4707 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_12),
4708 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_12),
4709 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_12),
4710 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_12),
4711 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_12),
4712 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_12),
4713 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_12),
4714 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_12));
4715 case 198 -> spaceGroup =
4716 new SpaceGroup(
4717 198,
4718 12,
4719 12,
4720 "P213",
4721 "PG23",
4722 "P 21 3",
4723 CUBIC, CUBIC_LATTICE,
4724 LM3B,
4725 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LT},
4726 new double[] {f12, f12, 1.0},
4727 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4728 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
4729 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
4730 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
4731 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
4732 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
4733 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
4734 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
4735 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
4736 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
4737 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
4738 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12));
4739 case 199 -> spaceGroup =
4740 new SpaceGroup(
4741 199,
4742 24,
4743 12,
4744 "I213",
4745 "PG23",
4746 "I 21 3",
4747 CUBIC, CUBIC_LATTICE,
4748 LM3B,
4749 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
4750 new double[] {f12, f12, f12},
4751 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4752 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
4753 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
4754 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
4755 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
4756 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
4757 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
4758 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
4759 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
4760 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
4761 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
4762 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
4763 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
4764 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_0),
4765 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_0),
4766 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
4767 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_12),
4768 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_12),
4769 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_0),
4770 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_0),
4771 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_12),
4772 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_0),
4773 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_12),
4774 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_0));
4775 case 200 -> spaceGroup =
4776 new SpaceGroup(
4777 200,
4778 24,
4779 24,
4780 "Pm-3",
4781 "PGm3bar",
4782 "P 2/m -3",
4783 CUBIC, CUBIC_LATTICE,
4784 LM3B,
4785 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
4786 new double[] {f12, f12, f12},
4787 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4788 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4789 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
4790 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
4791 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
4792 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
4793 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
4794 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
4795 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
4796 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
4797 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
4798 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
4799 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
4800 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
4801 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
4802 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
4803 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_0_0),
4804 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_0_0_0),
4805 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_0_0_0),
4806 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_0_0_0),
4807 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_0_0),
4808 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_0_0_0),
4809 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_0_0_0),
4810 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_0_0_0));
4811 default -> {
4812 }
4813 }
4814 return spaceGroup;
4815 }
4816
4817
4818
4819
4820
4821
4822
4823
4824 static SpaceGroup getSpaceGroup5(int num) {
4825 SpaceGroup spaceGroup = null;
4826 switch (num) {
4827 case 201 -> spaceGroup =
4828 new SpaceGroup(
4829 201,
4830 24,
4831 24,
4832 "Pn-3",
4833 "PGm3bar",
4834 "P 2/n -3",
4835 CUBIC, CUBIC_LATTICE,
4836 LM3B,
4837 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4838 new double[] {-1.0, -1.0, -1.0},
4839 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4840 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4841 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
4842 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
4843 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
4844 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
4845 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
4846 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
4847 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
4848 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
4849 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
4850 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
4851 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
4852 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
4853 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
4854 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
4855 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_12_12_12),
4856 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_12_12_12),
4857 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_12_12_12),
4858 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_12_12_12),
4859 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_12_12_12),
4860 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_12_12_12),
4861 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_12_12_12),
4862 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_12_12_12));
4863 case 202 -> spaceGroup =
4864 new SpaceGroup(
4865 202,
4866 96,
4867 24,
4868 "Fm-3",
4869 "PGm3bar",
4870 "F 2/m -3",
4871 CUBIC, CUBIC_LATTICE,
4872 LM3B,
4873 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
4874 new double[] {f12, f12, f14},
4875 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4876 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4877 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
4878 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
4879 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
4880 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
4881 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
4882 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
4883 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
4884 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
4885 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
4886 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
4887 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
4888 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
4889 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
4890 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
4891 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_0_0),
4892 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_0_0_0),
4893 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_0_0_0),
4894 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_0_0_0),
4895 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_0_0),
4896 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_0_0_0),
4897 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_0_0_0),
4898 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_0_0_0),
4899 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
4900 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
4901 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
4902 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_12),
4903 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_12_12),
4904 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_12_12),
4905 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_12),
4906 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
4907 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_12_12),
4908 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
4909 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_12_12),
4910 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_12),
4911 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_12_12),
4912 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_12_12),
4913 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
4914 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_12_12),
4915 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_12_12),
4916 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_0_12_12),
4917 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_0_12_12),
4918 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_0_12_12),
4919 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_12_12),
4920 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_0_12_12),
4921 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_0_12_12),
4922 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_0_12_12),
4923 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
4924 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
4925 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
4926 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
4927 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_0_12),
4928 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_0_12),
4929 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
4930 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_12),
4931 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_0_12),
4932 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_12),
4933 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_0_12),
4934 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
4935 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_0_12),
4936 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_12),
4937 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_12),
4938 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_0_12),
4939 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_12_0_12),
4940 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_12_0_12),
4941 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_12_0_12),
4942 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_12_0_12),
4943 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_12_0_12),
4944 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_12_0_12),
4945 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_12_0_12),
4946 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_12_0_12),
4947 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
4948 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
4949 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
4950 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
4951 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_0),
4952 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
4953 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_0),
4954 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_0),
4955 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_0),
4956 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_0),
4957 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
4958 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_0),
4959 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
4960 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_0),
4961 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
4962 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
4963 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_12_12_0),
4964 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_12_12_0),
4965 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_12_12_0),
4966 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_12_12_0),
4967 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_12_12_0),
4968 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_12_12_0),
4969 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_12_12_0),
4970 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_12_12_0));
4971 case 203 -> spaceGroup =
4972 new SpaceGroup(
4973 203,
4974 96,
4975 24,
4976 "Fd-3",
4977 "PGm3bar",
4978 "F 2/d -3",
4979 CUBIC, CUBIC_LATTICE,
4980 LM3B,
4981 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
4982 new double[] {-1.0, -1.0, -1.0},
4983 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
4984 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
4985 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
4986 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
4987 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
4988 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
4989 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
4990 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
4991 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
4992 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
4993 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
4994 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
4995 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_14_14_14),
4996 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_14_14_14),
4997 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_14_14_14),
4998 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_14_14_14),
4999 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_14_14_14),
5000 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_14_14_14),
5001 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_14_14_14),
5002 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_14_14_14),
5003 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_14_14_14),
5004 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_14_14_14),
5005 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_14_14_14),
5006 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_14_14_14),
5007 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
5008 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
5009 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
5010 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_12),
5011 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_12_12),
5012 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_12_12),
5013 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_12),
5014 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
5015 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_12_12),
5016 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
5017 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_12_12),
5018 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_12),
5019 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_14_34_34),
5020 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_14_34_34),
5021 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_14_34_34),
5022 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_14_34_34),
5023 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_14_34_34),
5024 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_14_34_34),
5025 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_14_34_34),
5026 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_14_34_34),
5027 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_14_34_34),
5028 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_14_34_34),
5029 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_14_34_34),
5030 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_14_34_34),
5031 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
5032 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
5033 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
5034 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
5035 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_0_12),
5036 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_0_12),
5037 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
5038 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_12),
5039 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_0_12),
5040 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_12),
5041 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_0_12),
5042 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
5043 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_34_14_34),
5044 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_34_14_34),
5045 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_34_14_34),
5046 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_34_14_34),
5047 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_34_14_34),
5048 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_34_14_34),
5049 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_34_14_34),
5050 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_34_14_34),
5051 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_34_14_34),
5052 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_34_14_34),
5053 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_34_14_34),
5054 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_34_14_34),
5055 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
5056 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
5057 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
5058 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
5059 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_0),
5060 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
5061 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_0),
5062 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_0),
5063 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_0),
5064 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_0),
5065 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
5066 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_0),
5067 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_34_34_14),
5068 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_34_34_14),
5069 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_34_34_14),
5070 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_34_34_14),
5071 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_34_34_14),
5072 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_34_34_14),
5073 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_34_34_14),
5074 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_34_34_14),
5075 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_34_34_14),
5076 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_34_34_14),
5077 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_34_34_14),
5078 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_34_34_14));
5079 case 204 -> spaceGroup =
5080 new SpaceGroup(
5081 204,
5082 48,
5083 24,
5084 "Im-3",
5085 "PGm3bar",
5086 "I 2/m -3",
5087 CUBIC, CUBIC_LATTICE,
5088 LM3B,
5089 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
5090 new double[] {f12, f12, f12},
5091 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5092 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
5093 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
5094 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
5095 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5096 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
5097 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
5098 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
5099 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5100 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
5101 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
5102 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
5103 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
5104 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
5105 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
5106 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
5107 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_0_0),
5108 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_0_0_0),
5109 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_0_0_0),
5110 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_0_0_0),
5111 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_0_0),
5112 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_0_0_0),
5113 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_0_0_0),
5114 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_0_0_0),
5115 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
5116 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
5117 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
5118 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
5119 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_12),
5120 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_12),
5121 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_12),
5122 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_12),
5123 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_12),
5124 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_12),
5125 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_12),
5126 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_12),
5127 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
5128 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
5129 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
5130 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
5131 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_12_12_12),
5132 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_12_12_12),
5133 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_12_12_12),
5134 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_12_12_12),
5135 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_12_12_12),
5136 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_12_12_12),
5137 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_12_12_12),
5138 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_12_12_12));
5139 case 205 -> spaceGroup =
5140 new SpaceGroup(
5141 205,
5142 24,
5143 24,
5144 "Pa-3",
5145 "PGm3bar",
5146 "P 21/a -3",
5147 CUBIC, CUBIC_LATTICE,
5148 LM3B,
5149 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
5150 new double[] {-1.0, -1.0, -1.0},
5151 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5152 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
5153 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
5154 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
5155 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5156 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
5157 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
5158 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
5159 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5160 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
5161 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
5162 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
5163 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
5164 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_12),
5165 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
5166 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
5167 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_0_0),
5168 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_12_12_0),
5169 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_12_0_12),
5170 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_0_12_12),
5171 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_0_0),
5172 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_0_12_12),
5173 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_12_12_0),
5174 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_12_0_12));
5175 case 206 -> spaceGroup =
5176 new SpaceGroup(
5177 206,
5178 48,
5179 24,
5180 "Ia-3",
5181 "PGm3bar",
5182 "I 21/a -3",
5183 CUBIC, CUBIC_LATTICE,
5184 LM3B,
5185 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
5186 new double[] {-1.0, -1.0, -1.0},
5187 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5188 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
5189 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
5190 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
5191 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5192 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
5193 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
5194 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
5195 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5196 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
5197 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
5198 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
5199 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
5200 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_12),
5201 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
5202 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
5203 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_0_0),
5204 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_12_12_0),
5205 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_12_0_12),
5206 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_0_12_12),
5207 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_0_0),
5208 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_0_12_12),
5209 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_12_12_0),
5210 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_12_0_12),
5211 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
5212 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_0),
5213 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_0),
5214 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
5215 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_12),
5216 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_12),
5217 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_0),
5218 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_0),
5219 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_12),
5220 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_0),
5221 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_12),
5222 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_0),
5223 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
5224 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_12_0),
5225 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_0),
5226 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
5227 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_12_12_12),
5228 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_0_0_12),
5229 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_0_12_0),
5230 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_12_0_0),
5231 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_12_12_12),
5232 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_12_0_0),
5233 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_0_0_12),
5234 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_0_12_0));
5235 case 207 -> spaceGroup =
5236 new SpaceGroup(
5237 207,
5238 24,
5239 24,
5240 "P432",
5241 "PG432",
5242 "P 4 3 2",
5243 CUBIC, CUBIC_LATTICE,
5244 LM3M,
5245 new ASULimit[] {ASULimit.LT, ASULimit.LTE, ASULimit.LTE},
5246 new double[] {1.0, f12, f12},
5247 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5248 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
5249 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
5250 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
5251 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5252 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
5253 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
5254 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
5255 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5256 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
5257 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
5258 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
5259 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
5260 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
5261 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
5262 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
5263 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_0_0_0),
5264 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_0_0_0),
5265 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_0_0_0),
5266 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_0_0_0),
5267 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_0_0_0),
5268 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_0_0_0),
5269 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_0_0_0),
5270 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_0_0_0));
5271 case 208 -> spaceGroup =
5272 new SpaceGroup(
5273 208,
5274 24,
5275 24,
5276 "P4232",
5277 "PG432",
5278 "P 42 3 2",
5279 CUBIC, CUBIC_LATTICE,
5280 LM3M,
5281 new ASULimit[] {ASULimit.LTE, ASULimit.LT, ASULimit.LTE},
5282 new double[] {f12, 1.0, f14},
5283 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5284 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
5285 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
5286 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
5287 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5288 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
5289 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
5290 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
5291 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5292 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
5293 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
5294 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
5295 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_12),
5296 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12),
5297 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
5298 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
5299 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_12_12_12),
5300 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_12_12_12),
5301 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_12_12_12),
5302 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_12_12_12),
5303 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_12_12_12),
5304 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_12_12_12),
5305 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_12_12_12),
5306 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_12_12_12));
5307 case 209 -> spaceGroup =
5308 new SpaceGroup(
5309 209,
5310 96,
5311 24,
5312 "F432",
5313 "PG432",
5314 "F 4 3 2",
5315 CUBIC, CUBIC_LATTICE,
5316 LM3M,
5317 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
5318 new double[] {f12, f12, f12},
5319 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5320 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
5321 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
5322 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
5323 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5324 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
5325 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
5326 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
5327 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5328 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
5329 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
5330 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
5331 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
5332 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
5333 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
5334 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
5335 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_0_0_0),
5336 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_0_0_0),
5337 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_0_0_0),
5338 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_0_0_0),
5339 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_0_0_0),
5340 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_0_0_0),
5341 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_0_0_0),
5342 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_0_0_0),
5343 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
5344 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
5345 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
5346 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_12),
5347 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_12_12),
5348 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_12_12),
5349 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_12),
5350 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
5351 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_12_12),
5352 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
5353 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_12_12),
5354 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_12),
5355 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_12_12),
5356 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_12_12),
5357 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_12_12),
5358 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_12_12),
5359 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_0_12_12),
5360 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_0_12_12),
5361 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_0_12_12),
5362 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_0_12_12),
5363 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_0_12_12),
5364 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_0_12_12),
5365 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_0_12_12),
5366 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_0_12_12),
5367 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
5368 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
5369 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
5370 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
5371 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_0_12),
5372 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_0_12),
5373 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
5374 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_12),
5375 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_0_12),
5376 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_12),
5377 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_0_12),
5378 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
5379 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_0_12),
5380 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_0_12),
5381 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_0_12),
5382 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_0_12),
5383 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_12_0_12),
5384 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_12_0_12),
5385 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_12_0_12),
5386 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_12_0_12),
5387 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_12_0_12),
5388 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_12_0_12),
5389 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_12_0_12),
5390 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_12_0_12),
5391 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
5392 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
5393 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
5394 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
5395 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_0),
5396 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
5397 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_0),
5398 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_0),
5399 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_0),
5400 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_0),
5401 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
5402 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_0),
5403 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_0),
5404 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_0),
5405 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_0),
5406 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_0),
5407 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_12_12_0),
5408 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_12_12_0),
5409 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_12_12_0),
5410 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_12_12_0),
5411 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_12_12_0),
5412 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_12_12_0),
5413 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_12_12_0),
5414 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_12_12_0));
5415 case 210 -> spaceGroup =
5416 new SpaceGroup(
5417 210,
5418 96,
5419 24,
5420 "F4132",
5421 "PG432",
5422 "F 41 3 2",
5423 CUBIC, CUBIC_LATTICE,
5424 LM3M,
5425 new ASULimit[] {ASULimit.LTE, ASULimit.LT, ASULimit.LTE},
5426 new double[] {f12, 1.0, f18},
5427 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5428 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
5429 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
5430 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
5431 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5432 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_0_12),
5433 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_12),
5434 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_0),
5435 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5436 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_0),
5437 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_0_12),
5438 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_12),
5439 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_34_14_34),
5440 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_14_14_14),
5441 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_14_34_34),
5442 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_34_34_14),
5443 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_34_14_34),
5444 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_34_34_14),
5445 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_14_14_14),
5446 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_14_34_34),
5447 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_34_14_34),
5448 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_14_34_34),
5449 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_34_34_14),
5450 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_14_14_14),
5451 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
5452 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
5453 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
5454 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
5455 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_12_12),
5456 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
5457 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
5458 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_12),
5459 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_12_12),
5460 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_12),
5461 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
5462 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
5463 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_34_34_14),
5464 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_14_34_34),
5465 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_14_14_14),
5466 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_34_14_34),
5467 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_34_34_14),
5468 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_34_14_34),
5469 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_14_34_34),
5470 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_14_14_14),
5471 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_34_34_14),
5472 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_14_14_14),
5473 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_34_14_34),
5474 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_14_34_34),
5475 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
5476 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
5477 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
5478 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
5479 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_0_12),
5480 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
5481 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_0),
5482 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
5483 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_0_12),
5484 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
5485 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
5486 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_0),
5487 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_14_14_14),
5488 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_34_14_34),
5489 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_34_34_14),
5490 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_14_34_34),
5491 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_14_14_14),
5492 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_14_34_34),
5493 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_34_14_34),
5494 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_34_34_14),
5495 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_14_14_14),
5496 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_34_34_14),
5497 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_14_34_34),
5498 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_34_14_34),
5499 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
5500 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
5501 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
5502 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_12),
5503 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_0),
5504 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_12_12),
5505 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
5506 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
5507 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_0),
5508 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
5509 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_12_12),
5510 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
5511 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_14_34_34),
5512 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_34_34_14),
5513 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_34_14_34),
5514 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_14_14_14),
5515 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_14_34_34),
5516 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_14_14_14),
5517 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_34_34_14),
5518 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_34_14_34),
5519 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_14_34_34),
5520 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_34_14_34),
5521 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_14_14_14),
5522 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_34_34_14));
5523 case 211 -> spaceGroup =
5524 new SpaceGroup(
5525 211,
5526 48,
5527 24,
5528 "I432",
5529 "PG432",
5530 "I 4 3 2",
5531 CUBIC, CUBIC_LATTICE,
5532 LM3M,
5533 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
5534 new double[] {f12, f12, f14},
5535 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5536 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
5537 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
5538 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
5539 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5540 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
5541 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
5542 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
5543 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5544 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
5545 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
5546 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
5547 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
5548 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
5549 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
5550 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
5551 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_0_0_0),
5552 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_0_0_0),
5553 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_0_0_0),
5554 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_0_0_0),
5555 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_0_0_0),
5556 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_0_0_0),
5557 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_0_0_0),
5558 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_0_0_0),
5559 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
5560 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
5561 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
5562 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
5563 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_12),
5564 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_12),
5565 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_12),
5566 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_12),
5567 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_12),
5568 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_12),
5569 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_12),
5570 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_12),
5571 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_12),
5572 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12),
5573 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
5574 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
5575 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_12_12_12),
5576 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_12_12_12),
5577 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_12_12_12),
5578 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_12_12_12),
5579 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_12_12_12),
5580 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_12_12_12),
5581 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_12_12_12),
5582 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_12_12_12));
5583 case 212 -> spaceGroup =
5584 new SpaceGroup(
5585 212,
5586 24,
5587 24,
5588 "P4332",
5589 "PG432",
5590 "P 43 3 2",
5591 CUBIC, CUBIC_LATTICE,
5592 LM3M,
5593 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
5594 new double[] {1.0, 1.0, f18},
5595 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5596 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
5597 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
5598 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
5599 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5600 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
5601 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
5602 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
5603 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5604 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
5605 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
5606 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
5607 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_14_34_34),
5608 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_14_14_14),
5609 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_34_34_14),
5610 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_34_14_34),
5611 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_14_34_34),
5612 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_34_14_34),
5613 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_14_14_14),
5614 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_34_34_14),
5615 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_14_34_34),
5616 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_34_34_14),
5617 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_34_14_34),
5618 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_14_14_14));
5619 case 213 -> spaceGroup =
5620 new SpaceGroup(
5621 213,
5622 24,
5623 24,
5624 "P4132",
5625 "PG432",
5626 "P 41 3 2",
5627 CUBIC, CUBIC_LATTICE,
5628 LM3M,
5629 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LTE},
5630 new double[] {1.0, 1.0, f18},
5631 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5632 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
5633 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
5634 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
5635 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5636 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
5637 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
5638 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
5639 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5640 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
5641 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
5642 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
5643 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_34_14_14),
5644 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_34_34_34),
5645 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_14_14_34),
5646 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_14_34_14),
5647 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_34_14_14),
5648 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_14_34_14),
5649 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_34_34_34),
5650 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_14_14_34),
5651 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_34_14_14),
5652 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_14_14_34),
5653 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_14_34_14),
5654 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_34_34_34));
5655 case 214 -> spaceGroup =
5656 new SpaceGroup(
5657 214,
5658 48,
5659 24,
5660 "I4132",
5661 "PG432",
5662 "I 41 3 2",
5663 CUBIC, CUBIC_LATTICE,
5664 LM3M,
5665 new ASULimit[] {ASULimit.LTE, ASULimit.LT, ASULimit.LTE},
5666 new double[] {f12, 1.0, f18},
5667 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5668 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
5669 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
5670 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
5671 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5672 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
5673 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
5674 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
5675 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5676 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
5677 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
5678 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
5679 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_34_14_14),
5680 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_34_34_34),
5681 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_14_14_34),
5682 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_14_34_14),
5683 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_34_14_14),
5684 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_14_34_14),
5685 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_34_34_34),
5686 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_14_14_34),
5687 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_34_14_14),
5688 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_14_14_34),
5689 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_14_34_14),
5690 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_34_34_34),
5691 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
5692 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_0),
5693 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_0),
5694 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
5695 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_12),
5696 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_12),
5697 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_0),
5698 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_0),
5699 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_12),
5700 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_0),
5701 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_12),
5702 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_0),
5703 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_14_34_34),
5704 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_14_14_14),
5705 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_34_34_14),
5706 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_34_14_34),
5707 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_14_34_34),
5708 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_34_14_34),
5709 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_14_14_14),
5710 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_34_34_14),
5711 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_14_34_34),
5712 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_34_34_14),
5713 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_34_14_34),
5714 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_14_14_14));
5715 case 215 -> spaceGroup =
5716 new SpaceGroup(
5717 215,
5718 24,
5719 24,
5720 "P-43m",
5721 "PG4bar3m",
5722 "P -4 3 m",
5723 CUBIC, CUBIC_LATTICE,
5724 LM3M,
5725 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
5726 new double[] {-1.0, -1.0, -1.0},
5727 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5728 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
5729 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
5730 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
5731 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5732 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
5733 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
5734 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
5735 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5736 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
5737 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
5738 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
5739 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
5740 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
5741 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
5742 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
5743 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_0_0),
5744 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_0_0),
5745 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_0_0),
5746 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_0_0),
5747 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_0_0),
5748 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_0_0),
5749 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_0_0),
5750 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_0_0));
5751 default -> {
5752 }
5753 }
5754 return spaceGroup;
5755 }
5756
5757
5758
5759
5760
5761
5762
5763
5764 static SpaceGroup getSpaceGroup6(int num) {
5765 SpaceGroup spaceGroup = null;
5766 switch (num) {
5767 case 216 -> spaceGroup =
5768 new SpaceGroup(
5769 216,
5770 96,
5771 24,
5772 "F-43m",
5773 "PG4bar3m",
5774 "F -4 3 m",
5775 CUBIC, CUBIC_LATTICE,
5776 LM3M,
5777 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
5778 new double[] {-1.0, -1.0, -1.0},
5779 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5780 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
5781 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
5782 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
5783 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5784 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
5785 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
5786 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
5787 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5788 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
5789 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
5790 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
5791 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
5792 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
5793 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
5794 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
5795 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_0_0),
5796 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_0_0),
5797 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_0_0),
5798 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_0_0),
5799 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_0_0),
5800 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_0_0),
5801 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_0_0),
5802 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_0_0),
5803 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
5804 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
5805 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
5806 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_12),
5807 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_12_12),
5808 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_12_12),
5809 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_12),
5810 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
5811 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_12_12),
5812 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
5813 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_12_12),
5814 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_12),
5815 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_12_12),
5816 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_12_12),
5817 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_12_12),
5818 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_12_12),
5819 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_12_12),
5820 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_12_12),
5821 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_12_12),
5822 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_12_12),
5823 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_12_12),
5824 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_12_12),
5825 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_12_12),
5826 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_12_12),
5827 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
5828 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
5829 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
5830 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
5831 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_0_12),
5832 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_0_12),
5833 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
5834 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_12),
5835 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_0_12),
5836 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_12),
5837 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_0_12),
5838 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
5839 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_0_12),
5840 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_0_12),
5841 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_0_12),
5842 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_0_12),
5843 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_0_12),
5844 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_0_12),
5845 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_0_12),
5846 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_0_12),
5847 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_0_12),
5848 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_0_12),
5849 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_0_12),
5850 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_0_12),
5851 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
5852 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
5853 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
5854 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
5855 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_0),
5856 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
5857 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_0),
5858 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_0),
5859 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_0),
5860 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_0),
5861 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
5862 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_0),
5863 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_0),
5864 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_0),
5865 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_0),
5866 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_0),
5867 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_12_0),
5868 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_12_0),
5869 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_12_0),
5870 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_12_0),
5871 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_12_0),
5872 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_12_0),
5873 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_12_0),
5874 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_12_0));
5875 case 217 -> spaceGroup =
5876 new SpaceGroup(
5877 217,
5878 48,
5879 24,
5880 "I-43m",
5881 "PG4bar3m",
5882 "I -4 3 m",
5883 CUBIC, CUBIC_LATTICE,
5884 LM3M,
5885 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
5886 new double[] {-1.0, -1.0, -1.0},
5887 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5888 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
5889 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
5890 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
5891 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5892 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
5893 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
5894 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
5895 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5896 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
5897 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
5898 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
5899 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
5900 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
5901 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
5902 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
5903 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_0_0),
5904 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_0_0),
5905 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_0_0),
5906 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_0_0),
5907 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_0_0),
5908 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_0_0),
5909 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_0_0),
5910 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_0_0),
5911 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
5912 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
5913 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
5914 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
5915 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_12),
5916 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_12),
5917 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_12),
5918 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_12),
5919 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_12),
5920 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_12),
5921 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_12),
5922 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_12),
5923 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12),
5924 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
5925 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
5926 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
5927 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_12_12),
5928 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_12_12),
5929 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_12_12),
5930 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_12_12),
5931 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_12_12),
5932 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_12_12),
5933 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_12_12),
5934 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_12_12));
5935 case 218 -> spaceGroup =
5936 new SpaceGroup(
5937 218,
5938 24,
5939 24,
5940 "P-43n",
5941 "PG4bar3m",
5942 "P -4 3 n",
5943 CUBIC, CUBIC_LATTICE,
5944 LM3M,
5945 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
5946 new double[] {-1.0, -1.0, -1.0},
5947 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5948 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
5949 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
5950 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
5951 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5952 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
5953 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
5954 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
5955 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5956 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
5957 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
5958 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
5959 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12),
5960 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
5961 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
5962 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
5963 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_12_12),
5964 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_12_12),
5965 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_12_12),
5966 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_12_12),
5967 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_12_12),
5968 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_12_12),
5969 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_12_12),
5970 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_12_12));
5971 case 219 -> spaceGroup =
5972 new SpaceGroup(
5973 219,
5974 96,
5975 24,
5976 "F-43c",
5977 "PG4bar3m",
5978 "F -4 3 c",
5979 CUBIC, CUBIC_LATTICE,
5980 LM3M,
5981 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
5982 new double[] {-1.0, -1.0, -1.0},
5983 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
5984 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
5985 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
5986 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
5987 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
5988 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
5989 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
5990 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
5991 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
5992 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
5993 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
5994 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
5995 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12),
5996 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
5997 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
5998 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
5999 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_12_12),
6000 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_12_12),
6001 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_12_12),
6002 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_12_12),
6003 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_12_12),
6004 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_12_12),
6005 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_12_12),
6006 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_12_12),
6007 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
6008 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
6009 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
6010 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_12),
6011 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_12_12),
6012 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_12_12),
6013 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_12),
6014 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
6015 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_12_12),
6016 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
6017 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_12_12),
6018 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_12),
6019 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_0_0),
6020 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_0_0),
6021 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_0_0),
6022 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_0_0),
6023 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_0_0),
6024 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_0_0),
6025 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_0_0),
6026 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_0_0),
6027 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_0_0),
6028 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_0_0),
6029 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_0_0),
6030 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_0_0),
6031 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
6032 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
6033 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
6034 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
6035 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_0_12),
6036 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_0_12),
6037 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
6038 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_12),
6039 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_0_12),
6040 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_12),
6041 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_0_12),
6042 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
6043 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_12_0),
6044 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_12_0),
6045 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_12_0),
6046 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_12_0),
6047 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_12_0),
6048 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_12_0),
6049 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_12_0),
6050 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_12_0),
6051 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_12_0),
6052 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_12_0),
6053 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_12_0),
6054 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_12_0),
6055 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
6056 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
6057 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
6058 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
6059 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_0),
6060 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
6061 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_0),
6062 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_0),
6063 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_0),
6064 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_0),
6065 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
6066 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_0),
6067 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12),
6068 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
6069 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_12),
6070 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_12),
6071 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_0_12),
6072 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_0_12),
6073 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_0_12),
6074 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_0_12),
6075 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_0_12),
6076 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_0_12),
6077 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_0_12),
6078 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_0_12));
6079 case 220 -> spaceGroup =
6080 new SpaceGroup(
6081 220,
6082 48,
6083 24,
6084 "I-43d",
6085 "PG4bar3m",
6086 "I -4 3 d",
6087 CUBIC, CUBIC_LATTICE,
6088 LM3M,
6089 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
6090 new double[] {-1.0, -1.0, -1.0},
6091 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
6092 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
6093 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
6094 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
6095 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
6096 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
6097 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
6098 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
6099 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
6100 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
6101 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
6102 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
6103 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_14_14_14),
6104 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_14_34_34),
6105 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_34_14_34),
6106 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_34_34_14),
6107 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_14_14_14),
6108 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_34_34_14),
6109 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_14_34_34),
6110 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_34_14_34),
6111 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_14_14_14),
6112 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_34_14_34),
6113 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_34_34_14),
6114 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_14_34_34),
6115 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
6116 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_0),
6117 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_0),
6118 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
6119 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_12),
6120 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_12),
6121 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_0),
6122 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_0),
6123 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_12),
6124 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_0),
6125 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_12),
6126 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_0),
6127 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_34_34_34),
6128 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_34_14_14),
6129 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_14_34_14),
6130 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_14_14_34),
6131 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_34_34_34),
6132 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_14_14_34),
6133 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_34_14_14),
6134 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_14_34_14),
6135 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_34_34_34),
6136 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_14_34_14),
6137 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_14_14_34),
6138 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_34_14_14));
6139 case 221 -> spaceGroup =
6140 new SpaceGroup(
6141 221,
6142 48,
6143 48,
6144 "Pm-3m",
6145 "PGm3barm",
6146 "P 4/m -3 2/m",
6147 CUBIC, CUBIC_LATTICE,
6148 LM3M,
6149 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
6150 new double[] {f12, f12, f12},
6151 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
6152 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
6153 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
6154 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
6155 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
6156 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
6157 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
6158 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
6159 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
6160 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
6161 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
6162 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
6163 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
6164 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
6165 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
6166 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
6167 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_0_0_0),
6168 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_0_0_0),
6169 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_0_0_0),
6170 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_0_0_0),
6171 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_0_0_0),
6172 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_0_0_0),
6173 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_0_0_0),
6174 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_0_0_0),
6175 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
6176 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
6177 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
6178 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
6179 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_0_0),
6180 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_0_0_0),
6181 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_0_0_0),
6182 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_0_0_0),
6183 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_0_0),
6184 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_0_0_0),
6185 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_0_0_0),
6186 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_0_0_0),
6187 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
6188 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
6189 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
6190 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
6191 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_0_0),
6192 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_0_0),
6193 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_0_0),
6194 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_0_0),
6195 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_0_0),
6196 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_0_0),
6197 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_0_0),
6198 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_0_0));
6199 case 222 -> spaceGroup =
6200 new SpaceGroup(
6201 222,
6202 48,
6203 48,
6204 "Pn-3n",
6205 "PGm3barm",
6206 "P 4/n -3 2/n",
6207 CUBIC, CUBIC_LATTICE,
6208 LM3M,
6209 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
6210 new double[] {-1.0, -1.0, -1.0},
6211 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
6212 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
6213 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
6214 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
6215 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
6216 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
6217 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
6218 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
6219 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
6220 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
6221 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
6222 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
6223 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
6224 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
6225 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
6226 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
6227 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_0_0_0),
6228 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_0_0_0),
6229 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_0_0_0),
6230 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_0_0_0),
6231 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_0_0_0),
6232 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_0_0_0),
6233 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_0_0_0),
6234 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_0_0_0),
6235 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
6236 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
6237 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
6238 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
6239 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_12_12_12),
6240 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_12_12_12),
6241 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_12_12_12),
6242 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_12_12_12),
6243 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_12_12_12),
6244 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_12_12_12),
6245 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_12_12_12),
6246 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_12_12_12),
6247 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
6248 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12),
6249 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
6250 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
6251 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_12_12),
6252 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_12_12),
6253 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_12_12),
6254 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_12_12),
6255 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_12_12),
6256 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_12_12),
6257 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_12_12),
6258 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_12_12));
6259 case 223 -> spaceGroup =
6260 new SpaceGroup(
6261 223,
6262 48,
6263 48,
6264 "Pm-3n",
6265 "PGm3barm",
6266 "P 42/m -3 2/n",
6267 CUBIC, CUBIC_LATTICE,
6268 LM3M,
6269 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
6270 new double[] {-1.0, -1.0, -1.0},
6271 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
6272 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
6273 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
6274 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
6275 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
6276 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
6277 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
6278 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
6279 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
6280 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
6281 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
6282 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
6283 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_12),
6284 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12),
6285 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
6286 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
6287 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_12_12_12),
6288 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_12_12_12),
6289 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_12_12_12),
6290 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_12_12_12),
6291 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_12_12_12),
6292 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_12_12_12),
6293 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_12_12_12),
6294 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_12_12_12),
6295 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
6296 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
6297 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
6298 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
6299 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_0_0),
6300 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_0_0_0),
6301 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_0_0_0),
6302 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_0_0_0),
6303 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_0_0),
6304 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_0_0_0),
6305 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_0_0_0),
6306 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_0_0_0),
6307 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
6308 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12),
6309 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
6310 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
6311 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_12_12),
6312 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_12_12),
6313 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_12_12),
6314 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_12_12),
6315 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_12_12),
6316 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_12_12),
6317 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_12_12),
6318 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_12_12));
6319 case 224 -> spaceGroup =
6320 new SpaceGroup(
6321 224,
6322 48,
6323 48,
6324 "Pn-3m",
6325 "PGm3barm",
6326 "P 42/n -3 2/m",
6327 CUBIC, CUBIC_LATTICE,
6328 LM3M,
6329 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
6330 new double[] {-1.0, -1.0, -1.0},
6331 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
6332 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
6333 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
6334 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
6335 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
6336 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
6337 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
6338 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
6339 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
6340 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
6341 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
6342 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
6343 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_12),
6344 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12),
6345 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
6346 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
6347 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_12_12_12),
6348 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_12_12_12),
6349 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_12_12_12),
6350 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_12_12_12),
6351 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_12_12_12),
6352 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_12_12_12),
6353 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_12_12_12),
6354 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_12_12_12),
6355 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
6356 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
6357 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
6358 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
6359 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_12_12_12),
6360 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_12_12_12),
6361 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_12_12_12),
6362 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_12_12_12),
6363 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_12_12_12),
6364 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_12_12_12),
6365 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_12_12_12),
6366 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_12_12_12),
6367 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
6368 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
6369 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
6370 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
6371 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_0_0),
6372 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_0_0),
6373 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_0_0),
6374 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_0_0),
6375 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_0_0),
6376 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_0_0),
6377 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_0_0),
6378 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_0_0));
6379 case 225 -> spaceGroup =
6380 new SpaceGroup(
6381 225,
6382 192,
6383 48,
6384 "Fm-3m",
6385 "PGm3barm",
6386 "F 4/m -3 2/m",
6387 CUBIC, CUBIC_LATTICE,
6388 LM3M,
6389 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
6390 new double[] {f12, f14, f14},
6391 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
6392 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
6393 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
6394 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
6395 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
6396 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
6397 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
6398 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
6399 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
6400 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
6401 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
6402 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
6403 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
6404 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
6405 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
6406 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
6407 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_0_0_0),
6408 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_0_0_0),
6409 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_0_0_0),
6410 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_0_0_0),
6411 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_0_0_0),
6412 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_0_0_0),
6413 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_0_0_0),
6414 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_0_0_0),
6415 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
6416 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
6417 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
6418 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
6419 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_0_0),
6420 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_0_0_0),
6421 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_0_0_0),
6422 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_0_0_0),
6423 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_0_0),
6424 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_0_0_0),
6425 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_0_0_0),
6426 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_0_0_0),
6427 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
6428 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
6429 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
6430 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
6431 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_0_0),
6432 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_0_0),
6433 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_0_0),
6434 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_0_0),
6435 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_0_0),
6436 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_0_0),
6437 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_0_0),
6438 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_0_0),
6439 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
6440 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
6441 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
6442 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_12),
6443 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_12_12),
6444 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_12_12),
6445 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_12),
6446 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
6447 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_12_12),
6448 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
6449 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_12_12),
6450 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_12),
6451 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_12_12),
6452 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_12_12),
6453 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_12_12),
6454 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_12_12),
6455 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_0_12_12),
6456 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_0_12_12),
6457 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_0_12_12),
6458 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_0_12_12),
6459 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_0_12_12),
6460 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_0_12_12),
6461 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_0_12_12),
6462 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_0_12_12),
6463 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_12_12),
6464 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_12_12),
6465 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
6466 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_12_12),
6467 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_12_12),
6468 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_0_12_12),
6469 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_0_12_12),
6470 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_0_12_12),
6471 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_12_12),
6472 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_0_12_12),
6473 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_0_12_12),
6474 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_0_12_12),
6475 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_12_12),
6476 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_12_12),
6477 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_12_12),
6478 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_12_12),
6479 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_12_12),
6480 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_12_12),
6481 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_12_12),
6482 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_12_12),
6483 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_12_12),
6484 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_12_12),
6485 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_12_12),
6486 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_12_12),
6487 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
6488 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
6489 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
6490 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
6491 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_0_12),
6492 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_0_12),
6493 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
6494 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_12),
6495 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_0_12),
6496 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_12),
6497 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_0_12),
6498 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
6499 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_0_12),
6500 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_0_12),
6501 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_0_12),
6502 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_0_12),
6503 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_12_0_12),
6504 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_12_0_12),
6505 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_12_0_12),
6506 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_12_0_12),
6507 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_12_0_12),
6508 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_12_0_12),
6509 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_12_0_12),
6510 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_12_0_12),
6511 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_0_12),
6512 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_12),
6513 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_12),
6514 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_0_12),
6515 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_12_0_12),
6516 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_12_0_12),
6517 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_12_0_12),
6518 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_12_0_12),
6519 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_12_0_12),
6520 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_12_0_12),
6521 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_12_0_12),
6522 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_12_0_12),
6523 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_0_12),
6524 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_0_12),
6525 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_0_12),
6526 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_0_12),
6527 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_0_12),
6528 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_0_12),
6529 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_0_12),
6530 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_0_12),
6531 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_0_12),
6532 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_0_12),
6533 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_0_12),
6534 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_0_12),
6535 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
6536 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
6537 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
6538 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
6539 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_0),
6540 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
6541 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_0),
6542 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_0),
6543 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_0),
6544 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_0),
6545 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
6546 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_0),
6547 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_0),
6548 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_0),
6549 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_0),
6550 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_0),
6551 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_12_12_0),
6552 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_12_12_0),
6553 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_12_12_0),
6554 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_12_12_0),
6555 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_12_12_0),
6556 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_12_12_0),
6557 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_12_12_0),
6558 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_12_12_0),
6559 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
6560 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_0),
6561 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
6562 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
6563 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_12_12_0),
6564 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_12_12_0),
6565 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_12_12_0),
6566 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_12_12_0),
6567 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_12_12_0),
6568 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_12_12_0),
6569 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_12_12_0),
6570 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_12_12_0),
6571 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_0),
6572 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_0),
6573 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_0),
6574 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_0),
6575 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_12_0),
6576 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_12_0),
6577 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_12_0),
6578 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_12_0),
6579 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_12_0),
6580 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_12_0),
6581 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_12_0),
6582 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_12_0));
6583 case 226 -> spaceGroup =
6584 new SpaceGroup(
6585 226,
6586 192,
6587 48,
6588 "Fm-3c",
6589 "PGm3barm",
6590 "F 4/m -3 2/c",
6591 CUBIC, CUBIC_LATTICE,
6592 LM3M,
6593 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
6594 new double[] {-1.0, -1.0, -1.0},
6595 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
6596 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
6597 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
6598 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
6599 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
6600 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
6601 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
6602 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
6603 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
6604 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
6605 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
6606 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
6607 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_12),
6608 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12),
6609 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
6610 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
6611 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_12_12_12),
6612 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_12_12_12),
6613 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_12_12_12),
6614 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_12_12_12),
6615 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_12_12_12),
6616 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_12_12_12),
6617 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_12_12_12),
6618 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_12_12_12),
6619 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
6620 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
6621 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
6622 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
6623 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_0_0),
6624 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_0_0_0),
6625 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_0_0_0),
6626 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_0_0_0),
6627 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_0_0),
6628 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_0_0_0),
6629 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_0_0_0),
6630 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_0_0_0),
6631 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
6632 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12),
6633 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
6634 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
6635 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_12_12),
6636 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_12_12),
6637 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_12_12),
6638 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_12_12),
6639 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_12_12),
6640 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_12_12),
6641 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_12_12),
6642 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_12_12),
6643 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
6644 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
6645 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
6646 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_12),
6647 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_12_12),
6648 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_12_12),
6649 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_12),
6650 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
6651 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_12_12),
6652 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
6653 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_12_12),
6654 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_12),
6655 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_0_0),
6656 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_0_0),
6657 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_0_0),
6658 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_0_0),
6659 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_12_0_0),
6660 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_12_0_0),
6661 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_12_0_0),
6662 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_12_0_0),
6663 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_12_0_0),
6664 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_12_0_0),
6665 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_12_0_0),
6666 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_12_0_0),
6667 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_12_12),
6668 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_12_12),
6669 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
6670 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_12_12),
6671 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_12_12),
6672 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_0_12_12),
6673 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_0_12_12),
6674 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_0_12_12),
6675 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_12_12),
6676 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_0_12_12),
6677 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_0_12_12),
6678 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_0_12_12),
6679 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_0_0),
6680 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_0_0),
6681 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_0_0),
6682 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_0_0),
6683 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_0_0),
6684 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_0_0),
6685 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_0_0),
6686 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_0_0),
6687 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_0_0),
6688 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_0_0),
6689 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_0_0),
6690 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_0_0),
6691 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
6692 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
6693 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
6694 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
6695 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_0_12),
6696 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_0_12),
6697 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
6698 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_12),
6699 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_0_12),
6700 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_12),
6701 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_0_12),
6702 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
6703 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_12_0),
6704 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_12_0),
6705 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_12_0),
6706 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_12_0),
6707 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_0_12_0),
6708 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_0_12_0),
6709 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_0_12_0),
6710 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_0_12_0),
6711 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_0_12_0),
6712 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_0_12_0),
6713 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_0_12_0),
6714 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_0_12_0),
6715 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_0_12),
6716 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_12),
6717 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_12),
6718 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_0_12),
6719 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_12_0_12),
6720 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_12_0_12),
6721 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_12_0_12),
6722 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_12_0_12),
6723 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_12_0_12),
6724 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_12_0_12),
6725 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_12_0_12),
6726 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_12_0_12),
6727 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_12_0),
6728 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_12_0),
6729 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_12_0),
6730 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_12_0),
6731 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_12_0),
6732 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_12_0),
6733 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_12_0),
6734 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_12_0),
6735 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_12_0),
6736 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_12_0),
6737 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_12_0),
6738 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_12_0),
6739 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
6740 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
6741 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
6742 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
6743 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_0),
6744 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
6745 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_0),
6746 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_0),
6747 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_0),
6748 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_0),
6749 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
6750 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_0),
6751 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_12),
6752 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_12),
6753 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_12),
6754 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_12),
6755 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_0_0_12),
6756 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_0_0_12),
6757 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_0_0_12),
6758 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_0_0_12),
6759 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_0_0_12),
6760 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_0_0_12),
6761 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_0_0_12),
6762 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_0_0_12),
6763 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_0),
6764 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_0),
6765 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
6766 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
6767 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_12_12_0),
6768 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_12_12_0),
6769 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_12_12_0),
6770 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_12_12_0),
6771 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_12_12_0),
6772 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_12_12_0),
6773 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_12_12_0),
6774 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_12_12_0),
6775 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
6776 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12),
6777 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_12),
6778 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_12),
6779 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_0_12),
6780 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_0_12),
6781 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_0_12),
6782 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_0_12),
6783 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_0_12),
6784 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_0_12),
6785 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_0_12),
6786 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_0_12));
6787 case 227 -> spaceGroup =
6788 new SpaceGroup(
6789 227,
6790 192,
6791 48,
6792 "Fd-3m",
6793 "PGm3barm",
6794 "F 41/d -3 2/m",
6795 CUBIC, CUBIC_LATTICE,
6796 LM3M,
6797 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
6798 new double[] {-1.0, -1.0, -1.0},
6799 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
6800 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
6801 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
6802 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
6803 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
6804 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_0_12),
6805 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_12),
6806 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_0),
6807 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
6808 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_0),
6809 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_0_12),
6810 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_12),
6811 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_34_14_34),
6812 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_14_14_14),
6813 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_14_34_34),
6814 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_34_34_14),
6815 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_34_14_34),
6816 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_34_34_14),
6817 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_14_14_14),
6818 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_14_34_34),
6819 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_34_14_34),
6820 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_14_34_34),
6821 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_34_34_14),
6822 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_14_14_14),
6823 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_14_14_14),
6824 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_14_34_34),
6825 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_34_34_14),
6826 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_34_14_34),
6827 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_14_14_14),
6828 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_34_14_34),
6829 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_14_34_34),
6830 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_34_34_14),
6831 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_14_14_14),
6832 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_34_34_14),
6833 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_34_14_34),
6834 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_14_34_34),
6835 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_0_12),
6836 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
6837 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_12_12),
6838 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_0),
6839 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_0_12),
6840 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_12_0),
6841 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_0_0),
6842 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_12_12),
6843 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_0_12),
6844 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_12_12),
6845 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_12_0),
6846 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_0_0),
6847 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
6848 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
6849 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
6850 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
6851 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_12_12),
6852 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
6853 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
6854 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_12),
6855 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_12_12),
6856 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_12),
6857 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
6858 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
6859 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_34_34_14),
6860 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_14_34_34),
6861 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_14_14_14),
6862 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_34_14_34),
6863 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_34_34_14),
6864 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_34_14_34),
6865 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_14_34_34),
6866 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_14_14_14),
6867 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_34_34_14),
6868 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_14_14_14),
6869 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_34_14_34),
6870 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_14_34_34),
6871 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_14_34_34),
6872 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_14_14_14),
6873 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_34_14_34),
6874 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_34_34_14),
6875 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_14_34_34),
6876 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_34_34_14),
6877 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_14_14_14),
6878 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_34_14_34),
6879 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_14_34_34),
6880 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_34_14_34),
6881 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_34_34_14),
6882 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_14_14_14),
6883 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_0),
6884 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_12_12),
6885 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
6886 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_0_12),
6887 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_12_0),
6888 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_0_12),
6889 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_12_12),
6890 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_0_0),
6891 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_12_0),
6892 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_0_0),
6893 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_0_12),
6894 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_12_12),
6895 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
6896 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
6897 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
6898 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
6899 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_0_12),
6900 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
6901 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_0),
6902 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
6903 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_0_12),
6904 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
6905 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
6906 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_0),
6907 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_14_14_14),
6908 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_34_14_34),
6909 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_34_34_14),
6910 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_14_34_34),
6911 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_14_14_14),
6912 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_14_34_34),
6913 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_34_14_34),
6914 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_34_34_14),
6915 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_14_14_14),
6916 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_34_34_14),
6917 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_14_34_34),
6918 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_34_14_34),
6919 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_34_14_34),
6920 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_34_34_14),
6921 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_14_34_34),
6922 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_14_14_14),
6923 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_34_14_34),
6924 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_14_14_14),
6925 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_34_34_14),
6926 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_14_34_34),
6927 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_34_14_34),
6928 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_14_34_34),
6929 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_14_14_14),
6930 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_34_34_14),
6931 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
6932 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_0_12),
6933 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_0),
6934 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_12_12),
6935 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_0_0),
6936 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_12_12),
6937 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_0_12),
6938 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_12_0),
6939 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_0_0),
6940 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_12_0),
6941 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_12_12),
6942 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_0_12),
6943 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
6944 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
6945 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
6946 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_12),
6947 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_0),
6948 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_12_12),
6949 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
6950 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
6951 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_0),
6952 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
6953 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_12_12),
6954 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
6955 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_14_34_34),
6956 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_34_34_14),
6957 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_34_14_34),
6958 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_14_14_14),
6959 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_14_34_34),
6960 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_14_14_14),
6961 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_34_34_14),
6962 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_34_14_34),
6963 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_14_34_34),
6964 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_34_14_34),
6965 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_14_14_14),
6966 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_34_34_14),
6967 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_34_34_14),
6968 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_34_14_34),
6969 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_14_14_14),
6970 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_14_34_34),
6971 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_34_34_14),
6972 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_14_34_34),
6973 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_34_14_34),
6974 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_14_14_14),
6975 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_34_34_14),
6976 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_14_14_14),
6977 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_14_34_34),
6978 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_34_14_34),
6979 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_12_12),
6980 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_0),
6981 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_0_12),
6982 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
6983 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_12_12),
6984 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_0_0),
6985 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_12_0),
6986 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_0_12),
6987 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_12_12),
6988 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_0_12),
6989 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_0_0),
6990 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_12_0));
6991 case 228 -> spaceGroup =
6992 new SpaceGroup(
6993 228,
6994 192,
6995 48,
6996 "Fd-3c",
6997 "PGm3barm",
6998 "F 41/d -3 2/c",
6999 CUBIC, CUBIC_LATTICE,
7000 LM3M,
7001 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
7002 new double[] {-1.0, -1.0, -1.0},
7003 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7004 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12),
7005 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
7006 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
7007 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
7008 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_0_12),
7009 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_12),
7010 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_0),
7011 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
7012 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_0),
7013 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_0_12),
7014 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_12),
7015 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_34_14_34),
7016 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_14_14_14),
7017 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_14_34_34),
7018 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_34_34_14),
7019 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_34_14_34),
7020 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_34_34_14),
7021 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_14_14_14),
7022 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_14_34_34),
7023 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_34_14_34),
7024 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_14_34_34),
7025 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_34_34_14),
7026 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_14_14_14),
7027 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_34_34_34),
7028 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_34_14_14),
7029 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_14_14_34),
7030 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_14_34_14),
7031 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_34_34_34),
7032 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_14_34_14),
7033 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_34_14_14),
7034 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_14_14_34),
7035 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_34_34_34),
7036 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_14_14_34),
7037 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_14_34_14),
7038 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_34_14_14),
7039 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_12_0),
7040 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12),
7041 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_0_0),
7042 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_12),
7043 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_12_0),
7044 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_0_12),
7045 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_12_12),
7046 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_0_0),
7047 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_12_0),
7048 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_0_0),
7049 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_0_12),
7050 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_12_12),
7051 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_12_12),
7052 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
7053 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_12),
7054 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
7055 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_12_12),
7056 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
7057 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
7058 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_12),
7059 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_12_12),
7060 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_12),
7061 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
7062 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
7063 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_34_34_14),
7064 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_14_34_34),
7065 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_14_14_14),
7066 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_34_14_34),
7067 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_34_34_14),
7068 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_34_14_34),
7069 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_14_34_34),
7070 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_14_14_14),
7071 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_34_34_14),
7072 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_14_14_14),
7073 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_34_14_34),
7074 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_14_34_34),
7075 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_34_14_14),
7076 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_34_34_34),
7077 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_14_34_14),
7078 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_14_14_34),
7079 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_34_14_14),
7080 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_14_14_34),
7081 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_34_34_34),
7082 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_14_34_14),
7083 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_34_14_14),
7084 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_14_34_14),
7085 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_14_14_34),
7086 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_34_34_34),
7087 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_12),
7088 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_0_0),
7089 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
7090 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_12_0),
7091 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_0_12),
7092 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_12_0),
7093 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_0_0),
7094 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_12_12),
7095 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_0_12),
7096 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_12_12),
7097 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_12_0),
7098 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_0_0),
7099 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_0_12),
7100 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
7101 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
7102 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
7103 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_0_12),
7104 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
7105 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_0),
7106 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
7107 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_0_12),
7108 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
7109 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
7110 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_0),
7111 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_14_14_14),
7112 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_34_14_34),
7113 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_34_34_14),
7114 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_14_34_34),
7115 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_14_14_14),
7116 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_14_34_34),
7117 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_34_14_34),
7118 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_34_34_14),
7119 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_14_14_14),
7120 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_34_34_14),
7121 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_14_34_34),
7122 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_34_14_34),
7123 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_14_34_14),
7124 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_14_14_34),
7125 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_34_14_14),
7126 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_34_34_34),
7127 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_14_34_14),
7128 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_34_34_34),
7129 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_14_14_34),
7130 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_34_14_14),
7131 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_14_34_14),
7132 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_34_14_14),
7133 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_34_34_34),
7134 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_14_14_34),
7135 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
7136 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_12_0),
7137 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_12),
7138 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_0_0),
7139 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_12_12),
7140 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_0_0),
7141 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_12_0),
7142 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_0_12),
7143 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_12_12),
7144 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_0_12),
7145 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_0_0),
7146 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_12_0),
7147 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_0),
7148 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
7149 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
7150 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_12_12),
7151 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_0),
7152 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_12_12),
7153 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
7154 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
7155 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_0),
7156 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
7157 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_12_12),
7158 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
7159 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_14_34_34),
7160 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_34_34_14),
7161 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_34_14_34),
7162 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_14_14_14),
7163 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_14_34_34),
7164 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_14_14_14),
7165 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_34_34_14),
7166 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_34_14_34),
7167 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_14_34_34),
7168 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_34_14_34),
7169 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_14_14_14),
7170 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_34_34_14),
7171 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_14_14_34),
7172 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_14_34_14),
7173 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_34_34_34),
7174 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_34_14_14),
7175 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_14_14_34),
7176 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_34_14_14),
7177 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_14_34_14),
7178 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_34_34_34),
7179 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_14_14_34),
7180 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_34_34_34),
7181 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_34_14_14),
7182 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_14_34_14),
7183 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_0_0),
7184 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_12),
7185 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_12_0),
7186 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
7187 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_0_0),
7188 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_12_12),
7189 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_0_12),
7190 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_12_0),
7191 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_0_0),
7192 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_12_0),
7193 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_12_12),
7194 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_0_12));
7195 case 229 -> spaceGroup =
7196 new SpaceGroup(
7197 229,
7198 96,
7199 48,
7200 "Im-3m",
7201 "PGm3barm",
7202 "I 4/m -3 2/m",
7203 CUBIC, CUBIC_LATTICE,
7204 LM3M,
7205 new ASULimit[] {ASULimit.LTE, ASULimit.LTE, ASULimit.LTE},
7206 new double[] {f12, f12, f14},
7207 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7208 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_0_0),
7209 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_0_0),
7210 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_0),
7211 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
7212 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_0),
7213 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_0_0),
7214 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_0_0),
7215 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
7216 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_0_0),
7217 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_0),
7218 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_0_0),
7219 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_0_0_0),
7220 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
7221 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_0_0_0),
7222 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_0_0_0),
7223 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_0_0_0),
7224 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_0_0_0),
7225 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_0_0_0),
7226 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_0_0_0),
7227 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_0_0_0),
7228 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_0_0_0),
7229 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_0_0_0),
7230 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_0_0_0),
7231 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
7232 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_0_0),
7233 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_0_0),
7234 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_0),
7235 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_0_0),
7236 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_0_0_0),
7237 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_0_0_0),
7238 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_0_0_0),
7239 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_0_0),
7240 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_0_0_0),
7241 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_0_0_0),
7242 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_0_0_0),
7243 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_0_0_0),
7244 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
7245 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_0_0_0),
7246 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_0_0_0),
7247 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_0_0_0),
7248 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_0_0_0),
7249 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_0_0),
7250 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_0_0_0),
7251 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_0_0_0),
7252 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_0_0_0),
7253 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_0_0_0),
7254 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_0_0),
7255 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
7256 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_12),
7257 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
7258 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_12),
7259 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_12),
7260 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_12),
7261 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_12_12),
7262 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_12_12),
7263 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_12),
7264 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_12_12),
7265 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_12),
7266 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_12_12),
7267 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_12_12_12),
7268 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12),
7269 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_12_12_12),
7270 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_12_12_12),
7271 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_12_12_12),
7272 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_12_12_12),
7273 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_12_12_12),
7274 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_12_12_12),
7275 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_12_12_12),
7276 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_12_12_12),
7277 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_12_12_12),
7278 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_12_12_12),
7279 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
7280 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_12_12),
7281 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12),
7282 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_12),
7283 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_12_12_12),
7284 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_12_12_12),
7285 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_12_12_12),
7286 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_12_12_12),
7287 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_12_12_12),
7288 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_12_12_12),
7289 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_12_12_12),
7290 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_12_12_12),
7291 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_12_12_12),
7292 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12),
7293 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_12_12_12),
7294 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_12_12_12),
7295 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_12_12_12),
7296 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_12_12_12),
7297 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_12_12),
7298 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_12_12_12),
7299 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_12_12_12),
7300 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_12_12_12),
7301 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_12_12_12),
7302 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_12_12));
7303 case 230 -> spaceGroup =
7304 new SpaceGroup(
7305 230,
7306 96,
7307 48,
7308 "Ia-3d",
7309 "PGm3barm",
7310 "I 41/a -3 2/d",
7311 CUBIC, CUBIC_LATTICE,
7312 LM3M,
7313 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
7314 new double[] {-1.0, -1.0, -1.0},
7315 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7316 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_0_12),
7317 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_12),
7318 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_12_0),
7319 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
7320 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_12_12_0),
7321 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_12_0_12),
7322 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_0_12_12),
7323 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
7324 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_0_12_12),
7325 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_12_12_0),
7326 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_12_0_12),
7327 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_34_14_14),
7328 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_34_34_34),
7329 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_14_14_34),
7330 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_14_34_14),
7331 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_34_14_14),
7332 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_14_34_14),
7333 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_34_34_34),
7334 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_14_14_34),
7335 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_34_14_14),
7336 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_14_14_34),
7337 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_14_34_14),
7338 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_34_34_34),
7339 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
7340 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_12_0_12),
7341 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_0_12_12),
7342 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_12_0),
7343 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_0_0),
7344 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_12_12_0),
7345 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_12_0_12),
7346 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_0_12_12),
7347 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_0_0),
7348 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_0_12_12),
7349 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_12_12_0),
7350 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_12_0_12),
7351 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_14_34_34),
7352 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_14_14_14),
7353 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_34_34_14),
7354 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_34_14_34),
7355 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_14_34_34),
7356 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_34_14_34),
7357 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_14_14_14),
7358 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_34_34_14),
7359 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_14_34_34),
7360 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_34_34_14),
7361 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_34_14_34),
7362 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_14_14_14),
7363 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_12_12_12),
7364 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_0),
7365 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_0_0),
7366 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_0_0_12),
7367 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_12_12_12),
7368 new SymOp(SymOp.Rot_Z_mX_mY, SymOp.Tr_0_0_12),
7369 new SymOp(SymOp.Rot_mZ_mX_Y, SymOp.Tr_0_12_0),
7370 new SymOp(SymOp.Rot_mZ_X_mY, SymOp.Tr_12_0_0),
7371 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_12_12_12),
7372 new SymOp(SymOp.Rot_mY_Z_mX, SymOp.Tr_12_0_0),
7373 new SymOp(SymOp.Rot_Y_mZ_mX, SymOp.Tr_0_0_12),
7374 new SymOp(SymOp.Rot_mY_mZ_X, SymOp.Tr_0_12_0),
7375 new SymOp(SymOp.Rot_Y_X_mZ, SymOp.Tr_14_34_34),
7376 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_14_14_14),
7377 new SymOp(SymOp.Rot_Y_mX_Z, SymOp.Tr_34_34_14),
7378 new SymOp(SymOp.Rot_mY_X_Z, SymOp.Tr_34_14_34),
7379 new SymOp(SymOp.Rot_X_Z_mY, SymOp.Tr_14_34_34),
7380 new SymOp(SymOp.Rot_mX_Z_Y, SymOp.Tr_34_14_34),
7381 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_14_14_14),
7382 new SymOp(SymOp.Rot_X_mZ_Y, SymOp.Tr_34_34_14),
7383 new SymOp(SymOp.Rot_Z_Y_mX, SymOp.Tr_14_34_34),
7384 new SymOp(SymOp.Rot_Z_mY_X, SymOp.Tr_34_34_14),
7385 new SymOp(SymOp.Rot_mZ_Y_X, SymOp.Tr_34_14_34),
7386 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_14_14_14),
7387 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_12_12_12),
7388 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_12_0),
7389 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_0),
7390 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_0_0_12),
7391 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_12_12_12),
7392 new SymOp(SymOp.Rot_mZ_X_Y, SymOp.Tr_0_0_12),
7393 new SymOp(SymOp.Rot_Z_X_mY, SymOp.Tr_0_12_0),
7394 new SymOp(SymOp.Rot_Z_mX_Y, SymOp.Tr_12_0_0),
7395 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_12_12_12),
7396 new SymOp(SymOp.Rot_Y_mZ_X, SymOp.Tr_12_0_0),
7397 new SymOp(SymOp.Rot_mY_Z_X, SymOp.Tr_0_0_12),
7398 new SymOp(SymOp.Rot_Y_Z_mX, SymOp.Tr_0_12_0),
7399 new SymOp(SymOp.Rot_mY_mX_Z, SymOp.Tr_34_14_14),
7400 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_34_34_34),
7401 new SymOp(SymOp.Rot_mY_X_mZ, SymOp.Tr_14_14_34),
7402 new SymOp(SymOp.Rot_Y_mX_mZ, SymOp.Tr_14_34_14),
7403 new SymOp(SymOp.Rot_mX_mZ_Y, SymOp.Tr_34_14_14),
7404 new SymOp(SymOp.Rot_X_mZ_mY, SymOp.Tr_14_34_14),
7405 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_34_34_34),
7406 new SymOp(SymOp.Rot_mX_Z_mY, SymOp.Tr_14_14_34),
7407 new SymOp(SymOp.Rot_mZ_mY_X, SymOp.Tr_34_14_14),
7408 new SymOp(SymOp.Rot_mZ_Y_mX, SymOp.Tr_14_14_34),
7409 new SymOp(SymOp.Rot_Z_mY_mX, SymOp.Tr_14_34_14),
7410 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_34_34_34));
7411 default -> {
7412 }
7413 }
7414 return spaceGroup;
7415 }
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425 static SpaceGroup getAlternativeSpaceGroup(String name) {
7426 SpaceGroup spaceGroup = null;
7427 name = name.replaceAll(" +", "");
7428 if (name.equalsIgnoreCase("P21/a") || name.equalsIgnoreCase("P121/a1")) {
7429 spaceGroup =
7430 new SpaceGroup(
7431 14,
7432 4,
7433 4,
7434 "P21/a",
7435 "PG2/m",
7436 "P 1 21/a 1",
7437 MONOCLINIC,
7438 MONOCLINIC_LATTICE,
7439 L121,
7440 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
7441 new double[] {-1.0, -1.0, -1.0},
7442 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7443 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
7444 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
7445 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0));
7446 } else if (name.equalsIgnoreCase("P21/n") || name.equalsIgnoreCase("P121/n1")) {
7447 spaceGroup =
7448 new SpaceGroup(
7449 14,
7450 4,
7451 4,
7452 "P21/n",
7453 "PG2/m",
7454 "P 1 21/n 1",
7455 MONOCLINIC,
7456 MONOCLINIC_LATTICE,
7457 L121,
7458 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
7459 new double[] {-1.0, -1.0, -1.0},
7460 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7461 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_12),
7462 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
7463 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_12));
7464 } else if (name.equalsIgnoreCase("Pn") || name.equalsIgnoreCase("P1n1")) {
7465 spaceGroup =
7466 new SpaceGroup(
7467 7,
7468 2,
7469 2,
7470 "Pn",
7471 "PGm",
7472 "P 1 n 1",
7473 MONOCLINIC,
7474 MONOCLINIC_LATTICE,
7475 L121,
7476 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
7477 new double[] {-1.0, -1.0, -1.0},
7478 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7479 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_12));
7480 } else if (name.equalsIgnoreCase("Pa") || name.equalsIgnoreCase("P1a1")) {
7481 spaceGroup =
7482 new SpaceGroup(
7483 7,
7484 2,
7485 2,
7486 "Pa",
7487 "PGm",
7488 "P 1 a 1",
7489 MONOCLINIC,
7490 MONOCLINIC_LATTICE,
7491 L121,
7492 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
7493 new double[] {-1.0, -1.0, -1.0},
7494 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7495 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_0_0));
7496 } else if (name.equalsIgnoreCase("Pcab") || name.equalsIgnoreCase("P21/c21/a21/b")) {
7497 spaceGroup =
7498 new SpaceGroup(
7499 61,
7500 8,
7501 8,
7502 "Pcab",
7503 "PGmmm",
7504 "P 21/c 21/a 21/b",
7505 ORTHORHOMBIC, ORTHORHOMBIC_LATTICE,
7506 L222,
7507 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
7508 new double[] {-1.0, -1.0, -1.0},
7509 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7510 new SymOp(SymOp.Rot_mX_Y_Z, SymOp.Tr_12_0_12),
7511 new SymOp(SymOp.Rot_X_mY_Z, SymOp.Tr_12_12_0),
7512 new SymOp(SymOp.Rot_X_Y_mZ, SymOp.Tr_0_12_12),
7513 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
7514 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_12),
7515 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_12_12_0),
7516 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_0_12_12));
7517 } else if (name.equalsIgnoreCase("P21212A")) {
7518 spaceGroup =
7519 new SpaceGroup(
7520 18,
7521 4,
7522 4,
7523 "P21212A",
7524 "PG222",
7525 "P 21 21 2 A",
7526 ORTHORHOMBIC,
7527 ORTHORHOMBIC_LATTICE,
7528 L222,
7529 new ASULimit[] {ASULimit.LT, ASULimit.LTE, ASULimit.LT},
7530 new double[] {1.0, f14, 1.0},
7531 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7532 new SymOp(SymOp.Rot_mX_mY_Z, SymOp.Tr_12_12_0),
7533 new SymOp(SymOp.Rot_mX_Y_mZ, SymOp.Tr_0_12_0),
7534 new SymOp(SymOp.Rot_X_mY_mZ, SymOp.Tr_12_0_0));
7535 } else if (name.equalsIgnoreCase("R3")) {
7536 spaceGroup =
7537 new SpaceGroup(
7538 146,
7539 4,
7540 4,
7541 "R3",
7542 "PG3",
7543 "R 3",
7544 TRIGONAL,
7545 RHOMBOHEDRAL_LATTICE,
7546 L32U,
7547 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
7548 new double[] {-1.0, -1.0, -1.0},
7549 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7550 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
7551 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0));
7552 } else if (name.equalsIgnoreCase("R-3")) {
7553 spaceGroup =
7554 new SpaceGroup(
7555 148,
7556 6,
7557 6,
7558 "R-3",
7559 "PG3bar",
7560 "R -3",
7561 TRIGONAL,
7562 RHOMBOHEDRAL_LATTICE,
7563 L113,
7564 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
7565 new double[] {-1.0, -1.0, -1.0},
7566 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7567 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
7568 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
7569 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
7570 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_0_0),
7571 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_0_0));
7572 } else if (name.equalsIgnoreCase("R32")) {
7573 spaceGroup =
7574 new SpaceGroup(
7575 155,
7576 6,
7577 6,
7578 "R32",
7579 "PG321",
7580 "R 3 2",
7581 TRIGONAL,
7582 RHOMBOHEDRAL_LATTICE,
7583 L32U,
7584 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
7585 new double[] {-1.0, -1.0, -1.0},
7586 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7587 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
7588 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
7589 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
7590 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_0_0_0),
7591 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_0_0_0));
7592 } else if (name.equalsIgnoreCase("R3m")) {
7593 spaceGroup =
7594 new SpaceGroup(
7595 160,
7596 6,
7597 6,
7598 "R3m",
7599 "PG3m",
7600 "R 3 m",
7601 TRIGONAL,
7602 RHOMBOHEDRAL_LATTICE,
7603 L32U,
7604 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
7605 new double[] {-1.0, -1.0, -1.0},
7606 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7607 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
7608 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
7609 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
7610 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_0_0),
7611 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_0_0));
7612 } else if (name.equalsIgnoreCase("R3c")) {
7613 spaceGroup =
7614 new SpaceGroup(
7615 161,
7616 6,
7617 6,
7618 "R3c",
7619 "PG3m",
7620 "R 3 c",
7621 TRIGONAL,
7622 RHOMBOHEDRAL_LATTICE,
7623 L32U,
7624 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
7625 new double[] {-1.0, -1.0, -1.0},
7626 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7627 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
7628 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
7629 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12),
7630 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_12_12),
7631 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_12_12));
7632 } else if (name.equalsIgnoreCase("R-3m") || name.equalsIgnoreCase("R-32/m")) {
7633 spaceGroup =
7634 new SpaceGroup(
7635 166,
7636 12,
7637 12,
7638 "R-3m",
7639 "PG3barm",
7640 "R -3 2/m",
7641 TRIGONAL,
7642 RHOMBOHEDRAL_LATTICE,
7643 L32U,
7644 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
7645 new double[] {-1.0, -1.0, -1.0},
7646 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7647 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
7648 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
7649 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_0_0_0),
7650 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_0_0_0),
7651 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_0_0_0),
7652 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
7653 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_0_0),
7654 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_0_0),
7655 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_0_0_0),
7656 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_0_0_0),
7657 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_0_0_0));
7658 } else if (name.equalsIgnoreCase("R-3c") || name.equalsIgnoreCase("R-32/c")) {
7659 spaceGroup =
7660 new SpaceGroup(
7661 167,
7662 12,
7663 12,
7664 "R-3c",
7665 "PG3barm",
7666 "R -3 2/c",
7667 TRIGONAL,
7668 RHOMBOHEDRAL_LATTICE,
7669 L32U,
7670 new ASULimit[] {ASULimit.LT, ASULimit.LT, ASULimit.LT},
7671 new double[] {-1.0, -1.0, -1.0},
7672 new SymOp(SymOp.Rot_X_Y_Z, SymOp.Tr_0_0_0),
7673 new SymOp(SymOp.Rot_Z_X_Y, SymOp.Tr_0_0_0),
7674 new SymOp(SymOp.Rot_Y_Z_X, SymOp.Tr_0_0_0),
7675 new SymOp(SymOp.Rot_mY_mX_mZ, SymOp.Tr_12_12_12),
7676 new SymOp(SymOp.Rot_mZ_mY_mX, SymOp.Tr_12_12_12),
7677 new SymOp(SymOp.Rot_mX_mZ_mY, SymOp.Tr_12_12_12),
7678 new SymOp(SymOp.Rot_mX_mY_mZ, SymOp.Tr_0_0_0),
7679 new SymOp(SymOp.Rot_mZ_mX_mY, SymOp.Tr_0_0_0),
7680 new SymOp(SymOp.Rot_mY_mZ_mX, SymOp.Tr_0_0_0),
7681 new SymOp(SymOp.Rot_Y_X_Z, SymOp.Tr_12_12_12),
7682 new SymOp(SymOp.Rot_Z_Y_X, SymOp.Tr_12_12_12),
7683 new SymOp(SymOp.Rot_X_Z_Y, SymOp.Tr_12_12_12));
7684 }
7685
7686 return spaceGroup;
7687 }
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697 public static SpaceGroup spaceGroupFactory(int number) {
7698 if (number > 0 && number <= 50) {
7699 return getSpaceGroup1(number);
7700 } else if (number > 50 && number <= 100) {
7701 return getSpaceGroup2(number);
7702 } else if (number > 100 && number <= 150) {
7703 return getSpaceGroup3(number);
7704 } else if (number > 150 && number <= 200) {
7705 return getSpaceGroup4(number);
7706 } else if (number > 200 && number <= 215) {
7707 return getSpaceGroup5(number);
7708 } else if (number > 215 && number <= 230) {
7709 return getSpaceGroup6(number);
7710 }
7711 return null;
7712 }
7713
7714
7715
7716
7717
7718
7719
7720
7721 public static SpaceGroup spaceGroupFactory(String name) {
7722 String n = name.trim();
7723
7724 n = n.replaceAll("[()]", "");
7725 SpaceGroup spaceGroup = spaceGroupFactory(spaceGroupNumber(n));
7726 if (spaceGroup == null) {
7727 spaceGroup = getAlternativeSpaceGroup(n);
7728 }
7729 return spaceGroup;
7730 }
7731
7732
7733
7734
7735
7736
7737
7738
7739 public static int spaceGroupNumber(String name) {
7740 if (name == null) {
7741 return -1;
7742 }
7743 String n = name.trim();
7744 int num = SpaceGroupInfo.spaceGroupNames.length;
7745 for (int i = 0; i < num; i++) {
7746 String s1 = SpaceGroupInfo.spaceGroupNames[i];
7747 String s2 = SpaceGroupInfo.pdbSpaceGroupNames[i];
7748 if (s1.equalsIgnoreCase(n.replaceAll(" +", "")) || s2.equalsIgnoreCase(n)) {
7749 return i + 1;
7750 }
7751 }
7752 return -1;
7753 }
7754 }