4
$\begingroup$

There are so many Runge Kutta methods, including

  • Dormand-Prince 45
  • Cash-Karp 54
  • Fehlberge 78

Is there any comparison between them?

What is each approach sacrificing?

What is the general trade-off in different RK methods?

Which approach is suitable for what model?

How does Cash Karp Method perform when we have nonsmooth solution ?

How does Dormand Prince Method when we have nonsmooth solution?

$\endgroup$
6
$\begingroup$

There are so many Runge Kutta methods, including

  • Dormand-Prince 45
  • Cash-Karp 54
  • Fehlberge (sic) 78

Is there any comparison between them?

Well, sure. Here are some traits to compare:

  • Is the method implicit or explicit? (All of your examples are explicit RK methods.)
  • What is the order of convergence? Are there any embedded error estimators? How many, and of what order(s)?
  • How many stages does it have?
  • How many function evaluations are required? For implicit methods, how many linear solves are involved?
  • What is the stability region? Is it A-stable? L-stable?

My relatively simplistic understanding of these methods is that:

  • Dormand-Prince 4(5) is a 4th-order method with a 5th-order error estimator designed to minimize the error in the 5th-order solution, which is preferable when using the 5th-order solution to continue the integration
  • Fehlberg methods are supposed to minimize the error in the lower-order solution (in your case, the 7th-order solution); in general, Dormand-Prince methods of the same order should perform better
  • I've heard of the Cash-Karp discretization, but I haven't across a source that claims any sort of advantage or disadvantage compared with the Dormand-Prince methods

What is each approach sacrificing?

What is the general trade-off in different RK methods?

You should look at (or construct!) work-precision diagrams for the problems and integrators you're interested in investigating. Hairer and Wanner have some examples.

Which approach is suitable for what model?

Again, you should look at work-precision diagrams. To a very coarse approximation, you want explicit Runge-Kutta methods for non-stiff problems (assuming, that is, you want to use a Runge-Kutta method), and for stiff problems, you're likely to want an implicit Runge-Kutta method. Methods with a higher order of accuracy per time step are likely to perform better at stricter error tolerances than methods with a lower order of accuracy. However, the best approach is (very) problem-dependent.

| cite | improve this answer | |
$\endgroup$
  • 2
    $\begingroup$ I think before looking at complete implicit Runge-Kutta methods, give the linear-implicit ones, like the Rosenbrock schemes a try, because they are easier to implement and need only one Jacobian of your ODE function. $\endgroup$ – M.K. aka Grisu Apr 17 '15 at 11:11
  • $\begingroup$ @Grisu: Agreed. The question is so broad, I didn't even bother to get into DIRK, SDIRK, Rosenbrock, Rosenbrock-W, etc. $\endgroup$ – Geoff Oxberry Apr 17 '15 at 23:34
  • 2
    $\begingroup$ You can check some of these properties for a lot of common methods at ketch.github.io/numipedia. Let me know if your favorite method or property is not there. $\endgroup$ – David Ketcheson Apr 19 '15 at 7:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.