blob: c27d1bcabecbb2afaaffea6f87094b374607587d (
plain)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
|
/*@@
@header CHR2_declare.h
@date Jun 98
@author Gabrielle Allen
@desc
Declarations for macro to calculate the Christoffel symbols of the
second kind
That is CHR2_cab = g^cd CHR1_dab
= 1/2 g^cd (g_ad,b + gbd,a - gab,d)
Requires: Christoffel symbols of first kind
Uppermetric
Provides: Christoffel sybols of second kind
@enddesc
@@*/
#ifndef CHR2_DECLARE
#define CHR2_DECLARE
#include "CactusEinstein/Einstein/src/macro/CHR1_declare.h"
#include "CactusEinstein/Einstein/src/macro/UPPERMET_declare.h"
#ifdef FCODE
/* Output variables */
#undef CHR2_XXX
#define CHR2_XXX gamma111
#undef CHR2_XXY
#define CHR2_XXY gamma112
#undef CHR2_XXZ
#define CHR2_XXZ gamma113
#undef CHR2_XYY
#define CHR2_XYY gamma122
#undef CHR2_XYZ
#define CHR2_XYZ gamma123
#undef CHR2_XZZ
#define CHR2_XZZ gamma133
#undef CHR2_YXX
#define CHR2_YXX gamma211
#undef CHR2_YXY
#define CHR2_YXY gamma212
#undef CHR2_YXZ
#define CHR2_YXZ gamma213
#undef CHR2_YYY
#define CHR2_YYY gamma222
#undef CHR2_YYZ
#define CHR2_YYZ gamma223
#undef CHR2_YZZ
#define CHR2_YZZ gamma233
#undef CHR2_ZXX
#define CHR2_ZXX gamma311
#undef CHR2_ZXY
#define CHR2_ZXY gamma312
#undef CHR2_ZXZ
#define CHR2_ZXZ gamma313
#undef CHR2_ZYY
#define CHR2_ZYY gamma322
#undef CHR2_ZYZ
#define CHR2_ZYZ gamma323
#undef CHR2_ZZZ
#define CHR2_ZZZ gamma333
/* Declare output variables */
CCTK_REAL CHR2_XXX
CCTK_REAL CHR2_XXY
CCTK_REAL CHR2_XXZ
CCTK_REAL CHR2_XYY
CCTK_REAL CHR2_XYZ
CCTK_REAL CHR2_XZZ
CCTK_REAL CHR2_YXX
CCTK_REAL CHR2_YXY
CCTK_REAL CHR2_YXZ
CCTK_REAL CHR2_YYY
CCTK_REAL CHR2_YYZ
CCTK_REAL CHR2_YZZ
CCTK_REAL CHR2_ZXX
CCTK_REAL CHR2_ZXY
CCTK_REAL CHR2_ZXZ
CCTK_REAL CHR2_ZYY
CCTK_REAL CHR2_ZYZ
CCTK_REAL CHR2_ZZZ
#endif
#ifdef CCODE
/* Output variables */
#undef CHR2_XXX
#define CHR2_XXX gamma111
#undef CHR2_XXY
#define CHR2_XXY gamma112
#undef CHR2_XXZ
#define CHR2_XXZ gamma113
#undef CHR2_XYY
#define CHR2_XYY gamma122
#undef CHR2_XYZ
#define CHR2_XYZ gamma123
#undef CHR2_XZZ
#define CHR2_XZZ gamma133
#undef CHR2_YXX
#define CHR2_YXX gamma211
#undef CHR2_YXY
#define CHR2_YXY gamma212
#undef CHR2_YXZ
#define CHR2_YXZ gamma213
#undef CHR2_YYY
#define CHR2_YYY gamma222
#undef CHR2_YYZ
#define CHR2_YYZ gamma223
#undef CHR2_YZZ
#define CHR2_YZZ gamma233
#undef CHR2_ZXX
#define CHR2_ZXX gamma311
#undef CHR2_ZXY
#define CHR2_ZXY gamma312
#undef CHR2_ZXZ
#define CHR2_ZXZ gamma313
#undef CHR2_ZYY
#define CHR2_ZYY gamma322
#undef CHR2_ZYZ
#define CHR2_ZYZ gamma323
#undef CHR2_ZZZ
#define CHR2_ZZZ gamma333
/* Declare output variables */
CCTK_REAL CHR2_XXX;
CCTK_REAL CHR2_XXY;
CCTK_REAL CHR2_XXZ;
CCTK_REAL CHR2_XYY;
CCTK_REAL CHR2_XYZ;
CCTK_REAL CHR2_XZZ;
CCTK_REAL CHR2_YXX;
CCTK_REAL CHR2_YXY;
CCTK_REAL CHR2_YXZ;
CCTK_REAL CHR2_YYY;
CCTK_REAL CHR2_YYZ;
CCTK_REAL CHR2_YZZ;
CCTK_REAL CHR2_ZXX;
CCTK_REAL CHR2_ZXY;
CCTK_REAL CHR2_ZXZ;
CCTK_REAL CHR2_ZYY;
CCTK_REAL CHR2_ZYZ;
CCTK_REAL CHR2_ZZZ;
#endif
/* Symmetries */
#undef CHR2_XYX
#define CHR2_XYX CHR2_XXY
#undef CHR2_XZX
#define CHR2_XZX CHR2_XXZ
#undef CHR2_XZY
#define CHR2_XZY CHR2_XYZ
#undef CHR2_YYX
#define CHR2_YYX CHR2_YXY
#undef CHR2_YZX
#define CHR2_YZX CHR2_YXZ
#undef CHR2_YZY
#define CHR2_YZY CHR2_YYZ
#undef CHR2_ZYX
#define CHR2_ZYX CHR2_ZXY
#undef CHR2_ZZX
#define CHR2_ZZX CHR2_ZXZ
#undef CHR2_ZZY
#define CHR2_ZZY CHR2_ZYZ
#endif
|