diff options
Diffstat (limited to 'src/metrics/Schwarzschild_Lemaitre.F77')
-rw-r--r-- | src/metrics/Schwarzschild_Lemaitre.F77 | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/metrics/Schwarzschild_Lemaitre.F77 b/src/metrics/Schwarzschild_Lemaitre.F77 new file mode 100644 index 0000000..9ff7835 --- /dev/null +++ b/src/metrics/Schwarzschild_Lemaitre.F77 @@ -0,0 +1,72 @@ +C Schwarzschild-Lemaitre metric +c (Schwarzschild black hole with cosmological constant) +C Proposed by Lemaitre in 1932 +C Author : D. Vulcanov (Timisoara, Romania) +C $Header$ + +#include "cctk.h" +#include "cctk_Parameters.h" + + subroutine Exact__Schwarzschild_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) + + implicit none + + DECLARE_CCTK_PARAMETERS + + CCTK_REAL x, y, z, t + CCTK_REAL gdtt, gdtx, gdty, gdtz, + $ gdxx, gdyy, gdzz, gdxy, gdyz, gdzx, + $ gutt, gutx, guty, gutz, + $ guxx, guyy, guzz, guxy, guyz, guzx + + logical firstcall + + CCTK_REAL lam, mas, r2, ppp, unu, doi + + data firstcall /.true./ + save firstcall + if (firstcall) then + lam = Schwarzschild_Lemaitre__Lambda + mas = Schwarzschild_Lemaitre__mass + firstcall = .false. + end if + + r2 =x*x+y*y+z*z + + ppp=1.0D0 -2.0D0*mas/dsqrt(r2) -r2*lam/3.0D0 + + unu=(1.0D0-ppp)/ppp/r2 + + doi=(ppp - 1.0D0)/r2 + + gdtt = -ppp + gdtx = 0.0D0 + gdty = 0.0D0 + gdtz = 0.0D0 + gdxx = 1.0D0 + x*x*unu + gdyy = 1.0D0 + y*y*unu + gdzz = 1.0D0 + z*z*unu + gdxy = x*y*unu + gdyz = y*z*unu + gdzx = z*x*unu + + + gutt = -1.0D0/ppp + gutx = 0.0D0 + guty = 0.0D0 + gutz = 0.0D0 + guxx = 1.0D0 + x*x*doi + guyy = 1.0D0 + y*y*doi + guzz = 1.0D0 + z*z*doi + guxy = x*y*doi + guyz = y*z*doi + guzx = x*z*doi + + + return + end |