# Good reference on the implementation and limitations of SDIRK methods

For the solution of many PDE, implicit high-order time integration schemes are required. I am specifically interested in schemes that do not require a constant time step.

I am well acquainted with BDF time integration schemes and I am aware of their (sometimes harsh) limitations in terms of stability but also in terms of time step change.

I have seen SDIRK schemes mentioned extensively in the literature. From what I gather, they are multi-step implicit methods that require the solution of multiple regularly sized linear systems (i.e not bigger than what implicit Euler would give) at each iterations. However, the majority of the articles I have seen are more a discussion on the stability rather than implementation. Furthermore, the majority focus on order 4 and higher, but 2nd or 3rd order would be closer to my needs.

Is there a simple reference in the literature that highlights the numerical scheme to implement and what are the limitations in terms of stability and time step change? I have not been able to find something that was sufficiently simple and straight to the point.

• If you're looking for examples. I have implementations several 2nd and 3rd order L-stable SDIRK and EDIRK methods in an open source project at my website tildentechnologies.com/Numerics. I implemented a general Butcher Tableu to make it easy to try different methods. I've coded this in Python, Matlab/Octave and Fortran 90+. The Kennedy and Carpenter (Nasa) (see below) article is excellent. – L. Young Jan 29 '20 at 16:23

I think the following slides give a good overview of the IRK and DIRK method implementations.

https://www.tu-braunschweig.de/Medien-DB/iwr/lecture8.pdf

Specifically, have a look at slide 9 and slide 14. If your ODE is of size m and RK method of stage s, then you need to setup a matrix of size $$ms \times ms$$. However, in the case of the explicit RK methods, all the non-zero co-efficients are below the diagonal implying that the update of the present stage depends only on previous stages. Hence, explicit.

In DIRK methods, the update depends only on present stage and previous stages, therefore each stage evaluation is like an implicit Euler step with some modifications. However for a full implicit method, all stages depend on all other stages, therefore you need to solve a full system.

Stability is a complex topic and closely associated with the PDE you are trying to solve. Theoretical estimates are usually available only for the linear problem. The following is a good review article dealing with the topic in more detail.

• This is a very good start and a nice reference. However it lacks some information I am looking for such as a stability criterion and the butchers tableau parameter for order 2 and 3. – BlaB Aug 1 '19 at 10:04
• Stability is a complex topic and closely associated with the PDE you are trying to solve. Theoretical estimates are usually available only for the linear problem. The following is a good review article dealing with the topic in more detail. ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20160005923.pdf – Vikram Aug 1 '19 at 13:25
• This is an amazing report. Could you add it to your answer and I would accept it as an answer ? – BlaB Aug 4 '19 at 20:25