diff options
author | eschnett <eschnett@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2013-01-22 21:00:28 +0000 |
---|---|---|
committer | eschnett <eschnett@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2013-01-22 21:00:28 +0000 |
commit | a4ed7cfd73db6ef8418ffb47f4237cc529f8c710 (patch) | |
tree | bfd603e9eb86fc9ad01ee2b841013903752d1859 /schedule.ccl | |
parent | 15f9511f821e350bc8c0c850b6f0a65ff786df87 (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 'schedule.ccl')
-rw-r--r-- | schedule.ccl | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/schedule.ccl b/schedule.ccl index 48283fd..21896e3 100644 --- a/schedule.ccl +++ b/schedule.ccl @@ -551,6 +551,13 @@ if (CCTK_Equals(ODE_Method,"Generic")) LANG: C } "Updates calculated with a generic method" } +else if (CCTK_Equals(ODE_Method,"Euler")) +{ + schedule MoL_EulerAdd AS MoL_Add IN MoL_Step AFTER MoL_CalcRHS BEFORE MoL_PostStep + { + LANG: C + } "Updates calculated with the Euler method" +} else if (CCTK_Equals(ODE_Method,"RK2")) { schedule MoL_RK2Add AS MoL_Add IN MoL_Step AFTER MoL_CalcRHS BEFORE MoL_PostStep @@ -613,6 +620,13 @@ else if (CCTK_Equals(ODE_Method,"ICN-avg")) LANG: C } "Updates calculated with the averaging ICN method" } +else if (CCTK_Equals(ODE_Method,"AB")) +{ + schedule MoL_ABAdd AS MoL_Add IN MoL_Step AFTER MoL_CalcRHS BEFORE MoL_PostStep + { + LANG: C + } "Updates calculated with the Adams-Bashforth" +} else if (CCTK_Equals(ODE_Method,"RK2-MR-2:1")) { schedule MoL_RK2_MR_2_1_Add AS MoL_Add IN MoL_Step AFTER MoL_CalcRHS BEFORE MoL_PostStep @@ -765,7 +779,7 @@ schedule MoL_ResetDeltaTime IN MoL_Step AFTER (MoL_PostStep MoL_PostStepModify) ### variables to their original state. ### ################################################## -schedule MoL_RestoreSandR IN MoL_Evolution AFTER MoL_FinishLoop +schedule MoL_RestoreSandR IN MoL_Evolution AFTER (MoL_ReduceAdaptiveError MoL_FinishLoop) { LANG: C } "Restoring the Save and Restore variables to the original state" |