GADGET-4
symtensor_indices.h
Go to the documentation of this file.
1
/*******************************************************************************
2
* \copyright This file is part of the GADGET4 N-body/SPH code developed
3
* \copyright by Volker Springel. Copyright (C) 2014-2020 by Volker Springel
4
* \copyright (vspringel@mpa-garching.mpg.de) and all contributing authors.
5
*******************************************************************************/
6
12
#ifndef SRC_DATA_SYMTENSOR_INDICES_H_
13
#define SRC_DATA_SYMTENSOR_INDICES_H_
14
15
/* 1-vector*/
16
#define vX 0
17
#define vY 1
18
#define vZ 2
19
20
/* 2-tensor element mapping, symmetric 3x3 */
21
#define qXX 0
22
#define qXY 1
23
#define qXZ 2
24
#define qYX qXY
25
#define qYY 3
26
#define qYZ 4
27
#define qZX qXZ
28
#define qZY qYZ
29
#define qZZ 5
30
31
/* 3-tensor element mapping, symmetric 3x3x3 */
32
#define dXXX 0
33
#define dXXY 1
34
#define dXXZ 2
35
36
#define dXYX dXXY
37
#define dXYY 3
38
#define dXYZ 4
39
40
#define dXZX dXXZ
41
#define dXZY dXYZ
42
#define dXZZ 5
43
44
#define dYXX dXXY
45
#define dYXY dXYY
46
#define dYXZ dXYZ
47
48
#define dYYX dXYY
49
#define dYYY 6
50
#define dYYZ 7
51
52
#define dYZX dXYZ
53
#define dYZY dYYZ
54
#define dYZZ 8
55
56
#define dZXX dXXZ
57
#define dZXY dXYZ
58
#define dZXZ dXZZ
59
60
#define dZYX dXYZ
61
#define dZYY dYYZ
62
#define dZYZ dYZZ
63
64
#define dZZX dXZZ
65
#define dZZY dYZZ
66
#define dZZZ 9
67
68
/* 4-tensor element mapping, symmetric 3x3x3x3 */
69
#define sXXXX 0
70
#define sXXXY 1
71
#define sXXXZ 2
72
73
#define sXXYX sXXXY
74
#define sXXYY 3
75
#define sXXYZ 4
76
77
#define sXXZX sXXXZ
78
#define sXXZY sXXYZ
79
#define sXXZZ 5
80
81
#define sXYXX sXXXY
82
#define sXYXY sXXYY
83
#define sXYXZ sXXYZ
84
85
#define sXYYX sXXYY
86
#define sXYYY 6
87
#define sXYYZ 7
88
89
#define sXYZX sXXYZ
90
#define sXYZY sXYYZ
91
#define sXYZZ 8
92
93
#define sXZXX sXXXZ
94
#define sXZXY sXXYZ
95
#define sXZXZ sXXZZ
96
97
#define sXZYX sXXYZ
98
#define sXZYY sXYYZ
99
#define sXZYZ sXYZZ
100
101
#define sXZZX sXXZZ
102
#define sXZZY sXYZZ
103
#define sXZZZ 9
104
//-----------------
105
#define sYXXX sXXXY
106
#define sYXXY sXXYY
107
#define sYXXZ sXXYZ
108
109
#define sYXYX sXXYY
110
#define sYXYY sXYYY
111
#define sYXYZ sXYYZ
112
113
#define sYXZX sXXYZ
114
#define sYXZY sXYYZ
115
#define sYXZZ sXYZZ
116
117
#define sYYXX sXXYY
118
#define sYYXY sXYYY
119
#define sYYXZ sXYYZ
120
121
#define sYYYX sXYYY
122
#define sYYYY 10
123
#define sYYYZ 11
124
125
#define sYYZX sXYYZ
126
#define sYYZY sYYYZ
127
#define sYYZZ 12
128
129
#define sYZXX sXXYZ
130
#define sYZXY sXYYZ
131
#define sYZXZ sXYZZ
132
133
#define sYZYX sXYYZ
134
#define sYZYY sYYYZ
135
#define sYZYZ sYYZZ
136
137
#define sYZZX sXYZZ
138
#define sYZZY sYYZZ
139
#define sYZZZ 13
140
//-----------------
141
#define sZXXX sXXXZ
142
#define sZXXY sXXYZ
143
#define sZXXZ sXXZZ
144
145
#define sZXYX sXXYZ
146
#define sZXYY sXYYZ
147
#define sZXYZ sXYZZ
148
149
#define sZXZX sXXZZ
150
#define sZXZY sXYZZ
151
#define sZXZZ sXZZZ
152
153
#define sZYXX sXXYZ
154
#define sZYXY sXYYZ
155
#define sZYXZ sXYZZ
156
157
#define sZYYX sXYYZ
158
#define sZYYY sYYYZ
159
#define sZYYZ sYYZZ
160
161
#define sZYZX sXYZZ
162
#define sZYZY sYYZZ
163
#define sZYZZ sYZZZ
164
165
#define sZZXX sXXZZ
166
#define sZZXY sXYZZ
167
#define sZZXZ sXZZZ
168
169
#define sZZYX sXYZZ
170
#define sZZYY sYYZZ
171
#define sZZYZ sYZZZ
172
173
#define sZZZX sXZZZ
174
#define sZZZY sYZZZ
175
#define sZZZZ 14
176
177
/* 5-tensor element mapping, symmetric 3x3x3x3x3 */
178
#define rXXXXX 0
179
#define rXXXXY 1
180
#define rXXXXZ 2
181
#define rXXXYX rXXXXY
182
#define rXXXYY 3
183
#define rXXXYZ 4
184
#define rXXXZX rXXXXZ
185
#define rXXXZY rXXXYZ
186
#define rXXXZZ 5
187
#define rXXYXX rXXXXY
188
#define rXXYXY rXXXYY
189
#define rXXYXZ rXXXYZ
190
#define rXXYYX rXXXYY
191
#define rXXYYY 6
192
#define rXXYYZ 7
193
#define rXXYZX rXXXYZ
194
#define rXXYZY rXXYYZ
195
#define rXXYZZ 8
196
#define rXXZXX rXXXXZ
197
#define rXXZXY rXXXYZ
198
#define rXXZXZ rXXXZZ
199
#define rXXZYX rXXXYZ
200
#define rXXZYY rXXYYZ
201
#define rXXZYZ rXXYZZ
202
#define rXXZZX rXXXZZ
203
#define rXXZZY rXXYZZ
204
#define rXXZZZ 9
205
#define rXYXXX rXXXXY
206
#define rXYXXY rXXXYY
207
#define rXYXXZ rXXXYZ
208
#define rXYXYX rXXXYY
209
#define rXYXYY rXXYYY
210
#define rXYXYZ rXXYYZ
211
#define rXYXZX rXXXYZ
212
#define rXYXZY rXXYYZ
213
#define rXYXZZ rXXYZZ
214
#define rXYYXX rXXXYY
215
#define rXYYXY rXXYYY
216
#define rXYYXZ rXXYYZ
217
#define rXYYYX rXXYYY
218
#define rXYYYY 10
219
#define rXYYYZ 11
220
#define rXYYZX rXXYYZ
221
#define rXYYZY rXYYYZ
222
#define rXYYZZ 12
223
#define rXYZXX rXXXYZ
224
#define rXYZXY rXXYYZ
225
#define rXYZXZ rXXYZZ
226
#define rXYZYX rXXYYZ
227
#define rXYZYY rXYYYZ
228
#define rXYZYZ rXYYZZ
229
#define rXYZZX rXXYZZ
230
#define rXYZZY rXYYZZ
231
#define rXYZZZ 13
232
#define rXZXXX rXXXXZ
233
#define rXZXXY rXXXYZ
234
#define rXZXXZ rXXXZZ
235
#define rXZXYX rXXXYZ
236
#define rXZXYY rXXYYZ
237
#define rXZXYZ rXXYZZ
238
#define rXZXZX rXXXZZ
239
#define rXZXZY rXXYZZ
240
#define rXZXZZ rXXZZZ
241
#define rXZYXX rXXXYZ
242
#define rXZYXY rXXYYZ
243
#define rXZYXZ rXXYZZ
244
#define rXZYYX rXXYYZ
245
#define rXZYYY rXYYYZ
246
#define rXZYYZ rXYYZZ
247
#define rXZYZX rXXYZZ
248
#define rXZYZY rXYYZZ
249
#define rXZYZZ rXYZZZ
250
#define rXZZXX rXXXZZ
251
#define rXZZXY rXXYZZ
252
#define rXZZXZ rXXZZZ
253
#define rXZZYX rXXYZZ
254
#define rXZZYY rXYYZZ
255
#define rXZZYZ rXYZZZ
256
#define rXZZZX rXXZZZ
257
#define rXZZZY rXYZZZ
258
#define rXZZZZ 14
259
#define rYXXXX rXXXXY
260
#define rYXXXY rXXXYY
261
#define rYXXXZ rXXXYZ
262
#define rYXXYX rXXXYY
263
#define rYXXYY rXXYYY
264
#define rYXXYZ rXXYYZ
265
#define rYXXZX rXXXYZ
266
#define rYXXZY rXXYYZ
267
#define rYXXZZ rXXYZZ
268
#define rYXYXX rXXXYY
269
#define rYXYXY rXXYYY
270
#define rYXYXZ rXXYYZ
271
#define rYXYYX rXXYYY
272
#define rYXYYY rXYYYY
273
#define rYXYYZ rXYYYZ
274
#define rYXYZX rXXYYZ
275
#define rYXYZY rXYYYZ
276
#define rYXYZZ rXYYZZ
277
#define rYXZXX rXXXYZ
278
#define rYXZXY rXXYYZ
279
#define rYXZXZ rXXYZZ
280
#define rYXZYX rXXYYZ
281
#define rYXZYY rXYYYZ
282
#define rYXZYZ rXYYZZ
283
#define rYXZZX rXXYZZ
284
#define rYXZZY rXYYZZ
285
#define rYXZZZ rXYZZZ
286
#define rYYXXX rXXXYY
287
#define rYYXXY rXXYYY
288
#define rYYXXZ rXXYYZ
289
#define rYYXYX rXXYYY
290
#define rYYXYY rXYYYY
291
#define rYYXYZ rXYYYZ
292
#define rYYXZX rXXYYZ
293
#define rYYXZY rXYYYZ
294
#define rYYXZZ rXYYZZ
295
#define rYYYXX rXXYYY
296
#define rYYYXY rXYYYY
297
#define rYYYXZ rXYYYZ
298
#define rYYYYX rXYYYY
299
#define rYYYYY 15
300
#define rYYYYZ 16
301
#define rYYYZX rXYYYZ
302
#define rYYYZY rYYYYZ
303
#define rYYYZZ 17
304
#define rYYZXX rXXYYZ
305
#define rYYZXY rXYYYZ
306
#define rYYZXZ rXYYZZ
307
#define rYYZYX rXYYYZ
308
#define rYYZYY rYYYYZ
309
#define rYYZYZ rYYYZZ
310
#define rYYZZX rXYYZZ
311
#define rYYZZY rYYYZZ
312
#define rYYZZZ 18
313
#define rYZXXX rXXXYZ
314
#define rYZXXY rXXYYZ
315
#define rYZXXZ rXXYZZ
316
#define rYZXYX rXXYYZ
317
#define rYZXYY rXYYYZ
318
#define rYZXYZ rXYYZZ
319
#define rYZXZX rXXYZZ
320
#define rYZXZY rXYYZZ
321
#define rYZXZZ rXYZZZ
322
#define rYZYXX rXXYYZ
323
#define rYZYXY rXYYYZ
324
#define rYZYXZ rXYYZZ
325
#define rYZYYX rXYYYZ
326
#define rYZYYY rYYYYZ
327
#define rYZYYZ rYYYZZ
328
#define rYZYZX rXYYZZ
329
#define rYZYZY rYYYZZ
330
#define rYZYZZ rYYZZZ
331
#define rYZZXX rXXYZZ
332
#define rYZZXY rXYYZZ
333
#define rYZZXZ rXYZZZ
334
#define rYZZYX rXYYZZ
335
#define rYZZYY rYYYZZ
336
#define rYZZYZ rYYZZZ
337
#define rYZZZX rXYZZZ
338
#define rYZZZY rYYZZZ
339
#define rYZZZZ 19
340
#define rZXXXX rXXXXZ
341
#define rZXXXY rXXXYZ
342
#define rZXXXZ rXXXZZ
343
#define rZXXYX rXXXYZ
344
#define rZXXYY rXXYYZ
345
#define rZXXYZ rXXYZZ
346
#define rZXXZX rXXXZZ
347
#define rZXXZY rXXYZZ
348
#define rZXXZZ rXXZZZ
349
#define rZXYXX rXXXYZ
350
#define rZXYXY rXXYYZ
351
#define rZXYXZ rXXYZZ
352
#define rZXYYX rXXYYZ
353
#define rZXYYY rXYYYZ
354
#define rZXYYZ rXYYZZ
355
#define rZXYZX rXXYZZ
356
#define rZXYZY rXYYZZ
357
#define rZXYZZ rXYZZZ
358
#define rZXZXX rXXXZZ
359
#define rZXZXY rXXYZZ
360
#define rZXZXZ rXXZZZ
361
#define rZXZYX rXXYZZ
362
#define rZXZYY rXYYZZ
363
#define rZXZYZ rXYZZZ
364
#define rZXZZX rXXZZZ
365
#define rZXZZY rXYZZZ
366
#define rZXZZZ rXZZZZ
367
#define rZYXXX rXXXYZ
368
#define rZYXXY rXXYYZ
369
#define rZYXXZ rXXYZZ
370
#define rZYXYX rXXYYZ
371
#define rZYXYY rXYYYZ
372
#define rZYXYZ rXYYZZ
373
#define rZYXZX rXXYZZ
374
#define rZYXZY rXYYZZ
375
#define rZYXZZ rXYZZZ
376
#define rZYYXX rXXYYZ
377
#define rZYYXY rXYYYZ
378
#define rZYYXZ rXYYZZ
379
#define rZYYYX rXYYYZ
380
#define rZYYYY rYYYYZ
381
#define rZYYYZ rYYYZZ
382
#define rZYYZX rXYYZZ
383
#define rZYYZY rYYYZZ
384
#define rZYYZZ rYYZZZ
385
#define rZYZXX rXXYZZ
386
#define rZYZXY rXYYZZ
387
#define rZYZXZ rXYZZZ
388
#define rZYZYX rXYYZZ
389
#define rZYZYY rYYYZZ
390
#define rZYZYZ rYYZZZ
391
#define rZYZZX rXYZZZ
392
#define rZYZZY rYYZZZ
393
#define rZYZZZ rYZZZZ
394
#define rZZXXX rXXXZZ
395
#define rZZXXY rXXYZZ
396
#define rZZXXZ rXXZZZ
397
#define rZZXYX rXXYZZ
398
#define rZZXYY rXYYZZ
399
#define rZZXYZ rXYZZZ
400
#define rZZXZX rXXZZZ
401
#define rZZXZY rXYZZZ
402
#define rZZXZZ rXZZZZ
403
#define rZZYXX rXXYZZ
404
#define rZZYXY rXYYZZ
405
#define rZZYXZ rXYZZZ
406
#define rZZYYX rXYYZZ
407
#define rZZYYY rYYYZZ
408
#define rZZYYZ rYYZZZ
409
#define rZZYZX rXYZZZ
410
#define rZZYZY rYYZZZ
411
#define rZZYZZ rYZZZZ
412
#define rZZZXX rXXZZZ
413
#define rZZZXY rXYZZZ
414
#define rZZZXZ rXZZZZ
415
#define rZZZYX rXYZZZ
416
#define rZZZYY rYYZZZ
417
#define rZZZYZ rYZZZZ
418
#define rZZZZX rXZZZZ
419
#define rZZZZY rYZZZZ
420
#define rZZZZZ 20
421
422
/* 6-tensor element mapping, symmetric 3x3x3x3x3x3 */
423
#define pXXXXXX 0
424
#define pXXXXXY 1
425
#define pXXXXXZ 2
426
#define pXXXXYY 3
427
#define pXXXXYZ 4
428
#define pXXXXZZ 5
429
#define pXXXYYY 6
430
#define pXXXYYZ 7
431
#define pXXXYZZ 8
432
#define pXXXZZZ 9
433
#define pXXYYYY 10
434
#define pXXYYYZ 11
435
#define pXXYYZZ 12
436
#define pXXYZZZ 13
437
#define pXXZZZZ 14
438
#define pXYYYYY 15
439
#define pXYYYYZ 16
440
#define pXYYYZZ 17
441
#define pXYYZZZ 18
442
#define pXYZZZZ 19
443
#define pXZZZZZ 20
444
#define pYYYYYY 21
445
#define pYYYYYZ 22
446
#define pYYYYZZ 23
447
#define pYYYZZZ 24
448
#define pYYZZZZ 25
449
#define pYZZZZZ 26
450
#define pZZZZZZ 27
451
452
/* 7-tensor element mapping, symmetric 3x3x3x3x3x3x3 */
453
#define tXXXXXXX 0
454
#define tXXXXXXY 1
455
#define tXXXXXXZ 2
456
#define tXXXXXYY 3
457
#define tXXXXXYZ 4
458
#define tXXXXXZZ 5
459
#define tXXXXYYY 6
460
#define tXXXXYYZ 7
461
#define tXXXXYZZ 8
462
#define tXXXXZZZ 9
463
#define tXXXYYYY 10
464
#define tXXXYYYZ 11
465
#define tXXXYYZZ 12
466
#define tXXXYZZZ 13
467
#define tXXXZZZZ 14
468
#define tXXYYYYY 15
469
#define tXXYYYYZ 16
470
#define tXXYYYZZ 17
471
#define tXXYYZZZ 18
472
#define tXXYZZZZ 19
473
#define tXXZZZZZ 20
474
#define tXYYYYYY 21
475
#define tXYYYYYZ 22
476
#define tXYYYYZZ 23
477
#define tXYYYZZZ 24
478
#define tXYYZZZZ 25
479
#define tXYZZZZZ 26
480
#define tXZZZZZZ 27
481
#define tYYYYYYY 28
482
#define tYYYYYYZ 29
483
#define tYYYYYZZ 30
484
#define tYYYYZZZ 31
485
#define tYYYZZZZ 32
486
#define tYYZZZZZ 33
487
#define tYZZZZZZ 34
488
#define tZZZZZZZ 35
489
490
#endif
/* SRC_DATA_SYMTENSOR_INDICES_H_ */
src
data
symtensor_indices.h
Generated by
1.9.2