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