aboutsummaryrefslogtreecommitdiff
path: root/src/decode_pars.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/decode_pars.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/decode_pars.F')
-rw-r--r--src/decode_pars.F201
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