aboutsummaryrefslogtreecommitdiff
path: root/src/macro/KK_guts.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/macro/KK_guts.h')
-rw-r--r--src/macro/KK_guts.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/src/macro/KK_guts.h b/src/macro/KK_guts.h
new file mode 100644
index 0000000..ec3ac83
--- /dev/null
+++ b/src/macro/KK_guts.h
@@ -0,0 +1,88 @@
+/*@@
+ @header KK_guts.h
+ @date Jun 98
+ @author Gabrielle Allen
+ @desc
+
+ Macro to calculate term K_{ik}K^{k}_{l}
+
+ The macro is defined in terms of standard variables in
+ KK_declare.h
+
+ Requires: Upper physical metric
+ Lower extrinsic curvature
+
+ Provides: Components of K_{ik}K^{k}_{l}
+
+ @enddesc
+@@*/
+
+#ifndef KK_GUTS
+#define KK_GUTS
+
+#include "../../packages/CactusEinstein/Einstein/src/macro/UPPERMET_guts.h"
+
+#ifdef FCODE
+
+ KK_KKXX = 2*(UPPERMET_UYZ*KK_HXY*KK_HXZ + KK_HXX*(UPPERMET_UXY*KK_HXY +
+ &UPPERMET_UXZ*KK_HXZ)) + UPPERMET_UXX*KK_HXX*KK_HXX +
+ &UPPERMET_UYY*KK_HXY*KK_HXY + UPPERMET_UZZ*KK_HXZ*KK_HXZ
+
+ KK_KKXY = KK_HXY*(UPPERMET_UXX*KK_HXX + UPPERMET_UYY*KK_HYY) +
+ &UPPERMET_UZZ*KK_HXZ*KK_HYZ + UPPERMET_UXZ*(KK_HXY*KK_HXZ +
+ &KK_HXX*KK_HYZ) + UPPERMET_UYZ*(KK_HXZ*KK_HYY + KK_HXY*KK_HYZ) +
+ &UPPERMET_UXY*(KK_HXX*KK_HYY + KK_HXY*KK_HXY)
+
+ KK_KKXZ = UPPERMET_UYY*KK_HXY*KK_HYZ + UPPERMET_UXY*(KK_HXY*KK_HXZ +
+ &KK_HXX*KK_HYZ) + KK_HXZ*(UPPERMET_UXX*KK_HXX + UPPERMET_UZZ*KK_HZZ) +
+ &UPPERMET_UYZ*(KK_HXZ*KK_HYZ + KK_HXY*KK_HZZ) +
+ &UPPERMET_UXZ*(KK_HXX*KK_HZZ + KK_HXZ*KK_HXZ)
+
+ KK_KKYY = 2*(UPPERMET_UYZ*KK_HYY*KK_HYZ + KK_HXY*(UPPERMET_UXY*KK_HYY +
+ &UPPERMET_UXZ*KK_HYZ)) + UPPERMET_UXX*KK_HXY*KK_HXY +
+ &UPPERMET_UYY*KK_HYY*KK_HYY + UPPERMET_UZZ*KK_HYZ*KK_HYZ ;
+
+ KK_KKYZ = UPPERMET_UXX*KK_HXY*KK_HXZ + UPPERMET_UXY*(KK_HXZ*KK_HYY +
+ &KK_HXY*KK_HYZ) + KK_HYZ*(UPPERMET_UYY*KK_HYY + UPPERMET_UZZ*KK_HZZ) +
+ &UPPERMET_UXZ*(KK_HXZ*KK_HYZ + KK_HXY*KK_HZZ) +
+ &UPPERMET_UYZ*(KK_HYY*KK_HZZ + KK_HYZ*KK_HYZ)
+
+ KK_KKZZ = 2*(UPPERMET_UYZ*KK_HYZ*KK_HZZ + KK_HXZ*(UPPERMET_UXY*KK_HYZ +
+ &UPPERMET_UXZ*KK_HZZ)) + UPPERMET_UXX*KK_HXZ*KK_HXZ +
+ &UPPERMET_UYY*KK_HYZ*KK_HYZ + UPPERMET_UZZ*KK_HZZ*KK_HZZ
+
+#endif
+
+#ifdef CCODE
+
+KK_KKXX = 2*(UPPERMET_UYZ*KK_HXY*KK_HXZ + KK_HXX*(UPPERMET_UXY*KK_HXY +
+UPPERMET_UXZ*KK_HXZ)) + UPPERMET_UXX*KK_HXX*KK_HXX +
+UPPERMET_UYY*KK_HXY*KK_HXY + UPPERMET_UZZ*KK_HXZ*KK_HXZ;
+
+KK_KKXY = KK_HXY*(UPPERMET_UXX*KK_HXX + UPPERMET_UYY*KK_HYY) +
+UPPERMET_UZZ*KK_HXZ*KK_HYZ + UPPERMET_UXZ*(KK_HXY*KK_HXZ +
+KK_HXX*KK_HYZ) + UPPERMET_UYZ*(KK_HXZ*KK_HYY + KK_HXY*KK_HYZ) +
+UPPERMET_UXY*(KK_HXX*KK_HYY + KK_HXY*KK_HXY) ;
+
+KK_KKXZ = UPPERMET_UYY*KK_HXY*KK_HYZ + UPPERMET_UXY*(KK_HXY*KK_HXZ +
+KK_HXX*KK_HYZ) + KK_HXZ*(UPPERMET_UXX*KK_HXX + UPPERMET_UZZ*KK_HZZ) +
+UPPERMET_UYZ*(KK_HXZ*KK_HYZ + KK_HXY*KK_HZZ) +
+UPPERMET_UXZ*(KK_HXX*KK_HZZ + KK_HXZ*KK_HXZ) ;
+
+KK_KKYY = 2*(UPPERMET_UYZ*KK_HYY*KK_HYZ + KK_HXY*(UPPERMET_UXY*KK_HYY +
+UPPERMET_UXZ*KK_HYZ)) + UPPERMET_UXX*KK_HXY*KK_HXY +
+UPPERMET_UYY*KK_HYY*KK_HYY + UPPERMET_UZZ*KK_HYZ*KK_HYZ ;
+
+KK_KKYZ = UPPERMET_UXX*KK_HXY*KK_HXZ + UPPERMET_UXY*(KK_HXZ*KK_HYY +
+KK_HXY*KK_HYZ) + KK_HYZ*(UPPERMET_UYY*KK_HYY + UPPERMET_UZZ*KK_HZZ) +
+UPPERMET_UXZ*(KK_HXZ*KK_HYZ + KK_HXY*KK_HZZ) +
+UPPERMET_UYZ*(KK_HYY*KK_HZZ + KK_HYZ*KK_HYZ) ;
+
+KK_KKZZ = 2*(UPPERMET_UYZ*KK_HYZ*KK_HZZ + KK_HXZ*(UPPERMET_UXY*KK_HYZ +
+UPPERMET_UXZ*KK_HZZ)) + UPPERMET_UXX*KK_HXZ*KK_HXZ +
+UPPERMET_UYY*KK_HYZ*KK_HYZ + UPPERMET_UZZ*KK_HZZ*KK_HZZ ;
+
+#endif
+
+#endif
+