aboutsummaryrefslogtreecommitdiff
path: root/src/slice_data.F
diff options
context:
space:
mode:
authorjthorn <jthorn@e296648e-0e4f-0410-bd07-d597d9acff87>2002-06-16 18:42:41 +0000
committerjthorn <jthorn@e296648e-0e4f-0410-bd07-d597d9acff87>2002-06-16 18:42:41 +0000
commitf7216a27e1388f70b04fe68c2bd43449d668f457 (patch)
tree0c7673b21efc4745fd16afb6b320c63489eb3150 /src/slice_data.F
parentcf2fb9a92562b9471403b8205ce75d975de144d4 (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.F62
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")