diff options
author | rhaas <rhaas@e296648e-0e4f-0410-bd07-d597d9acff87> | 2012-11-27 17:52:52 +0000 |
---|---|---|
committer | rhaas <rhaas@e296648e-0e4f-0410-bd07-d597d9acff87> | 2012-11-27 17:52:52 +0000 |
commit | cd5c6636a7961ca94f6a904eef72a3134f401efa (patch) | |
tree | 39541293e4e22f90d7cd4a2cae146a1ebd7fc9a5 | |
parent | af9fa790afbdde1298c7e7059dfa992f137fc4aa (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.ccl | 9 | ||||
-rw-r--r-- | schedule.ccl | 7 | ||||
-rw-r--r-- | src/gauge.F77 | 4 |
3 files changed, 17 insertions, 3 deletions
@@ -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 |