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/decode_pars.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/decode_pars.F')
-rw-r--r-- | src/decode_pars.F | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/src/decode_pars.F b/src/decode_pars.F new file mode 100644 index 0000000..e81fd8a --- /dev/null +++ b/src/decode_pars.F @@ -0,0 +1,201 @@ +c/*@@ +c @file decode_pars.F +c @date Fri Jun 7 19:47:46 CEST 2002 +c @author Jonathan Thornburg <jthorn@aei.mpg.de> +c @desc +c Decode/copy parameters for this thorn into grid scalars +c so we can share this with friends +c so the Calc_Tmunu code in ../include/Scalar_CalcTmunu.inc +c can use them in computing the stress-energy tensor +c +c Actually we only have to copy those parameters which are +c used by the Calc_Tmunu code. For simplicity we decode +c exact_model into the integer decoded_exact_model, then +c copy only the per-model parameters for those models which +c have stress-energy tensor code in ../include/Scalar_CalcTmunu.inc . +c +c @enddesc +c @version $Header$ +c@@*/ + +#include "cctk.h" +#include "cctk_Parameters.h" +#include "cctk_Arguments.h" + +#include "param_defs.inc" + +c/*@@ +c @routine Exact__decode_pars +c @date Fri Jun 7 19:47:46 CEST 2002 +c @author Jonathan Thornburg <jthorn@aei.mpg.de> +c @desc +c Decode/copy parameters for this thorn into grid scalars, so +c we can share this with friends for the use of the Calc_Tmunu +c code in ../include/Scalar_CalcTmunu.inc in computing the +c stress-energy tensor. +c @enddesc +c @version $Header$ +c@@*/ + subroutine Exact__decode_pars(CCTK_ARGUMENTS) + implicit none + DECLARE_CCTK_ARGUMENTS + DECLARE_CCTK_PARAMETERS + DECLARE_CCTK_FUNCTIONS + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + +c +c decode exact_model into the integer decoded_exact_model +c + +c Minkowski spacetime + if (CCTK_Equals(exact_model, "Minkowski") .ne. 0) then + decoded_exact_model = EXACT__Minkowski + elseif (CCTK_Equals(exact_model, "Minkowski/shift") .ne. 0) then + decoded_exact_model = EXACT__Minkowski_shift + elseif (CCTK_Equals(exact_model, "Minkowski/funny") .ne. 0) then + decoded_exact_model = EXACT__Minkowski_funny + elseif (CCTK_Equals(exact_model, "Minkowski/gauge wave") .ne. 0) then + decoded_exact_model = EXACT__Minkowski_gauge_wave + +c black hole spacetimes + elseif (CCTK_Equals(exact_model, "Schwarzschild/EF") .ne. 0) then + decoded_exact_model = EXACT__Schwarzschild_EF + elseif (CCTK_Equals(exact_model, "Schwarzschild/PG") .ne. 0) then + decoded_exact_model = EXACT__Schwarzschild_PG + elseif (CCTK_Equals(exact_model, "Schwarzschild/Novikov") .ne. 0) then + decoded_exact_model = EXACT__Schwarzschild_Novikov + elseif (CCTK_Equals(exact_model, "Kerr/Boyer-Lindquist") .ne. 0) then + decoded_exact_model = EXACT__Kerr_BoyerLindquist + elseif (CCTK_Equals(exact_model, "Kerr/Kerr-Schild") .ne. 0) then + decoded_exact_model = EXACT__Kerr_KerrSchild + elseif (CCTK_Equals(exact_model, "Schwarzschild-Lemaitre") .ne. 0) then + decoded_exact_model = EXACT__Schwarzschild_Lemaitre + elseif (CCTK_Equals(exact_model, "multi-BH") .ne. 0) then + decoded_exact_model = EXACT__multi_BH + elseif (CCTK_Equals(exact_model, "Alvi") .ne. 0) then + decoded_exact_model = EXACT__Alvi + elseif (CCTK_Equals(exact_model, "Thorne-fakebinary") .ne. 0) then + decoded_exact_model = EXACT__Thorne_fakebinary + +c cosmological spacetimes + elseif (CCTK_Equals(exact_model, "Lemaitre") .ne. 0) then + decoded_exact_model = EXACT__Lemaitre + elseif (CCTK_Equals(exact_model, "Robertson-Walker") .ne. 0) then + decoded_exact_model = EXACT__Robertson_Walker + elseif (CCTK_Equals(exact_model, "de Sitter") .ne. 0) then + decoded_exact_model = EXACT__de_Sitter + elseif (CCTK_Equals(exact_model, "de Sitter+Lambda") .ne. 0) then + decoded_exact_model = EXACT__de_Sitter_Lambda + elseif (CCTK_Equals(exact_model, "anti-de Sitter+Lambda") .ne. 0) then + decoded_exact_model = EXACT__anti_de_Sitter_Lambda + elseif (CCTK_Equals(exact_model, "Bianchi I") .ne. 0) then + decoded_exact_model = EXACT__Bianchi_I + elseif (CCTK_Equals(exact_model, "Goedel") .ne. 0) then + decoded_exact_model = EXACT__Goedel + elseif (CCTK_Equals(exact_model, "Bertotti") .ne. 0) then + decoded_exact_model = EXACT__Bertotti + elseif (CCTK_Equals(exact_model, "Kasner-like") .ne. 0) then + decoded_exact_model = EXACT__Kasner_like + elseif (CCTK_Equals(exact_model, "Kasner-axisymmetric") .ne. 0) then + decoded_exact_model = EXACT__Kasner_axisymmetric + elseif (CCTK_Equals(exact_model, "Kasner-generalized") .ne. 0) then + decoded_exact_model = EXACT__Kasner_generalized + elseif (CCTK_Equals(exact_model, "Milne") .ne. 0) then + decoded_exact_model = EXACT__Milne + +c miscellaneous spacetimes + elseif (CCTK_Equals(exact_model, "boost-rotation symmetric") .ne. 0) then + decoded_exact_model = EXACT__boost_rotation_symmetric + elseif (CCTK_Equals(exact_model, "bowl") .ne. 0) then + decoded_exact_model = EXACT__bowl + elseif (CCTK_Equals(exact_model, "constant density star") .ne. 0) then + decoded_exact_model = EXACT__constant_density_star + else + call CCTK_WARN(0, "invalid exact_model parameter!") + endif + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + +c +c parameters for Schwarzschild-Lemaitre metric +c (Schwarzschiled black hole with cosmological constant) +c + Schwarzschild_Lemaitre___Lambda = Schwarzschild_Lemaitre__Lambda + Schwarzschild_Lemaitre___mass = Schwarzschild_Lemaitre__mass + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + +c +c parameters for Lemaitre-type spacetime +c + Lemaitre___kappa = Lemaitre__kappa + Lemaitre___Lambda = Lemaitre__Lambda + Lemaitre___epsilon0 = Lemaitre__epsilon0 + Lemaitre___R0 = Lemaitre__R0 + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + +c +c parameters for Robertson-Walker spacetime +c + Robertson_Walker___R0 = Robertson_Walker__R0 + Robertson_Walker___rho = Robertson_Walker__rho + Robertson_Walker___k = Robertson_Walker__k + Robertson_Walker___pressure = Robertson_Walker__pressure + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + +c +c parameters for de Sitter spacetime +c + de_Sitter___scale = de_Sitter__scale + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + +c +c parameters for de Sitter spacetime with cosmological constant +c + de_Sitter_Lambda___scale = de_Sitter_Lambda__scale + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + +c +c parameters for anti-de Sitter spacetime with cosmological constant +c + anti_de_Sitter_Lambda___scale = anti_de_Sitter_Lambda__scale + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + +c +c parameters for Bertotti spacetime +c + Bertotti___Lambda = Bertotti__Lambda + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + +c +c parameters for Kasner-like spacetime +c + Kasner_like___q = Kasner_like__q + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + +c +c parameters for generalized Kasner spacetime +c + Kasner_generalized___p1 = Kasner_generalized__p1 + Kasner_generalized___p2 = Kasner_generalized__p2 + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + +c +c parameters for constant density (Schwarzschild) star +c + constant_density_star___mass = constant_density_star__mass + constant_density_star___radius = constant_density_star__radius + +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + + return + end |