diff options
author | hawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2004-09-06 17:12:28 +0000 |
---|---|---|
committer | hawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2004-09-06 17:12:28 +0000 |
commit | fb30868c8bf1234fa22900f2940751efde306679 (patch) | |
tree | 8ff8ed0f760e63cc6505955e234cab02ba2e30fe /src/IndexArrays.c | |
parent | 7b063721ba62b28bcc768c1c188b7a95cb5d7cc5 (diff) |
Runge-Kutta (Fehlberg) 45 with error estimation.
Fourth order accurate evolution with an additional fifth order step for error estimation. How much sense the error makes is unclear to me, but hey.
For the moment the error is stored in an internal MoL array ErrorEstimate; there is one per evolved variable. At a later point this may be moved out to user thorns who can register their own etc.
As the implementation uses 6 evaluations of the RHS (necessary) and 6 levels of scratch space (one more than necessary - laziness kicked in) then this is very expensive.
This is a partial fix for PR/1840.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@74 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
Diffstat (limited to 'src/IndexArrays.c')
-rw-r--r-- | src/IndexArrays.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/IndexArrays.c b/src/IndexArrays.c index 096a745..60cd140 100644 --- a/src/IndexArrays.c +++ b/src/IndexArrays.c @@ -299,6 +299,10 @@ void MoL_SetupIndexArrays(CCTK_ARGUMENTS) { sprintf(infoline, "Runge-Kutta 3"); } + else if (CCTK_EQUALS(ODE_Method,"RK45")) + { + sprintf(infoline, "Runge-Kutta 45"); + } else if (CCTK_EQUALS(ODE_Method,"ICN")) { sprintf(infoline, "Iterative Crank Nicholson with %i iterations", |