6
$\begingroup$

The Wikipedia article on Runge-Kutta Methods lists several examples of each order. My question is, are there any particular advantages using one particular scheme over another of the same order?

I wanted to complete a convergence test of the Advection Equation, which is as follows: $$ \frac{\partial \theta}{\partial t} + a\frac{\partial \theta}{\partial x} = 0 $$ I wanted to show the effects of exceeding the CFL Condition, which states that: $$ \frac{|a| \Delta t}{\Delta x} \leq \mathrm{CFL}_\mathrm{max} $$ I implemented this by picking an arbitrary $\mathrm{CFL}_\mathrm{max}$, finding $\Delta t$, integrating the advection equation (in spectral space, assuming periodicity) up until $t = 10$, and finding the $\ell_2$-norm of the error at the nearest timestep (since it might not line up perfectly), while keeping $\Delta x$ constant. Convergence of Advection Equation for Decreasing CFL_max As can be seen, every single RK3 method is literally superimposed on one another. So what are the benefits of using one over another?

As an aside, I'm not particularly sure why this we get unstable results at the following boundaries:

  • RK1: $\mathrm{CFL}_\mathrm{max} \approx 0.07$
  • RK2: $\mathrm{CFL}_\mathrm{max} \approx 0.3$
  • RK3: $\mathrm{CFL}_\mathrm{max} \approx 0.6$
  • RK4: $\mathrm{CFL}_\mathrm{max} \approx 0.9$

Can I find the appropriate $\mathrm{CFL}_\mathrm{max}$ for a given method, outside of just experimentally testing?

$\endgroup$
10
  • 2
    $\begingroup$ There are whole books written about the answer to your question. As for finding the maximum stable step size, just get any introductory textbook and read about absolute stability. I recommend this one: staff.washington.edu/rjl/fdmbook $\endgroup$ Mar 14 at 11:30
  • 2
    $\begingroup$ beautiful plot. Never seen a comparison like this. $\endgroup$
    – MPIchael
    Mar 15 at 6:35
  • 2
    $\begingroup$ I am surprised you see any stability for explicit Euler. $\endgroup$ Mar 15 at 16:09
  • 1
    $\begingroup$ @VladimirFГероямслава, I’m guessing that $t=10$ was just not long enough. I believe that RK3 is the minimum stable explicit scheme for the advection equation. $\endgroup$ Mar 16 at 14:58
  • 1
    $\begingroup$ What did you use for spacial discritizaition? $\endgroup$ Mar 16 at 19:47

2 Answers 2

8
$\begingroup$

There are lots of different properties which can be found in different time stepping schemes of the same order of accuracy:

  1. Different stability properties. While it may not appear that way with the methods you tested, but there are RK methods with the same order of accuracy which have different regions of absolute stability. This can come at the cost of requiring extra stages. For example, David Ketcheson's RK(10,4) method is 4th order accurate, but uses 10 stages to achieve a significantly expanded region of absolute stability. For certain types of PDE discretizations this can give you an effective CFL of 0.6 per stage, which outperforms the classical RK4 method with an effective CFL of about 0.35 per stage. At the extreme level you have very high stage count methods like Runge-Kutta-Chebyshev (RKC) methods which can have hundreds or thousands of stages while being only second/third order accurate. These stages tailor the region of absolute stability to extend quadratically along the negative real axis, which is beneficial for solving parabolic-type PDEs with explicit time stepping. You could also go to implicit methods, which can be unconditionally stable regardless of your timestep size.

  2. Storage requirements. Some RK methods don't require you to keep track of data for all previous stages in order to compute the next timestep. Sometimes these savings are modest, allowing you to only store say 3 buffers to implement classical RK4, or the RKC methods which require a fixed low number of buffers to handle arbitrarily high number of stages.

  3. "Numerical properties" (i.e. where do your errors show up). Daniel Shapero highlighted one example where errors could be dispersive or diffusive. Another example is whether your integrator is symplectic or not. This can be beneficial for solving Hamiltonian systems since you can get momentum/energy conservation. For an N-body problem this could prevent orbits from artificially decaying/expanding. However, there is no free lunch; you will still have numerical errors somewhere, it's just a matter of where you want them to be.

$\endgroup$
9
$\begingroup$

You're looking only at the errors themselves and not other properties of the solution. There are sometimes good cases to consider lower-order schemes because they better preserve important characteristics. For example, suppose that, in solving the advection equation you've written above, it's important to strictly preserve non-negativity of the solution $\theta$ because failure to do so could make another part of the overall problem that depends on $\theta$ ill-posed. The backward Euler scheme will preserve positivity and thus might be preferable over, say, the midpoint rule, which can introduce oscillations that go outside the initial range of the solution. This is all despite the fact that backward Euler is only 1st-order accurate the midpoint rule is 2nd-order. Another way of saying this is that certain schemes tend to have diffusive errors and others tend to have dispersive errors and which one is more tolerable is application-dependent. You can read more about these distinctions in Durran's book.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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