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
|
C Bianchi-I spacetime !!!! Fake one...
C It is not a real Bianchi I spacetime, it just emulates
C one, taking the two BianchiI functions as harmonic ones...
C
C Author : D. Vulcanov (Timisoara, Romania)
C see ../../README for copyright & licensing info
C
C $Header$
#include "cctk.h"
#include "cctk_Parameters.h"
subroutine Exact__Bianchi_I(
$ x, y, z, t,
$ gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
$ guxx, guyy, guzz, guxy, guyz, guzx,
$ psi, Tmunu_flag)
implicit none
DECLARE_CCTK_PARAMETERS
c input arguments
CCTK_REAL x, y, z, t
c output arguments
CCTK_REAL gdtt, gdtx, gdty, gdtz,
$ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx,
$ gutt, gutx, guty, gutz,
$ guxx, guyy, guzz, guxy, guyz, guzx
CCTK_REAL psi
LOGICAL Tmunu_flag
c local static variables
logical firstcall
CCTK_REAL arad
data firstcall /.true./
save firstcall, arad
c$omp threadprivate (firstcall, arad)
c local variables
CCTK_REAL bx, by
C This is a vacuum spacetime with no cosmological constant
Tmunu_flag = .false.
if (firstcall) then
arad = Bianchi_I__scale
firstcall = .false.
end if
bx = arad*sin(x+t)
by = arad*cos(x+t)
gdtt = - 1.d0
gdtx = 0.d0
gdty = 0.d0
gdtz = 0.d0
gdxx = bx**2
gdyy = by**2
gdzz = by**2
gdxy = 0.d0
gdyz = 0.d0
gdzx = 0.d0
gutt = - 1.d0
gutx = 0.d0
guty = 0.d0
gutz = 0.d0
guxx = bx**(-2)
guyy = by**(-2)
guzz = by**(-2)
guxy = 0.d0
guyz = 0.d0
guzx = 0.d0
return
end
|