aboutsummaryrefslogtreecommitdiff
path: root/src/ParamCheck.c
diff options
context:
space:
mode:
authorhawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b>2006-01-23 10:39:58 +0000
committerhawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b>2006-01-23 10:39:58 +0000
commitc05ef7225ab51b7e66e884cf4d53805e8d261982 (patch)
tree5885d1761161ada1381942a09dfff646f872fc9c /src/ParamCheck.c
parent0863f0decdf6024f548f6178ce6221bc1a6fa722 (diff)
Peter Diener's RK65 and RK87 adaptive timestep integrators.
As yet not altered to do grid arrays. As with RK45, adaptive timestepping does not work with mesh refinement. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@106 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
Diffstat (limited to 'src/ParamCheck.c')
-rw-r--r--src/ParamCheck.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/ParamCheck.c b/src/ParamCheck.c
index 3bd1c21..272117b 100644
--- a/src/ParamCheck.c
+++ b/src/ParamCheck.c
@@ -136,15 +136,31 @@ int MoL_ParamCheck(CCTK_ARGUMENTS)
"and the number of scratch levels at least 6.");
}
+ if ( (CCTK_Equals(ODE_Method, "RK65")) &&
+ ( !((MoL_Intermediate_Steps == 8)||(MoL_Num_Scratch_Levels > 7)) ) )
+ {
+ CCTK_PARAMWARN("When using the RK65 evolver the "
+ "number of intermediate steps must be 8 "
+ "and the number of scratch levels at least 8.");
+ }
+
+ if ( (CCTK_Equals(ODE_Method, "RK87")) &&
+ ( !((MoL_Intermediate_Steps == 13)||(MoL_Num_Scratch_Levels > 12)) ) )
+ {
+ CCTK_PARAMWARN("When using the RK87 evolver the "
+ "number of intermediate steps must be 13 "
+ "and the number of scratch levels at least 13.");
+ }
+
if (adaptive_stepsize)
{
- if (CCTK_Equals(ODE_Method, "RK45"))
+ if (CCTK_Equals(ODE_Method, "RK45")||CCTK_Equals(ODE_Method, "RK65")||CCTK_Equals(ODE_Method, "RK87"))
{
/* everything is fine, do nothing */
}
else
{
- CCTK_PARAMWARN("Adaptive time step sizes are only possible with the RK45 solver");
+ CCTK_PARAMWARN("Adaptive time step sizes are only possible with the RK45, RK65 and RK87 solvers");
}
}