From e3096d84ffb4b909977066f158db78eb45f4a80b Mon Sep 17 00:00:00 2001 From: hawke Date: Tue, 22 Jul 2003 07:07:14 +0000 Subject: Add two methods: RK3. The optimized version of the TVD RK3 solver. Requires no scratch space so is about as efficient as ICN, but third order. Generic method from a parameter table. By specifying the number of intermediate steps and the alpha and beta arrays, create your own method at parameter time. Not well (or at all) documented because it doesn't seem to work correctly at the moment. Some tidying of extraneous code as well. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@29 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b --- param.ccl | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'param.ccl') diff --git a/param.ccl b/param.ccl index 0bf2bcc..0aeae83 100644 --- a/param.ccl +++ b/param.ccl @@ -86,12 +86,14 @@ KEYWORD ODE_Method "The ODE method use by MoL to do time integration" "ICN" :: "Iterative Crank Nicholson" "ICN-avg" :: "Iterative Crank Nicholson with averaging" "RK2" :: "Efficient RK2" + "RK3" :: "Efficient RK3" } "ICN" KEYWORD Generic_Type "If using the generic method, which sort" { "RK" :: "One of the standard TVD Runga-Kutta methods" "ICN" :: "Iterative Crank Nicholson as a generic method" + "Table" :: "Given from the generic method descriptor parameter" } "RK" CCTK_INT MoL_Intermediate_Steps "Number of intermediate steps taken by the ODE method" @@ -111,3 +113,12 @@ CCTK_REAL MoL_Tiny "Effective local machine zero; required by generic solvers" BOOLEAN initial_data_is_crap "If the initial data routine fails to set up the previous time levels, copy the current backwards" { } "no" + +# The default for this parameter corresponds to generic RK2 +STRING Generic_Method_Descriptor "A string used to create a table containing the description of the generic method" +{ + ".*" :: "Should contain the Alpha and Beta arrays, and the number of intermediate steps" +} "GenericIntermediateSteps = 2 \ + GenericAlphaCoeffs = { 1.0 0.0 0.5 0.5 } \ + GenericBetaCoeffs = { 1.0 0.5 }" + -- cgit v1.2.3