diff options
author | evans <evans@b1d164ef-f17a-46e7-89d4-021c7118ef4e> | 1999-03-09 21:04:02 +0000 |
---|---|---|
committer | evans <evans@b1d164ef-f17a-46e7-89d4-021c7118ef4e> | 1999-03-09 21:04:02 +0000 |
commit | 0a13cbb3d0f5ebf208d962d374a197c66bd13b1b (patch) | |
tree | 19582fa856a1193d17170ad971353f58e7be36c9 /src/macro/DXYDG_guts.h | |
parent | c58897b8676212b9aee16d6d2f80ca2adeb50c6c (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/DXYDG_guts.h')
-rw-r--r-- | src/macro/DXYDG_guts.h | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/src/macro/DXYDG_guts.h b/src/macro/DXYDG_guts.h new file mode 100644 index 0000000..3054f61 --- /dev/null +++ b/src/macro/DXYDG_guts.h @@ -0,0 +1,94 @@ +/*@@ + @header DXYDG_guts.h + @date Jun 98 + @author Gabrielle Allen + @desc + Macro to calculate the (first and) second derivatives of the + physical metric with respect to x,y + + The macro is defined in terms of standard variables in + @seefile DXYDG_declare.h + + The macro uses @seefile DXDG_guts.h , @seefile DYDG_guts.h and + @seefile DXDG_declare.h , @seefile DYDG_declare.h + @enddesc +@@*/ + +#ifndef DXYDG_GUTS +#define DXYDG_DECLARE + +#include "../../packages/CactusEinstein/Einstein/src/macro/DXDG_guts.h" +#include "../../packages/CactusEinstein/Einstein/src/macro/DYDG_guts.h" + +#ifdef FCODE + + DXYDG_OO4DXDY = 1D0/(4D0*dx*dy) + + /* Factor involving 2nd derivative of conformal factor */ + IF (conformal_state /= CONFORMAL_METRIC) THEN + DXYDG_FAC = 0 + ELSE + DXYDG_FAC = DXDG_PSI4*(4*DXYDG_DXYDPSI_O_PSI + 12*DXDG_DXDPSI_O_PSI*DYDG_DYDPSI_O_PSI) + ENDIF + + /* Now calculate the second deriatives */ + DXYDG_DXYDGXX = DYDCG_DYDCGXX*DXDG_FAC+DXDCG_DXDCGXX*DYDG_FAC+DXYDG_FAC*DXDG_GXX + &+DXDG_PSI4*DXYDG_OO4DXDY* + &(DXYDG_GXX_IPJP-DXYDG_GXX_IPJM-DXYDG_GXX_IMJP+DXYDG_GXX_IMJM); + + DXYDG_DXYDGXY = DYDCG_DYDCGXY*DXDG_FAC+DXDCG_DXDCGXY*DYDG_FAC+DXYDG_FAC*DXDG_GXY + &+DXDG_PSI4*DXYDG_OO4DXDY* + &(DXYDG_GXY_IPJP-DXYDG_GXY_IPJM-DXYDG_GXY_IMJP+DXYDG_GXY_IMJM); + + DXYDG_DXYDGXZ = DYDCG_DYDCGXZ*DXDG_FAC+DXDCG_DXDCGXZ*DYDG_FAC+DXYDG_FAC*DXDG_GXZ + &+DXDG_PSI4*DXYDG_OO4DXDY* + &(DXYDG_GXZ_IPJP-DXYDG_GXZ_IPJM-DXYDG_GXZ_IMJP+DXYDG_GXZ_IMJM); + + DXYDG_DXYDGYY = DYDCG_DYDCGYY*DXDG_FAC+DXDCG_DXDCGYY*DYDG_FAC+DXYDG_FAC*DXDG_GYY + &+DXDG_PSI4*DXYDG_OO4DXDY* + &(DXYDG_GYY_IPJP-DXYDG_GYY_IPJM-DXYDG_GYY_IMJP+DXYDG_GYY_IMJM); + + DXYDG_DXYDGYZ = DYDCG_DYDCGYZ*DXDG_FAC+DXDCG_DXDCGYZ*DYDG_FAC+DXYDG_FAC*DXDG_GYZ + &+DXDG_PSI4*DXYDG_OO4DXDY* + &(DXYDG_GYZ_IPJP-DXYDG_GYZ_IPJM-DXYDG_GYZ_IMJP+DXYDG_GYZ_IMJM); + + DXYDG_DXYDGZZ = DYDCG_DYDCGZZ*DXDG_FAC+DXDCG_DXDCGZZ*DYDG_FAC+DXYDG_FAC*DXDG_GZZ + &+DXDG_PSI4*DXYDG_OO4DXDY* + &(DXYDG_GZZ_IPJP-DXYDG_GZZ_IPJM-DXYDG_GZZ_IMJP+DXYDG_GZZ_IMJM); + +#endif + +#ifdef CCODE + +/* Factor involving 2nd derivative of conformal factor */ + DXYDG_FAC = ((conformal_state != CONFORMAL_METRIC)?0: + DXDG_PSI4*(4*DXYDG_DXYDPSI_O_PSI + 12*DXDG_DXDPSI_O_PSI*DYDG_DYDPSI_O_PSI)); + +/* Now calculate the second deriatives */ + DXYDG_DXYDGXX = DYDCG_DYDCGXX*DXDG_FAC+DXDCG_DXDCGXX*DYDG_FAC+DXYDG_FAC*DXDG_GXX + +DXDG_PSI4*DXYDG_OO4DXDY* + (DXYDG_GXX_IPJP-DXYDG_GXX_IPJM-DXYDG_GXX_IMJP+DXYDG_GXX_IMJM); + + DXYDG_DXYDGXY = DYDCG_DYDCGXY*DXDG_FAC+DXDCG_DXDCGXY*DYDG_FAC+DXYDG_FAC*DXDG_GXY + +DXDG_PSI4*DXYDG_OO4DXDY* + (DXYDG_GXY_IPJP-DXYDG_GXY_IPJM-DXYDG_GXY_IMJP+DXYDG_GXY_IMJM); + + DXYDG_DXYDGXZ = DYDCG_DYDCGXZ*DXDG_FAC+DXDCG_DXDCGXZ*DYDG_FAC+DXYDG_FAC*DXDG_GXZ + +DXDG_PSI4*DXYDG_OO4DXDY* + (DXYDG_GXZ_IPJP-DXYDG_GXZ_IPJM-DXYDG_GXZ_IMJP+DXYDG_GXZ_IMJM); + + DXYDG_DXYDGYY = DYDCG_DYDCGYY*DXDG_FAC+DXDCG_DXDCGYY*DYDG_FAC+DXYDG_FAC*DXDG_GYY + +DXDG_PSI4*DXYDG_OO4DXDY* + (DXYDG_GYY_IPJP-DXYDG_GYY_IPJM-DXYDG_GYY_IMJP+DXYDG_GYY_IMJM); + + DXYDG_DXYDGYZ = DYDCG_DYDCGYZ*DXDG_FAC+DXDCG_DXDCGYZ*DYDG_FAC+DXYDG_FAC*DXDG_GYZ + +DXDG_PSI4*DXYDG_OO4DXDY* + (DXYDG_GYZ_IPJP-DXYDG_GYZ_IPJM-DXYDG_GYZ_IMJP+DXYDG_GYZ_IMJM); + + DXYDG_DXYDGZZ = DYDCG_DYDCGZZ*DXDG_FAC+DXDCG_DXDCGZZ*DYDG_FAC+DXYDG_FAC*DXDG_GZZ + +DXDG_PSI4*DXYDG_OO4DXDY* + (DXYDG_GZZ_IPJP-DXYDG_GZZ_IPJM-DXYDG_GZZ_IMJP+DXYDG_GZZ_IMJM); + +#endif + +#endif |