aboutsummaryrefslogtreecommitdiff
path: root/src/metrics/Lemaitre.F
diff options
context:
space:
mode:
Diffstat (limited to 'src/metrics/Lemaitre.F')
-rw-r--r--src/metrics/Lemaitre.F88
1 files changed, 88 insertions, 0 deletions
diff --git a/src/metrics/Lemaitre.F b/src/metrics/Lemaitre.F
new file mode 100644
index 0000000..3318095
--- /dev/null
+++ b/src/metrics/Lemaitre.F
@@ -0,0 +1,88 @@
+C Lemaitre type universe - FRW with k =0, p=k rho and
+C cosmological constant
+C
+C Author : D. Vulcanov (Timisoara, Romania)
+C see ../../README for copyright & licensing info
+C
+C $Header$
+
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Functions.h"
+
+
+ subroutine Exact__Lemaitre(
+ $ 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
+ DECLARE_CCTK_FUNCTIONS
+
+c input arguments
+ CCTK_REAL t
+ CCTK_DECLARE(CCTK_REAL, x,)
+ CCTK_DECLARE(CCTK_REAL, y,)
+ CCTK_DECLARE(CCTK_REAL, z,)
+
+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_DECLARE(CCTK_REAL, psi,)
+ LOGICAL Tmunu_flag
+
+c local variables
+ CCTK_REAL ka, la, e0, r0
+ CCTK_REAL unu, ra, ra2, Pii
+
+c this model sets the stress-energy tensor in the "CalcTmunu" code
+ Tmunu_flag = .true.
+
+ ka = Lemaitre__kappa
+ e0 = Lemaitre__epsilon0
+ la = Lemaitre__Lambda
+ r0 = Lemaitre__R0
+
+ Pii = acos(-1.0D0)
+
+ unu = sqrt(3.0D0*la)*t*(ka+1.0D0)/(2.0D0)
+
+ ra = r0*(cosh(unu)+sqrt(1.0D0+8.0D0*Pii*e0/la)*sinh(unu))**
+ & (2.0D0/(3.0D0*ka+3.0D0))
+
+ ra2 = ra*ra
+
+ gdtt = -1.0D0
+ gdtx = 0.0D0
+ gdty = 0.0D0
+ gdtz = 0.0D0
+ gdxx = ra2
+ gdyy = ra2
+ gdzz = ra2
+ gdxy = 0.0D0
+ gdyz = 0.0D0
+ gdzx = 0.0D0
+
+ gutt = -1.0D0
+ gutx = 0.0D0
+ guty = 0.0D0
+ gutz = 0.0D0
+ guxx = 1.0D0/ra2
+ guyy = 1.0D0/ra2
+ guzz = 1.0D0/ra2
+ guxy = 0.0D0
+ guyz = 0.0D0
+ guzx = 0.0D0
+
+
+
+ return
+ end