Practical aspects of interpolation in Runge-Kutta codes

Runge-Kutta codes solve numerically the initial value problem for a system of ordinary differential equations in a step-by-step manner. The automatically chosen step sizes may vary widely in size depending on the equations, the nature of the error control, and the accuracy desired. Interpolation schemes approximate the solution of the differential equation within the step. Analytical tools are developed and applied to a selection of interpolation schemes with the aim of understanding how the interpolants behave. A novel matter in this context is the preservation of properties inherent in the values and derivatives computed by the Runge-Kutta code. In particular, we show how to preserve local monotonicity so as to achieve a visually pleasing interpolant, and in a way which is especially appropriate to Runge-Kutta codes.