aboutsummaryrefslogtreecommitdiff
path: root/src/macro/DXDCG_declare.h
diff options
context:
space:
mode:
authorevans <evans@b1d164ef-f17a-46e7-89d4-021c7118ef4e>1999-03-09 21:04:02 +0000
committerevans <evans@b1d164ef-f17a-46e7-89d4-021c7118ef4e>1999-03-09 21:04:02 +0000
commit0a13cbb3d0f5ebf208d962d374a197c66bd13b1b (patch)
tree19582fa856a1193d17170ad971353f58e7be36c9 /src/macro/DXDCG_declare.h
parentc58897b8676212b9aee16d6d2f80ca2adeb50c6c (diff)
added the Einstien macros.
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinBase/ADMMacros/trunk@2 b1d164ef-f17a-46e7-89d4-021c7118ef4e
Diffstat (limited to 'src/macro/DXDCG_declare.h')
-rw-r--r--src/macro/DXDCG_declare.h139
1 files changed, 139 insertions, 0 deletions
diff --git a/src/macro/DXDCG_declare.h b/src/macro/DXDCG_declare.h
new file mode 100644
index 0000000..1d0f0c9
--- /dev/null
+++ b/src/macro/DXDCG_declare.h
@@ -0,0 +1,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 */
+ REAL DXDCG_OO2DX
+
+/* Declare output variables */
+ REAL DXDCG_DXDCGXX
+ REAL DXDCG_DXDCGXY
+ REAL DXDCG_DXDCGXZ
+ REAL DXDCG_DXDCGYY
+ REAL DXDCG_DXDCGYZ
+ 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