1
C$Id: gensym_extra.f 22503 2012-05-20 06:58:57Z d3y133 $
3
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
5
c The matrix SYMOPS contains the matrix reps. of all group operators
6
c except the identity. The variable NOPS holds the number of operators
9
c***********************************************************************
10
subroutine gensym_extra(itype,numgrp,numset,symops,nops,oprint,
16
integer itype,numgrp,numset
17
real*8 symops(maxops*3,4)
19
character*(*) group_name
22
* **** local varialbles ****
27
******* Extra Triclinic groups ******
31
if (numgrp.eq.231) then
35
symops(3*iop+1,1) = 1.0d0
36
symops(3*iop+2,1) = 0.0d0
37
symops(3*iop+3,1) = 0.0d0
38
symops(3*iop+1,2) = 0.0d0
39
symops(3*iop+2,2) = 1.0d0
40
symops(3*iop+3,2) = 0.0d0
41
symops(3*iop+1,3) = 0.0d0
42
symops(3*iop+2,3) = 0.0d0
43
symops(3*iop+3,3) = 1.0d0
44
symops(3*iop+1,4) = 0.0d0
45
symops(3*iop+2,4) = 0.5d0
46
symops(3*iop+3,4) = 0.5d0
52
if (numgrp.eq.232) then
56
symops(3*iop+1,1) = 1.0d0
57
symops(3*iop+2,1) = 0.0d0
58
symops(3*iop+3,1) = 0.0d0
59
symops(3*iop+1,2) = 0.0d0
60
symops(3*iop+2,2) = 1.0d0
61
symops(3*iop+3,2) = 0.0d0
62
symops(3*iop+1,3) = 0.0d0
63
symops(3*iop+2,3) = 0.0d0
64
symops(3*iop+3,3) = 1.0d0
65
symops(3*iop+1,4) = 0.5d0
66
symops(3*iop+2,4) = 0.0d0
67
symops(3*iop+3,4) = 0.5d0
72
if (numgrp.eq.233) then
76
symops(3*iop+1,1) = 1.0d0
77
symops(3*iop+2,1) = 0.0d0
78
symops(3*iop+3,1) = 0.0d0
79
symops(3*iop+1,2) = 0.0d0
80
symops(3*iop+2,2) = 1.0d0
81
symops(3*iop+3,2) = 0.0d0
82
symops(3*iop+1,3) = 0.0d0
83
symops(3*iop+2,3) = 0.0d0
84
symops(3*iop+3,3) = 1.0d0
85
symops(3*iop+1,4) = 0.5d0
86
symops(3*iop+2,4) = 0.5d0
87
symops(3*iop+3,4) = 0.0d0
92
if (numgrp.eq.234) then
96
symops(3*iop+1,1) = 1.0d0
97
symops(3*iop+2,1) = 0.0d0
98
symops(3*iop+3,1) = 0.0d0
99
symops(3*iop+1,2) = 0.0d0
100
symops(3*iop+2,2) = 1.0d0
101
symops(3*iop+3,2) = 0.0d0
102
symops(3*iop+1,3) = 0.0d0
103
symops(3*iop+2,3) = 0.0d0
104
symops(3*iop+3,3) = 1.0d0
105
symops(3*iop+1,4) = 0.0d0
106
symops(3*iop+2,4) = 0.5d0
107
symops(3*iop+3,4) = 0.5d0
109
symops(3*iop+1,1) = 1.0d0
110
symops(3*iop+2,1) = 0.0d0
111
symops(3*iop+3,1) = 0.0d0
112
symops(3*iop+1,2) = 0.0d0
113
symops(3*iop+2,2) = 1.0d0
114
symops(3*iop+3,2) = 0.0d0
115
symops(3*iop+1,3) = 0.0d0
116
symops(3*iop+2,3) = 0.0d0
117
symops(3*iop+3,3) = 1.0d0
118
symops(3*iop+1,4) = 0.5d0
119
symops(3*iop+2,4) = 0.0d0
120
symops(3*iop+3,4) = 0.5d0
122
symops(3*iop+1,1) = 1.0d0
123
symops(3*iop+2,1) = 0.0d0
124
symops(3*iop+3,1) = 0.0d0
125
symops(3*iop+1,2) = 0.0d0
126
symops(3*iop+2,2) = 1.0d0
127
symops(3*iop+3,2) = 0.0d0
128
symops(3*iop+1,3) = 0.0d0
129
symops(3*iop+2,3) = 0.0d0
130
symops(3*iop+3,3) = 1.0d0
131
symops(3*iop+1,4) = 0.5d0
132
symops(3*iop+2,4) = 0.5d0
133
symops(3*iop+3,4) = 0.0d0
138
if (numgrp.eq.235) then
142
symops(3*iop+1,1) = 1.0d0
143
symops(3*iop+2,1) = 0.0d0
144
symops(3*iop+3,1) = 0.0d0
145
symops(3*iop+1,2) = 0.0d0
146
symops(3*iop+2,2) = 1.0d0
147
symops(3*iop+3,2) = 0.0d0
148
symops(3*iop+1,3) = 0.0d0
149
symops(3*iop+2,3) = 0.0d0
150
symops(3*iop+3,3) = 1.0d0
151
symops(3*iop+1,4) = 0.5d0
152
symops(3*iop+2,4) = 0.5d0
153
symops(3*iop+3,4) = 0.5d0
159
if (numgrp.eq.236) then
163
symops(3*iop+1,1) = -1.0d0
164
symops(3*iop+2,1) = 0.0d0
165
symops(3*iop+3,1) = 0.0d0
166
symops(3*iop+1,2) = 0.0d0
167
symops(3*iop+2,2) = -1.0d0
168
symops(3*iop+3,2) = 0.0d0
169
symops(3*iop+1,3) = 0.0d0
170
symops(3*iop+2,3) = 0.0d0
171
symops(3*iop+3,3) = -1.0d0
172
symops(3*iop+1,4) = 0.0d0
173
symops(3*iop+2,4) = 0.0d0
174
symops(3*iop+3,4) = 0.0d0
176
symops(3*iop+1,1) = 1.0d0
177
symops(3*iop+2,1) = 0.0d0
178
symops(3*iop+3,1) = 0.0d0
179
symops(3*iop+1,2) = 0.0d0
180
symops(3*iop+2,2) = 1.0d0
181
symops(3*iop+3,2) = 0.0d0
182
symops(3*iop+1,3) = 0.0d0
183
symops(3*iop+2,3) = 0.0d0
184
symops(3*iop+3,3) = 1.0d0
185
symops(3*iop+1,4) = 0.0d0
186
symops(3*iop+2,4) = 0.5d0
187
symops(3*iop+3,4) = 0.5d0
189
symops(3*iop+1,1) = -1.0d0
190
symops(3*iop+2,1) = 0.0d0
191
symops(3*iop+3,1) = 0.0d0
192
symops(3*iop+1,2) = 0.0d0
193
symops(3*iop+2,2) = -1.0d0
194
symops(3*iop+3,2) = 0.0d0
195
symops(3*iop+1,3) = 0.0d0
196
symops(3*iop+2,3) = 0.0d0
197
symops(3*iop+3,3) = -1.0d0
198
symops(3*iop+1,4) = 0.0d0
199
symops(3*iop+2,4) = 0.5d0
200
symops(3*iop+3,4) = 0.5d0
205
if (numgrp.eq.237) then
209
symops(3*iop+1,1) = -1.0d0
210
symops(3*iop+2,1) = 0.0d0
211
symops(3*iop+3,1) = 0.0d0
212
symops(3*iop+1,2) = 0.0d0
213
symops(3*iop+2,2) = -1.0d0
214
symops(3*iop+3,2) = 0.0d0
215
symops(3*iop+1,3) = 0.0d0
216
symops(3*iop+2,3) = 0.0d0
217
symops(3*iop+3,3) = -1.0d0
218
symops(3*iop+1,4) = 0.0d0
219
symops(3*iop+2,4) = 0.0d0
220
symops(3*iop+3,4) = 0.0d0
222
symops(3*iop+1,1) = 1.0d0
223
symops(3*iop+2,1) = 0.0d0
224
symops(3*iop+3,1) = 0.0d0
225
symops(3*iop+1,2) = 0.0d0
226
symops(3*iop+2,2) = 1.0d0
227
symops(3*iop+3,2) = 0.0d0
228
symops(3*iop+1,3) = 0.0d0
229
symops(3*iop+2,3) = 0.0d0
230
symops(3*iop+3,3) = 1.0d0
231
symops(3*iop+1,4) = 0.5d0
232
symops(3*iop+2,4) = 0.0d0
233
symops(3*iop+3,4) = 0.5d0
235
symops(3*iop+1,1) = -1.0d0
236
symops(3*iop+2,1) = 0.0d0
237
symops(3*iop+3,1) = 0.0d0
238
symops(3*iop+1,2) = 0.0d0
239
symops(3*iop+2,2) = -1.0d0
240
symops(3*iop+3,2) = 0.0d0
241
symops(3*iop+1,3) = 0.0d0
242
symops(3*iop+2,3) = 0.0d0
243
symops(3*iop+3,3) = -1.0d0
244
symops(3*iop+1,4) = 0.5d0
245
symops(3*iop+2,4) = 0.0d0
246
symops(3*iop+3,4) = 0.5d0
251
if (numgrp.eq.238) then
255
symops(3*iop+1,1) = -1.0d0
256
symops(3*iop+2,1) = 0.0d0
257
symops(3*iop+3,1) = 0.0d0
258
symops(3*iop+1,2) = 0.0d0
259
symops(3*iop+2,2) = -1.0d0
260
symops(3*iop+3,2) = 0.0d0
261
symops(3*iop+1,3) = 0.0d0
262
symops(3*iop+2,3) = 0.0d0
263
symops(3*iop+3,3) = -1.0d0
264
symops(3*iop+1,4) = 0.0d0
265
symops(3*iop+2,4) = 0.0d0
266
symops(3*iop+3,4) = 0.0d0
268
symops(3*iop+1,1) = 1.0d0
269
symops(3*iop+2,1) = 0.0d0
270
symops(3*iop+3,1) = 0.0d0
271
symops(3*iop+1,2) = 0.0d0
272
symops(3*iop+2,2) = 1.0d0
273
symops(3*iop+3,2) = 0.0d0
274
symops(3*iop+1,3) = 0.0d0
275
symops(3*iop+2,3) = 0.0d0
276
symops(3*iop+3,3) = 1.0d0
277
symops(3*iop+1,4) = 0.5d0
278
symops(3*iop+2,4) = 0.5d0
279
symops(3*iop+3,4) = 0.0d0
281
symops(3*iop+1,1) = -1.0d0
282
symops(3*iop+2,1) = 0.0d0
283
symops(3*iop+3,1) = 0.0d0
284
symops(3*iop+1,2) = 0.0d0
285
symops(3*iop+2,2) = -1.0d0
286
symops(3*iop+3,2) = 0.0d0
287
symops(3*iop+1,3) = 0.0d0
288
symops(3*iop+2,3) = 0.0d0
289
symops(3*iop+3,3) = -1.0d0
290
symops(3*iop+1,4) = 0.5d0
291
symops(3*iop+2,4) = 0.5d0
292
symops(3*iop+3,4) = 0.0d0
297
if (numgrp.eq.239) then
301
symops(3*iop+1,1) = -1.0d0
302
symops(3*iop+2,1) = 0.0d0
303
symops(3*iop+3,1) = 0.0d0
304
symops(3*iop+1,2) = 0.0d0
305
symops(3*iop+2,2) = -1.0d0
306
symops(3*iop+3,2) = 0.0d0
307
symops(3*iop+1,3) = 0.0d0
308
symops(3*iop+2,3) = 0.0d0
309
symops(3*iop+3,3) = -1.0d0
310
symops(3*iop+1,4) = 0.0d0
311
symops(3*iop+2,4) = 0.0d0
312
symops(3*iop+3,4) = 0.0d0
314
symops(3*iop+1,1) = 1.0d0
315
symops(3*iop+2,1) = 0.0d0
316
symops(3*iop+3,1) = 0.0d0
317
symops(3*iop+1,2) = 0.0d0
318
symops(3*iop+2,2) = 1.0d0
319
symops(3*iop+3,2) = 0.0d0
320
symops(3*iop+1,3) = 0.0d0
321
symops(3*iop+2,3) = 0.0d0
322
symops(3*iop+3,3) = 1.0d0
323
symops(3*iop+1,4) = 0.0d0
324
symops(3*iop+2,4) = 0.5d0
325
symops(3*iop+3,4) = 0.5d0
327
symops(3*iop+1,1) = -1.0d0
328
symops(3*iop+2,1) = 0.0d0
329
symops(3*iop+3,1) = 0.0d0
330
symops(3*iop+1,2) = 0.0d0
331
symops(3*iop+2,2) = -1.0d0
332
symops(3*iop+3,2) = 0.0d0
333
symops(3*iop+1,3) = 0.0d0
334
symops(3*iop+2,3) = 0.0d0
335
symops(3*iop+3,3) = -1.0d0
336
symops(3*iop+1,4) = 0.0d0
337
symops(3*iop+2,4) = 0.5d0
338
symops(3*iop+3,4) = 0.5d0
340
symops(3*iop+1,1) = 1.0d0
341
symops(3*iop+2,1) = 0.0d0
342
symops(3*iop+3,1) = 0.0d0
343
symops(3*iop+1,2) = 0.0d0
344
symops(3*iop+2,2) = 1.0d0
345
symops(3*iop+3,2) = 0.0d0
346
symops(3*iop+1,3) = 0.0d0
347
symops(3*iop+2,3) = 0.0d0
348
symops(3*iop+3,3) = 1.0d0
349
symops(3*iop+1,4) = 0.5d0
350
symops(3*iop+2,4) = 0.0d0
351
symops(3*iop+3,4) = 0.5d0
353
symops(3*iop+1,1) = -1.0d0
354
symops(3*iop+2,1) = 0.0d0
355
symops(3*iop+3,1) = 0.0d0
356
symops(3*iop+1,2) = 0.0d0
357
symops(3*iop+2,2) = -1.0d0
358
symops(3*iop+3,2) = 0.0d0
359
symops(3*iop+1,3) = 0.0d0
360
symops(3*iop+2,3) = 0.0d0
361
symops(3*iop+3,3) = -1.0d0
362
symops(3*iop+1,4) = 0.5d0
363
symops(3*iop+2,4) = 0.0d0
364
symops(3*iop+3,4) = 0.5d0
366
symops(3*iop+1,1) = 1.0d0
367
symops(3*iop+2,1) = 0.0d0
368
symops(3*iop+3,1) = 0.0d0
369
symops(3*iop+1,2) = 0.0d0
370
symops(3*iop+2,2) = 1.0d0
371
symops(3*iop+3,2) = 0.0d0
372
symops(3*iop+1,3) = 0.0d0
373
symops(3*iop+2,3) = 0.0d0
374
symops(3*iop+3,3) = 1.0d0
375
symops(3*iop+1,4) = 0.5d0
376
symops(3*iop+2,4) = 0.5d0
377
symops(3*iop+3,4) = 0.0d0
379
symops(3*iop+1,1) = -1.0d0
380
symops(3*iop+2,1) = 0.0d0
381
symops(3*iop+3,1) = 0.0d0
382
symops(3*iop+1,2) = 0.0d0
383
symops(3*iop+2,2) = -1.0d0
384
symops(3*iop+3,2) = 0.0d0
385
symops(3*iop+1,3) = 0.0d0
386
symops(3*iop+2,3) = 0.0d0
387
symops(3*iop+3,3) = -1.0d0
388
symops(3*iop+1,4) = 0.5d0
389
symops(3*iop+2,4) = 0.5d0
390
symops(3*iop+3,4) = 0.0d0
395
if (numgrp.eq.240) then
399
symops(3*iop+1,1) = -1.0d0
400
symops(3*iop+2,1) = 0.0d0
401
symops(3*iop+3,1) = 0.0d0
402
symops(3*iop+1,2) = 0.0d0
403
symops(3*iop+2,2) = -1.0d0
404
symops(3*iop+3,2) = 0.0d0
405
symops(3*iop+1,3) = 0.0d0
406
symops(3*iop+2,3) = 0.0d0
407
symops(3*iop+3,3) = -1.0d0
408
symops(3*iop+1,4) = 0.0d0
409
symops(3*iop+2,4) = 0.0d0
410
symops(3*iop+3,4) = 0.0d0
412
symops(3*iop+1,1) = 1.0d0
413
symops(3*iop+2,1) = 0.0d0
414
symops(3*iop+3,1) = 0.0d0
415
symops(3*iop+1,2) = 0.0d0
416
symops(3*iop+2,2) = 1.0d0
417
symops(3*iop+3,2) = 0.0d0
418
symops(3*iop+1,3) = 0.0d0
419
symops(3*iop+2,3) = 0.0d0
420
symops(3*iop+3,3) = 1.0d0
421
symops(3*iop+1,4) = 0.5d0
422
symops(3*iop+2,4) = 0.5d0
423
symops(3*iop+3,4) = 0.5d0
425
symops(3*iop+1,1) = -1.0d0
426
symops(3*iop+2,1) = 0.0d0
427
symops(3*iop+3,1) = 0.0d0
428
symops(3*iop+1,2) = 0.0d0
429
symops(3*iop+2,2) = -1.0d0
430
symops(3*iop+3,2) = 0.0d0
431
symops(3*iop+1,3) = 0.0d0
432
symops(3*iop+2,3) = 0.0d0
433
symops(3*iop+3,3) = -1.0d0
434
symops(3*iop+1,4) = 0.5d0
435
symops(3*iop+2,4) = 0.5d0
436
symops(3*iop+3,4) = 0.5d0