diff options
author | rhaas <rhaas@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2012-08-02 16:34:52 +0000 |
---|---|---|
committer | rhaas <rhaas@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2012-08-02 16:34:52 +0000 |
commit | 26067015fd74e5079d09a589fc3bab9e7fd13f22 (patch) | |
tree | a3939c89d8d4643ebf529722c1edfc8b8cbbe2a6 /src/ParamCheck.c | |
parent | 7923fe9d90ae7b78450708403bd7d451e0227d15 (diff) |
MoL: add Multirate capabilities. This add three new multirate RK schemes to MoL.
Flags indicate whether it is time to execute slow RHS computation.
For instance, in the RK4-RK2 scheme, there are 4 substeps in total, but the RK2 RHS are only evaluated in the very first and in the very last step of the four substeps.
From: Christian Reisswig, minor changes by Roland Haas
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@175 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
Diffstat (limited to 'src/ParamCheck.c')
-rw-r--r-- | src/ParamCheck.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/ParamCheck.c b/src/ParamCheck.c index 0257eb2..5ae51d6 100644 --- a/src/ParamCheck.c +++ b/src/ParamCheck.c @@ -159,6 +159,24 @@ void MoL_ParamCheck(CCTK_ARGUMENTS) "number of intermediate steps must be 13 " "and the number of scratch levels at least 13."); } + + 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 " + "number of intermediate steps must be 5 and the number of scratch levels at least 5"); + } + + if ( (CCTK_Equals(ODE_Method, "RK4-MR-2:1"))&&( !((MoL_Intermediate_Steps == 10) || (MoL_Num_Scratch_Levels > 9))) ) + { + CCTK_PARAMWARN("When using the multirate 2-1 RK4 evolver the " + "number of intermediate steps must be 10 and the number of scratch levels at least 10"); + } + + if ( (CCTK_Equals(ODE_Method, "RK4-RK2"))&&( !((MoL_Intermediate_Steps == 4) || (MoL_Num_Scratch_Levels > 3))) ) + { + CCTK_PARAMWARN("When using the multirate RK4-RK2 evolver the " + "number of intermediate steps must be 4 and the number of scratch levels at least 3"); + } if (adaptive_stepsize) { |