aboutsummaryrefslogtreecommitdiff
path: root/schedule.ccl
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 /schedule.ccl
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 'schedule.ccl')
-rw-r--r--schedule.ccl16
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"