aboutsummaryrefslogtreecommitdiff
path: root/src/macro/DXDCG_declare.h
blob: 2df9c22a0f6adb28770c248817be59ac4bad6fe0 (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
/*@@
  @header   DXDCG_declare.h
  @date     Jun 98
  @author   Gabrielle Allen
  @desc
  Declarations for macro @seefile DXDCG_guts.h to compute first 
  derivatives of the conformal metric with respect to x

  Requires: Conformal lower metric at i+1,i-1 ; dx

  Provides: Derivative of conformal lower metric wrt x
  @enddesc
@@*/

#ifndef DXDCG_DECLARE
#define DXDCG_DECLARE

#ifdef FCODE

/* Input variables */
#undef  DXDCG_GXX_IP 
#define DXDCG_GXX_IP gxx(i+1,j,k)
#undef  DXDCG_GXX_IM
#define DXDCG_GXX_IM gxx(i-1,j,k)
#undef  DXDCG_GXY_IP 
#define DXDCG_GXY_IP gxy(i+1,j,k)
#undef  DXDCG_GXY_IM 
#define DXDCG_GXY_IM gxy(i-1,j,k)
#undef  DXDCG_GXZ_IP 
#define DXDCG_GXZ_IP gxz(i+1,j,k)
#undef  DXDCG_GXZ_IM
#define DXDCG_GXZ_IM gxz(i-1,j,k)
#undef  DXDCG_GYY_IP 
#define DXDCG_GYY_IP gyy(i+1,j,k)
#undef  DXDCG_GYY_IM 
#define DXDCG_GYY_IM gyy(i-1,j,k)
#undef  DXDCG_GYZ_IP 
#define DXDCG_GYZ_IP gyz(i+1,j,k)
#undef  DXDCG_GYZ_IM 
#define DXDCG_GYZ_IM gyz(i-1,j,k)
#undef  DXDCG_GZZ_IP 
#define DXDCG_GZZ_IP gzz(i+1,j,k)
#undef  DXDCG_GZZ_IM
#define DXDCG_GZZ_IM gzz(i-1,j,k)

/* Output variables */ 
#undef  DXDCG_DXDCGXX
#define DXDCG_DXDCGXX  delgb111
#undef  DXDCG_DXDCGXY
#define DXDCG_DXDCGXY  delgb112
#undef  DXDCG_DXDCGXZ
#define DXDCG_DXDCGXZ  delgb113
#undef  DXDCG_DXDCGYY
#define DXDCG_DXDCGYY  delgb122
#undef  DXDCG_DXDCGYZ
#define DXDCG_DXDCGYZ  delgb123
#undef  DXDCG_DXDCGZZ
#define DXDCG_DXDCGZZ  delgb133

/* Internal variables */
#undef  DXDCG_DX   
#define DXDCG_DX dx
#undef  DXDCG_OO2DX   
#define DXDCG_OO2DX cdxdg_oo2dx

/* Declare internal variables */
      CCTK_REAL DXDCG_OO2DX

/* Declare output variables */
      CCTK_REAL DXDCG_DXDCGXX
      CCTK_REAL DXDCG_DXDCGXY
      CCTK_REAL DXDCG_DXDCGXZ
      CCTK_REAL DXDCG_DXDCGYY
      CCTK_REAL DXDCG_DXDCGYZ
      CCTK_REAL DXDCG_DXDCGZZ

#endif


#ifdef CCODE

/* Input variables */
#undef  DXDCG_GXX_IP 
#define DXDCG_GXX_IP gxx[ di+ijk]
#undef  DXDCG_GXX_IM
#define DXDCG_GXX_IM gxx[-di+ijk]
#undef  DXDCG_GXY_IP 
#define DXDCG_GXY_IP gxy[ di+ijk]
#undef  DXDCG_GXY_IM 
#define DXDCG_GXY_IM gxy[-di+ijk]
#undef  DXDCG_GXZ_IP 
#define DXDCG_GXZ_IP gxz[ di+ijk]
#undef  DXDCG_GXZ_IM
#define DXDCG_GXZ_IM gxz[-di+ijk]
#undef  DXDCG_GYY_IP 
#define DXDCG_GYY_IP gyy[ di+ijk]
#undef  DXDCG_GYY_IM 
#define DXDCG_GYY_IM gyy[-di+ijk]
#undef  DXDCG_GYZ_IP 
#define DXDCG_GYZ_IP gyz[ di+ijk]
#undef  DXDCG_GYZ_IM 
#define DXDCG_GYZ_IM gyz[-di+ijk]
#undef  DXDCG_GZZ_IP 
#define DXDCG_GZZ_IP gzz[ di+ijk]
#undef  DXDCG_GZZ_IM
#define DXDCG_GZZ_IM gzz[-di+ijk]

/* Output variables */ 
#undef  DXDCG_DXDCGXX
#define DXDCG_DXDCGXX  delgb111
#undef  DXDCG_DXDCGXY
#define DXDCG_DXDCGXY  delgb112
#undef  DXDCG_DXDCGXZ
#define DXDCG_DXDCGXZ  delgb113
#undef  DXDCG_DXDCGYY
#define DXDCG_DXDCGYY  delgb122
#undef  DXDCG_DXDCGYZ
#define DXDCG_DXDCGYZ  delgb123
#undef  DXDCG_DXDCGZZ
#define DXDCG_DXDCGZZ  delgb133

/* Internal variables */
#undef  DXDCG_OO2DX   
#define DXDCG_OO2DX cdxdg_oo2dx

/* Declare internal variables */
double DXDCG_OO2DX;

/* Declare output variables */
double DXDCG_DXDCGXX;
double DXDCG_DXDCGXY;
double DXDCG_DXDCGXZ;
double DXDCG_DXDCGYY;
double DXDCG_DXDCGYZ;
double DXDCG_DXDCGZZ;

#endif

#endif