In trying to solve an ODE $y'=f(y,t)$ with a function f that is discontinuous at a subset (codim=1) of $\mathbb R^n$, I am looking for a Runge-Kutta ODE method whose stages do not evaluate $f(x,t)$ at $t+\Delta t$. So for example midpoint method:


$k_2=f(x+k_1/2,t+\Delta t/2)$

Would be an acceptable 2nd order method.

Its Butcher block is

0   |
1/2 | 1
      0  1

(If there's a nice way to typeset tables here, please let me know...)

the $c$ vector is the one consisting of 0 and 1/2 and as you see it is less than 1 in this case. I would like to find an explicit higher-order method that also has this property. All the higher-order (explicit) methods I have found seem to have at-least one element of $c$ equal to 1.

To summarize, my question is:

  1. Is there a known high-order (4 is enough) explicit Runge-Kutta method that does not evaluate the ODE at the end of the timestep?

I understand that you're considering a stiff IVP for an ODE, so you're probably looking for implicit Runge-Kutta methods.

Concerning your first question - yes, methods of high order which do not evaluate your right hand side at the end of each time step exist and there is lots of literature about them. You might wish to take a look at Solving ordinary differential equations II by Hairer and Wanner and search for Gauss- or Radau-methods.

Concerning your second question you can either use the evaluations of $f$ you compute in each step and interpolation in order to get a reasonably accurate approximation of your solution $y$ at arbitrary points or you can dive into the concept of dense output for Runge-Kutta methods, which is given a quite detailed account of in Solving ordinary differential equations I by Hairer, Norsett, Wanner.

Edit: An explicit RK-method of order 4 with $c<1$, assuming the usual equations $c_i=\sum_{j=1}^{i-1}a_{ij}$, necessarily has at least 5 stages whereas one can construct methods of order 4 with 4 stages if one allows $c_4=1$. I don't know whether methods of order 4 satisfying your conditions have been constructed so far. I suppose you're on your own here. There is, however, a 3-stage method of order 3 by Heun with $c=(0,1/3,2/3)$, $a_{2,1}=1/3$, $a_{3,2}=2/3$, $a_{ij}=0$ else and $b=(1/4,0,3/4)$ in Chapter II.1 of Solving ordinary differential equations I.

Also, in the case of a right hand side $f$ with discontinuities multistep methods with adaptive order and stepsize control are usually more efficient than one-step RK-methods. And actually I have difficulties to see to what extent $c<1$ might be helpful; a robust automatic step size control should be able to deal with the discontinuities either way.

  • $\begingroup$ Thinking about it some more I realize that perhaps I should not have used the word "stiff" in my question, since I do not want to solve the non-linear problem that results, and the stiffness it only located at the singularities, so I think I could get by with an explicit method, if it has $c<1$. I've edited my question to relect this. $\endgroup$ – Yossi Farjoun Apr 11 '11 at 12:46
  • $\begingroup$ Maybe you can post the IVP you're trying to solve. $\endgroup$ – user8707 Apr 12 '11 at 16:32
  • $\begingroup$ Also, if you don't want to solve nonlinear equations then there are still linearly implicit RK-type methods such as methods of Rosenbrock type and so-called $W$-methods which perform very well when applied to mildly stiff IVPs but require only the solution of a linear equation per step. $\endgroup$ – user8707 Apr 12 '11 at 16:41

4th order 5 stage low storage explicit Runge kutta should handle what you're looking for I think. "Nodal Discontinuous Galerkin Methods" by Hestaven and Warburton has some pseudocode and a table of coefficients in it.


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.