aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrhaas <rhaas@e296648e-0e4f-0410-bd07-d597d9acff87>2012-11-27 17:52:52 +0000
committerrhaas <rhaas@e296648e-0e4f-0410-bd07-d597d9acff87>2012-11-27 17:52:52 +0000
commitcd5c6636a7961ca94f6a904eef72a3134f401efa (patch)
tree39541293e4e22f90d7cd4a2cae146a1ebd7fc9a5
parentaf9fa790afbdde1298c7e7059dfa992f137fc4aa (diff)
add dtlapse_evolution and dtshift_evolution method options
This attached patch actually does two things: 1. adds dtlapse_evolution method and dtshift_evolution method options 'exact' to the respective ADMBase keywords 2. schedules metric initialization in MoL_PostStep (in addition to CCTK_PRESTEP) which is in line with what the current gauge initialization routine does git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/Exact/trunk@284 e296648e-0e4f-0410-bd07-d597d9acff87
-rw-r--r--param.ccl9
-rw-r--r--schedule.ccl7
-rw-r--r--src/gauge.F774
3 files changed, 17 insertions, 3 deletions
diff --git a/param.ccl b/param.ccl
index 9164f7d..4462e00 100644
--- a/param.ccl
+++ b/param.ccl
@@ -24,6 +24,15 @@ EXTENDS KEYWORD shift_evolution_method
"exact" :: "Use shift from exact solution"
}
+EXTENDS KEYWORD dtlapse_evolution_method
+{
+ "exact" :: "Use lapse from exact solution"
+}
+EXTENDS KEYWORD dtshift_evolution_method
+{
+ "exact" :: "Use shift from exact solution"
+}
+
EXTENDS KEYWORD initial_lapse
{
"exact" :: "Initial lapse from exact solution"
diff --git a/schedule.ccl b/schedule.ccl
index 7146bf4..a0b6b68 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -74,7 +74,7 @@ if ( (CCTK_Equals(initial_lapse,"exact")) || (CCTK_Equals(initial_shift,"exact")
# During the evolution:
-if ( (CCTK_Equals(lapse_evolution_method,"exact")) || (CCTK_Equals(shift_evolution_method,"exact")) )
+if ( (CCTK_Equals(lapse_evolution_method,"exact")) || (CCTK_Equals(shift_evolution_method,"exact")) || (CCTK_Equals(dtlapse_evolution_method,"exact")) || (CCTK_Equals(dtshift_evolution_method,"exact")) )
{
schedule Exact__RegisterSlicing at CCTK_STARTUP
{
@@ -132,6 +132,11 @@ if (CCTK_Equals(evolution_method,"exact"))
{
LANG: Fortran
} "Set data from exact solution on an exact slice"
+ # Necessary if MoL is used
+ schedule Exact__initialize in MoL_PostStep
+ {
+ LANG: Fortran
+ } "Set data from exact solution on an exact slice"
}
#######################################################################
diff --git a/src/gauge.F77 b/src/gauge.F77
index 3735455..93ceb6a 100644
--- a/src/gauge.F77
+++ b/src/gauge.F77
@@ -82,8 +82,8 @@ C
if ( is_later_slice ) then
set_lapse = CCTK_Equals(lapse_evolution_method, "exact").ne.0
set_shift = CCTK_Equals(shift_evolution_method, "exact").ne.0
- set_dtlapse = .false.
- set_dtshift = .false.
+ set_dtlapse = CCTK_Equals(dtlapse_evolution_method, "exact").ne.0
+ set_dtshift = CCTK_Equals(dtshift_evolution_method, "exact").ne.0
end if
if ( set_lapse .or. set_shift .or. set_dtlapse .or. set_dtshift) then