blob: adcb1d14cd81d1c46f771e64963401f5811e48a8 (
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
97
98
99
100
101
102
103
104
105
106
107
|
/*@@
@header DZDB_guts.h
@date Jun 98
@author Gabrielle Allen
@desc
Macro to calculate the first derivatives of the
shift with respect to z
The macro is defined in terms of standard variables in
@seefile DZDB_declare.h
@enddesc
@@*/
#ifndef DZDB_GUTS
#define DZDB_GUTS
#ifdef FCODE
DZDB_OO2DZ = 1D0/(2D0*DZDB_DZ)
if (admmacros_advectionx .eq. 0) then /* CENTER */
DZDB_DZDBX = DZDB_OO2DZ*(DZDB_BX_KP - DZDB_BX_KM)
else if (admmacros_advectionx .eq. 1) then /* UPWIND1 */
DZDB_DZDBX = (DZDB_BX_KP - DZDB_BX)/DZDB_DX
else if (admmacros_advectionx .eq. -1) then /* UPWIND1 */
DZDB_DZDBX = (DZDB_BX - DZDB_BX_KM)/DZDB_DX
else if (admmacros_advectionx .eq. 2) then /* UPWIND2 */
DZDB_DZDBX = - 0.5D0/DZDB_DX \
*(3.0D0*DZDB_BX - 4.0D0*DZDB_BX_KP + DZDB_BX_KPP)
else if (admmacros_advectionx .eq. -2) then /* UPWIND2 */
DZDB_DZDBX = 0.5D0/DZDB_DX \
*(3.0D0*DZDB_BX - 4.0D0*DZDB_BX_KM + DZDB_BX_KMM)
end if
if (admmacros_advectiony .eq. 0) then /* CENTER */
DZDB_DZDBY = DZDB_OO2DZ*(DZDB_BY_KP - DZDB_BY_KM)
else if (admmacros_advectiony .eq. 1) then /* UPWIND1 */
DZDB_DZDBY = (DZDB_BY_KP - DZDB_BY)/DZDB_DX
else if (admmacros_advectiony .eq. -1) then /* UPWIND1 */
DZDB_DZDBY = (DZDB_BY - DZDB_BY_KM)/DZDB_DX
else if (admmacros_advectiony .eq. 2) then /* UPWIND2 */
DZDB_DZDBY = - 0.5D0/DZDB_DX \
*(3.0D0*DZDB_BY - 4.0D0*DZDB_BY_KP + DZDB_BY_KPP)
else if (admmacros_advectiony .eq. -2) then /* UPWIND2 */
DZDB_DZDBY = 0.5D0/DZDB_DX \
*(3.0D0*DZDB_BY - 4.0D0*DZDB_BY_KM + DZDB_BY_KMM)
end if
if (admmacros_advectionz .eq. 0) then /* CENTER */
DZDB_DZDBZ = DZDB_OO2DZ*(DZDB_BZ_KP - DZDB_BZ_KM)
else if (admmacros_advectionz .eq. 1) then /* UPWIND1 */
DZDB_DZDBZ = (DZDB_BZ_KP - DZDB_BZ)/DZDB_DX
else if (admmacros_advectionz .eq. -1) then /* UPWIND1 */
DZDB_DZDBZ = (DZDB_BZ - DZDB_BZ_KM)/DZDB_DX
else if (admmacros_advectionz .eq. 2) then /* UPWIND2 */
DZDB_DZDBZ = - 0.5D0/DZDB_DX \
*(3.0D0*DZDB_BZ - 4.0D0*DZDB_BZ_KP + DZDB_BZ_KPP)
else if (admmacros_advectionz .eq. -2) then /* UPWIND2 */
DZDB_DZDBY = 0.5D0/DZDB_DX \
*(3.0D0*DZDB_BZ - 4.0D0*DZDB_BZ_KM + DZDB_BZ_KMM)
end if
#endif
#ifdef CCODE
DZDB_OO2DZ = 1/(2*cctkGH->cctk_delta_space[2]);
DZDB_DZDBX = DZDB_OO2DZ*(DZDB_BX_KP - DZDB_BX_KM);
DZDB_DZDBY = DZDB_OO2DZ*(DZDB_BY_KP - DZDB_BY_KM);
DZDB_DZDBZ = DZDB_OO2DZ*(DZDB_BZ_KP - DZDB_BZ_KM);
#endif
#endif
|