aboutsummaryrefslogtreecommitdiff
path: root/src/macro/KK_declare.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/macro/KK_declare.h')
-rw-r--r--src/macro/KK_declare.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/macro/KK_declare.h b/src/macro/KK_declare.h
new file mode 100644
index 0000000..84699b6
--- /dev/null
+++ b/src/macro/KK_declare.h
@@ -0,0 +1,103 @@
+/*@@
+ @header KK_guts.h
+ @date Jun 98
+ @author Gabrielle Allen
+ @desc
+
+ Declarations for macro to calculate term K_{ik}K^{k}_{l}
+
+ Requires: Upper physical metric
+ Lower extrinsic curvature
+
+ Provides: Components of K_{ik}K^{k}_{l}
+
+ @enddesc
+@@*/
+
+#ifndef KK_DECLARE
+
+#include "../../packages/CactusEinstein/Einstein/src/macro/UPPERMET_declare.h"
+
+#ifdef FCODE
+
+/* Input variables */
+#undef KK_HXX
+#define KK_HXX hxx(i,j,k)
+#undef KK_HXY
+#define KK_HXY hxy(i,j,k)
+#undef KK_HXZ
+#define KK_HXZ hxz(i,j,k)
+#undef KK_HYY
+#define KK_HYY hyy(i,j,k)
+#undef KK_HYZ
+#define KK_HYZ hyz(i,j,k)
+#undef KK_HZZ
+#define KK_HZZ hzz(i,j,k)
+
+/* Output variables */
+#undef KK_KKXX
+#define KK_KKXX KK11
+#undef KK_KKXY
+#define KK_KKXY KK12
+#undef KK_KKXZ
+#define KK_KKXZ KK13
+#undef KK_KKYY
+#define KK_KKYY KK22
+#undef KK_KKYZ
+#define KK_KKYZ KK23
+#undef KK_KKZZ
+#define KK_KKZZ KK33
+
+/* Declare output variables */
+ REAL KK_KKXX
+ REAL KK_KKXY
+ REAL KK_KKXZ
+ REAL KK_KKYY
+ REAL KK_KKYZ
+ REAL KK_KKZZ
+
+#endif
+
+#ifdef CCODE
+
+/* Input variables */
+#undef KK_HXX
+#define KK_HXX hxx[ijk]
+#undef KK_HXY
+#define KK_HXY hxy[ijk]
+#undef KK_HXZ
+#define KK_HXZ hxz[ijk]
+#undef KK_HYY
+#define KK_HYY hyy[ijk]
+#undef KK_HYZ
+#define KK_HYZ hyz[ijk]
+#undef KK_HZZ
+#define KK_HZZ hzz[ijk]
+
+/* Output variables */
+#undef KK_KKXX
+#define KK_KKXX KK11
+#undef KK_KKXY
+#define KK_KKXY KK12
+#undef KK_KKXZ
+#define KK_KKXZ KK13
+#undef KK_KKYY
+#define KK_KKYY KK22
+#undef KK_KKYZ
+#define KK_KKYZ KK23
+#undef KK_KKZZ
+#define KK_KKZZ KK33
+
+/* Declare output variables */
+double KK_KKXX;
+double KK_KKXY;
+double KK_KKXZ;
+double KK_KKYY;
+double KK_KKYZ;
+double KK_KKZZ;
+
+#endif
+
+#define KK_DECLARE
+
+#endif