aboutsummaryrefslogtreecommitdiff
path: root/src/Bona_Masso_data.F
diff options
context:
space:
mode:
authorjthorn <jthorn@e296648e-0e4f-0410-bd07-d597d9acff87>2002-11-17 14:55:50 +0000
committerjthorn <jthorn@e296648e-0e4f-0410-bd07-d597d9acff87>2002-11-17 14:55:50 +0000
commitac099068da91d9528088af849caa7aa2e6e1758a (patch)
treef8837bb58d475eb0492f4a6a604a0d51bba94423 /src/Bona_Masso_data.F
parentd72eb352c6182603bde73125f71c4313f22cea28 (diff)
Modified Files:
make.code.defn Added Files: Bona_Masso_data.F77 blended_boundary.F77 boundary.F77 decode_pars.F77 gauge.F77 initialize.F77 metric.F77 xyz_blended_boundary.F77 Removed Files: Bona_Masso_data.F blended_boundary.F boundary.F decode_pars.F gauge.F initialize.F metric.F xyz_blended_boundary.F Rename files which really are Fortran 77 from foo.F (= Cactus Fortran 90 fixed form) to foo.F77 (= Fortran 77) This means they're now compiled with a Fortran 77 compiler. This should make no difference to the semantics (they were already Fortran 77 code), but makes it easier to compile this thorn on platforms which have a Fortran 77 compiler but no Fortran 90 compiler. Also small bugfix: blended_boundary.F --> .F77 xyz_blended_boundary.F --> .F77 * change declaration of ierr from CCTK_REAL --> integer git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/Exact/trunk@135 e296648e-0e4f-0410-bd07-d597d9acff87
Diffstat (limited to 'src/Bona_Masso_data.F')
-rw-r--r--src/Bona_Masso_data.F214
1 files changed, 0 insertions, 214 deletions
diff --git a/src/Bona_Masso_data.F b/src/Bona_Masso_data.F
deleted file mode 100644
index 9805e0a..0000000
--- a/src/Bona_Masso_data.F
+++ /dev/null
@@ -1,214 +0,0 @@
-c This routine calculates Bona-Masso initial data, making use of the
-c subroutine Exact__metric() to calculate the spacetime metric and its
-c inverse. Note that this use of the Bona-Masso variables is independent
-c of how (or even if) we are evolving the Einstein equations -- here
-c the Bona-Masso variables are "just" used as intermediate variables.
-
-c $Header$
-
-#include "cctk.h"
-
- subroutine Exact__Bona_Masso_data(
- $ decoded_exact_model,
- $ x, y, z, t,
- $ gxx, gyy, gzz, gxy, gyz, gxz,
- $ hxx, hyy, hzz, hxy, hyz, hxz,
- $ dxgxx, dxgyy, dxgzz, dxgxy, dxgyz, dxgxz,
- $ dygxx, dygyy, dygzz, dygxy, dygyz, dygxz,
- $ dzgxx, dzgyy, dzgzz, dzgxy, dzgyz, dzgxz,
- $ alp, ax, ay, az, betax, betay, betaz,
- $ bxx, bxy, bxz, byx, byy, byz, bzx, bzy, bzz)
-
- implicit none
- CCTK_INT decoded_exact_model
- CCTK_REAL x, y, z, t,
- $ gxx, gyy, gzz, gxy, gyz, gxz,
- $ hxx, hyy, hzz, hxy, hyz, hxz,
- $ dxgxx, dxgyy, dxgzz, dxgxy, dxgyz, dxgxz,
- $ dygxx, dygyy, dygzz, dygxy, dygyz, dygxz,
- $ dzgxx, dzgyy, dzgzz, dzgxy, dzgyz, dzgxz,
- $ alp, ax, ay, az, betax, betay, betaz,
- $ bxx, bxy, bxz, byx, byy, byz, bzx, bzy, bzz
-
-C gxx is g_xx etc.
-C hxx is K_xx etc.
-C dxgyy is (/2) dg_yy / dx (sic!)
-C alp is N, betax is N^x etc.
-C bxy is (/2) dN^y / dx (sic and sic!)
-C ax is dN / dx / N (sic!)
-
- CCTK_REAL eps,
- $ gdtt, gdtx, gdty, gdtz,
- $ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz,
- $ gdtt_p, gdtx_p, gdty_p, gdtz_p,
- $ gdxx_p, gdyy_p, gdzz_p, gdxy_p, gdyz_p, gdxz_p,
- $ gutt_p, gutx_p, guty_p, gutz_p,
- $ guxx_p, guyy_p, guzz_p, guxy_p, guyz_p, guxz_p,
- $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
- $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
- $ gutt_m, gutx_m, guty_m, gutz_m,
- $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m
-
- parameter (eps=1.d-6)
-
-C Get the spacetime metric and its inverse at the base point.
-
- call Exact__metric(
- $ decoded_exact_model,
- $ x, y, z, t,
- $ gdtt, gdtx, gdty, gdtz,
- $ gxx, gyy, gzz, gxy, gyz, gxz,
- $ gutt, gutx, guty, gutz,
- $ guxx, guyy, guzz, guxy, guyz, guxz)
-
-C Calculate lapse and shift from the upper metric.
-
- alp = 1.d0 / sqrt(-gutt)
-
- betax = - gutx / gutt
- betay = - guty / gutt
- betaz = - gutz / gutt
-
-C In order to calculate the derivatives of the lapse and shift from
-C the contravariant metric, use g^tt = -1/N^2 and g^i0 = N^i / N^2
-C Note that ax is dN/dx / N and that bxy is 1/2 dN^y / dx.
-
-C Calculate x-derivatives.
-
- call Exact__metric(
- $ decoded_exact_model,
- $ x+eps, y, z, t,
- $ gdtt_p, gdtx_p, gdty_p, gdtz_p,
- $ gdxx_p, gdyy_p, gdzz_p, gdxy_p, gdyz_p, gdxz_p,
- $ gutt_p, gutx_p, guty_p, gutz_p,
- $ guxx_p, guyy_p, guzz_p, guxy_p, guyz_p, guxz_p)
- call Exact__metric(
- $ decoded_exact_model,
- $ x-eps, y, z, t,
- $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
- $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
- $ gutt_m, gutx_m, guty_m, gutz_m,
- $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m)
-
- dxgxx = (gdxx_p - gdxx_m) / 4.d0 / eps
- dxgyy = (gdyy_p - gdyy_m) / 4.d0 / eps
- dxgzz = (gdzz_p - gdzz_m) / 4.d0 / eps
- dxgxy = (gdxy_p - gdxy_m) / 4.d0 / eps
- dxgyz = (gdyz_p - gdyz_m) / 4.d0 / eps
- dxgxz = (gdxz_p - gdxz_m) / 4.d0 / eps
-
- ax = - 0.5d0 * (gutt_p - gutt_m) / 2.d0 / eps / gutt
-
- bxx = ((- gutx_p / gutt_p) - (- gutx_m / gutt_m)) / 4.d0 / eps
- bxy = ((- guty_p / gutt_p) - (- guty_m / gutt_m)) / 4.d0 / eps
- bxz = ((- gutz_p / gutt_p) - (- gutz_m / gutt_m)) / 4.d0 / eps
-
-C Calculate y-derivatives.
-
- call Exact__metric(
- $ decoded_exact_model,
- $ x, y+eps, z, t,
- $ gdtt_p, gdtx_p, gdty_p, gdtz_p,
- $ gdxx_p, gdyy_p, gdzz_p, gdxy_p, gdyz_p, gdxz_p,
- $ gutt_p, gutx_p, guty_p, gutz_p,
- $ guxx_p, guyy_p, guzz_p, guxy_p, guyz_p, guxz_p)
- call Exact__metric(
- $ decoded_exact_model,
- $ x, y-eps, z, t,
- $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
- $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
- $ gutt_m, gutx_m, guty_m, gutz_m,
- $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m)
-
- dygxx = (gdxx_p - gdxx_m) / 4.d0 / eps
- dygyy = (gdyy_p - gdyy_m) / 4.d0 / eps
- dygzz = (gdzz_p - gdzz_m) / 4.d0 / eps
- dygxy = (gdxy_p - gdxy_m) / 4.d0 / eps
- dygyz = (gdyz_p - gdyz_m) / 4.d0 / eps
- dygxz = (gdxz_p - gdxz_m) / 4.d0 / eps
-
- ay = - 0.5d0 * (gutt_p - gutt_m) / 2.d0 / eps / gutt
-
- byx = ((- gutx_p / gutt_p) - (- gutx_m / gutt_m)) / 4.d0 / eps
- byy = ((- guty_p / gutt_p) - (- guty_m / gutt_m)) / 4.d0 / eps
- byz = ((- gutz_p / gutt_p) - (- gutz_m / gutt_m)) / 4.d0 / eps
-
-C Calculate z-derivatives.
-
- call Exact__metric(
- $ decoded_exact_model,
- $ x, y, z+eps, t,
- $ gdtt_p, gdtx_p, gdty_p, gdtz_p,
- $ gdxx_p, gdyy_p, gdzz_p, gdxy_p, gdyz_p, gdxz_p,
- $ gutt_p, gutx_p, guty_p, gutz_p,
- $ guxx_p, guyy_p, guzz_p, guxy_p, guyz_p, guxz_p)
- call Exact__metric(
- $ decoded_exact_model,
- $ x, y, z-eps, t,
- $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
- $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
- $ gutt_m, gutx_m, guty_m, gutz_m,
- $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m)
-
- dzgxx = (gdxx_p - gdxx_m) / 4.d0 / eps
- dzgyy = (gdyy_p - gdyy_m) / 4.d0 / eps
- dzgzz = (gdzz_p - gdzz_m) / 4.d0 / eps
- dzgxy = (gdxy_p - gdxy_m) / 4.d0 / eps
- dzgyz = (gdyz_p - gdyz_m) / 4.d0 / eps
- dzgxz = (gdxz_p - gdxz_m) / 4.d0 / eps
-
- az = - 0.5d0 * (gutt_p - gutt_m) / 2.d0 / eps / gutt
-
- bzx = ((- gutx_p / gutt_p) - (- gutx_m / gutt_m)) / 4.d0 / eps
- bzy = ((- guty_p / gutt_p) - (- guty_m / gutt_m)) / 4.d0 / eps
- bzz = ((- gutz_p / gutt_p) - (- gutz_m / gutt_m)) / 4.d0 / eps
-
-C Calculate t-derivatives, and extrinsic curvature.
-
- call Exact__metric(
- $ decoded_exact_model,
- $ x, y, z, t+eps,
- $ gdtt_p, gdtx_p, gdty_p, gdtz_p,
- $ gdxx_p, gdyy_p, gdzz_p, gdxy_p, gdyz_p, gdxz_p,
- $ gutt_p, gutx_p, guty_p, gutz_p,
- $ guxx_p, guyy_p, guzz_p, guxy_p, guyz_p, guxz_p)
- call Exact__metric(
- $ decoded_exact_model,
- $ x, y, z, t-eps,
- $ gdtt_m, gdtx_m, gdty_m, gdtz_m,
- $ gdxx_m, gdyy_m, gdzz_m, gdxy_m, gdyz_m, gdxz_m,
- $ gutt_m, gutx_m, guty_m, gutz_m,
- $ guxx_m, guyy_m, guzz_m, guxy_m, guyz_m, guxz_m)
-
- hxx = - (gdxx_p - gdxx_m) / 4.d0 / eps / alp
- $ + (dxgxx * betax + dygxx * betay + dzgxx * betaz
- $ + 2.d0 * (bxx * gxx + bxy * gxy + bxz * gxz)) / alp
-
- hyy = - (gdyy_p - gdyy_m) / 4.d0 / eps / alp
- $ + (dxgyy * betax + dygyy * betay + dzgyy * betaz
- $ + 2.d0 * (byx * gxy + byy * gyy + byz * gyz)) / alp
-
- hzz = - (gdzz_p - gdzz_m) / 4.d0 / eps / alp
- $ + (dxgzz * betax + dygzz * betay + dzgzz * betaz
- $ + 2.d0 * (bzx * gxz + bzy * gyz + bzz * gzz)) / alp
-
- hxy = - (gdxy_p - gdxy_m) / 4.d0 / eps / alp
- $ + (dxgxy * betax + dygxy * betay + dzgxy * betaz
- $ + bxx * gxy + bxy * gyy + bxz * gyz
- $ + byx * gxx + byy * gxy + byz * gxz) / alp
-
- hyz = - (gdyz_p - gdyz_m) / 4.d0 / eps / alp
- $ + (dxgyz * betax + dygyz * betay + dzgyz * betaz
- $ + byx * gxz + byy * gyz + byz * gzz
- $ + bzx * gxy + bzy * gyy + bzz * gyz) / alp
-
- hxz = - (gdxz_p - gdxz_m) / 4.d0 / eps / alp
- $ + (dxgxz * betax + dygxz * betay + dzgxz * betaz
- $ + bxx * gxz + bxy * gyz + bxz * gzz
- $ + bzx * gxx + bzy * gxy + bzz * gxz) / alp
-
- return
- end
-
-