There are so many Runge Kutta methods, includingDormand-Prince 45Cash-Karp 54Fehlberge 78Is 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?
What is the case of trade-off in different Runge Kutta methods
algorithms;ode;runge kutta;solver;stiffness
There are so many Runge Kutta methods, includingDormand-Prince 45Cash-Karp 54Fehlberge (sic) 78Is 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 integrationFehlberg 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 betterI'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 methodsWhat 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.