aboutsummaryrefslogtreecommitdiff
path: root/src/macro/DCGDT_guts.h
blob: 10553c43a4b7f5a5516ae3537f75c781c7b1dd4a (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 .eq. CONFORMAL_METRIC) 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_active .ne. SHIFT_INACTIVE) THEN

#include "../../packages/CactusEinstein/Einstein/src/macro/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 == CONFORMAL_METRIC) 
      {

        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

      }

      if (shift) 
      {

#include "../../packages/CactusEinstein/Einstein/src/macro/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