diff options
author | jthorn <jthorn@e296648e-0e4f-0410-bd07-d597d9acff87> | 2002-06-16 18:42:41 +0000 |
---|---|---|
committer | jthorn <jthorn@e296648e-0e4f-0410-bd07-d597d9acff87> | 2002-06-16 18:42:41 +0000 |
commit | f7216a27e1388f70b04fe68c2bd43449d668f457 (patch) | |
tree | 0c7673b21efc4745fd16afb6b320c63489eb3150 /src/slice_data.F | |
parent | cf2fb9a92562b9471403b8205ce75d975de144d4 (diff) |
[[This is a redo of my "cvs import" of 2002/06/11, this time using proper
cvs operations (commit/delete/add) to preserve the full CVS history of this
thorn.]]
This is a major cleanup/revision of AEIThorns/Exact.
Major user-visible changes:
* major expansion of doc/documentation.tex
* major expansion of documentation in param.ccl file
* rename all parameters, systematize spacetime/coordinate/parameter names
(there is a perl script in par/convert-pars.pl to convert old parameter
files to the new names)
* [from Mitica Vulcanov] many additions and fixes to
cosmological solutions and Schwarzschild-Lemaitre
* fix stress-energy tensor computations so they work -- before they were
all disabled in CVS (INCLUDES lines were commented out in interface.ccl)
due to requiring excessive friendship with evolution thorns
and/or public parameters; new code copies parameters to restricted
grid scalars, which Cactus automagically "pushes" to friends
* added some more tests to testsuite, though these don't yet work fully
Additional internal changes:
* rename many Fortran subroutines (and a few C ones too)
so their names start with the thorn name
to reduce the chances of name collisions with other thorns
* move all metrics to subdirectory so the main source directory isn't
so cluttered
* move two files containing subroutines which were never called
(they didn't belong in this thorn, but somehow got into cvs by accident)
into new archive/ directory
* some (small) improvements in efficiency -- the exact_model parameter
is now decoded from a keyword (string) to an integer once at INITIAL,
and that integer tested by the stress-energy tensor code,
rather than requiring a separate series of string tests at each grid
point (!) like the old stress-energy tensor code did
Modified Files:
ParamCheck.c added a check to make sure we don't try
to set the shift if it doesn't have storage
Startup.c
make.code.defn
slice_data.F
slice_evolve.F
slice_initialize.F
Added Files:
Bona_Masso_data.F moved from old exactdata.F
blended_boundary.F moved from old exactblendbound.F
boundary.F moved from old exactboundary.F
decode_pars.F new file to decode exact_model into integer,
copy parameters to grid scalars for Calc_Tmunu
code
gauge.F moved from old exactgauge.F
initialize.F moved from old exactinitialize.F
linear_extrap_one_bndry.F moved from old linextraponebound.F
metric.F moved from old exactmetric.F
xyz_blended_boundary.F moved from old exactcartblendbound.F
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/Exact/trunk@101 e296648e-0e4f-0410-bd07-d597d9acff87
Diffstat (limited to 'src/slice_data.F')
-rw-r--r-- | src/slice_data.F | 62 |
1 files changed, 36 insertions, 26 deletions
diff --git a/src/slice_data.F b/src/slice_data.F index 3ca811d..08b49cf 100644 --- a/src/slice_data.F +++ b/src/slice_data.F @@ -1,10 +1,11 @@ C Extract Cauchy data from the slice x^A(x^i) stored in slicex, C slicey, slicez, slicet, and calculate dx^A/dt. +C $Header$ #include "cctk.h" #include "cctk_Arguments.h" - subroutine slice_data(CCTK_ARGUMENTS) + subroutine Exact__slice_data(CCTK_ARGUMENTS) implicit none @@ -55,7 +56,8 @@ C Calculate first derivatives of slice coordinates. C Now we need the exact solution metric in the preferred coordinates x^A. - call exactmetric( + call Exact__metric( + $ decoded_exact_model, $ slicex(i,j,k), slicey(i,j,k), slicez(i,j,k), $ slicet(i,j,k), $ gd(4,4), gd(1,4), gd(2,4), gd(3,4), @@ -162,7 +164,8 @@ C with an editor (hint for proofreading). C Calculate g_AB,C. Need to sum explicitly over C. Do this with C the editor. - call exactmetric( + call Exact__metric( + $ decoded_exact_model, $ slicex(i,j,k)+ex_eps, slicey(i,j,k), slicez(i,j,k), $ slicet(i,j,k), $ gd_p(4,4), gd_p(1,4), gd_p(2,4), gd_p(3,4), @@ -171,7 +174,8 @@ C the editor. $ gu(4,4), gu(1,4), gu(2,4), gu(3,4), $ gu(1,1), gu(2,2), gu(3,3), $ gu(1,2), gu(2,3), gu(1,3)) - call exactmetric( + call Exact__metric( + $ decoded_exact_model, $ slicex(i,j,k)-ex_eps, slicey(i,j,k), slicez(i,j,k), $ slicet(i,j,k), $ gd_m(4,4), gd_m(1,4), gd_m(2,4), gd_m(3,4), @@ -186,7 +190,8 @@ C the editor. end do end do - call exactmetric( + call Exact__metric( + $ decoded_exact_model, $ slicex(i,j,k), slicey(i,j,k)+ex_eps, slicez(i,j,k), $ slicet(i,j,k), $ gd_p(4,4), gd_p(1,4), gd_p(2,4), gd_p(3,4), @@ -195,7 +200,8 @@ C the editor. $ gu(4,4), gu(1,4), gu(2,4), gu(3,4), $ gu(1,1), gu(2,2), gu(3,3), $ gu(1,2), gu(2,3), gu(1,3)) - call exactmetric( + call Exact__metric( + $ decoded_exact_model, $ slicex(i,j,k), slicey(i,j,k)-ex_eps, slicez(i,j,k), $ slicet(i,j,k), $ gd_m(4,4), gd_m(1,4), gd_m(2,4), gd_m(3,4), @@ -210,7 +216,8 @@ C the editor. end do end do - call exactmetric( + call Exact__metric( + $ decoded_exact_model, $ slicex(i,j,k), slicey(i,j,k), slicez(i,j,k)+ex_eps, $ slicet(i,j,k), $ gd_p(4,4), gd_p(1,4), gd_p(2,4), gd_p(3,4), @@ -219,7 +226,8 @@ C the editor. $ gu(4,4), gu(1,4), gu(2,4), gu(3,4), $ gu(1,1), gu(2,2), gu(3,3), $ gu(1,2), gu(2,3), gu(1,3)) - call exactmetric( + call Exact__metric( + $ decoded_exact_model, $ slicex(i,j,k), slicey(i,j,k), slicez(i,j,k)-ex_eps, $ slicet(i,j,k), $ gd_m(4,4), gd_m(1,4), gd_m(2,4), gd_m(3,4), @@ -234,7 +242,8 @@ C the editor. end do end do - call exactmetric( + call Exact__metric( + $ decoded_exact_model, $ slicex(i,j,k), slicey(i,j,k), slicez(i,j,k), $ slicet(i,j,k)+ex_eps, $ gd_p(4,4), gd_p(1,4), gd_p(2,4), gd_p(3,4), @@ -243,7 +252,8 @@ C the editor. $ gu(4,4), gu(1,4), gu(2,4), gu(3,4), $ gu(1,1), gu(2,2), gu(3,3), $ gu(1,2), gu(2,3), gu(1,3)) - call exactmetric( + call Exact__metric( + $ decoded_exact_model, $ slicex(i,j,k), slicey(i,j,k), slicez(i,j,k), $ slicet(i,j,k)-ex_eps, $ gd_m(4,4), gd_m(1,4), gd_m(2,4), gd_m(3,4), @@ -302,30 +312,30 @@ C Calculate K_ij. C Synchronize and bound slicetmp2, which contains dx^A/dt. - call linextraponebound(CCTK_ARGUMENTS,slicetmp2x) - call linextraponebound(CCTK_ARGUMENTS,slicetmp2y) - call linextraponebound(CCTK_ARGUMENTS,slicetmp2z) - call linextraponebound(CCTK_ARGUMENTS,slicetmp2t) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,slicetmp2x) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,slicetmp2y) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,slicetmp2z) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,slicetmp2t) call CCTK_SyncGroup(ierr,cctkGH,"Exact::Exact_slicetemp2") C Bound and synchronize the 3-metric and extrinsic curvature. - call linextraponebound(CCTK_ARGUMENTS,gxx) - call linextraponebound(CCTK_ARGUMENTS,gxy) - call linextraponebound(CCTK_ARGUMENTS,gxz) - call linextraponebound(CCTK_ARGUMENTS,gyy) - call linextraponebound(CCTK_ARGUMENTS,gyz) - call linextraponebound(CCTK_ARGUMENTS,gzz) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,gxx) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,gxy) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,gxz) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,gyy) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,gyz) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,gzz) call CCTK_SyncGroup(ierr,cctkGH,"admbase::metric") - call linextraponebound(CCTK_ARGUMENTS,kxx) - call linextraponebound(CCTK_ARGUMENTS,kxy) - call linextraponebound(CCTK_ARGUMENTS,kxz) - call linextraponebound(CCTK_ARGUMENTS,kyy) - call linextraponebound(CCTK_ARGUMENTS,kyz) - call linextraponebound(CCTK_ARGUMENTS,kzz) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,kxx) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,kxy) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,kxz) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,kyy) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,kyz) + call Exact__linear_extrap_one_bndry(CCTK_ARGUMENTS,kzz) call CCTK_SyncGroup(ierr,cctkGH,"admbase::curv") |