aboutsummaryrefslogtreecommitdiff
path: root/src/macro/DYZDG_declare.h
blob: 2352e07986796b874eb1da88b2b64101352706ef (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
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
/*@@
  @header   DYZDG_declare.h
  @date     Jun 98
  @author   Gabrielle Allen
  @desc
  Declaration for macro to calculate the (first and) second derivatives 
  of the physical metric with respect to x,z

  The macro uses @seefile DYDG_guts.h , @seefile DZDG_guts.h and 
  @seefile DYDG_declare.h , @seefile DZDG_declare.h
  @enddesc
@@*/

#ifndef DYZDG_DECLARE
#define DYZDG_DECLARE

#include "DYDG_declare.h"
#include "DZDG_declare.h"

#ifdef FCODE

/* Input variables */
#undef  DYZDG_GXX_JPKP 
#define DYZDG_GXX_JPKP gxx(i,j+1,k+1)
#undef  DYZDG_GXX_JPKM 
#define DYZDG_GXX_JPKM gxx(i,j+1,k-1)
#undef  DYZDG_GXX_JMKP 
#define DYZDG_GXX_JMKP gxx(i,j-1,k+1)
#undef  DYZDG_GXX_JMKM 
#define DYZDG_GXX_JMKM gxx(i,j-1,k-1)

#undef  DYZDG_GXY_JPKP 
#define DYZDG_GXY_JPKP gxy(i,j+1,k+1)
#undef  DYZDG_GXY_JPKM 
#define DYZDG_GXY_JPKM gxy(i,j+1,k-1)
#undef  DYZDG_GXY_JMKP 
#define DYZDG_GXY_JMKP gxy(i,j-1,k+1)
#undef  DYZDG_GXY_JMKM 
#define DYZDG_GXY_JMKM gxy(i,j-1,k-1)

#undef  DYZDG_GXZ_JPKP 
#define DYZDG_GXZ_JPKP gxz(i,j+1,k+1)
#undef  DYZDG_GXZ_JPKM 
#define DYZDG_GXZ_JPKM gxz(i,j+1,k-1)
#undef  DYZDG_GXZ_JMKP 
#define DYZDG_GXZ_JMKP gxz(i,j-1,k+1)
#undef  DYZDG_GXZ_JMKM 
#define DYZDG_GXZ_JMKM gxz(i,j-1,k-1)

#undef  DYZDG_GYY_JPKP 
#define DYZDG_GYY_JPKP gyy(i,j+1,k+1)
#undef  DYZDG_GYY_JPKM 
#define DYZDG_GYY_JPKM gyy(i,j+1,k-1)
#undef  DYZDG_GYY_JMKP 
#define DYZDG_GYY_JMKP gyy(i,j-1,k+1)
#undef  DYZDG_GYY_JMKM 
#define DYZDG_GYY_JMKM gyy(i,j-1,k-1)

#undef  DYZDG_GYZ_JPKP 
#define DYZDG_GYZ_JPKP gyz(i,j+1,k+1)
#undef  DYZDG_GYZ_JPKM 
#define DYZDG_GYZ_JPKM gyz(i,j+1,k-1)
#undef  DYZDG_GYZ_JMKP 
#define DYZDG_GYZ_JMKP gyz(i,j-1,k+1)
#undef  DYZDG_GYZ_JMKM 
#define DYZDG_GYZ_JMKM gyz(i,j-1,k-1)

#undef  DYZDG_GZZ_JPKP 
#define DYZDG_GZZ_JPKP gzz(i,j+1,k+1)
#undef  DYZDG_GZZ_JPKM 
#define DYZDG_GZZ_JPKM gzz(i,j+1,k-1)
#undef  DYZDG_GZZ_JMKP 
#define DYZDG_GZZ_JMKP gzz(i,j-1,k+1)
#undef  DYZDG_GZZ_JMKM 
#define DYZDG_GZZ_JMKM gzz(i,j-1,k-1)

/* Output variables */
#undef  DYZDG_DYZDGXX
#define DYZDG_DYZDGXX deldelg2311
#undef  DYZDG_DYZDGXY
#define DYZDG_DYZDGXY deldelg2312
#undef  DYZDG_DYZDGXZ
#define DYZDG_DYZDGXZ deldelg2313
#undef  DYZDG_DYZDGYY
#define DYZDG_DYZDGYY deldelg2322
#undef  DYZDG_DYZDGYZ
#define DYZDG_DYZDGYZ deldelg2323
#undef  DYZDG_DYZDGZZ
#define DYZDG_DYZDGZZ deldelg2333

/* Internal variables */
#undef  DYZDG_FAC 
#define DYZDG_FAC dyzdg_fac
#undef  DYZDG_OO4DYDZ
#define DYZDG_OO4DYDZ dyzdg_oo4dydz
#undef  DYZDG_DYZDPSI_O_PSI
#define DYZDG_DYZDPSI_O_PSI 0.

/* Declare internal variables */
      CCTK_REAL DYZDG_FAC
      CCTK_REAL DYZDG_OO4DYDZ

/* Declare output variables */
      CCTK_REAL DYZDG_DYZDGXX
      CCTK_REAL DYZDG_DYZDGXY
      CCTK_REAL DYZDG_DYZDGXZ
      CCTK_REAL DYZDG_DYZDGYY
      CCTK_REAL DYZDG_DYZDGYZ
      CCTK_REAL DYZDG_DYZDGZZ

#endif

#ifdef CCODE

/* Input variables */
#undef  DYZDG_GXX_JPKP 
#define DYZDG_GXX_JPKP gxx[ dj + dk + ijk]
#undef  DYZDG_GXX_JPKM 
#define DYZDG_GXX_JPKM gxx[ dj - dk + ijk]
#undef  DYZDG_GXX_JMKP 
#define DYZDG_GXX_JMKP gxx[-dj + dk + ijk]
#undef  DYZDG_GXX_JMKM 
#define DYZDG_GXX_JMKM gxx[-dj - dk + ijk]

#undef  DYZDG_GXY_JPKP 
#define DYZDG_GXY_JPKP gxy[ dj + dk + ijk]
#undef  DYZDG_GXY_JPKM 
#define DYZDG_GXY_JPKM gxy[ dj - dk + ijk]
#undef  DYZDG_GXY_JMKP 
#define DYZDG_GXY_JMKP gxy[-dj + dk + ijk]
#undef  DYZDG_GXY_JMKM 
#define DYZDG_GXY_JMKM gxy[-dj - dk + ijk]

#undef  DYZDG_GXZ_JPKP 
#define DYZDG_GXZ_JPKP gxz[ dj + dk + ijk]
#undef  DYZDG_GXZ_JPKM 
#define DYZDG_GXZ_JPKM gxz[ dj - dk + ijk]
#undef  DYZDG_GXZ_JMKP 
#define DYZDG_GXZ_JMKP gxz[-dj + dk + ijk]
#undef  DYZDG_GXZ_JMKM 
#define DYZDG_GXZ_JMKM gxz[-dj - dk + ijk]

#undef  DYZDG_GYY_JPKP 
#define DYZDG_GYY_JPKP gyy[ dj + dk + ijk]
#undef  DYZDG_GYY_JPKM 
#define DYZDG_GYY_JPKM gyy[ dj - dk + ijk]
#undef  DYZDG_GYY_JMKP 
#define DYZDG_GYY_JMKP gyy[-dj + dk + ijk]
#undef  DYZDG_GYY_JMKM 
#define DYZDG_GYY_JMKM gyy[-dj - dk + ijk]

#undef  DYZDG_GYZ_JPKP 
#define DYZDG_GYZ_JPKP gyz[ dj + dk + ijk]
#undef  DYZDG_GYZ_JPKM 
#define DYZDG_GYZ_JPKM gyz[ dj - dk + ijk]
#undef  DYZDG_GYZ_JMKP 
#define DYZDG_GYZ_JMKP gyz[-dj + dk + ijk]
#undef  DYZDG_GYZ_JMKM 
#define DYZDG_GYZ_JMKM gyz[-dj - dk + ijk]

#undef  DYZDG_GZZ_JPKP 
#define DYZDG_GZZ_JPKP gzz[ dj + dk + ijk]
#undef  DYZDG_GZZ_JPKM 
#define DYZDG_GZZ_JPKM gzz[ dj - dk + ijk]
#undef  DYZDG_GZZ_JMKP 
#define DYZDG_GZZ_JMKP gzz[-dj + dk + ijk]
#undef  DYZDG_GZZ_JMKM 
#define DYZDG_GZZ_JMKM gzz[-dj - dk + ijk]

/* Output variables */
#undef  DYZDG_DYZDGXX
#define DYZDG_DYZDGXX deldelg2311
#undef  DYZDG_DYZDGXY
#define DYZDG_DYZDGXY deldelg2312
#undef  DYZDG_DYZDGXZ
#define DYZDG_DYZDGXZ deldelg2313
#undef  DYZDG_DYZDGYY
#define DYZDG_DYZDGYY deldelg2322
#undef  DYZDG_DYZDGYZ
#define DYZDG_DYZDGYZ deldelg2323
#undef  DYZDG_DYZDGZZ
#define DYZDG_DYZDGZZ deldelg2333

/* Internal variables */
#undef  DYZDG_FAC 
#define DYZDG_FAC dyzdg_fac
#undef  DYZDG_OO4DYDZ
#define DYZDG_OO4DYDZ dyzdg_oo4dydz
#undef  DYZDG_DYZDPSI_O_PSI
#define DYZDG_DYZDPSI_O_PSI 0.

/* Declare internal variables */
CCTK_REAL DYZDG_FAC;
CCTK_REAL DYZDG_OO4DYDZ = 1/(4*cctkGH->cctk_delta_space[1]*cctkGH->cctk_delta_space[2]);

/* Declare output variables */
CCTK_REAL DYZDG_DYZDGXX;
CCTK_REAL DYZDG_DYZDGXY;
CCTK_REAL DYZDG_DYZDGXZ;
CCTK_REAL DYZDG_DYZDGYY;
CCTK_REAL DYZDG_DYZDGYZ;
CCTK_REAL DYZDG_DYZDGZZ;

#endif

#endif