diff options
author | jthorn <jthorn@e296648e-0e4f-0410-bd07-d597d9acff87> | 2002-06-16 18:13:32 +0000 |
---|---|---|
committer | jthorn <jthorn@e296648e-0e4f-0410-bd07-d597d9acff87> | 2002-06-16 18:13:32 +0000 |
commit | e9bd56216de3463d4c500faa3d8a7c053ba883e3 (patch) | |
tree | 34348d29a03cbb7488adb2f17008e18c78f07450 /archive/ComparisonSolutions.F | |
parent | 8ab8f11496c67d4241e5597e278a85a4897ccfc3 (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
Added Files:
(these are the two files containing subroutines which were never called)
Comparison.c moved from ../src/Comparison.c
ComparisonSolutions.F moved from ../src/ComparisonSolutions.F
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/Exact/trunk@99 e296648e-0e4f-0410-bd07-d597d9acff87
Diffstat (limited to 'archive/ComparisonSolutions.F')
-rw-r--r-- | archive/ComparisonSolutions.F | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/archive/ComparisonSolutions.F b/archive/ComparisonSolutions.F new file mode 100644 index 0000000..1c1fcd4 --- /dev/null +++ b/archive/ComparisonSolutions.F @@ -0,0 +1,185 @@ +C $Header$ + +#include "cctk.h" +#include "cctk_Arguments.h" + + subroutine ComparisonMetric(CCTK_ARGUMENTS, + $ gxx_ex, gxy_ex, gxz_ex, + $ gyy_ex, gyz_ex, gzz_ex) + + implicit none + + DECLARE_CCTK_ARGUMENTS + + CCTK_REAL gxx_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + CCTK_REAL gxy_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + CCTK_REAL gxz_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + CCTK_REAL gyy_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + CCTK_REAL gyz_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + CCTK_REAL gzz_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + + integer i,j,k + +C Dummy arguments of subroutine boostrotdata: these are calculated +C (at a point) but not used. + + CCTK_REAL hxxjunk, hyyjunk, hzzjunk, + $ hxyjunk, hyzjunk, hxzjunk, + $ dxgxxjunk, dxgyyjunk, dxgzzjunk, + $ dxgxyjunk, dxgyzjunk, dxgxzjunk, + $ dygxxjunk, dygyyjunk, dygzzjunk, + $ dygxyjunk, dygyzjunk, dygxzjunk, + $ dzgxxjunk, dzgyyjunk, dzgzzjunk, + $ dzgxyjunk, dzgyzjunk, dzgxzjunk, + $ alpjunk, axjunk, ayjunk, azjunk, + $ betaxjunk, betayjunk, betazjunk, + $ bxxjunk, bxyjunk, bxzjunk, + $ byxjunk, byyjunk, byzjunk, + $ bzxjunk, bzyjunk, bzzjunk + +C Call boostrotdata pointwise. Most of what it calculates is +C thrown away, variables ending in ...junk. + do k=1,cctk_lsh(3) + do j=1,cctk_lsh(2) + do i=1,cctk_lsh(1) + call exactdata(x(i,j,k), y(i,j,k), z(i,j,k), cctk_time, + $ gxx_ex(i,j,k), gyy_ex(i,j,k), gzz_ex(i,j,k), + $ gxy_ex(i,j,k), gyz_ex(i,j,k), gxz_ex(i,j,k), + $ hxxjunk, hyyjunk, hzzjunk, + $ hxyjunk, hyzjunk, hxzjunk, + $ dxgxxjunk, dxgyyjunk, dxgzzjunk, + $ dxgxyjunk, dxgyzjunk, dxgxzjunk, + $ dygxxjunk, dygyyjunk, dygzzjunk, + $ dygxyjunk, dygyzjunk, dygxzjunk, + $ dzgxxjunk, dzgyyjunk, dzgzzjunk, + $ dzgxyjunk, dzgyzjunk, dzgxzjunk, + $ alpjunk, axjunk, ayjunk, azjunk, + $ betaxjunk, betayjunk, betazjunk, + $ bxxjunk, bxyjunk, bxzjunk, + $ byxjunk, byyjunk, byzjunk, + $ bzxjunk, bzyjunk, bzzjunk) + end do + end do + end do + + return + end + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + + subroutine ComparisonCurvature(CCTK_ARGUMENTS, + $ hxx_ex, hxy_ex, hxz_ex, + $ hyy_ex, hyz_ex, hzz_ex) + + implicit none + + DECLARE_CCTK_ARGUMENTS + + CCTK_REAL hxx_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + CCTK_REAL hxy_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + CCTK_REAL hxz_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + CCTK_REAL hyy_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + CCTK_REAL hyz_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + CCTK_REAL hzz_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + + integer i,j,k + + CCTK_REAL gxxjunk, gyyjunk, gzzjunk, + $ gxyjunk, gyzjunk, gxzjunk, + $ dxgxxjunk, dxgyyjunk, dxgzzjunk, + $ dxgxyjunk, dxgyzjunk, dxgxzjunk, + $ dygxxjunk, dygyyjunk, dygzzjunk, + $ dygxyjunk, dygyzjunk, dygxzjunk, + $ dzgxxjunk, dzgyyjunk, dzgzzjunk, + $ dzgxyjunk, dzgyzjunk, dzgxzjunk, + $ alpjunk, axjunk, ayjunk, azjunk, + $ betaxjunk, betayjunk, betazjunk, + $ bxxjunk, bxyjunk, bxzjunk, + $ byxjunk, byyjunk, byzjunk, + $ bzxjunk, bzyjunk, bzzjunk + + do k=1,cctk_lsh(3) + do j=1,cctk_lsh(2) + do i=1,cctk_lsh(1) + call exactdata(x(i,j,k), y(i,j,k), z(i,j,k), cctk_time, + $ gxxjunk, gyyjunk, gzzjunk, + $ gxyjunk, gyzjunk, gxzjunk, + $ hxx_ex(i,j,k), hyy_ex(i,j,k), hzz_ex(i,j,k), + $ hxy_ex(i,j,k), hyz_ex(i,j,k), hxz_ex(i,j,k), + $ dxgxxjunk, dxgyyjunk, dxgzzjunk, + $ dxgxyjunk, dxgyzjunk, dxgxzjunk, + $ dygxxjunk, dygyyjunk, dygzzjunk, + $ dygxyjunk, dygyzjunk, dygxzjunk, + $ dzgxxjunk, dzgyyjunk, dzgzzjunk, + $ dzgxyjunk, dzgyzjunk, dzgxzjunk, + $ alpjunk, axjunk, ayjunk, azjunk, + $ betaxjunk, betayjunk, betazjunk, + $ bxxjunk, bxyjunk, bxzjunk, + $ byxjunk, byyjunk, byzjunk, + $ bzxjunk, bzyjunk, bzzjunk) + end do + end do + end do + return + end + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + +c Note the exact shift comes in even if the shift is not +c allocated (eg if shift is "none"). In this case just +c don't use it, since it won't be compared against acctk_lsh(2)thing. + + subroutine ComparisonGauge(CCTK_ARGUMENTS, + $ alp_ex, betax_ex, betay_ex, betaz_ex) + + implicit none + + DECLARE_CCTK_ARGUMENTS + + CCTK_REAL alp_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + CCTK_REAL betax_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + CCTK_REAL betay_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + CCTK_REAL betaz_ex(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) + + integer i,j,k + + CCTK_REAL gxxjunk, gyyjunk, gzzjunk, + $ gxyjunk, gyzjunk, gxzjunk, + $ dxgxxjunk, dxgyyjunk, dxgzzjunk, + $ dxgxyjunk, dxgyzjunk, dxgxzjunk, + $ dygxxjunk, dygyyjunk, dygzzjunk, + $ dygxyjunk, dygyzjunk, dygxzjunk, + $ dzgxxjunk, dzgyyjunk, dzgzzjunk, + $ dzgxyjunk, dzgyzjunk, dzgxzjunk, + $ hxxjunk, hyyjunk, hzzjunk, + $ hxyjunk, hyzjunk, hxzjunk, + $ axjunk, ayjunk, azjunk, + $ bxxjunk, bxyjunk, bxzjunk, + $ byxjunk, byyjunk, byzjunk, + $ bzxjunk, bzyjunk, bzzjunk + + do k=1,cctk_lsh(3) + do j=1,cctk_lsh(2) + do i=1,cctk_lsh(1) + call exactdata(x(i,j,k), y(i,j,k), z(i,j,k), cctk_time, + $ gxxjunk, gyyjunk, gzzjunk, + $ gxyjunk, gyzjunk, gxzjunk, + $ hxxjunk, hyyjunk, hzzjunk, + $ hxyjunk, hyzjunk, hxzjunk, + $ dxgxxjunk, dxgyyjunk, dxgzzjunk, + $ dxgxyjunk, dxgyzjunk, dxgxzjunk, + $ dygxxjunk, dygyyjunk, dygzzjunk, + $ dygxyjunk, dygyzjunk, dygxzjunk, + $ dzgxxjunk, dzgyyjunk, dzgzzjunk, + $ dzgxyjunk, dzgyzjunk, dzgxzjunk, + $ alp_ex(i,j,k), axjunk, ayjunk, azjunk, + $ betax_ex(i,j,k), betay_ex(i,j,k), betaz_ex(i,j,k), + $ bxxjunk, bxyjunk, bxzjunk, + $ byxjunk, byyjunk, byzjunk, + $ bzxjunk, bzyjunk, bzzjunk) + end do + end do + end do + + return + end |