aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--interface.ccl78
-rw-r--r--schedule.ccl35
2 files changed, 91 insertions, 22 deletions
diff --git a/interface.ccl b/interface.ccl
index 8d4456a..fbbf900 100644
--- a/interface.ccl
+++ b/interface.ccl
@@ -2,17 +2,79 @@
# $Header$
implements: exact
-
inherits: admbase grid coordgauge
+friend: ADMCoupling
+
+# evolution thorns need to include these files
+# to get our terms in the stress-energy tensor
+INCLUDES SOURCE: Scalar_CalcTmunu.inc in CalcTmunu.inc
+INCLUDES : Scalar_CalcTmunu_temps.inc in CalcTmunu_temps.inc
+
+################################################################################
+
+#
+# copies of our parameters (with keywords decoded into integers)
+# for the use of the src/include/Scalar_CalcTmunu.inc code
+# (see comments in param.ccl for why we need this)
+#
+protected:
+
+int Exact_pars_int type=SCALAR
+{
+# ***** exact_model decoded to an integer
+decoded_exact_model
-# For running with ADM
-# friend: ADM ADMConstraints
+# ***** parameters for models which have nonzero stress-energy tensor terms
-# For running with BSSN
-# friend: ADM_BSSN ADMConstraints
+# parameters for Robertson-Walker spacetime
+Robertson_Walker___k
+Robertson_Walker___pressure
+} "parameters copied to grid scalars so CalcTmunu code sees them in evolution thorns"
+
+real Exact_pars_real type=SCALAR
+{
+# parameters for Schwarzschild-Lemaitre metric
+# (Schwarzschild black hole with cosmological constant)
+Schwarzschild_Lemaitre___Lambda
+Schwarzschild_Lemaitre___mass
+# parameters for Lemaitre-type spacetime
+Lemaitre___kappa
+Lemaitre___Lambda
+Lemaitre___epsilon0
+Lemaitre___R0
+# parameters for Robertson-Walker spacetime
+Robertson_Walker___R0
+Robertson_Walker___rho
+# parameters for de Sitter spacetime
+de_Sitter___scale
+# parameters for de Sitter spacetime with cosmological constant
+de_Sitter_Lambda___scale
+# parameters for anti-de Sitter spacetime with cosmological constant
+anti_de_Sitter_Lambda___scale
+# parameters for Bertotti spacetime
+Bertotti___Lambda
+# parameters for Kasner-like spacetime
+Kasner_like___q
+# parameters for generalized Kasner spacetime
+Kasner_generalized___p1
+Kasner_generalized___p2
+# parameters for constant density (Schwarzschild) star
+constant_density_star___mass
+constant_density_star___radius
+} "parameters copied to grid scalars so CalcTmunu code sees them in evolution thorns"
+
+################################################################################
+
+#
+# temp variable for some of the stress-energy tensor computations
+#
+protected:
+real robwal_var TYPE=GF
+{
+ raza
+} "Raza universului Robertson Walker"
-# INCLUDES: Scalar_CalcTmunu.inc in CalcTmunu.inc
-# INCLUDES: Scalar_CalcTmunu_temps.inc in CalcTmunu_temps.inc
+################################################################################
private:
@@ -38,4 +100,4 @@ real Exact_slicetemp2 type=GF
slicetmp2y,
slicetmp2z,
slicetmp2t
-} "Temporary grid functions 2" \ No newline at end of file
+} "Temporary grid functions 2"
diff --git a/schedule.ccl b/schedule.ccl
index bccb4fe..f8faeab 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -1,23 +1,32 @@
# Schedule definitions for thorn Exact
+# $Header$
#######################################################################
# PARAMCHECK
#######################################################################
-schedule Exact_ParamCheck at CCTK_PARAMCHECK
+Schedule Exact_ParamCheck at PARAMCHECK
{
- LANG: C
-} "Check for sensible parameter combinations"
+LANG: C
+} "do consistency checks on our parameters"
#######################################################################
# INITIAL DATA
#######################################################################
+# decode/copy parameters into grid scalars
+# (to share them properly so Calc_Tmunu code can see them even
+# though it's compiled in other thorns)
+Schedule Exact__decode_pars at INITIAL
+{
+LANG: Fortran
+} "decode/copy thorn Exact parameters into grid scalars"
+
# Initial data (g and K) from a trivial slice through an exact solution.
if (CCTK_Equals(initial_data,"exact"))
{
- schedule exactinitialize at CCTK_INITIAL
+ schedule Exact__initialize at CCTK_INITIAL
{
LANG: Fortran
} "Set initial data from exact solution on a trivial slice"
@@ -29,7 +38,7 @@ if (CCTK_Equals(initial_data,"exact"))
if ( (CCTK_Equals(initial_data,"slice")) && ! (CCTK_Equals(evolution_method,"slice")) )
{
- schedule slice_initialize at CCTK_INITIAL
+ schedule Exact__slice_initialize at CCTK_INITIAL
{
STORAGE: Exact_slice
LANG: Fortran
@@ -45,7 +54,7 @@ if ( (CCTK_Equals(initial_data,"slice")) && ! (CCTK_Equals(evolution_method,"sli
if ( (CCTK_Equals(initial_lapse,"exact")) || (CCTK_Equals(initial_shift,"exact")) )
{
- schedule exactgauge at CCTK_INITIAL
+ schedule Exact__gauge at CCTK_INITIAL
{
LANG: Fortran
} "Set initial lapse and/or shift from exact solution on a trivial slice"
@@ -55,13 +64,13 @@ if ( (CCTK_Equals(initial_lapse,"exact")) || (CCTK_Equals(initial_shift,"exact")
if ( (CCTK_Equals(lapse_evolution_method,"exact")) || (CCTK_Equals(shift_evolution_method,"exact")) )
{
- schedule Exact_RegisterSlicing at CCTK_STARTUP
+ schedule Exact__RegisterSlicing at CCTK_STARTUP
{
LANG: C
} "Register slicings"
- schedule exactgauge at CCTK_PRESTEP
- {
+ schedule Exact__gauge at CCTK_PRESTEP
+ {
LANG: Fortran
} "Set evolution lapse and/or shift from exact solution on a trivial slice"
}
@@ -83,12 +92,12 @@ if ( (CCTK_Equals(evolution_method,"slice")) && (CCTK_Equals(initial_data,"slice
STORAGE: Exact_slicetemp1
STORAGE: Exact_slicetemp2
- schedule slice_initialize at CCTK_INITIAL
+ schedule Exact__slice_initialize at CCTK_INITIAL
{
LANG: Fortran
} "Set initial data from exact solution on arbitrary slice"
- schedule slice_evolve at CCTK_EVOL
+ schedule Exact__slice_evolve at CCTK_EVOL
{
LANG: Fortran
} "Evolve arbitrary slice and extract Cauchy data"
@@ -100,10 +109,8 @@ if ( (CCTK_Equals(evolution_method,"slice")) && (CCTK_Equals(initial_data,"slice
if (CCTK_Equals(overwrite_boundary,"exact"))
{
- schedule exactboundary at CCTK_POSTSTEP
+ schedule Exact__boundary at CCTK_POSTSTEP
{
LANG: Fortran
} "Overwrite g and K on the boundary with exact solution data"
}
-
-