aboutsummaryrefslogtreecommitdiff
path: root/archive
diff options
context:
space:
mode:
authorjthorn <jthorn@e296648e-0e4f-0410-bd07-d597d9acff87>2003-06-02 11:02:33 +0000
committerjthorn <jthorn@e296648e-0e4f-0410-bd07-d597d9acff87>2003-06-02 11:02:33 +0000
commitd80299e224539e880d47a6c50038c2958e5dc99a (patch)
tree5873ceee2e26c2e3e921c434a8eaea4e94bf912d /archive
parent21cb3fb168b8f11cb97cc5c568b92ecc853b9ebe (diff)
move this file here from ../src/metrics/
since Mitica Vulcanov has explained to me that it doesn't work (R(t) isn't known analytically) git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/Exact/trunk@174 e296648e-0e4f-0410-bd07-d597d9acff87
Diffstat (limited to 'archive')
-rw-r--r--archive/Robertson_Walker.F7793
1 files changed, 93 insertions, 0 deletions
diff --git a/archive/Robertson_Walker.F77 b/archive/Robertson_Walker.F77
new file mode 100644
index 0000000..35a0354
--- /dev/null
+++ b/archive/Robertson_Walker.F77
@@ -0,0 +1,93 @@
+C Robertson-Walker universe
+C See: J.N. Islam, An Introduction to
+C Mathematical Cosmology, Cambridge, 1992
+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__Robertson_Walker(
+ $ 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,
+ $ rama)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+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
+ CCTK_REAL rama
+
+c local static variables
+ logical firstcall
+ CCTK_REAL kapa
+ data firstcall /.true./
+ save firstcall, kapa
+
+c local variables
+ CCTK_REAL r2,x2,y2,z2,am,ag
+
+C This model may set the stress-energy tensor
+ Tmunu_flag = .true.
+
+ if (firstcall) then
+ kapa = Robertson_Walker__k
+ firstcall = .false.
+ end if
+
+ x2=x*x
+ y2=y*y
+ z2=z*z
+ r2 = x2+y2+z2
+
+ ag = kapa/(1.0D0-kapa*r2)
+
+ am = rama*rama
+
+
+
+ gdtt = -1.0D0
+ gdtx = 0.0D0
+ gdty = 0.0D0
+ gdtz = 0.0D0
+ gdxx = am*(1.0D0 + ag*x2)
+ gdyy = am*(1.0D0 + ag*y2)
+ gdzz = am*(1.0D0 + ag*z2)
+ gdxy = am*ag*x*y
+ gdyz = am*ag*y*z
+ gdzx = am*ag*z*x
+
+ gutt = -1.0D0
+ gutx = 0.0D0
+ guty = 0.0D0
+ gutz = 0.0D0
+ guxx = (1.0D0-kapa*x2)/am
+ guyy = (1.0D0-kapa*y2)/am
+ guzz = (1.0D0-kapa*z2)/am
+ guxy = -kapa*x*y/am
+ guyz = -kapa*y*z/am
+ guzx = -kapa*z*x/am
+
+
+
+ return
+ end