aboutsummaryrefslogtreecommitdiff
path: root/src/macro/DCGDT_guts.h
blob: 84f57f5cef1ec162530b8b948e61d4421999d4af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/*@@
  @header   DCGDT_guts.h
  @date     Jul 98
  @author   Gabrielle Allen
  @desc
  Macro to calculate the source term in the evolution equation for the
  conformal 3-metric. That is

  d g~_ij/dt =( - 2 alpha K_ij + L_beta g_ij )/Psi^4

  where g~ is the conformal metric
 
  @enddesc
@@*/

#ifndef DCGDT_GUTS
#define DCGDT_GUTS

#ifdef FCODE 

      DCGDT_DCGXXDT = - 2*DCGDT_A*DCGDT_KXX
      DCGDT_DCGXYDT = - 2*DCGDT_A*DCGDT_KXY
      DCGDT_DCGXZDT = - 2*DCGDT_A*DCGDT_KXZ
      DCGDT_DCGYYDT = - 2*DCGDT_A*DCGDT_KYY
      DCGDT_DCGYZDT = - 2*DCGDT_A*DCGDT_KYZ
      DCGDT_DCGZZDT = - 2*DCGDT_A*DCGDT_KZZ

      IF (conformal_state .gt. 0) THEN

        DCGDT_IPSI4 = 1D0/(DCGDT_PSI**4)
        
        DCGDT_DCGXXDT = DCGDT_DCGXXDT*DCGDT_IPSI4
        DCGDT_DCGXYDT = DCGDT_DCGXYDT*DCGDT_IPSI4
        DCGDT_DCGXZDT = DCGDT_DCGXZDT*DCGDT_IPSI4
        DCGDT_DCGYYDT = DCGDT_DCGYYDT*DCGDT_IPSI4
        DCGDT_DCGYZDT = DCGDT_DCGYZDT*DCGDT_IPSI4
        DCGDT_DCGZZDT = DCGDT_DCGZZDT*DCGDT_IPSI4

      END IF

      IF (shift_state .ne. 0) THEN

#include "LIEG_guts.h"

        DCGDT_DCGXXDT = DCGDT_DCGXXDT + LIEG_LGXX
        DCGDT_DCGXYDT = DCGDT_DCGXYDT + LIEG_LGXY
        DCGDT_DCGXZDT = DCGDT_DCGXZDT + LIEG_LGXZ
        DCGDT_DCGYYDT = DCGDT_DCGYYDT + LIEG_LGYY
        DCGDT_DCGYZDT = DCGDT_DCGYZDT + LIEG_LGYZ
        DCGDT_DCGZZDT = DCGDT_DCGZZDT + LIEG_LGZZ

      END IF

#endif

#ifdef CCODE

      DCGDT_DCGXXDT = - 2*DCGDT_A*DCGDT_KXX;
      DCGDT_DCGXYDT = - 2*DCGDT_A*DCGDT_KXY;
      DCGDT_DCGXZDT = - 2*DCGDT_A*DCGDT_KXZ;
      DCGDT_DCGYYDT = - 2*DCGDT_A*DCGDT_KYY;
      DCGDT_DCGYZDT = - 2*DCGDT_A*DCGDT_KYZ;
      DCGDT_DCGZZDT = - 2*DCGDT_A*DCGDT_KZZ;

      if (*conformal_state > 0) 
      {

        DCGDT_IPSI4 = 1/(DCGDT_PSI*DCGDT_PSI*DCGDT_PSI*DCGDT_PSI);
        
        DCGDT_DCGXXDT = DCGDT_DCGXXDT*DCGDT_IPSI4;
        DCGDT_DCGXYDT = DCGDT_DCGXYDT*DCGDT_IPSI4;
        DCGDT_DCGXZDT = DCGDT_DCGXZDT*DCGDT_IPSI4;
        DCGDT_DCGYYDT = DCGDT_DCGYYDT*DCGDT_IPSI4;
        DCGDT_DCGYZDT = DCGDT_DCGYZDT*DCGDT_IPSI4;
        DCGDT_DCGZZDT = DCGDT_DCGZZDT*DCGDT_IPSI4;

      }

      if (*shift_state != 0)
      {

#include "LIEG_guts.h"

        DCGDT_DCGXXDT = DCGDT_DCGXXDT + LIEG_LGXX;
        DCGDT_DCGXYDT = DCGDT_DCGXYDT + LIEG_LGXY;
        DCGDT_DCGXZDT = DCGDT_DCGXZDT + LIEG_LGXZ;
        DCGDT_DCGYYDT = DCGDT_DCGYYDT + LIEG_LGYY;
        DCGDT_DCGYZDT = DCGDT_DCGYZDT + LIEG_LGYZ;
        DCGDT_DCGZZDT = DCGDT_DCGZZDT + LIEG_LGZZ;

      }

#endif

#endif