aboutsummaryrefslogtreecommitdiff
path: root/src/macro/CHR2_declare.h
blob: 1857d8c86df1a4937c621bc1d1ca3edc6552094f (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 "CHR1_declare.h"
#include "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