aboutsummaryrefslogtreecommitdiff
path: root/src/macro/DXYDG_declare.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/macro/DXYDG_declare.h')
-rw-r--r--src/macro/DXYDG_declare.h206
1 files changed, 206 insertions, 0 deletions
diff --git a/src/macro/DXYDG_declare.h b/src/macro/DXYDG_declare.h
new file mode 100644
index 0000000..a8ed889
--- /dev/null
+++ b/src/macro/DXYDG_declare.h
@@ -0,0 +1,206 @@
+/*@@
+ @header DXYDG_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,y
+
+ The macro uses @seefile DXDG_guts.h , @seefile DYDG_guts.h and
+ @seefile DXDG_declare.h , @seefile DYDG_declare.h
+ @enddesc
+@@*/
+
+#ifndef DXYDG_DECLARE
+#define DXYDG_DECLARE
+
+#include "../../packages/CactusEinstein/Einstein/src/macro/DXDG_declare.h"
+#include "../../packages/CactusEinstein/Einstein/src/macro/DYDG_declare.h"
+
+#ifdef FCODE
+
+/* Input variables */
+#undef DXYDG_GXX_IPJP
+#define DXYDG_GXX_IPJP gxx(i+1,j+1,k)
+#undef DXYDG_GXX_IPJM
+#define DXYDG_GXX_IPJM gxx(i+1,j-1,k)
+#undef DXYDG_GXX_IMJP
+#define DXYDG_GXX_IMJP gxx(i-1,j+1,k)
+#undef DXYDG_GXX_IMJM
+#define DXYDG_GXX_IMJM gxx(i-1,j-1,k)
+
+#undef DXYDG_GXY_IPJP
+#define DXYDG_GXY_IPJP gxy(i+1,j+1,k)
+#undef DXYDG_GXY_IPJM
+#define DXYDG_GXY_IPJM gxy(i+1,j-1,k)
+#undef DXYDG_GXY_IMJP
+#define DXYDG_GXY_IMJP gxy(i-1,j+1,k)
+#undef DXYDG_GXY_IMJM
+#define DXYDG_GXY_IMJM gxy(i-1,j-1,k)
+
+#undef DXYDG_GXZ_IPJP
+#define DXYDG_GXZ_IPJP gxz(i+1,j+1,k)
+#undef DXYDG_GXZ_IPJM
+#define DXYDG_GXZ_IPJM gxz(i+1,j-1,k)
+#undef DXYDG_GXZ_IMJP
+#define DXYDG_GXZ_IMJP gxz(i-1,j+1,k)
+#undef DXYDG_GXZ_IMJM
+#define DXYDG_GXZ_IMJM gxz(i-1,j-1,k)
+
+#undef DXYDG_GYY_IPJP
+#define DXYDG_GYY_IPJP gyy(i+1,j+1,k)
+#undef DXYDG_GYY_IPJM
+#define DXYDG_GYY_IPJM gyy(i+1,j-1,k)
+#undef DXYDG_GYY_IMJP
+#define DXYDG_GYY_IMJP gyy(i-1,j+1,k)
+#undef DXYDG_GYY_IMJM
+#define DXYDG_GYY_IMJM gyy(i-1,j-1,k)
+
+#undef DXYDG_GYZ_IPJP
+#define DXYDG_GYZ_IPJP gyz(i+1,j+1,k)
+#undef DXYDG_GYZ_IPJM
+#define DXYDG_GYZ_IPJM gyz(i+1,j-1,k)
+#undef DXYDG_GYZ_IMJP
+#define DXYDG_GYZ_IMJP gyz(i-1,j+1,k)
+#undef DXYDG_GYZ_IMJM
+#define DXYDG_GYZ_IMJM gyz(i-1,j-1,k)
+
+#undef DXYDG_GZZ_IPJP
+#define DXYDG_GZZ_IPJP gzz(i+1,j+1,k)
+#undef DXYDG_GZZ_IPJM
+#define DXYDG_GZZ_IPJM gzz(i+1,j-1,k)
+#undef DXYDG_GZZ_IMJP
+#define DXYDG_GZZ_IMJP gzz(i-1,j+1,k)
+#undef DXYDG_GZZ_IMJM
+#define DXYDG_GZZ_IMJM gzz(i-1,j-1,k)
+
+/* Output variables */
+#undef DXYDG_DXYDGXX
+#define DXYDG_DXYDGXX deldelg1211
+#undef DXYDG_DXYDGXY
+#define DXYDG_DXYDGXY deldelg1212
+#undef DXYDG_DXYDGXZ
+#define DXYDG_DXYDGXZ deldelg1213
+#undef DXYDG_DXYDGYY
+#define DXYDG_DXYDGYY deldelg1222
+#undef DXYDG_DXYDGYZ
+#define DXYDG_DXYDGYZ deldelg1223
+#undef DXYDG_DXYDGZZ
+#define DXYDG_DXYDGZZ deldelg1233
+
+/* Internal variables */
+#undef DXYDG_FAC
+#define DXYDG_FAC dxydg_fac
+#undef DXYDG_OO4DXDY
+#define DXYDG_OO4DXDY dxydg_oo4dxdy
+#undef DXYDG_DXYDPSI_O_PSI
+#define DXYDG_DXYDPSI_O_PSI psixy(i,j,k)
+
+/* Declare internal variables */
+ REAL DXYDG_FAC
+ REAL DXYDG_OO4DXDY
+
+/* Declare output variables */
+ REAL DXYDG_DXYDGXX
+ REAL DXYDG_DXYDGXY
+ REAL DXYDG_DXYDGXZ
+ REAL DXYDG_DXYDGYY
+ REAL DXYDG_DXYDGYZ
+ REAL DXYDG_DXYDGZZ
+
+#endif
+
+#ifdef CCODE
+
+/* Input variables */
+#undef DXYDG_GXX_IPJP
+#define DXYDG_GXX_IPJP gxx[ di + dj + ijk]
+#undef DXYDG_GXX_IPJM
+#define DXYDG_GXX_IPJM gxx[ di - dj + ijk]
+#undef DXYDG_GXX_IMJP
+#define DXYDG_GXX_IMJP gxx[-di + dj + ijk]
+#undef DXYDG_GXX_IMJM
+#define DXYDG_GXX_IMJM gxx[-di - dj + ijk]
+
+#undef DXYDG_GXY_IPJP
+#define DXYDG_GXY_IPJP gxy[ di + dj + ijk]
+#undef DXYDG_GXY_IPJM
+#define DXYDG_GXY_IPJM gxy[ di - dj + ijk]
+#undef DXYDG_GXY_IMJP
+#define DXYDG_GXY_IMJP gxy[-di + dj + ijk]
+#undef DXYDG_GXY_IMJM
+#define DXYDG_GXY_IMJM gxy[-di - dj + ijk]
+
+#undef DXYDG_GXZ_IPJP
+#define DXYDG_GXZ_IPJP gxz[ di + dj + ijk]
+#undef DXYDG_GXZ_IPJM
+#define DXYDG_GXZ_IPJM gxz[ di - dj + ijk]
+#undef DXYDG_GXZ_IMJP
+#define DXYDG_GXZ_IMJP gxz[-di + dj + ijk]
+#undef DXYDG_GXZ_IMJM
+#define DXYDG_GXZ_IMJM gxz[-di - dj + ijk]
+
+#undef DXYDG_GYY_IPJP
+#define DXYDG_GYY_IPJP gyy[ di + dj + ijk]
+#undef DXYDG_GYY_IPJM
+#define DXYDG_GYY_IPJM gyy[ di - dj + ijk]
+#undef DXYDG_GYY_IMJP
+#define DXYDG_GYY_IMJP gyy[-di + dj + ijk]
+#undef DXYDG_GYY_IMJM
+#define DXYDG_GYY_IMJM gyy[-di - dj + ijk]
+
+#undef DXYDG_GYZ_IPJP
+#define DXYDG_GYZ_IPJP gyz[ di + dj + ijk]
+#undef DXYDG_GYZ_IPJM
+#define DXYDG_GYZ_IPJM gyz[ di - dj + ijk]
+#undef DXYDG_GYZ_IMJP
+#define DXYDG_GYZ_IMJP gyz[-di + dj + ijk]
+#undef DXYDG_GYZ_IMJM
+#define DXYDG_GYZ_IMJM gyz[-di - dj + ijk]
+
+#undef DXYDG_GZZ_IPJP
+#define DXYDG_GZZ_IPJP gzz[ di + dj + ijk]
+#undef DXYDG_GZZ_IPJM
+#define DXYDG_GZZ_IPJM gzz[ di - dj + ijk]
+#undef DXYDG_GZZ_IMJP
+#define DXYDG_GZZ_IMJP gzz[-di + dj + ijk]
+#undef DXYDG_GZZ_IMJM
+#define DXYDG_GZZ_IMJM gzz[-di - dj + ijk]
+
+/* Output variables */
+#undef DXYDG_DXYDGXX
+#define DXYDG_DXYDGXX deldelg1211
+#undef DXYDG_DXYDGXY
+#define DXYDG_DXYDGXY deldelg1212
+#undef DXYDG_DXYDGXZ
+#define DXYDG_DXYDGXZ deldelg1213
+#undef DXYDG_DXYDGYY
+#define DXYDG_DXYDGYY deldelg1222
+#undef DXYDG_DXYDGYZ
+#define DXYDG_DXYDGYZ deldelg1223
+#undef DXYDG_DXYDGZZ
+#define DXYDG_DXYDGZZ deldelg1233
+
+/* Internal variables */
+#undef DXYDG_FAC
+#define DXYDG_FAC dxydg_fac
+#undef DXYDG_OO4DXDY
+#define DXYDG_OO4DXDY dxydg_oo4dxdy
+#undef DXYDG_DXYDPSI_O_PSI
+#define DXYDG_DXYDPSI_O_PSI psixy[ijk]
+
+/* Declare internal variables */
+double DXYDG_FAC;
+double DXYDG_OO4DXDY = 1/(4*GH->dx0*GH->dy0);
+
+/* Declare output variables */
+double DXYDG_DXYDGXX;
+double DXYDG_DXYDGXY;
+double DXYDG_DXYDGXZ;
+double DXYDG_DXYDGYY;
+double DXYDG_DXYDGYZ;
+double DXYDG_DXYDGZZ;
+
+#endif
+
+#endif