aboutsummaryrefslogtreecommitdiff
path: root/src/ParamCheck.c
diff options
context:
space:
mode:
authoreschnett <eschnett@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b>2013-01-22 21:00:28 +0000
committereschnett <eschnett@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b>2013-01-22 21:00:28 +0000
commita4ed7cfd73db6ef8418ffb47f4237cc529f8c710 (patch)
treebfd603e9eb86fc9ad01ee2b841013903752d1859 /src/ParamCheck.c
parent15f9511f821e350bc8c0c850b6f0a65ff786df87 (diff)
MoL Update
New integrator Euler. This is an explicit, first-order method, mostly useful for debugging. New integrators AB (Adams-Bashforth) with various orders. These are explicit integrators using several past timelevels to provide higher-order integration with a single RHS evaluation each. Introduce LinearCombination, a generic routine to calculate linear combinations of grid functions. This simplifies existing code, and can be overloaded if MoL should run on a device (e.g. with OpenCL). Replace cctk_lsh with cctk_ash where necessary. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@190 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
Diffstat (limited to 'src/ParamCheck.c')
-rw-r--r--src/ParamCheck.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/ParamCheck.c b/src/ParamCheck.c
index b80aa1b..96494bf 100644
--- a/src/ParamCheck.c
+++ b/src/ParamCheck.c
@@ -116,6 +116,12 @@ void MoL_ParamCheck(CCTK_ARGUMENTS)
}
}
+ if ( (CCTK_Equals(ODE_Method, "Euler"))&&(!(MoL_Intermediate_Steps == 1)) )
+ {
+ CCTK_PARAMWARN("When using the Euler evolver the "
+ "number of intermediate steps must be 1");
+ }
+
if ( (CCTK_Equals(ODE_Method, "RK2"))&&(!(MoL_Intermediate_Steps == 2)) )
{
CCTK_PARAMWARN("When using the efficient RK2 evolver the "
@@ -160,6 +166,12 @@ void MoL_ParamCheck(CCTK_ARGUMENTS)
"and the number of scratch levels at least 13.");
}
+ if ( (CCTK_Equals(ODE_Method, "AB"))&&(!(MoL_Intermediate_Steps == 1)) )
+ {
+ CCTK_PARAMWARN("When using the Adams-Bashforth evolver the "
+ "number of intermediate steps must be 1");
+ }
+
if ( (CCTK_Equals(ODE_Method, "RK2-MR-2:1"))&&( !((MoL_Intermediate_Steps == 5) || (MoL_Num_Scratch_Levels > 4))) )
{
CCTK_PARAMWARN("When using the multirate 2-1 RK2 evolver the "